summaryrefslogtreecommitdiff
path: root/source/libsmb
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2000-01-10 13:40:27 +0000
committerAndrew Tridgell <tridge@samba.org>2000-01-10 13:40:27 +0000
commit45b8f1c92cf7ecae35240e72741e5ac952587c58 (patch)
treec5e1f90084c1653369cc3978556e30cf4cb45bfa /source/libsmb
parentdd2ce575047eb57288bff11669512132fd347fda (diff)
downloadsamba-45b8f1c92cf7ecae35240e72741e5ac952587c58.tar.gz
don't treat a packet as a oplock break unless it is a request, not a
reply!
Diffstat (limited to 'source/libsmb')
-rw-r--r--source/libsmb/clientgen.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/source/libsmb/clientgen.c b/source/libsmb/clientgen.c
index e37974b570f..3b6403fe733 100644
--- a/source/libsmb/clientgen.c
+++ b/source/libsmb/clientgen.c
@@ -52,7 +52,8 @@ static BOOL cli_receive_smb(struct cli_state *cli)
if (ret) {
/* it might be an oplock break request */
- if (CVAL(cli->inbuf,smb_com) == SMBlockingX &&
+ if (!(CVAL(cli->inbuf, smb_flg) & FLAG_REPLY) &&
+ CVAL(cli->inbuf,smb_com) == SMBlockingX &&
SVAL(cli->inbuf,smb_vwv6) == 0 &&
SVAL(cli->inbuf,smb_vwv7) == 0) {
if (cli->use_oplocks) cli_process_oplock(cli);