Fixed 2 oplock bugs:
authorAndrew Tridgell <tridge@samba.org>
Mon, 27 Oct 1997 12:02:34 +0000 (12:02 +0000)
committerAndrew Tridgell <tridge@samba.org>
Mon, 27 Oct 1997 12:02:34 +0000 (12:02 +0000)
commited71534df56d0296280dbde1859597fb42002088
tree234a4c0bdba17add5e0f4f51693d1bb967e7783d
parent800a7218bcdf3ce57af0ce0428f96d42edc1d188
Fixed 2 oplock bugs:

1) the oplock macros in smb.h used | where they should have used
&. This means that smbd thought that all clients were always
requesting oplocks. This would have _really_ confused smbclient
and smbfs when they started receiving async oplock break requests when
they don't even know what an oplock is!

2) an oplock break request from a client can be embedded in a normal
lockingX request, and will be if the client has batched any lock
requests internally. The smbd code assumed that all oplock break
requests had num_locks==num_ulocks==0 which is not true. The only
thing special about a oplock break request with
num_locks==num_ulocks==0 is that no reply is sent. Otherwise it is
processed as a normal locking request in addition to the oplock break
processing.

These two fixes get the MS mail system in Win98 working on a Samba
1.9.18 network drive.

Andrew
source/include/smb.h
source/smbd/reply.c