mirror of
https://github.com/samba-team/samba.git
synced 2024-12-24 21:34:56 +03:00
ntlmssp: add ndr_print_ntlmssp_{nt,lm}_response() function.
Guenther
This commit is contained in:
parent
4d1c881239
commit
3a519fac8a
@ -107,3 +107,59 @@ _PUBLIC_ enum ndr_err_code ndr_pull_AV_PAIR_LIST(struct ndr_pull *ndr, int ndr_f
|
||||
}
|
||||
return NDR_ERR_SUCCESS;
|
||||
}
|
||||
|
||||
_PUBLIC_ void ndr_print_ntlmssp_nt_response(TALLOC_CTX *mem_ctx,
|
||||
struct smb_iconv_convenience *ic,
|
||||
const DATA_BLOB *nt_response,
|
||||
bool ntlmv2)
|
||||
{
|
||||
enum ndr_err_code ndr_err;
|
||||
|
||||
if (ntlmv2) {
|
||||
struct NTLMv2_RESPONSE nt;
|
||||
if (nt_response->length > 24) {
|
||||
ndr_err = ndr_pull_struct_blob(nt_response, mem_ctx, ic, &nt,
|
||||
(ndr_pull_flags_fn_t)ndr_pull_NTLMv2_RESPONSE);
|
||||
if (NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
|
||||
NDR_PRINT_DEBUG(NTLMv2_RESPONSE, &nt);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
struct NTLM_RESPONSE nt;
|
||||
if (nt_response->length == 24) {
|
||||
ndr_err = ndr_pull_struct_blob(nt_response, mem_ctx, ic, &nt,
|
||||
(ndr_pull_flags_fn_t)ndr_pull_NTLM_RESPONSE);
|
||||
if (NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
|
||||
NDR_PRINT_DEBUG(NTLM_RESPONSE, &nt);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_PUBLIC_ void ndr_print_ntlmssp_lm_response(TALLOC_CTX *mem_ctx,
|
||||
struct smb_iconv_convenience *ic,
|
||||
const DATA_BLOB *lm_response,
|
||||
bool ntlmv2)
|
||||
{
|
||||
enum ndr_err_code ndr_err;
|
||||
|
||||
if (ntlmv2) {
|
||||
struct LMv2_RESPONSE lm;
|
||||
if (lm_response->length == 24) {
|
||||
ndr_err = ndr_pull_struct_blob(lm_response, mem_ctx, ic, &lm,
|
||||
(ndr_pull_flags_fn_t)ndr_pull_LMv2_RESPONSE);
|
||||
if (NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
|
||||
NDR_PRINT_DEBUG(LMv2_RESPONSE, &lm);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
struct LM_RESPONSE lm;
|
||||
if (lm_response->length == 24) {
|
||||
ndr_err = ndr_pull_struct_blob(lm_response, mem_ctx, ic, &lm,
|
||||
(ndr_pull_flags_fn_t)ndr_pull_LM_RESPONSE);
|
||||
if (NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
|
||||
NDR_PRINT_DEBUG(LM_RESPONSE, &lm);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -23,3 +23,11 @@ _PUBLIC_ size_t ndr_ntlmssp_string_length(uint32_t negotiate_flags, const char *
|
||||
_PUBLIC_ uint32_t ndr_ntlmssp_negotiated_string_flags(uint32_t negotiate_flags);
|
||||
_PUBLIC_ enum ndr_err_code ndr_push_AV_PAIR_LIST(struct ndr_push *ndr, int ndr_flags, const struct AV_PAIR_LIST *r);
|
||||
_PUBLIC_ enum ndr_err_code ndr_pull_AV_PAIR_LIST(struct ndr_pull *ndr, int ndr_flags, struct AV_PAIR_LIST *r);
|
||||
_PUBLIC_ void ndr_print_ntlmssp_nt_response(TALLOC_CTX *mem_ctx,
|
||||
struct smb_iconv_convenience *ic,
|
||||
const DATA_BLOB *nt_response,
|
||||
bool ntlmv2);
|
||||
_PUBLIC_ void ndr_print_ntlmssp_lm_response(TALLOC_CTX *mem_ctx,
|
||||
struct smb_iconv_convenience *ic,
|
||||
const DATA_BLOB *lm_response,
|
||||
bool ntlmv2);
|
||||
|
Loading…
Reference in New Issue
Block a user