s3:selftest: add samba3.blackbox.smbXsrv_client_ctdb_registered_ips
authorStefan Metzmacher <metze@samba.org>
Fri, 17 Nov 2023 10:46:27 +0000 (11:46 +0100)
committerJule Anger <janger@samba.org>
Sat, 16 Dec 2023 14:29:10 +0000 (14:29 +0000)
commitf8c02609f4807435cbdee1d1433429a549fc981e
tree43531c6a3b9e680dc63bcbe7a0773a3878913b18
parentd9ed96c908cf83fc0765372c4e54919551fe94f5
s3:selftest: add samba3.blackbox.smbXsrv_client_ctdb_registered_ips

This demonstrates the crash that happens if a client connects to a
non-public address first followed by a connect
to public address with the same client_guid and a connection to
the non-public address gets disconnected first, we hit by a
use-after-free talloc_get_type_abort() called from release_ip() as
"xconn" is already gone, taking smbd_release_ip_state with it.

Note that we also need to mark some subtests as flapping
as there's a 2nd problem that happens in the interaction
between smbd processes and ctdb when passing a multichannel
connection to an existing process, it means we sometimes
loose the 'tickle' information within ctdb to that tcp connection.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=15523

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Martin Schwenke <martin@meltin.net>
(cherry picked from commit 082c7df4d04c2a94c5413c1d6b7eae7be610f950)
selftest/flapping.d/smbXsrv_client_ctdb_registered_ips [new file with mode: 0644]
selftest/knownfail.d/smbXsrv_client_ctdb_registered_ips [new file with mode: 0644]
source3/script/tests/test_smbXsrv_client_ctdb_registered_ips.sh [new file with mode: 0755]
source3/selftest/tests.py