s3: torture: Change the SMB1-only UID-REGRESSION-TEST to do an explicit copy of the...
authorJeremy Allison <jra@samba.org>
Fri, 29 Jan 2021 01:35:55 +0000 (17:35 -0800)
committerJeremy Allison <jra@samba.org>
Tue, 2 Feb 2021 19:54:34 +0000 (19:54 +0000)
commite93e6108837eff0cebad8dc26d055c0e1386093a
treef667f72df8326e8fd0a257751a078a2ffe1651d4
parentf9ca91bd293e9f2710c4449c5d4f5d016a066049
s3: torture: Change the SMB1-only UID-REGRESSION-TEST to do an explicit copy of the tcon struct in use.

For this test only, explicitly copy the SMB1 tcon struct,
don't use cli_state_save_tcon()//cli_state_restore_tcon()
as these calls will soon change to just manipulate the pointer
to avoid TALLOC_FREE() on the tcon struct which calls
destructors on child pipe data.

In SMB1 this test calls cli_tdis() twice with an invalid
vuid and expects the SMB1 tcon struct to be preserved
across the calls.

SMB1 cli_tdis() frees cli->smb1.tcon so we must put back
a deep copy into cli->smb1.tcon to be able to safely call
cli_tdis() again.

This is a test-only hack. Real client code
uses cli_state_save_tcon()/cli_state_restore_tcon()
if it needs to temporarily swap out the active
tcon on a client connection.

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

Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
source3/torture/torture.c