summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2007-03-21 00:56:40 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:18:47 -0500
commit7e55a6e6c77f5ddabbb3c4b1d7739ef60d6d30b6 (patch)
tree8c27a8b0df6c360ee3b5252d5c3031586acc6e4d
parenta828b56884a1385823cdb1d186860a1e1466fca7 (diff)
downloadsamba-7e55a6e6c77f5ddabbb3c4b1d7739ef60d6d30b6.tar.gz
samba-7e55a6e6c77f5ddabbb3c4b1d7739ef60d6d30b6.tar.bz2
samba-7e55a6e6c77f5ddabbb3c4b1d7739ef60d6d30b6.zip
r21899: At least we're getting to stage 2 of the blob
exchange. Still not working but closer. Jeremy. (This used to be commit 2fde5c703d2390bc6685f34713dc996e69732f1a)
-rw-r--r--source3/libsmb/clitrans.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/source3/libsmb/clitrans.c b/source3/libsmb/clitrans.c
index 27207e72e2..33fddae202 100644
--- a/source3/libsmb/clitrans.c
+++ b/source3/libsmb/clitrans.c
@@ -194,11 +194,15 @@ BOOL cli_receive_trans(struct cli_state *cli,int trans,
* to a trans call. This is not an error and should not
* be treated as such. Note that STATUS_NO_MORE_FILES is
* returned when a trans2 findfirst/next finishes.
+ * When setting up an encrypted transport we can also
+ * see NT_STATUS_MORE_PROCESSING_REQUIRED here.
*/
status = cli_nt_error(cli);
- if (NT_STATUS_IS_ERR(status) || NT_STATUS_EQUAL(status,STATUS_NO_MORE_FILES)) {
- goto out;
+ if (!NT_STATUS_EQUAL(status, NT_STATUS_MORE_PROCESSING_REQUIRED)) {
+ if (NT_STATUS_IS_ERR(status) || NT_STATUS_EQUAL(status,STATUS_NO_MORE_FILES)) {
+ goto out;
+ }
}
/* parse out the lengths */
@@ -303,8 +307,10 @@ BOOL cli_receive_trans(struct cli_state *cli,int trans,
CVAL(cli->inbuf,smb_com)));
goto out;
}
- if (NT_STATUS_IS_ERR(cli_nt_error(cli))) {
- goto out;
+ if (!NT_STATUS_EQUAL(status, NT_STATUS_MORE_PROCESSING_REQUIRED)) {
+ if (NT_STATUS_IS_ERR(cli_nt_error(cli))) {
+ goto out;
+ }
}
/* parse out the total lengths again - they can shrink! */