Ignore:
Timestamp:
Jul 11, 2008, 1:13:42 AM (17 years ago)
Author:
Paul Smedley
Message:

Update branch to 3.0.31 release

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/samba-3.0/source/nsswitch/winbindd_pam.c

    r124 r140  
    13801380                    NT_STATUS_EQUAL(result, NT_STATUS_DOMAIN_CONTROLLER_NOT_FOUND)) {
    13811381                        DEBUG(10,("winbindd_dual_pam_auth_kerberos setting domain to offline\n"));
    1382                         domain->online = False;
     1382                        /* Use set_domain_offline() instead of
     1383                         * just set status offline, otherwise,
     1384                         * domain will never goes online again
     1385                         * --- BoYang */
     1386                        set_domain_offline(domain);
    13831387                }
    13841388
     
    20452049
    20462050        if (NT_STATUS_IS_OK(result) && (state->request.flags & WBFLAG_PAM_CACHED_LOGIN)) {
    2047                
     2051
    20482052                /* Update the single sign-on memory creds. */
    20492053                result = winbindd_replace_memory_creds(state->request.data.chauthtok.user,
    20502054                                                        newpass);
     2055
     2056                /* When we login from gdm or xdm and password expires,
     2057                 * we change the password, but there are no memory crendentials.
     2058                 * So, winbindd_replace_memory_creds() returns
     2059                 * NT_STATUS_OBJECT_NAME_NOT_FOUND. This is not a failure.
     2060                 * --- BoYang
     2061                 * */
     2062                if (NT_STATUS_EQUAL(result, NT_STATUS_OBJECT_NAME_NOT_FOUND)) {
     2063                        result = NT_STATUS_OK;
     2064                }
    20512065
    20522066                if (!NT_STATUS_IS_OK(result)) {
     
    20592073                                                         state->mem_ctx, user,
    20602074                                                         newpass);
     2075                        /* Again, this happens when we login from gdm or xdm
     2076                         * and the password expires, *BUT* cached crendentials
     2077                         * don't exist. winbindd_update_creds_by_name()
     2078                         * returns NT_STATUS_NO_SUCH_USER.
     2079                         * This is not a failure.
     2080                         * --- BoYang
     2081                         * */
     2082                        if (NT_STATUS_EQUAL(result, NT_STATUS_NO_SUCH_USER)) {
     2083                                result = NT_STATUS_OK;
     2084                        }
    20612085                        if (!NT_STATUS_IS_OK(result)) {
    20622086                                DEBUG(10,("Failed to store creds: %s\n", nt_errstr(result)));
     
    20642088                        }
    20652089                }
    2066         }               
     2090        }
    20672091
    20682092        if (!NT_STATUS_IS_OK(result) && !got_info && contact_domain) {
Note: See TracChangeset for help on using the changeset viewer.