diff options
author | Andreas Schneider <asn@cryptomilk.org> | 2013-10-10 10:01:40 +0200 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2013-10-14 10:14:00 +0200 |
commit | 393f6a8c7563992fee6cbe9dbf5d46c6f2898b26 (patch) | |
tree | 1f11c8f00e5113dcaf2f54ec9ef0d44f45f0bef2 | |
parent | 7ea11ba9ade511b6940cde2f86878eb5da2c2fbf (diff) | |
download | samba-393f6a8c7563992fee6cbe9dbf5d46c6f2898b26.tar.gz |
s3-winbind: Add functions for domain online/offline handling.
BUG: https://bugzilla.samba.org/show_bug.cgi?id=10194
Signed-off-by: Andreas Schneider <asn@cryptomilk.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
(cherry picked from commit 447ec17a6bec814a2ac5cadb74dbef5789f07c52)
-rw-r--r-- | source3/winbindd/winbindd_cm.c | 40 | ||||
-rw-r--r-- | source3/winbindd/winbindd_proto.h | 10 |
2 files changed, 50 insertions, 0 deletions
diff --git a/source3/winbindd/winbindd_cm.c b/source3/winbindd/winbindd_cm.c index 4c1a8ccba0..488876f93f 100644 --- a/source3/winbindd/winbindd_cm.c +++ b/source3/winbindd/winbindd_cm.c @@ -340,6 +340,46 @@ static void calc_new_online_timeout_check(struct winbindd_domain *domain) } } +void winbind_msg_domain_offline(struct messaging_context *msg_ctx, + void *private_data, + uint32_t msg_type, + struct server_id server_id, + DATA_BLOB *data) +{ + const char *domain_name = (const char *)data->data; + struct winbindd_domain *domain; + + domain = find_domain_from_name_noinit(domain_name); + if (domain == NULL) { + return; + } + + domain->online = false; + + DEBUG(10, ("Domain %s is marked as offline now.\n", + domain_name)); +} + +void winbind_msg_domain_online(struct messaging_context *msg_ctx, + void *private_data, + uint32_t msg_type, + struct server_id server_id, + DATA_BLOB *data) +{ + const char *domain_name = (const char *)data->data; + struct winbindd_domain *domain; + + domain = find_domain_from_name_noinit(domain_name); + if (domain == NULL) { + return; + } + + domain->online = true; + + DEBUG(10, ("Domain %s is marked as online now.\n", + domain_name)); +} + /**************************************************************** Set domain offline and also add handler to put us back online if we detect a DC. diff --git a/source3/winbindd/winbindd_proto.h b/source3/winbindd/winbindd_proto.h index b07f30331e..3df7d7c8ca 100644 --- a/source3/winbindd/winbindd_proto.h +++ b/source3/winbindd/winbindd_proto.h @@ -153,6 +153,16 @@ enum winbindd_result winbindd_dual_ccache_ntlm_auth(struct winbindd_domain *doma void winbindd_ccache_save(struct winbindd_cli_state *state); /* The following definitions come from winbindd/winbindd_cm.c */ +void winbind_msg_domain_offline(struct messaging_context *msg_ctx, + void *private_data, + uint32_t msg_type, + struct server_id server_id, + DATA_BLOB *data); +void winbind_msg_domain_online(struct messaging_context *msg_ctx, + void *private_data, + uint32_t msg_type, + struct server_id server_id, + DATA_BLOB *data); void set_domain_offline(struct winbindd_domain *domain); void set_domain_online_request(struct winbindd_domain *domain); |