1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00

s3-smbd: Init the svcctl registry keys on service startup.

Signed-off-by: Günther Deschner <gd@samba.org>
This commit is contained in:
Andreas Schneider 2011-02-01 11:50:10 +01:00 committed by Günther Deschner
parent f1d5cea322
commit b2ddfc642d
2 changed files with 16 additions and 3 deletions

View File

@ -96,8 +96,6 @@ WERROR registry_init_full(void)
reghook_dump_cache(20);
/* add any keys for other services */
svcctl_init_keys();
perfcount_init_keys();
fail:

View File

@ -39,6 +39,7 @@
#include "printing/nt_printing_migrate.h"
#include "rpc_server/srv_eventlog_reg.h"
#include "rpc_server/srv_svcctl_reg.h"
#include "librpc/rpc/dcerpc_ep.h"
@ -192,11 +193,25 @@ static bool spoolss_shutdown_cb(void *ptr)
static bool svcctl_init_cb(void *ptr)
{
struct messaging_context *msg_ctx = talloc_get_type_abort(
ptr, struct messaging_context);
bool ok;
ok = svcctl_init_winreg(msg_ctx);
if (!ok) {
return false;
}
/* initialize the control hooks */
init_service_op_table();
return NT_STATUS_IS_OK(_rpc_ep_register(&ndr_table_svcctl, "svcctl"));
}
static bool svcctl_shutdown_cb(void *ptr)
{
shutdown_service_op_table();
return NT_STATUS_IS_OK(_rpc_ep_unregister(&ndr_table_svcctl));
}
@ -351,7 +366,7 @@ bool srv_rpc_register(struct messaging_context *msg_ctx) {
svcctl_cb.init = svcctl_init_cb;
svcctl_cb.shutdown = svcctl_shutdown_cb;
svcctl_cb.private_data = NULL;
svcctl_cb.private_data = msg_ctx;
if (!NT_STATUS_IS_OK(rpc_svcctl_init(&svcctl_cb))) {
return false;
}