The branch, master has been updated
via d23e2678e93 s3:smbd: stop accepting multichannel connections early
in exit_server_common()
via e5a8b16a11f s3:smbd: move exit_firsttime checking to the start of
exit_server_common()
via 8fbb7ad275d s4:torture/smb2: make smb2.durable-v2-delay tests more
robust
via 3fa9c3d5bb8 s4:torture/smb2: split replay_smb3_specification into
durable handle and multichannel
from aa4d135710e s3: lib: Fix missing TALLOC_FREE in error code path.
https://git.samba.org/?p=samba.git;a=shortlog;h=master
- Log -
commit d23e2678e93362b03df21b6fc26835ad8efdcc9f
Author: Stefan Metzmacher
Date: Mon Jul 6 16:51:05 2020 +0200
s3:smbd: stop accepting multichannel connections early in
exit_server_common()
This is just a step in the correct direction, but there's still a
possible race...
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14433
Signed-off-by: Stefan Metzmacher
Reviewed-by: Guenther Deschner
Autobuild-User(master): Günther Deschner
Autobuild-Date(master): Tue Jul 14 14:59:19 UTC 2020 on sn-devel-184
commit e5a8b16a11f7286b88e3ea2057c26aa558b9f74a
Author: Stefan Metzmacher
Date: Mon Jul 6 16:42:46 2020 +0200
s3:smbd: move exit_firsttime checking to the start of exit_server_common()
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14433
Signed-off-by: Stefan Metzmacher
Reviewed-by: Guenther Deschner
commit 8fbb7ad275dea54b1d331ec9c591ec4e50778922
Author: Stefan Metzmacher
Date: Sat Jul 4 11:50:14 2020 +0200
s4:torture/smb2: make smb2.durable-v2-delay tests more robust
We should not crash when the test fails, so we use a 2nd independent
connection to unlink the file at the end.
Signed-off-by: Stefan Metzmacher
Reviewed-by: Guenther Deschner
commit 3fa9c3d5bb835d3f512a0a93bf971d8ae54600a0
Author: Stefan Metzmacher
Date: Fri Jul 3 10:09:16 2020 +0200
s4:torture/smb2: split replay_smb3_specification into durable handle and
multichannel
It's better to have durable handles and multichannel tested separate:
1. we test both cases in the server
2. it makes it easier to deal with knownfail entries if only one
of these features is active on the server.
Signed-off-by: Stefan Metzmacher
Reviewed-by: Guenther Deschner
---
Summary of changes:
selftest/knownfail | 3 +-
source3/librpc/idl/smbXsrv.idl | 1 +
source3/smbd/server_exit.c | 25 ---
source3/smbd/smbXsrv_client.c | 6
source4/torture/smb2/durable_v2_open.c | 52 ---
source4/torture/smb2/lock.c| 57 +-
6 files changed, 106 insertions(+), 38 deletions(-)
Changeset truncated at 500 lines:
diff --git a/selftest/knownfail b/selftest/knownfail
index 4fe503f4cc1..6c005d1f4de 100644
--- a/selftest/knownfail
+++ b/selftest/knownfail
@@ -215,7 +215,8 @@
^samba3.smb2.compound.aio.interim2 # wrong return code (STATUS_CANCELLED)
^samba3.smb2.replay.replay3 # This requires multi-chanel
^samba3.smb2.replay.replay4 # This requires multi-chanel
-^samba3.smb2.lock.replay_smb3_specification # This requires multi-chanel or
durable handles
+^samba3.smb2.lock.replay_smb3_specification_multi # This requires multi-chanel
+^samba3.smb2.lock.replay_smb3_specification_durable\(nt4_dc\) # Requires
durable handles
^samba3.smb2.lock.*replay_broken_windows # This tests the windows behaviour
^samba3.smb2.lease.statopen3
^samba3.smb2.lease.unlink # we currently do not downgrade RH lease to R after
unlink
diff --git a/source3/librpc/idl/smbXsrv.idl b/source3/librpc/idl/smbXsrv.idl
index a74ac42b312..78fc3644d2f 100644
--- a/source3/librpc/idl/smbXsrv.idl
+++ b/source3/librpc/idl/smbXsrv.idl
@@ -142,6 +142,7 @@ interface smbXsrv
[ignore] struct smbXsrv_connection *connections;
boolean8server_multi_channel_enabled;
hyper next_channel_id;
+ [ignore] struct tevent_req *connection_pass_subreq;
/*
* A List of pending breaks.
diff --git a/source3/smbd/server_exit.c b/source3/smbd/server_exit.c
index e3efa993159..397ea810633 100644
--- a/source3/smbd/server_exit.c
+++ b/source3/smbd/server_exit.c
@@ -83,6 +83,11 @@ static void exit_server_common(enum server_exit_reason how,
struct messaging_context *msg_ctx = global_messaging_context();
NTSTATUS disconnect_status;
+ if (!exit_firsttime) {
+ exit(0);
+ }
+ exit_firsttime = false;
+
switch (how) {
case SERVER_EXIT_NORMAL:
disconnect_status = NT_STATUS_LOCAL_DISCONNECT;
@@ -94,13 +99,25 @@ static void