1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-11 05:18:09 +03:00
samba-mirror/source3/rpc_server
Ralph Boehme 9b56c7030f mdssvc: prevent a crash when pending search finishes after the client closed the search connection
When a search is in-flight and currently being processed against the
Elasticsearch server, we set s->pending. In the destructor of "s" we check "pending"
and reject deallocation of the object.

One instance where "s" is requested to be deallocated is when the client closes
the top-level per-share search connection. This will implicitly close all
searches associated with the mds_ctx from mds_ctx_destructor_cb():

	while (mds_ctx->query_list != NULL) {
		/*
		 * slq destructor removes element from list.
		 * Don't use TALLOC_FREE()!
		 */
		talloc_free(mds_ctx->query_list);
	}

So when this happens the Elasticsearch backend query object stays around,
alongside with any active tevent_req request and a tevent_req timer set with
tevent_req_set_endtime() in mds_es_search_send().

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14915
RN: mdssvc crashes when searches are pending and the client closes the mdssvc IPC pipe

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Noel Power <npower@samba.org>
2022-08-03 13:00:36 +00:00
..
dfs rpc_server3: Remove pipes_struct->session_info 2022-01-05 00:11:38 +00:00
dssetup CVE-2020-25717: Add FreeIPA domain controller role 2021-11-09 19:45:33 +00:00
echo s3:rpc_server: Do not include s3 autogenerated headers 2020-03-20 15:36:36 +00:00
epmapper rpc_server3: Remove pipes_struct->local_address 2022-01-05 00:11:37 +00:00
eventlog rpc_server3: Remove pipes_struct->session_info 2022-01-05 00:11:38 +00:00
fss rpc_server3: Remove pipes_struct->session_info 2022-01-05 00:11:38 +00:00
initshutdown s3:rpc_server: Do not include s3 autogenerated headers 2020-03-20 15:36:36 +00:00
lsa rpc_server3: Remove pipes_struct->auth 2022-01-05 00:11:38 +00:00
mdssvc mdssvc: prevent a crash when pending search finishes after the client closed the search connection 2022-08-03 13:00:36 +00:00
netlogon lib/util: Change function to data_blob_equal_const_time() 2022-06-09 22:49:29 +00:00
ntsvcs rpc_server3: Remove pipes_struct->session_info 2022-01-05 00:11:38 +00:00
samr s3:rpc_server: Implement dcesrv_samr_ChangePasswordUser4() 2022-07-28 11:51:29 +00:00
spoolss rpc_server3: Remove pipes_struct->auth 2022-01-05 00:11:38 +00:00
srvsvc s3: smbd: Convert _srvsvc_NetSetFileSecurity() to use filename_convert_dirfsp(). 2022-08-02 19:49:32 +00:00
svcctl rpc_server3: Remove pipes_struct->session_info 2022-01-05 00:11:38 +00:00
winreg rpc_server3: Remove pipes_struct->session_info 2022-01-05 00:11:38 +00:00
wkssvc rpc_server3: Remove pipes_struct->session_info 2022-01-05 00:11:38 +00:00
rpc_config.c dcesrv_core: wrap gensec_*() calls in [un]become_root() calls 2022-01-24 15:25:36 +00:00
rpc_config.h s3:rpc_server: Delete unused code and doc references 2021-12-10 14:02:30 +00:00
rpc_handles.c rpc_server3: Remove pipes_struct->session_info 2022-01-05 00:11:38 +00:00
rpc_host.c samba-dcerpcd: Silence a DEBUG message 2022-02-22 10:16:44 +00:00
rpc_ncacn_np.c rpc_server3: Inline single-use rpcint_binding_handle_ex() 2022-01-05 00:11:38 +00:00
rpc_ncacn_np.h s3:rpc_server: Activate samba-dcerpcd 2021-12-10 14:02:30 +00:00
rpc_pipes.h rpc_server3: No linked list for pipes_struct anymore 2022-01-05 00:11:38 +00:00
rpc_server.c rpc_server3: Inline pipes_struct into dcerpc_ncacn_conn 2022-01-05 00:11:38 +00:00
rpc_server.h rpc_server3: Inline pipes_struct into dcerpc_ncacn_conn 2022-01-05 00:11:38 +00:00
rpc_sock_helper.c s3:rpc_server: Delete unused code and doc references 2021-12-10 14:02:30 +00:00
rpc_sock_helper.h rpc_server: Consolidate transport-specific socket creation 2021-01-26 00:10:31 +00:00
rpc_worker.c dcesrv_core: wrap gensec_*() calls in [un]become_root() calls 2022-01-24 15:25:36 +00:00
rpc_worker.h s3:rpc_server: Implement the rpcd_* helper-end of the samba-dcerpc protocol 2021-12-10 14:02:30 +00:00
rpcd_classic.c rpc_server3: Initialize mangle_fns in classic and spoolss 2022-07-12 13:33:14 +00:00
rpcd_epmapper.c s3:rpc_server: Add samba-dcerpcd helper programs 2021-12-10 14:02:30 +00:00
rpcd_fsrvp.c s3:rpc_server: Add samba-dcerpcd helper programs 2021-12-10 14:02:30 +00:00
rpcd_lsad.c s3:rpc_server: Add samba-dcerpcd helper programs 2021-12-10 14:02:30 +00:00
rpcd_mdssvc.c s3:rpc_server: Add samba-dcerpcd helper programs 2021-12-10 14:02:30 +00:00
rpcd_rpcecho.c s3:rpc_server: Add samba-dcerpcd helper programs 2021-12-10 14:02:30 +00:00
rpcd_spoolss.c rpc_server3: Initialize mangle_fns in classic and spoolss 2022-07-12 13:33:14 +00:00
rpcd_winreg.c s3:rpc_server: Add samba-dcerpcd helper programs 2021-12-10 14:02:30 +00:00
srv_access_check.c s3:rpc_server: Set debug class in all rpc server related files 2019-07-22 16:49:15 +00:00
srv_access_check.h Covert all uint32/16/8 to _t in source3/rpc_server. 2015-05-15 19:31:24 +02:00
srv_pipe_hnd.c s3:rpc_server: Activate samba-dcerpcd 2021-12-10 14:02:30 +00:00
srv_pipe_hnd.h s3:rpc_server: Retrieve dcesrv_context from parent context to open NP 2020-03-20 15:36:35 +00:00
wscript_build s3/rpc_server: install elasticsearch_mappings.json 2022-01-28 10:22:31 +00:00