summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2003-10-20 19:02:04 +0000
committerJeremy Allison <jra@samba.org>2003-10-20 19:02:04 +0000
commit9d959807ff343107427589f36802b97583db79f6 (patch)
tree8dfe0b1d2805bf15b09235ddf9502226ef00f396
parent2cfb3e9b7046fe2db330a292aed71f1c27688a16 (diff)
downloadsamba-9d959807ff343107427589f36802b97583db79f6.tar.gz
samba-9d959807ff343107427589f36802b97583db79f6.tar.bz2
samba-9d959807ff343107427589f36802b97583db79f6.zip
Merge Volker's fix.
We are doing NT error codes now.... If we have an NT error, report that back the same way we handle the DOS error. Although I don't see why BUFFER_TOO_SMALL should not be handled as an error, simply copy the logic. This is only called from smbcacls and smbcquotas. Jeremy. (This used to be commit f67154fe41d7d458a11dfb9b2f0c6c26609c9a72)
-rw-r--r--source3/libsmb/clitrans.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/source3/libsmb/clitrans.c b/source3/libsmb/clitrans.c
index e6771ac688..92c1cc99ee 100644
--- a/source3/libsmb/clitrans.c
+++ b/source3/libsmb/clitrans.c
@@ -488,6 +488,17 @@ BOOL cli_receive_nt_trans(struct cli_state *cli,
}
}
+ /*
+ * Likewise for NT_STATUS_BUFFER_TOO_SMALL
+ */
+ if (cli_is_nt_error(cli)) {
+ if (!NT_STATUS_EQUAL(cli_nt_error(cli),
+ NT_STATUS_BUFFER_TOO_SMALL)) {
+ cli_signing_trans_stop(cli);
+ return(False);
+ }
+ }
+
/* parse out the lengths */
total_data = SVAL(cli->inbuf,smb_ntr_TotalDataCount);
total_param = SVAL(cli->inbuf,smb_ntr_TotalParameterCount);