summaryrefslogtreecommitdiff
path: root/source3/smbd
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2008-10-16 21:03:59 -0700
committerJeremy Allison <jra@samba.org>2008-10-16 21:03:59 -0700
commitc783d8a32e4d958aec6d943d0fa3de2e7d3a68c2 (patch)
tree808689c5bea4b7db5e54d96160dc81a60296ae0f /source3/smbd
parent6f7760704734318acb643610d1af84ffeb8c55d5 (diff)
downloadsamba-c783d8a32e4d958aec6d943d0fa3de2e7d3a68c2.tar.gz
samba-c783d8a32e4d958aec6d943d0fa3de2e7d3a68c2.tar.bz2
samba-c783d8a32e4d958aec6d943d0fa3de2e7d3a68c2.zip
Cope with bad trans2mkdir requests from System i QNTC IBM SMB client.
If total_data == 4 Windows doesn't care what values are placed in that field, it just ignores them. The System i QNTC IBM SMB client puts bad values here, so ignore them. Jeremy.
Diffstat (limited to 'source3/smbd')
-rw-r--r--source3/smbd/trans2.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c
index 00fee0d34d..1da45a8b58 100644
--- a/source3/smbd/trans2.c
+++ b/source3/smbd/trans2.c
@@ -7065,10 +7065,11 @@ static void call_trans2mkdir(connection_struct *conn, struct smb_request *req,
reply_nterror(req, NT_STATUS_INVALID_PARAMETER);
return;
}
- } else if (IVAL(pdata,0) != 4) {
- reply_nterror(req, NT_STATUS_INVALID_PARAMETER);
- return;
}
+ /* If total_data == 4 Windows doesn't care what values
+ * are placed in that field, it just ignores them.
+ * The System i QNTC IBM SMB client puts bad values here,
+ * so ignore them. */
status = create_directory(conn, req, directory);