From: Samuel Cabrero Date: Tue, 26 Feb 2019 12:50:37 +0000 (+0100) Subject: s3:rpc_server: Register endpoint servers in external fssd daemon X-Git-Tag: ldb-2.2.0~1362 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=612c7fa341b5b3405d5b0ed14112c4f86f1d1932;p=thirdparty%2Fsamba.git s3:rpc_server: Register endpoint servers in external fssd daemon Signed-off-by: Samuel Cabrero Reviewed-by: Andrew Bartlett --- diff --git a/source3/rpc_server/fssd.c b/source3/rpc_server/fssd.c index 8dc8b0e8e64..c3b9695bc7a 100644 --- a/source3/rpc_server/fssd.c +++ b/source3/rpc_server/fssd.c @@ -27,6 +27,10 @@ #include "librpc/rpc/dcerpc_ep.h" #include "../librpc/gen_ndr/srv_fsrvp.h" + +#include "librpc/rpc/dcesrv_core.h" +#include "librpc/gen_ndr/ndr_fsrvp_scompat.h" + #include "rpc_server/rpc_server.h" #include "rpc_server/rpc_sock_helper.h" #include "rpc_server/fss/srv_fss_agent.h" @@ -152,6 +156,7 @@ void start_fssd(struct tevent_context *ev_ctx, NTSTATUS status; pid_t pid; int rc; + const struct dcesrv_endpoint_server *ep_server = NULL; fss_cb.init = fss_init_cb; fss_cb.shutdown = fss_shutdown_cb; @@ -189,6 +194,22 @@ void start_fssd(struct tevent_context *ev_ctx, MSG_SMB_CONF_UPDATED, fssd_smb_conf_updated); + DBG_INFO("Registering DCE/RPC endpoint servers\n"); + + ep_server = FileServerVssAgent_get_ep_server(); + if (ep_server == NULL) { + DBG_ERR("Failed to get 'FileServerVssAgent' endpoint " + "server\n"); + exit(1); + } + + status = dcerpc_register_ep_server(ep_server); + if (!NT_STATUS_IS_OK(status)) { + DBG_ERR("Failed to register 'FileServerVssAgent' endpoint " + "server: %s\n", nt_errstr(status)); + exit(1); + } + status = rpc_FileServerVssAgent_init(&fss_cb); if (!NT_STATUS_IS_OK(status)) { DEBUG(0, ("Failed to register fssd rpc interface! (%s)\n",