summaryrefslogtreecommitdiff
path: root/source3/libsmb/smb2cli_negprot.c
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2011-08-31 00:40:06 +0200
committerStefan Metzmacher <metze@samba.org>2011-09-18 05:33:10 +0200
commit271f78a9bb814ed10bcc8883a60d6609e1eef500 (patch)
tree5a33c7c4a1971696c43e30f1986a2ecf7e43d5ac /source3/libsmb/smb2cli_negprot.c
parentb6b767a2c47b26c1758520212b4f09ddb934c9f3 (diff)
downloadsamba-271f78a9bb814ed10bcc8883a60d6609e1eef500.tar.gz
samba-271f78a9bb814ed10bcc8883a60d6609e1eef500.tar.bz2
samba-271f78a9bb814ed10bcc8883a60d6609e1eef500.zip
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
Diffstat (limited to 'source3/libsmb/smb2cli_negprot.c')
-rw-r--r--source3/libsmb/smb2cli_negprot.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/source3/libsmb/smb2cli_negprot.c b/source3/libsmb/smb2cli_negprot.c
index df35225dd4..ea983a9ff9 100644
--- a/source3/libsmb/smb2cli_negprot.c
+++ b/source3/libsmb/smb2cli_negprot.c
@@ -93,8 +93,15 @@ static void smb2cli_negprot_done(struct tevent_req *subreq)
NTSTATUS status;
struct iovec *iov;
uint8_t *body;
+ static const struct smb2cli_req_expected_response expected[] = {
+ {
+ .status = NT_STATUS_OK,
+ .body_size = 0x41
+ }
+ };
- status = smb2cli_req_recv(subreq, talloc_tos(), &iov, 65);
+ status = smb2cli_req_recv(subreq, talloc_tos(), &iov,
+ expected, ARRAY_SIZE(expected));
if (!NT_STATUS_IS_OK(status)) {
TALLOC_FREE(subreq);
tevent_req_nterror(req, status);