summaryrefslogtreecommitdiff
path: root/source3/smbd
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2003-07-17 00:58:14 +0000
committerJeremy Allison <jra@samba.org>2003-07-17 00:58:14 +0000
commit583fc850781148b15f8fe20d9567ca840fb722d2 (patch)
treed24d2bd29ad81eaed7650df9a32cbdbcaf95097f /source3/smbd
parent9ad4fbcf75df4ed89893ffb0379d95685560e466 (diff)
downloadsamba-583fc850781148b15f8fe20d9567ca840fb722d2.tar.gz
samba-583fc850781148b15f8fe20d9567ca840fb722d2.tar.bz2
samba-583fc850781148b15f8fe20d9567ca840fb722d2.zip
Correctly toggle the signing state to what it was previosly when sending
an oplock break. Jeremy. (This used to be commit 9515de83a864250c417cf490b7be714c8e1e127e)
Diffstat (limited to 'source3/smbd')
-rw-r--r--source3/smbd/oplock.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/source3/smbd/oplock.c b/source3/smbd/oplock.c
index bd52b0066d..ab7c6e8344 100644
--- a/source3/smbd/oplock.c
+++ b/source3/smbd/oplock.c
@@ -660,6 +660,7 @@ static BOOL oplock_break(SMB_DEV_T dev, SMB_INO_T inode, unsigned long file_id,
time_t start_time;
BOOL shutdown_server = False;
BOOL oplock_timeout = False;
+ BOOL sign_state;
connection_struct *saved_user_conn;
connection_struct *saved_fsp_conn;
int saved_vuid;
@@ -742,12 +743,16 @@ static BOOL oplock_break(SMB_DEV_T dev, SMB_INO_T inode, unsigned long file_id,
/* Remember if we just sent a break to level II on this file. */
fsp->sent_oplock_break = using_levelII? LEVEL_II_BREAK_SENT:EXCLUSIVE_BREAK_SENT;
- srv_disable_signing();
+ /* Save the server smb signing state. */
+ sign_state = srv_oplock_set_signing(False);
+
if (!send_smb(smbd_server_fd(), outbuf)) {
- srv_enable_signing();
+ srv_oplock_set_signing(sign_state);
exit_server("oplock_break: send_smb failed.");
}
- srv_enable_signing();
+
+ /* Restore the sign state to what it was. */
+ srv_oplock_set_signing(sign_state);
/* We need this in case a readraw crosses on the wire. */
global_oplock_break = True;