diff options
Diffstat (limited to 'libcli/netlogon.c')
-rw-r--r-- | libcli/netlogon.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libcli/netlogon.c b/libcli/netlogon.c index 47d665cfa1..ab5d9af8aa 100644 --- a/libcli/netlogon.c +++ b/libcli/netlogon.c @@ -82,6 +82,10 @@ NTSTATUS pull_netlogon_samlogon_response(DATA_BLOB *data, TALLOC_CTX *mem_ctx, &response->nt4, (ndr_pull_flags_fn_t)ndr_pull_NETLOGON_SAM_LOGON_RESPONSE_NT40); response->ntver = NETLOGON_NT_VERSION_1; + if (NDR_ERR_CODE_IS_SUCCESS(ndr_err) && DEBUGLEVEL >= 10) { + NDR_PRINT_DEBUG(NETLOGON_SAM_LOGON_RESPONSE_NT40, &response->nt4); + } + } else if (ntver & NETLOGON_NT_VERSION_5EX) { struct ndr_pull *ndr; ndr = ndr_pull_init_blob(data, mem_ctx, iconv_convenience); @@ -95,6 +99,9 @@ NTSTATUS pull_netlogon_samlogon_response(DATA_BLOB *data, TALLOC_CTX *mem_ctx, ndr->offset, ndr->data_size); } response->ntver = NETLOGON_NT_VERSION_5EX; + if (NDR_ERR_CODE_IS_SUCCESS(ndr_err) && DEBUGLEVEL >= 10) { + NDR_PRINT_DEBUG(NETLOGON_SAM_LOGON_RESPONSE_EX, &response->nt5_ex); + } } else if (ntver & NETLOGON_NT_VERSION_5) { ndr_err = ndr_pull_struct_blob_all(data, mem_ctx, @@ -102,6 +109,9 @@ NTSTATUS pull_netlogon_samlogon_response(DATA_BLOB *data, TALLOC_CTX *mem_ctx, &response->nt5, (ndr_pull_flags_fn_t)ndr_pull_NETLOGON_SAM_LOGON_RESPONSE); response->ntver = NETLOGON_NT_VERSION_5; + if (NDR_ERR_CODE_IS_SUCCESS(ndr_err) && DEBUGLEVEL >= 10) { + NDR_PRINT_DEBUG(NETLOGON_SAM_LOGON_RESPONSE, &response->nt5); + } } else { DEBUG(2,("failed to parse netlogon response of type 0x%02x - unknown response type\n", ntver)); @@ -115,6 +125,7 @@ NTSTATUS pull_netlogon_samlogon_response(DATA_BLOB *data, TALLOC_CTX *mem_ctx, dump_data(10, data->data, data->length); return ndr_map_error2ntstatus(ndr_err); } + return NT_STATUS_OK; } |