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