uint16_t p = 0;
const char *rpcsrv_type;
- /* TODO: Remove this if we enable epmapper */
rpcsrv_type = lp_parm_const_string(GLOBAL_SECTION_SNUM,
- "rpc_server", "epmapper",
+ "rpc_server",
+ "epmapper",
"none");
if (StrCaseCmp(rpcsrv_type, "none") == 0) {
- return 1;
+ return (uint16_t) -1;
}
if (lp_interfaces() && lp_bind_interfaces_only()) {
/* start endpoint mapper only if enabled */
rpcsrv_type = lp_parm_const_string(GLOBAL_SECTION_SNUM,
- "rpc_server", "epmapper",
+ "rpc_server",
+ "epmapper",
"none");
if (StrCaseCmp(rpcsrv_type, "none") == 0) {
return NT_STATUS_OK;
/* start endpoint mapper only if enabled */
rpcsrv_type = lp_parm_const_string(GLOBAL_SECTION_SNUM,
- "rpc_server", "epmapper",
+ "rpc_server",
+ "epmapper",
"none");
if (StrCaseCmp(rpcsrv_type, "none") == 0) {
return NT_STATUS_OK;
/* start endpoint mapper only if enabled */
rpcsrv_type = lp_parm_const_string(GLOBAL_SECTION_SNUM,
- "rpc_server", "epmapper",
+ "rpc_server",
+ "epmapper",
"none");
if (StrCaseCmp(rpcsrv_type, "embedded") == 0) {
epmapper_cb.init = epmapper_init_cb;
#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 */
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);
}