summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Potter <tpot@samba.org>2001-06-20 01:52:40 +0000
committerTim Potter <tpot@samba.org>2001-06-20 01:52:40 +0000
commit1c831ce6d868ca5f7de498c8c7f90efe2238d1b4 (patch)
treefc1f2d64af6accfbc93dbc4d01ce3a0a31cfcda0
parent92033860636abf665ddd968d991bd789aabeec9a (diff)
downloadsamba-1c831ce6d868ca5f7de498c8c7f90efe2238d1b4.tar.gz
samba-1c831ce6d868ca5f7de498c8c7f90efe2238d1b4.tar.bz2
samba-1c831ce6d868ca5f7de498c8c7f90efe2238d1b4.zip
Merge from appliance branch:
Don't call find_domain_from_name() from winbindd_kill_connections() as you get stuck in an infinite loop! (This used to be commit 8e982941d82b813197f2a9720149e60f629b5b20)
-rw-r--r--source3/nsswitch/winbindd_util.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/source3/nsswitch/winbindd_util.c b/source3/nsswitch/winbindd_util.c
index 4814fbcfda..4c7071d063 100644
--- a/source3/nsswitch/winbindd_util.c
+++ b/source3/nsswitch/winbindd_util.c
@@ -224,11 +224,17 @@ BOOL domain_handles_open(struct winbindd_domain *domain)
void winbindd_kill_connections(struct winbindd_domain *domain)
{
BOOL is_server = False;
- struct winbindd_domain *server_domain;
+ struct winbindd_domain *server_domain = NULL, *tmp;
/* Find pointer to domain of pdc */
- server_domain = find_domain_from_name(lp_workgroup());
+ for (tmp = domain_list; tmp != NULL; tmp = tmp->next) {
+ if (strequal(domain->name, tmp->name)) {
+ server_domain = tmp;
+ break;
+ }
+ }
+
if (!server_domain) return;
/* If NULL passed, use pdc */