Ignore:
Timestamp:
May 26, 2009, 9:44:50 AM (16 years ago)
Author:
Herwig Bauernfeind
Message:

Update 3.2 branch to 3.2.6

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/samba-3.2.x/source/winbindd/winbindd_pam.c

    r204 r228  
    18331833        if (state->request.data.auth_crap.lm_resp_len > sizeof(state->request.data.auth_crap.lm_resp)
    18341834                || state->request.data.auth_crap.nt_resp_len > sizeof(state->request.data.auth_crap.nt_resp)) {
    1835                 DEBUG(0, ("winbindd_pam_auth_crap: invalid password length %u/%u\n",
    1836                           state->request.data.auth_crap.lm_resp_len,
    1837                           state->request.data.auth_crap.nt_resp_len));
    1838                 result = NT_STATUS_INVALID_PARAMETER;
    1839                 goto done;
     1835                if (!state->request.flags & WBFLAG_BIG_NTLMV2_BLOB ||
     1836                     state->request.extra_len != state->request.data.auth_crap.nt_resp_len) {
     1837                        DEBUG(0, ("winbindd_pam_auth_crap: invalid password length %u/%u\n",
     1838                                  state->request.data.auth_crap.lm_resp_len,
     1839                                  state->request.data.auth_crap.nt_resp_len));
     1840                                  result = NT_STATUS_INVALID_PARAMETER;
     1841                        goto done;
     1842                }
    18401843        }
    18411844
    18421845        lm_resp = data_blob_talloc(state->mem_ctx, state->request.data.auth_crap.lm_resp,
    18431846                                        state->request.data.auth_crap.lm_resp_len);
    1844         nt_resp = data_blob_talloc(state->mem_ctx, state->request.data.auth_crap.nt_resp,
    1845                                         state->request.data.auth_crap.nt_resp_len);
     1847
     1848        if (state->request.flags & WBFLAG_BIG_NTLMV2_BLOB) {
     1849                nt_resp = data_blob_talloc(state->mem_ctx,
     1850                                           state->request.extra_data.data,
     1851                                           state->request.data.auth_crap.nt_resp_len);
     1852        } else {
     1853                nt_resp = data_blob_talloc(state->mem_ctx,
     1854                                           state->request.data.auth_crap.nt_resp,
     1855                                           state->request.data.auth_crap.nt_resp_len);
     1856        }
    18461857
    18471858        /* what domain should we contact? */
Note: See TracChangeset for help on using the changeset viewer.