The branch, master has been updated
       via  87c6743 libwbclient: Correctly order the wbcAllocateMemory args
       via  a642cb5 libwbclient: Fix a division by zero
       via  3b71f5d s3: Return the correct result from winbindd_dual_auth_passdb
      from  0b87782 MAINTAINERS.txt - fix typo

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 87c67433c8119986cab3d6948c37b85c7962c62e
Author: Volker Lendecke <v...@samba.org>
Date:   Sat Nov 27 19:07:40 2010 +0100

    libwbclient: Correctly order the wbcAllocateMemory args
    
    In these cases, it does not make a functional difference.
    
    Autobuild-User: Volker Lendecke <vlen...@samba.org>
    Autobuild-Date: Sat Nov 27 19:56:02 CET 2010 on sn-devel-104

commit a642cb5a927f72acedf1efd7e79b1051c6ce38d5
Author: Volker Lendecke <v...@samba.org>
Date:   Sat Nov 27 19:02:33 2010 +0100

    libwbclient: Fix a division by zero
    
    If wbinfo -r returns no groups, wbcAllocateMemory divides by zero

commit 3b71f5df0328ef2c49a76504b6b79a4e726234f0
Author: Volker Lendecke <v...@samba.org>
Date:   Sat Nov 27 18:56:41 2010 +0100

    s3: Return the correct result from winbindd_dual_auth_passdb

-----------------------------------------------------------------------

Summary of changes:
 nsswitch/libwbclient/wbc_pam.c  |   10 +++++-----
 nsswitch/libwbclient/wbc_pwd.c  |    2 +-
 nsswitch/libwbclient/wbc_util.c |   12 ++++++------
 source3/winbindd/winbindd_pam.c |    5 +++--
 4 files changed, 15 insertions(+), 14 deletions(-)


Changeset truncated at 500 lines:

