diff options
Diffstat (limited to 'source3/smbd')
-rw-r--r-- | source3/smbd/server.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/source3/smbd/server.c b/source3/smbd/server.c index c06eaa12e7..5d2abc0bd9 100644 --- a/source3/smbd/server.c +++ b/source3/smbd/server.c @@ -37,6 +37,9 @@ #include "printing.h" #include "serverid.h" +extern void start_epmd(struct tevent_context *ev_ctx, + struct messaging_context *msg_ctx); + #ifdef WITH_DFS extern int dcelogin_atmost_once; #endif /* WITH_DFS */ @@ -1208,6 +1211,18 @@ extern void build_options(bool screen); return -1; } + if (is_daemon && !interactive) { + const char *rpcsrv_type; + + rpcsrv_type = lp_parm_const_string(GLOBAL_SECTION_SNUM, + "rpc_server", "epmapper", + "none"); + if (StrCaseCmp(rpcsrv_type, "daemon") == 0) { + start_epmd(smbd_event_context(), + smbd_server_conn->msg_ctx); + } + } + if (!dcesrv_ep_setup(smbd_event_context(), smbd_server_conn->msg_ctx)) { exit(1); } |