1
0
mirror of https://github.com/samba-team/samba.git synced 2025-08-03 04:22:09 +03:00

Make decode_wkssvc_join_password_buffer() return WERRORs.

Guenther
(This used to be commit 88e9da2f14)
This commit is contained in:
Günther Deschner
2007-12-12 00:44:10 +01:00
parent ec7426d917
commit f0d2edb9a0

View File

@ -731,10 +731,10 @@ void encode_wkssvc_join_password_buffer(TALLOC_CTX *mem_ctx,
data_blob_free(&confounded_session_key);
}
void decode_wkssvc_join_password_buffer(TALLOC_CTX *mem_ctx,
struct wkssvc_PasswordBuffer *pwd_buf,
DATA_BLOB *session_key,
char **pwd)
WERROR decode_wkssvc_join_password_buffer(TALLOC_CTX *mem_ctx,
struct wkssvc_PasswordBuffer *pwd_buf,
DATA_BLOB *session_key,
char **pwd)
{
uint8_t buffer[516];
struct MD5Context ctx;
@ -745,6 +745,11 @@ void decode_wkssvc_join_password_buffer(TALLOC_CTX *mem_ctx,
int confounder_len = 8;
uint8_t confounder[8];
if (session_key->length != 16) {
DEBUG(10,("invalid session key\n"));
return WERR_BAD_PASSWORD;
}
memcpy(&confounder, &pwd_buf->data[0], confounder_len);
memcpy(&buffer, &pwd_buf->data[8], 516);
@ -755,7 +760,11 @@ void decode_wkssvc_join_password_buffer(TALLOC_CTX *mem_ctx,
SamOEMhashBlob(buffer, 516, &confounded_session_key);
decode_pw_buffer(mem_ctx, buffer, pwd, &pwd_len, STR_UNICODE);
if (!decode_pw_buffer(mem_ctx, buffer, pwd, &pwd_len, STR_UNICODE)) {
return WERR_BAD_PASSWORD;
}
data_blob_free(&confounded_session_key);
return WERR_OK;
}