summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2023-03-21 10:34:46 -0700
committerJule Anger <janger@samba.org>2023-04-05 14:08:23 +0000
commit7fe8a7d710d939c8db0f107e6fd3cf7f0da128c8 (patch)
treed8aecd835af802a7b7200beb7cc152fa0bb6b0cb
parentf7e888f78ec86f34ab72640fc805df5bb9e78cbc (diff)
downloadsamba-7fe8a7d710d939c8db0f107e6fd3cf7f0da128c8.tar.gz
s3: libcli: Refuse to connect to any server with zero values for max_trans_size, max_read_size, max_write_size.
There's nothing we can do to such a server (this now matches the behavior for SMB1). Remove knownfail. BUG: https://bugzilla.samba.org/show_bug.cgi?id=15306 Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Ralph Boehme <slow@samba.org> Autobuild-User(master): Ralph Böhme <slow@samba.org> Autobuild-Date(master): Wed Mar 29 18:58:33 UTC 2023 on atb-devel-224 (cherry picked from commit 76573d6d8f168d6e6107af26a434b8c71aaf93af) Autobuild-User(v4-17-test): Jule Anger <janger@samba.org> Autobuild-Date(v4-17-test): Wed Apr 5 14:08:23 UTC 2023 on sn-devel-184
-rw-r--r--libcli/smb/smbXcli_base.c11
-rw-r--r--selftest/knownfail.d/smb2_zero_readsize1
2 files changed, 11 insertions, 1 deletions
diff --git a/libcli/smb/smbXcli_base.c b/libcli/smb/smbXcli_base.c
index c5d13bd5837..1500d484e83 100644
--- a/libcli/smb/smbXcli_base.c
+++ b/libcli/smb/smbXcli_base.c
@@ -5088,6 +5088,17 @@ static void smbXcli_negprot_smb2_done(struct tevent_req *subreq)
conn->smb2.server.system_time = BVAL(body, 40);
conn->smb2.server.start_time = BVAL(body, 48);
+ if (conn->smb2.server.max_trans_size == 0 ||
+ conn->smb2.server.max_read_size == 0 ||
+ conn->smb2.server.max_write_size == 0) {
+ /*
+ * We can't connect to servers we can't
+ * do any operations on.
+ */
+ tevent_req_nterror(req, NT_STATUS_INVALID_NETWORK_RESPONSE);
+ return;
+ }
+
security_offset = SVAL(body, 56);
security_length = SVAL(body, 58);
diff --git a/selftest/knownfail.d/smb2_zero_readsize b/selftest/knownfail.d/smb2_zero_readsize
deleted file mode 100644
index c7ec92cd629..00000000000
--- a/selftest/knownfail.d/smb2_zero_readsize
+++ /dev/null
@@ -1 +0,0 @@
-^samba3.blackbox.zero_readsize.smb2_zero_readsize\(simpleserver:local\)