mirror of
https://github.com/samba-team/samba.git
synced 2025-11-22 16:23:49 +03:00
r5536: Avoid intermediate copy of NT and LM responses in NETLOGON client.
This copy was length-limited, which broke when the NTLMv2 response was more than 128 bytes in length. Andrew Bartlett
This commit is contained in:
committed by
Gerald (Jerry) Carter
parent
0285754c14
commit
bae18aaaff
@@ -1174,28 +1174,14 @@ void init_id_info2(NET_ID_INFO_2 * id, const char *domain_name,
|
||||
const uchar * lm_chal_resp, size_t lm_chal_resp_len,
|
||||
const uchar * nt_chal_resp, size_t nt_chal_resp_len)
|
||||
{
|
||||
unsigned char lm_owf[24];
|
||||
unsigned char nt_owf[128];
|
||||
|
||||
DEBUG(5,("init_id_info2: %d\n", __LINE__));
|
||||
|
||||
id->ptr_id_info2 = 1;
|
||||
|
||||
|
||||
id->param_ctrl = param_ctrl;
|
||||
init_logon_id(&id->logon_id, log_id_low, log_id_high);
|
||||
|
||||
if (nt_chal_resp) {
|
||||
/* oops. can only send what-ever-it-is direct */
|
||||
memcpy(nt_owf, nt_chal_resp, MIN(sizeof(nt_owf), nt_chal_resp_len));
|
||||
nt_chal_resp = nt_owf;
|
||||
}
|
||||
if (lm_chal_resp) {
|
||||
/* oops. can only send what-ever-it-is direct */
|
||||
memcpy(lm_owf, lm_chal_resp, MIN(sizeof(lm_owf), lm_chal_resp_len));
|
||||
lm_chal_resp = lm_owf;
|
||||
}
|
||||
|
||||
memcpy(id->lm_chal, lm_challenge, sizeof(id->lm_chal));
|
||||
init_str_hdr(&id->hdr_nt_chal_resp, nt_chal_resp_len, nt_chal_resp_len, (nt_chal_resp != NULL) ? 1 : 0);
|
||||
init_str_hdr(&id->hdr_lm_chal_resp, lm_chal_resp_len, lm_chal_resp_len, (lm_chal_resp != NULL) ? 1 : 0);
|
||||
|
||||
Reference in New Issue
Block a user