1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-13 13:18:06 +03:00
samba-mirror/source3/smbd
Stefan Metzmacher 636ec45c93 smbXsrv_client: ignore NAME_NOT_FOUND from smb2srv_client_connection_passed
If we hit a race, when a client disconnects the connection after the initial
SMB2 Negotiate request, before the connection is completely passed to
process serving the given client guid, the temporary smbd which accepted the
new connection may already detected the disconnect and exitted before
the long term smbd servicing the client guid was able to send the
MSG_SMBXSRV_CONNECTION_PASSED message.

The result was a log message like this:

  smbXsrv_client_connection_pass_loop: smb2srv_client_connection_passed() failed => NT_STATUS_OBJECT_NAME_NOT_FOUND

and all connections belonging to the client guid were dropped,
because we called exit_server_cleanly().

Now we ignore NT_STATUS_OBJECT_NAME_NOT_FOUND from
smb2srv_client_connection_passed() and let the normal
event loop detect the broken connection, so that only
that connection is terminated (not the whole smbd process).

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

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
2022-10-13 12:30:37 +00:00
..
notifyd lib;smbd: Fix the -Os build by initializing variables 2021-08-06 17:22:30 +00:00
avahi_register.c
blocking.c s3: smbd: Remove lock_flav argument from smbd_smb1_brl_finish_by_lock(). 2022-01-06 15:11:38 +00:00
close.c s3:smbd: make use of share_mode_entry_prepare_{lock_del,unlock}() in close_{remove_share_mode,directory}() 2022-09-20 00:34:36 +00:00
conn_idle.c s3:rpc_server: Activate samba-dcerpcd 2021-12-10 14:02:30 +00:00
conn_msg.c
conn.c s3/smbd: Use after free when iterating smbd_server_connection->connections 2022-08-17 09:54:06 +00:00
connection.c
dfree.c smbd: Save a few lines with str_list_add_printf() 2022-01-18 20:22:38 +00:00
dir.c smbd: Remove an unused variable 2022-09-07 18:40:28 +00:00
dmapi.c
dnsregister.c
dosmode.c smbd: cache DOS attributes in struct smb_filename.cached_dos_attributes 2022-08-29 17:22:32 +00:00
durable.c smbd: Pass vfs_open_how through fd_openat 2022-08-06 01:43:50 +00:00
error.c s3: smbd: Rename reply_outbuf() -> reply_smb1_outbuf(). 2022-04-07 17:37:30 +00:00
fake_file.c smbd: Modernize DBG statements in open_fake_file() 2022-08-26 18:54:37 +00:00
fd_handle.c smbd: Remove NTCREATEX_FLAG_DELETE_ON_CLOSE 2022-06-06 19:22:28 +00:00
fd_handle.h smbd: fd_handle.h does not need includes.h 2022-04-26 21:41:29 +00:00
file_access.c smbd: use metadata_fsp() with SMB_VFS_FGET_NT_ACL() 2022-08-10 15:32:35 +00:00
fileio.c smbd: use fdos_mode() in mark_file_modified() 2020-12-16 09:08:31 +00:00
filename.c lib: Move extract_snapshot_token() to util_path.c 2022-09-19 17:23:31 +00:00
files.c smbd: Use PATH_MAX as symlink target buffer 2022-09-19 17:23:31 +00:00
globals.c smbd: let smbd_request_guid() use smb1req->xconn->channel_id 2021-03-06 02:20:05 +00:00
globals.h configure: Add option for disabling the smb1 server 2022-04-07 17:37:30 +00:00
mangle_hash2.c smbd: Use ISDOT/ISDOTDOT 2022-02-17 17:13:35 +00:00
mangle_hash.c smbd: Move fast_string_hash() to mangle_hash.c, the only user 2022-01-05 00:11:37 +00:00
mangle.c
msdfs.c Fix spelling mistakes. 2022-09-12 02:29:32 +00:00
notify_fam.c
notify_inotify.c smbd: Align two integer types 2020-11-04 18:55:39 +00:00
notify_msg.c notifyd: Factor out notify_walk() into its own file 2020-10-24 05:57:31 +00:00
notify.c s3: smbd: notify_mid_maps is used by both SMB1 and SMB2. 2022-03-08 22:12:37 +00:00
ntquotas.c
open.c s3:smbd: make use of share_mode_entry_prepare_{lock_add,unlock}() in open_{file_ntcreate,directory}() 2022-09-20 00:34:36 +00:00
oplock_linux.c lib;smbd: Fix the -Os build by initializing variables 2021-08-06 17:22:30 +00:00
password.c
perfcount.c
posix_acls.c smbd: use metadata_fsp() in get_acl_group_bits() 2022-08-10 15:32:35 +00:00
proto.h s3:smbd: remove static from release_file_oplock() 2022-09-20 00:34:35 +00:00
pysmbd.c pysmbd: set_nt_acl() can raise FileNotFoundError 2022-09-07 05:01:37 +00:00
quotas.c
scavenger.c smbd: Give smbXsrv_open.c its own header file 2021-11-11 19:08:37 +00:00
scavenger.h
seal.c
sec_ctx.c sec_ctx.c: Fix -Wunused-function warning on macOS 2021-10-13 01:42:35 +00:00
server_exit.c s3:rpc_server: Activate samba-dcerpcd 2021-12-10 14:02:30 +00:00
server_reload.c smbd: check lp_load_printers before reload via NetShareEnum 2021-11-08 13:27:40 +00:00
server.c s3:g_lock: add callback function to g_lock_lock() 2022-09-20 00:34:35 +00:00
session.c
share_access.c Revert "s3:smbd: Remove NIS support" 2022-06-09 21:45:28 +00:00
smb1_aio.c s3: smbd: Rename construct_reply_common_req() -> construct_smb1_reply_common_req() 2022-04-07 17:37:30 +00:00
smb1_aio.h smbd: Move schedule_aio_write_and_X to smb1_aio.c 2022-04-07 17:37:29 +00:00
smb1_ipc.c s3: smbd: Rename init_smb_request() -> init_smb1_request(). 2022-04-07 17:37:30 +00:00
smb1_ipc.h smbd: Move ipc.c -> smb1_ipc.c 2022-04-07 17:37:29 +00:00
smb1_lanman.c smbd: Move lanman.c -> smb1_lanman.c 2022-04-07 17:37:29 +00:00
smb1_lanman.h smbd: Move lanman.c -> smb1_lanman.c 2022-04-07 17:37:29 +00:00
smb1_message.c s3: smbd: Rename reply_outbuf() -> reply_smb1_outbuf(). 2022-04-07 17:37:30 +00:00
smb1_message.h smbd: Move message.c -> smb1_message.c 2022-04-07 17:37:29 +00:00
smb1_negprot.c s3: smbd: Rename reply_outbuf() -> reply_smb1_outbuf(). 2022-04-07 17:37:30 +00:00
smb1_negprot.h smbd: Move negprot.c -> smb1_negprot.c 2022-04-07 17:37:29 +00:00
smb1_nttrans.c s3: smbd: Remove the ucf_flags parameter from extract_snapshot_token(). 2022-08-05 09:24:30 +00:00
smb1_nttrans.h smbd: Remove duplicate read_nttrans_ea_list function prototype 2022-04-07 17:37:30 +00:00
smb1_oplock.c s3: smbd: Rename srv_set_message() -> srv_smb1_set_message(). 2022-04-07 17:37:30 +00:00
smb1_oplock.h smbd: Move send_break_message_smb1 to smb1_oplock.c 2022-04-07 17:37:29 +00:00
smb1_pipes.c s3: smbd: Rename reply_outbuf() -> reply_smb1_outbuf(). 2022-04-07 17:37:30 +00:00
smb1_pipes.h smbd: Move reply_pipe_write to smb1_pipes.c 2022-04-07 17:37:30 +00:00
smb1_process.c smbd: Fix CID 1504457 Resource leak 2022-06-06 19:22:28 +00:00
smb1_process.h smbd: Move valid_smb_header to smb2_process.c 2022-04-07 17:37:30 +00:00
smb1_reply.c s3: smbd: Remove the ucf_flags parameter from extract_snapshot_token(). 2022-08-05 09:24:30 +00:00
smb1_reply.h s3: smbd: Move reply_findnclose() from trans2.c to smb1_reply.c 2022-04-07 17:37:30 +00:00
smb1_service.c smbd: Move make_connection to smb1_service.c 2022-04-07 17:37:29 +00:00
smb1_service.h smbd: Move make_connection to smb1_service.c 2022-04-07 17:37:29 +00:00
smb1_sesssetup.c s3: smbd: Rename reply_outbuf() -> reply_smb1_outbuf(). 2022-04-07 17:37:30 +00:00
smb1_sesssetup.h smbd: Move sesssetup.c -> smb1_sesssetup.c 2022-04-07 17:37:29 +00:00
smb1_signing.c smbd: Move signing.c -> smb1_signing.c 2022-04-07 17:37:29 +00:00
smb1_signing.h smbd: Move signing.c -> smb1_signing.c 2022-04-07 17:37:29 +00:00
smb1_trans2.c smbd: add missing check for IPC share for TRANS2_GET_DFS_REFERRAL 2022-08-28 19:59:28 +00:00
smb1_trans2.h smbd: Move reply_transs2 to smb1_trans2.c 2022-04-07 17:37:30 +00:00
smb1_utils.c smbd: Move message_push_string() to smb1_utils.c 2022-06-06 19:22:28 +00:00
smb1_utils.h smbd: Move message_push_string() to smb1_utils.c 2022-06-06 19:22:28 +00:00
smb2_aio.c smbd: Save a few lines by using tevent_req_nterror()'s retval 2022-09-07 18:40:28 +00:00
smb2_break.c
smb2_close.c smbd: optimize and streamline smbd_smb2_close() 2022-05-02 19:13:31 +00:00
smb2_create.c smbd: Save a few lines by using tevent_req_nterror()'s retval 2022-09-07 18:40:28 +00:00
smb2_flush.c smbd: use fsp_get_io_fd() when accessing a file or it's associated metadata 2020-12-16 09:08:30 +00:00
smb2_getinfo.c smbd: implement access checks for SMB2-GETINFO as per MS-SMB2 3.3.5.20.1 2022-08-23 12:54:08 +00:00
smb2_glue.c
smb2_ioctl_dfs.c
smb2_ioctl_filesys.c smbd: Save a few lines by using tevent_req_nterror()'s retval 2022-09-07 18:40:28 +00:00
smb2_ioctl_named_pipe.c
smb2_ioctl_network_fs.c vfs: Add flags and xferlen args to SMB_VFS_OFFLOAD_READ_RECV 2021-10-08 19:28:32 +00:00
smb2_ioctl_private.h s3: smbd: Split out smb2_ioctl_smbtorture() into a separate file. 2021-08-11 19:16:29 +00:00
smb2_ioctl_smbtorture.c s3: smbd: Call smbd_fsctl_torture_async_sleep() when we get FSCTL_SMBTORTURE_FSP_ASYNC_SLEEP. 2021-08-11 19:16:29 +00:00
smb2_ioctl.c smb2_ioctl: return BUFFER_TOO_SMALL in smbd_smb2_request_ioctl_done() 2021-12-01 11:04:29 +00:00
smb2_ipc.c smbd: Move nt_status_np_pipe to smb2_ipc.c 2022-04-07 17:37:29 +00:00
smb2_keepalive.c
smb2_lock.c s3: smbd: Plumb in POSIX lock requests through SMB2 lock calls if done on a POSIX handle. Currently not allowed. 2022-02-01 16:30:37 +00:00
smb2_negprot.c param: Add "smb3 unix extensions" 2022-09-02 13:31:38 +00:00
smb2_notify.c smbd: Save a few lines by using tevent_req_nterror()'s retval 2022-09-07 18:40:28 +00:00
smb2_nttrans.c s3: smbd: Add src_dirfsp and dst_dirfsp parameters to copy_internals(). 2022-08-02 19:49:32 +00:00
smb2_oplock.c s3:smbd: remove static from release_file_oplock() 2022-09-20 00:34:35 +00:00
smb2_pipes.c smbd: Move reply_pipe_write to smb1_pipes.c 2022-04-07 17:37:30 +00:00
smb2_posix.c smbd: Convert store_smb2_posix_info() to use an existing blob 2022-09-02 13:31:38 +00:00
smb2_process.c s3: smbd: Rename init_smb_request() -> init_smb1_request(). 2022-04-07 17:37:30 +00:00
smb2_query_directory.c smbd: Save a few lines by using tevent_req_nterror()'s retval 2022-09-07 18:40:28 +00:00
smb2_read.c smbd: Introduce fsp_is_alternate_stream() 2022-02-11 20:54:37 +00:00
smb2_reply.c s3:smbd: protect smbd_do_unlocking() with share_mode_do_locked_vfs_allowed() 2022-09-20 00:34:35 +00:00
smb2_server.c s3: smbd: Fix memory leak in smbd_server_connection_terminate_done(). 2022-09-23 09:51:20 +00:00
smb2_service.c s3: smbd: Add "enum file_close_type close_type" parameter to file_close_conn(). 2022-08-18 13:07:34 +00:00
smb2_sesssetup.c smbd: Save a few lines by using tevent_req_nterror()'s retval 2022-09-07 18:40:28 +00:00
smb2_setinfo.c smbd: Remove NTCREATEX_FLAG_DELETE_ON_CLOSE 2022-06-06 19:22:28 +00:00
smb2_signing.c smbd: Disable call to smb1_srv_init_signing without smb1 2022-04-07 17:37:29 +00:00
smb2_tcon.c smb2_tcon: also try to cancel pending compound requests on tdis 2021-03-29 20:43:28 +00:00
smb2_trans2.c s3:smb2_trans2: make use of share_mode_do_locked_vfs_allowed() in smb_posix_unlink() 2022-09-20 00:34:35 +00:00
smb2_write.c smbd: Use fsp_is_alternate_stream() where an fsp is available 2022-02-11 20:54:37 +00:00
smbd_cleanupd.c
smbd_cleanupd.h
smbd.h s3:locking: move get_existing_share_mode_lock() to share_mode_lock.[ch] 2022-08-19 18:41:34 +00:00
smbXsrv_client.c smbXsrv_client: ignore NAME_NOT_FOUND from smb2srv_client_connection_passed 2022-10-13 12:30:37 +00:00
smbXsrv_open.c s3:smbd: let smbXsrv_{session,tcon,open}_global.tdb use TDB_VOLATILE 2022-09-20 00:34:34 +00:00
smbXsrv_open.h smbd: Give smbXsrv_open.c its own header file 2021-11-11 19:08:37 +00:00
smbXsrv_session.c s3:smbd: let smbXsrv_{session,tcon,open}_global.tdb use TDB_VOLATILE 2022-09-20 00:34:34 +00:00
smbXsrv_tcon.c s3:smbd: let smbXsrv_{session,tcon,open}_global.tdb use TDB_VOLATILE 2022-09-20 00:34:34 +00:00
smbXsrv_version.c
srvstr.c smbd: Move message_push_string() to smb1_utils.c 2022-06-06 19:22:28 +00:00
statcache.c smbd: Fix a typo 2022-03-01 20:09:29 +00:00
statvfs.c smbd: Fix the build on FreeBSD 2022-08-04 20:44:32 +00:00
uid.c source3: move lib/substitute.c functions out of proto.h 2021-11-11 13:49:32 +00:00
utmp.c
vfs.c s3:smbd: add helpers to deny vfs calls in some sections 2022-09-20 00:34:35 +00:00