From: Andrew Bartlett Date: Sun, 19 Feb 2012 00:15:38 +0000 (+1100) Subject: s3-winbindd: pass logon parmeters down to check_sam_security() X-Git-Tag: samba-4.0.0alpha18~73 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3ebd79a6d042a1d7b4d671aec65883b2b786b7c5;p=thirdparty%2Fsamba.git s3-winbindd: pass logon parmeters down to check_sam_security() This allows ntlm_auth --diagnostics to work against the local DC, just as it works against a member server. Andrew Bartlett --- diff --git a/source3/winbindd/winbindd_pam.c b/source3/winbindd/winbindd_pam.c index 93034adb84f..7163af2596b 100644 --- a/source3/winbindd/winbindd_pam.c +++ b/source3/winbindd/winbindd_pam.c @@ -1110,6 +1110,7 @@ done: } static NTSTATUS winbindd_dual_auth_passdb(TALLOC_CTX *mem_ctx, + uint32_t logon_parameters, const char *domain, const char *user, const DATA_BLOB *challenge, const DATA_BLOB *lm_resp, @@ -1136,6 +1137,7 @@ static NTSTATUS winbindd_dual_auth_passdb(TALLOC_CTX *mem_ctx, DEBUG(10, ("make_user_info failed: %s\n", nt_errstr(status))); return status; } + user_info->logon_parameters = logon_parameters; /* We don't want any more mapping of the username */ user_info->mapped_state = True; @@ -1397,7 +1399,7 @@ static NTSTATUS winbindd_dual_pam_auth_samlogon(TALLOC_CTX *mem_ctx, DATA_BLOB chal_blob = data_blob_const(chal, sizeof(chal)); result = winbindd_dual_auth_passdb( - mem_ctx, name_domain, name_user, + mem_ctx, 0, name_domain, name_user, &chal_blob, &lm_resp, &nt_resp, info3); goto done; } @@ -1820,7 +1822,9 @@ enum winbindd_result winbindd_dual_pam_auth_crap(struct winbindd_domain *domain, sizeof(state->request->data.auth_crap.chal)); result = winbindd_dual_auth_passdb( - state->mem_ctx, name_domain, name_user, + state->mem_ctx, + state->request->data.auth_crap.logon_parameters, + name_domain, name_user, &chal_blob, &lm_resp, &nt_resp, &info3); goto process_result; }