#define DAEMON_NAME "fssd"
-void start_fssd(struct tevent_context *ev_ctx,
- struct messaging_context *msg_ctx);
-
static void fssd_reopen_logs(void)
{
const struct loadparm_substitution *lp_sub =
}
void start_fssd(struct tevent_context *ev_ctx,
- struct messaging_context *msg_ctx)
+ struct messaging_context *msg_ctx,
+ struct dcesrv_context *dce_ctx)
{
struct rpc_srv_callbacks fss_cb;
NTSTATUS status;
exit(1);
}
+ DBG_INFO("Reinitializing DCE/RPC server context\n");
+
+ status = dcesrv_reinit_context(dce_ctx);
+ if (!NT_STATUS_IS_OK(status)) {
+ DBG_ERR("Failed to reinit DCE/RPC context: %s\n",
+ nt_errstr(status));
+ exit(1);
+ }
+
status = rpc_FileServerVssAgent_init(&fss_cb);
if (!NT_STATUS_IS_OK(status)) {
DEBUG(0, ("Failed to register fssd rpc interface! (%s)\n",
#include "replace.h"
#include "messages.h"
+struct dcesrv_context;
+
void start_fssd(struct tevent_context *ev_ctx,
- struct messaging_context *msg_ctx);
+ struct messaging_context *msg_ctx,
+ struct dcesrv_context *dce_ctx);
#endif
}
if (rpc_fss_daemon() == RPC_DAEMON_FORK) {
- start_fssd(ev_ctx, msg_ctx);
+ start_fssd(ev_ctx, msg_ctx, dce_ctx);
}
if (!lp__disable_spoolss() &&