summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/winbindd/winbindd.c6
-rw-r--r--source3/winbindd/winbindd_dual.c5
2 files changed, 11 insertions, 0 deletions
diff --git a/source3/winbindd/winbindd.c b/source3/winbindd/winbindd.c
index 953e208e2a..50573ac328 100644
--- a/source3/winbindd/winbindd.c
+++ b/source3/winbindd/winbindd.c
@@ -1168,6 +1168,12 @@ static void winbindd_register_handlers(struct messaging_context *msg_ctx,
messaging_register(msg_ctx, NULL,
MSG_WINBIND_ONLINESTATUS, winbind_msg_onlinestatus);
+ /* Handle domain online/offline messages for domains */
+ messaging_register(winbind_messaging_context(), NULL,
+ MSG_WINBIND_DOMAIN_OFFLINE, winbind_msg_domain_offline);
+ messaging_register(winbind_messaging_context(), NULL,
+ MSG_WINBIND_DOMAIN_ONLINE, winbind_msg_domain_online);
+
messaging_register(msg_ctx, NULL,
MSG_DUMP_EVENT_LIST, winbind_msg_dump_event_list);
diff --git a/source3/winbindd/winbindd_dual.c b/source3/winbindd/winbindd_dual.c
index 34896d57fa..972924ccbe 100644
--- a/source3/winbindd/winbindd_dual.c
+++ b/source3/winbindd/winbindd_dual.c
@@ -1241,6 +1241,11 @@ NTSTATUS winbindd_reinit_after_fork(const struct winbindd_child *myself,
messaging_deregister(winbind_messaging_context(),
MSG_DEBUG, NULL);
+ messaging_deregister(winbind_messaging_context(),
+ MSG_WINBIND_DOMAIN_OFFLINE, NULL);
+ messaging_deregister(winbind_messaging_context(),
+ MSG_WINBIND_DOMAIN_ONLINE, NULL);
+
/* We have destroyed all events in the winbindd_event_context
* in reinit_after_fork(), so clean out all possible pending
* event pointers. */