--- a/source3/librpc/rpc/rpc_common.c +++ b/source3/librpc/rpc/rpc_common.c @@ -131,6 +131,7 @@ static bool initialize_interfaces(void) if (!smb_register_ndr_interface(&ndr_table_initshutdown)) { return false; } +#ifdef EXTRA_SERVICES if (!smb_register_ndr_interface(&ndr_table_svcctl)) { return false; } @@ -140,6 +141,7 @@ static bool initialize_interfaces(void) if (!smb_register_ndr_interface(&ndr_table_ntsvcs)) { return false; } +#endif if (!smb_register_ndr_interface(&ndr_table_epmapper)) { return false; } --- a/source3/rpc_server/rpc_ep_setup.c +++ b/source3/rpc_server/rpc_ep_setup.c @@ -697,6 +697,7 @@ static bool spoolss_shutdown_cb(void *pt return true; } +#ifdef EXTRA_SERVICES static bool svcctl_init_cb(void *ptr) { struct dcesrv_ep_context *ep_ctx = @@ -733,6 +734,7 @@ static bool svcctl_init_cb(void *ptr) return true; } +#endif static bool svcctl_shutdown_cb(void *ptr) { @@ -741,6 +743,8 @@ static bool svcctl_shutdown_cb(void *ptr return true; } +#ifdef EXTRA_SERVICES + static bool ntsvcs_init_cb(void *ptr) { struct dcesrv_ep_context *ep_ctx = @@ -802,6 +806,7 @@ static bool eventlog_init_cb(void *ptr) return true; } +#endif static bool initshutdown_init_cb(void *ptr) { @@ -1130,6 +1135,7 @@ bool dcesrv_ep_setup(struct tevent_conte } } +#ifdef EXTRA_SERVICES svcctl_cb.init = svcctl_init_cb; svcctl_cb.shutdown = svcctl_shutdown_cb; svcctl_cb.private_data = ep_ctx; @@ -1150,6 +1156,7 @@ bool dcesrv_ep_setup(struct tevent_conte if (!NT_STATUS_IS_OK(rpc_eventlog_init(&eventlog_cb))) { return false; } +#endif initshutdown_cb.init = initshutdown_init_cb; initshutdown_cb.shutdown = NULL; --- a/source3/smbd/server_exit.c +++ b/source3/smbd/server_exit.c @@ -140,9 +140,11 @@ static void exit_server_common(enum serv #endif rpc_netdfs_shutdown(); rpc_initshutdown_shutdown(); +#ifdef EXTRA_SERVICES rpc_eventlog_shutdown(); - rpc_ntsvcs_shutdown(); rpc_svcctl_shutdown(); + rpc_ntsvcs_shutdown(); +#endif #ifdef PRINTER_SUPPORT rpc_spoolss_shutdown(); #endif --- a/source3/rpcclient/rpcclient.c +++ b/source3/rpcclient/rpcclient.c @@ -637,9 +637,11 @@ static struct cmd_set *rpcclient_command shutdown_commands, test_commands, wkssvc_commands, +#ifdef EXTRA_SERVICES ntsvcs_commands, drsuapi_commands, eventlog_commands, +#endif winreg_commands, NULL };