summaryrefslogtreecommitdiffstats
path: root/source/lib/smbldap.c
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2004-12-20 18:42:58 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 10:53:42 -0500
commitac8032bacff10451fa03f155d43f0d20389512fa (patch)
tree201c0303b6ed4a6d0b5492028d0c7427f40b5361 /source/lib/smbldap.c
parent721bf50d7446b8ce18bc1d45e17d4214d5a43d26 (diff)
downloadsamba-ac8032bacff10451fa03f155d43f0d20389512fa.tar.gz
samba-ac8032bacff10451fa03f155d43f0d20389512fa.tar.xz
samba-ac8032bacff10451fa03f155d43f0d20389512fa.zip
r4289: Close LDAP-Connection before retrying to open a new connection in the
retry-loop. This fixes a deadlock-situation when ldapsam is used with the ldapi interface: getpeername won't fail while trying to detect dead connections on unix domain sockets. When the ldapi-connection was closed server-side (due to OpenLDAP's idletimeout) we *never* got a new LDAP connection. Guenther
Diffstat (limited to 'source/lib/smbldap.c')
-rw-r--r--source/lib/smbldap.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/source/lib/smbldap.c b/source/lib/smbldap.c
index 7e485457b08..4afafde9bb6 100644
--- a/source/lib/smbldap.c
+++ b/source/lib/smbldap.c
@@ -977,6 +977,7 @@ static int another_ldap_try(struct smbldap_state *ldap_state, int *rc,
*attempts += 1;
+ smbldap_close(ldap_state);
open_rc = smbldap_open(ldap_state);
if (open_rc == LDAP_SUCCESS) {