1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00
samba-mirror/librpc
Stefan Metzmacher 52dd57d4b3 smbXsrv_client: notify a different node to drop a connection by client guid.
If a client disconnected all its interfaces and reconnects when
the come back, it will likely start from any ip address returned
dns, which means it can try to connect to a different ctdb node.
The old node may not have noticed the disconnect and still holds
the client_guid based smbd.

Up unil now the new node returned NT_STATUS_NOT_SUPPORTED to
the SMB2 Negotiate request, as messaging_send_iov[_from]() will
return -1/ENOSYS if a file descriptor os passed to a process on
a different node.

Now we tell the other node to teardown all client connections
belonging to the client-guid.

Note that this is not authenticated, but if an attacker can
capture the client-guid, he can also inject TCP resets anyway,
to get the same effect.

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>

Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Fri Sep  2 20:59:15 UTC 2022 on sn-devel-184

(cherry picked from commit 8591d94243)
2022-10-18 08:34:17 +00:00
..
ABI pidl: Avoid leaving array_size NDR tokens around 2021-06-02 03:56:36 +00:00
gen_ndr
idl smbXsrv_client: notify a different node to drop a connection by client guid. 2022-10-18 08:34:17 +00:00
ndr librpc/ndr: let ndr_push_string() let s_len == 0 result in d_len = 0 2022-01-30 10:57:11 +00:00
rpc dcesrv_core: wrap gensec_*() calls in [un]become_root() calls 2022-01-30 10:57:11 +00:00
tests libprc/test: add pull_string_array large array test 2020-08-07 04:44:17 +00:00
tools ndrdump: make use of dump_data_file_diff() in order to show differences 2022-01-30 10:57:11 +00:00
binding-strings.txt docs: Document DCEPRC binding string for rpcclient 2019-02-04 02:03:56 +01:00
ndr_krb5pac.pc.in build: correct package dependencies 2017-04-18 18:54:13 +02:00
ndr_nbt.pc.in pkgconfig: Do not hardcode library version numbers in pc files. 2013-08-22 20:48:44 +02:00
ndr_standard.pc.in pkgconfig: Do not hardcode library version numbers in pc files. 2013-08-22 20:48:44 +02:00
ndr.pc.in pkgconfig: Do not hardcode library version numbers in pc files. 2013-08-22 20:48:44 +02:00
tables.pl librpc/tables.pl: remove unused $opt_output option 2018-11-20 01:33:35 +01:00
wscript_build librpc: add custom odj_switch_level_from_guid() 2021-07-14 16:49:29 +00:00