summaryrefslogtreecommitdiff
path: root/source3/smbd/server.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/smbd/server.c')
-rw-r--r--source3/smbd/server.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/source3/smbd/server.c b/source3/smbd/server.c
index 17762e34c8..cc0bf1f02a 100644
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -40,6 +40,8 @@
extern void start_epmd(struct tevent_context *ev_ctx,
struct messaging_context *msg_ctx);
+extern void start_spoolssd(void);
+
#ifdef WITH_DFS
extern int dcelogin_atmost_once;
#endif /* WITH_DFS */
@@ -1242,6 +1244,19 @@ extern void build_options(bool screen);
smbd_messaging_context());
}
+ if (is_daemon && !_lp_disable_spoolss()) {
+ const char *rpcsrv_type;
+
+ /* start spoolss daemon */
+ /* start as a separate daemon only if enabled */
+ rpcsrv_type = lp_parm_const_string(GLOBAL_SECTION_SNUM,
+ "rpc_server", "spoolss",
+ "embedded");
+ if (StrCaseCmp(rpcsrv_type, "embedded") != 0) {
+ start_spoolssd();
+ }
+ }
+
if (!is_daemon) {
/* inetd mode */
TALLOC_FREE(frame);