summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--source3/smbd/smb2_break.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/source3/smbd/smb2_break.c b/source3/smbd/smb2_break.c
index c711fe6c5b..ec20f8bd6c 100644
--- a/source3/smbd/smb2_break.c
+++ b/source3/smbd/smb2_break.c
@@ -233,11 +233,18 @@ void send_break_message_smb2(files_struct *fsp, int level)
SMB2_OPLOCK_LEVEL_II :
SMB2_OPLOCK_LEVEL_NONE;
NTSTATUS status;
- struct smbXsrv_connection *xconn = fsp->conn->sconn->conn;
+ struct smbXsrv_connection *xconn = NULL;
struct smbXsrv_session *session = NULL;
struct timeval tv = timeval_current();
NTTIME now = timeval_to_nttime(&tv);
+ /*
+ * TODO: in future we should have a better algorithm
+ * to find the correct connection for an break message.
+ * Then we also need some retries if a channel gets disconnected.
+ */
+ xconn = fsp->conn->sconn->client->connections;
+
status = smb2srv_session_lookup(xconn,
fsp->vuid,
now,