diff --git a/nsswitch/libwbclient/wbc_pam.c b/nsswitch/libwbclient/wbc_pam.c
index 41c1142..21f2c5d 100644
--- a/nsswitch/libwbclient/wbc_pam.c
+++ b/nsswitch/libwbclient/wbc_pam.c
@@ -87,7 +87,7 @@ static wbcErr wbc_create_auth_info(const struct 
winbindd_response *resp,
        uint32_t j;
 
        i = (struct wbcAuthUserInfo *)wbcAllocateMemory(
-               sizeof(struct wbcAuthUserInfo), 1,
+               1, sizeof(struct wbcAuthUserInfo),
                wbcAuthUserInfoDestructor);
        BAIL_ON_PTR_ERROR(i, wbc_status);
 
@@ -248,7 +248,7 @@ static wbcErr wbc_create_error_info(const struct 
winbindd_response *resp,
        struct wbcAuthErrorInfo *e;
 
        e = (struct wbcAuthErrorInfo *)wbcAllocateMemory(
-               sizeof(struct wbcAuthErrorInfo), 1,
+               1, sizeof(struct wbcAuthErrorInfo),
                wbcAuthErrorInfoDestructor);
        BAIL_ON_PTR_ERROR(e, wbc_status);
 
@@ -275,7 +275,7 @@ static wbcErr wbc_create_password_policy_info(const struct 
winbindd_response *re
        struct wbcUserPasswordPolicyInfo *i;
 
        i = (struct wbcUserPasswordPolicyInfo *)wbcAllocateMemory(
-               sizeof(struct wbcUserPasswordPolicyInfo), 1, NULL);
+               1, sizeof(struct wbcUserPasswordPolicyInfo), NULL);
        BAIL_ON_PTR_ERROR(i, wbc_status);
 
        i->min_passwordage      = resp->data.auth.policy.min_passwordage;
@@ -306,7 +306,7 @@ static wbcErr wbc_create_logon_info(struct 
winbindd_response *resp,
        struct wbcLogonUserInfo *i;
 
        i = (struct wbcLogonUserInfo *)wbcAllocateMemory(
-               sizeof(struct wbcLogonUserInfo), 1,
+               1, sizeof(struct wbcLogonUserInfo),
                wbcLogonUserInfoDestructor);
        BAIL_ON_PTR_ERROR(i, wbc_status);
 
@@ -1241,7 +1241,7 @@ wbcErr wbcCredentialCache(struct wbcCredentialCacheParams 
*params,
        }
 
        result = (struct wbcCredentialCacheInfo *)wbcAllocateMemory(
-               sizeof(struct wbcCredentialCacheInfo), 1,
+               1, sizeof(struct wbcCredentialCacheInfo),
                wbcCredentialCacheInfoDestructor);
        if (result == NULL) {
                status = WBC_ERR_NO_MEMORY;
diff --git a/nsswitch/libwbclient/wbc_pwd.c b/nsswitch/libwbclient/wbc_pwd.c
index 1527808..abd03d7 100644
--- a/nsswitch/libwbclient/wbc_pwd.c
+++ b/nsswitch/libwbclient/wbc_pwd.c
@@ -605,7 +605,7 @@ wbcErr wbcGetGroups(const char *account,
        BAIL_ON_WBC_ERROR(wbc_status);
 
        groups = (gid_t *)wbcAllocateMemory(
-               sizeof(gid_t), response.data.num_entries, NULL);
+               response.data.num_entries, sizeof(gid_t), NULL);
        BAIL_ON_PTR_ERROR(groups, wbc_status);
 
        for (i = 0; i < response.data.num_entries; i++) {
diff --git a/nsswitch/libwbclient/wbc_util.c b/nsswitch/libwbclient/wbc_util.c
index 75b0093..e2e657a 100644
--- a/nsswitch/libwbclient/wbc_util.c
+++ b/nsswitch/libwbclient/wbc_util.c
@@ -74,7 +74,7 @@ wbcErr wbcInterfaceDetails(struct wbcInterfaceDetails 
**_details)
        ZERO_STRUCT(response);
 
        info = (struct wbcInterfaceDetails *)wbcAllocateMemory(
-               sizeof(struct wbcInterfaceDetails), 1,
+               1, sizeof(struct wbcInterfaceDetails),
                wbcInterfaceDetailsDestructor);
        BAIL_ON_PTR_ERROR(info, wbc_status);
 
@@ -173,7 +173,7 @@ wbcErr wbcDomainInfo(const char *domain, struct 
wbcDomainInfo **dinfo)
        BAIL_ON_WBC_ERROR(wbc_status);
 
        info = (struct wbcDomainInfo *)wbcAllocateMemory(
-               sizeof(struct wbcDomainInfo), 1, wbcDomainInfoDestructor);
+               1, sizeof(struct wbcDomainInfo), wbcDomainInfoDestructor);
        BAIL_ON_PTR_ERROR(info, wbc_status);
 
        info->short_name = strdup(response.data.domain_info.name);
@@ -442,7 +442,7 @@ wbcErr wbcListTrusts(struct wbcDomainInfo **domains, size_t 
*num_domains)
        }
 
        d_list = (struct wbcDomainInfo *)wbcAllocateMemory(
-               sizeof(struct wbcDomainInfo), response.data.num_entries + 1,
+               response.data.num_entries + 1,sizeof(struct wbcDomainInfo),
                wbcDomainInfoListDestructor);
        BAIL_ON_PTR_ERROR(d_list, wbc_status);
 
@@ -511,7 +511,7 @@ wbcErr wbcLookupDomainController(const char *domain,
        request.flags = flags;
 
        dc = (struct wbcDomainControllerInfo *)wbcAllocateMemory(
-               sizeof(struct wbcDomainControllerInfo), 1,
+                1, sizeof(struct wbcDomainControllerInfo),
                wbcDomainControllerInfoDestructor);
        BAIL_ON_PTR_ERROR(dc, wbc_status);
 
@@ -554,7 +554,7 @@ static wbcErr wbc_create_domain_controller_info_ex(const 
struct winbindd_respons
        struct wbcGuid guid;
 
        i = (struct wbcDomainControllerInfoEx *)wbcAllocateMemory(
-               sizeof(struct wbcDomainControllerInfoEx), 1,
+               1, sizeof(struct wbcDomainControllerInfoEx),
                wbcDomainControllerInfoExDestructor);
        BAIL_ON_PTR_ERROR(i, wbc_status);
 
@@ -698,7 +698,7 @@ wbcErr wbcAddNamedBlob(size_t *num_blobs,
         * wbcNamedBlobDestructor
         */
        blobs = (struct wbcNamedBlob *)wbcAllocateMemory(
-               sizeof(struct wbcNamedBlob), *num_blobs + 2,
+               *num_blobs + 2, sizeof(struct wbcNamedBlob),
                wbcNamedBlobDestructor);
 
        if (*pblobs != NULL) {
diff --git a/source3/winbindd/winbindd_pam.c b/source3/winbindd/winbindd_pam.c
index 0053b7f..d52d4e2 100644
--- a/source3/winbindd/winbindd_pam.c
+++ b/source3/winbindd/winbindd_pam.c
@@ -1118,8 +1118,9 @@ static NTSTATUS winbindd_dual_auth_passdb(TALLOC_CTX 
*mem_ctx,
        status = check_sam_security_info3(challenge, talloc_tos(), user_info,
                                          pinfo3);
        free_user_info(&user_info);
-       DEBUG(10, ("Authenticated user %s\\%s successfully\n", domain, user));
-       return NT_STATUS_OK;
+       DEBUG(10, ("Authenticaticating user %s\\%s returned %s\n", domain,
+                  user, nt_errstr(status)));
+       return status;
 }
 
 typedef        NTSTATUS (*netlogon_fn_t)(struct rpc_pipe_client *cli,


-- 
Samba Shared Repository

Reply via email to