Ignore:
Timestamp:
Mar 12, 2008, 9:08:18 AM (17 years ago)
Author:
Paul Smedley
Message:

Update source to 3.0.28a

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/samba-3.0/source/smbd/password.c

    r118 r124  
    9292        if (vuser == NULL)
    9393                return;
    94        
     94
    9595        SAFE_FREE(vuser->homedir);
    9696        SAFE_FREE(vuser->unix_homedir);
    9797        SAFE_FREE(vuser->logon_script);
    98        
     98
     99        if (vuser->auth_ntlmssp_state) {
     100                auth_ntlmssp_end(&vuser->auth_ntlmssp_state);
     101        }
     102
    99103        session_yield(vuser);
    100104        SAFE_FREE(vuser->session_keystr);
     
    112116        SAFE_FREE(vuser->groups);
    113117        TALLOC_FREE(vuser->nt_user_token);
     118
     119        SAFE_FREE(vuser);
     120        num_validated_vuids--;
     121}
     122
     123void invalidate_intermediate_vuid(uint16 vuid)
     124{
     125        user_struct *vuser = get_partial_auth_user_struct(vuid);
     126
     127        if (vuser == NULL)
     128                return;
     129
     130        if (vuser->auth_ntlmssp_state) {
     131                auth_ntlmssp_end(&vuser->auth_ntlmssp_state);
     132        }
     133
     134        DLIST_REMOVE(validated_users, vuser);
    114135
    115136        SAFE_FREE(vuser);
     
    164185        if (num_validated_vuids >= 0xFFFF-VUID_OFFSET) {
    165186                data_blob_free(&session_key);
     187                TALLOC_FREE(server_info);
    166188                return UID_FIELD_INVALID;
    167189        }
     
    170192                DEBUG(0,("Failed to malloc users struct!\n"));
    171193                data_blob_free(&session_key);
     194                TALLOC_FREE(server_info);
    172195                return UID_FIELD_INVALID;
    173196        }
     
    176199
    177200        /* Allocate a free vuid. Yes this is a linear search... :-) */
    178         while( get_valid_user_struct(next_vuid) != NULL ) {
     201        while( (get_valid_user_struct(next_vuid) != NULL)
     202               || (get_partial_auth_user_struct(next_vuid) != NULL) ) {
    179203                next_vuid++;
    180204                /* Check for vuid wrap. */
Note: See TracChangeset for help on using the changeset viewer.