diff options
author | Volker Lendecke <vl@samba.org> | 2010-09-11 18:24:54 +0200 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2010-09-12 18:30:38 +0200 |
commit | adfa071c5a10521a7fe6a55735358ce27a777dc4 (patch) | |
tree | 3c9fdbc8c3a546791c5b0cca0cadad0287cbfd8d | |
parent | 6bd6fdcd7275511f542ec4c640028a6c088a4d8a (diff) | |
download | samba-adfa071c5a10521a7fe6a55735358ce27a777dc4.tar.gz samba-adfa071c5a10521a7fe6a55735358ce27a777dc4.tar.bz2 samba-adfa071c5a10521a7fe6a55735358ce27a777dc4.zip |
s3: Remove a nesting level in winbindd_dual_pam_chauthtok
-rw-r--r-- | source3/winbindd/winbindd_pam.c | 37 |
1 files changed, 19 insertions, 18 deletions
diff --git a/source3/winbindd/winbindd_pam.c b/source3/winbindd/winbindd_pam.c index 53eda47d2e..968ffcd9ca 100644 --- a/source3/winbindd/winbindd_pam.c +++ b/source3/winbindd/winbindd_pam.c @@ -1896,25 +1896,26 @@ enum winbindd_result winbindd_dual_pam_chauthtok(struct winbindd_domain *contact done: - if (NT_STATUS_IS_OK(result) && (state->request->flags & WBFLAG_PAM_CACHED_LOGIN)) { - if (lp_winbind_offline_logon()) { - result = winbindd_update_creds_by_name(contact_domain, - user, newpass); - /* Again, this happens when we login from gdm or xdm - * and the password expires, *BUT* cached crendentials - * doesn't exist. winbindd_update_creds_by_name() - * returns NT_STATUS_NO_SUCH_USER. - * This is not a failure. - * --- BoYang - * */ - if (NT_STATUS_EQUAL(result, NT_STATUS_NO_SUCH_USER)) { - result = NT_STATUS_OK; - } + if (NT_STATUS_IS_OK(result) + && (state->request->flags & WBFLAG_PAM_CACHED_LOGIN) + && lp_winbind_offline_logon()) { + result = winbindd_update_creds_by_name(contact_domain, user, + newpass); + /* Again, this happens when we login from gdm or xdm + * and the password expires, *BUT* cached crendentials + * doesn't exist. winbindd_update_creds_by_name() + * returns NT_STATUS_NO_SUCH_USER. + * This is not a failure. + * --- BoYang + * */ + if (NT_STATUS_EQUAL(result, NT_STATUS_NO_SUCH_USER)) { + result = NT_STATUS_OK; + } - if (!NT_STATUS_IS_OK(result)) { - DEBUG(10,("Failed to store creds: %s\n", nt_errstr(result))); - goto process_result; - } + if (!NT_STATUS_IS_OK(result)) { + DEBUG(10, ("Failed to store creds: %s\n", + nt_errstr(result))); + goto process_result; } } |