From 271f78a9bb814ed10bcc8883a60d6609e1eef500 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Wed, 31 Aug 2011 00:40:06 +0200 Subject: s3:smb2cli: pass an array of expected status/body_size pairs to smb2cli_req_recv() This gives the caller more control and correctly reports unexpected errors to the caller, instead of return NT_STATUS_INVALID_NETWOR_RESPONSE metze --- source3/libsmb/smb2cli_base.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'source3/libsmb/smb2cli_base.h') diff --git a/source3/libsmb/smb2cli_base.h b/source3/libsmb/smb2cli_base.h index 348f842d40..595665d718 100644 --- a/source3/libsmb/smb2cli_base.h +++ b/source3/libsmb/smb2cli_base.h @@ -35,6 +35,12 @@ struct tevent_req *smb2cli_req_create(TALLOC_CTX *mem_ctx, uint32_t dyn_len); NTSTATUS smb2cli_req_compound_submit(struct tevent_req **reqs, int num_reqs); + +struct smb2cli_req_expected_response { + NTSTATUS status; + uint16_t body_size; +}; + struct tevent_req *smb2cli_req_send(TALLOC_CTX *mem_ctx, struct tevent_context *ev, struct cli_state *cli, @@ -49,6 +55,8 @@ struct tevent_req *smb2cli_req_send(TALLOC_CTX *mem_ctx, const uint8_t *dyn, uint32_t dyn_len); NTSTATUS smb2cli_req_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, - struct iovec **piov, int body_size); + struct iovec **piov, + const struct smb2cli_req_expected_response *expected, + size_t num_expected); #endif -- cgit