From c5ceae9dc95bb8e0e8a2067c481f394b752f46e7 Mon Sep 17 00:00:00 2001 From: Tim Potter Date: Thu, 15 Nov 2001 03:34:27 +0000 Subject: Added free_domain_info() function. Get list of trusted domains if we haven't fetched them yet. (This used to be commit ed16aa88a422e759d27dbfae39afc72250c80e8d) --- source3/nsswitch/winbindd_util.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'source3/nsswitch/winbindd_util.c') diff --git a/source3/nsswitch/winbindd_util.c b/source3/nsswitch/winbindd_util.c index 6a0a5389ef..1b63cd2810 100644 --- a/source3/nsswitch/winbindd_util.c +++ b/source3/nsswitch/winbindd_util.c @@ -118,6 +118,27 @@ BOOL get_domain_info(void) return rv; } +/* Free global domain info */ + +void free_domain_info(void) +{ + struct winbindd_domain *domain; + + /* Free list of domains */ + + if (domain_list) { + struct winbindd_domain *next_domain; + + domain = domain_list; + + while(domain) { + next_domain = domain->next; + free(domain); + domain = next_domain; + } + } +} + /* Connect to a domain controller using get_any_dc_name() to discover the domain name and sid */ @@ -420,6 +441,9 @@ struct winbindd_domain *find_domain_from_name(char *domain_name) { struct winbindd_domain *tmp; + if (domain_list == NULL) + get_domain_info(); + /* Search through list */ for (tmp = domain_list; tmp != NULL; tmp = tmp->next) { @@ -438,6 +462,9 @@ struct winbindd_domain *find_domain_from_sid(DOM_SID *sid) { struct winbindd_domain *tmp; + if (domain_list == NULL) + get_domain_info(); + /* Search through list */ for (tmp = domain_list; tmp != NULL; tmp = tmp->next) { -- cgit