From 6baa40e3fe59a68046d31a93eb154237d7bd0837 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Tue, 10 Jul 2001 02:28:17 +0000 Subject: added winbind_exclude_domain() so smbd can tell the winbind client code not to do lookups for a particular domain. This allows winbind to operate on a Samba PDC (This used to be commit d472ee3a690fb6db03fd4536e4093a18fc37ddbb) --- source3/nsswitch/wb_common.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'source3/nsswitch') diff --git a/source3/nsswitch/wb_common.c b/source3/nsswitch/wb_common.c index ed0075a358..0ec29aa2d7 100644 --- a/source3/nsswitch/wb_common.c +++ b/source3/nsswitch/wb_common.c @@ -29,6 +29,17 @@ /* Global variables. These are effectively the client state information */ static int established_socket = -1; /* fd for winbindd socket */ +static char *excluded_domain; + +/* + smbd needs to be able to exclude lookups for its own domain +*/ +void winbind_exclude_domain(const char *domain) +{ + if (excluded_domain) free(excluded_domain); + excluded_domain = strdup(domain); +} + /* Initialise a request structure */ @@ -321,6 +332,12 @@ NSS_STATUS winbindd_request(int req_type, return NSS_STATUS_NOTFOUND; } + /* smbd may have excluded this domain */ + if (excluded_domain && + strcasecmp(excluded_domain, request->domain) == 0) { + return NSS_STATUS_NOTFOUND; + } + if (!response) { ZERO_STRUCT(lresponse); response = &lresponse; -- cgit