summaryrefslogtreecommitdiff
path: root/source3/smbd
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2003-08-02 07:07:38 +0000
committerJeremy Allison <jra@samba.org>2003-08-02 07:07:38 +0000
commit099bd33a9999718e6cfe6cb387c8845805b67284 (patch)
tree7905938f7d4e68366649b611e850aa49a0326426 /source3/smbd
parenta202afb881e3f9db5f79d7cd93c64a49f128ba70 (diff)
downloadsamba-099bd33a9999718e6cfe6cb387c8845805b67284.tar.gz
samba-099bd33a9999718e6cfe6cb387c8845805b67284.tar.bz2
samba-099bd33a9999718e6cfe6cb387c8845805b67284.zip
More fixes for client and server side signing. Ensure sequence numbers
are updated correctly on returning an error for server trans streams. Ensure we turn off client trans streams on error. Jeremy. (This used to be commit 3a789cb7f01115c37404e5a696de363287cb0e5f)
Diffstat (limited to 'source3/smbd')
-rw-r--r--source3/smbd/ipc.c5
-rw-r--r--source3/smbd/oplock.c3
2 files changed, 5 insertions, 3 deletions
diff --git a/source3/smbd/ipc.c b/source3/smbd/ipc.c
index f0b5c4a92f..39072f9b91 100644
--- a/source3/smbd/ipc.c
+++ b/source3/smbd/ipc.c
@@ -509,11 +509,10 @@ int reply_trans(connection_struct *conn, char *inbuf,char *outbuf, int size, int
memcpy(data+ddisp,smb_base(inbuf)+doff,dcnt);
}
}
-
-
+
DEBUG(3,("trans <%s> data=%u params=%u setup=%u\n",
name,tdscnt,tpscnt,suwcnt));
-
+
/*
* WinCE wierdness....
*/
diff --git a/source3/smbd/oplock.c b/source3/smbd/oplock.c
index ab7c6e8344..19e6956d9e 100644
--- a/source3/smbd/oplock.c
+++ b/source3/smbd/oplock.c
@@ -800,6 +800,9 @@ static BOOL oplock_break(SMB_DEV_T dev, SMB_INO_T inode, unsigned long file_id,
} else if (smb_read_error == READ_ERROR) {
DEBUG( 0, ("oplock_break: receive_smb error (%s)\n", strerror(errno)) );
shutdown_server = True;
+ } else if (smb_read_error == READ_BAD_SIG) {
+ DEBUG( 0, ("oplock_break: bad signature from client\n" ));
+ shutdown_server = True;
} else if (smb_read_error == READ_TIMEOUT) {
DEBUG( 0, ( "oplock_break: receive_smb timed out after %d seconds.\n", OPLOCK_BREAK_TIMEOUT ) );
oplock_timeout = True;