[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
RE: openldap 2.1.3 libraries and udp
The netstat output you included indicates that these are sockets
established for DNS lookups. ldap_bind (and any function that deals with
hostnames) uses the resolver library to map hostnames to internet addresses.
This is an issue with your system's resolver library, not OpenLDAP.
-- Howard Chu
Chief Architect, Symas Corp. Director, Highland Sun
http://www.symas.com http://highlandsun.com/hyc
Symas: Premier OpenSource Development and Support
> -----Original Message-----
> From: owner-openldap-software@OpenLDAP.org
> [mailto:owner-openldap-software@OpenLDAP.org]On Behalf Of Ben Higgins
> Sent: Wednesday, July 31, 2002 5:29 PM
> To: openldap-software@OpenLDAP.org
> Subject: openldap 2.1.3 libraries and udp
>
>
> I'm having a curious problem that's left me completely stumped. I
> have installed the openldap 2.1.3 libraries (no slapd or slurpd)
> for use with PHP. I am having a problem with UDP sockets being
> created and not going away.
>
> The problem seems to be with calling ldap_bind from PHP. Whenever
> I do this, a UDP socket is established from and to localhost.
> There is, of course, also a TCP connection made to the LDAP server
> (which is on another machine), and that is working just fine. In
> PHP, ldap_unbind and ldap_close are aliases for the same function.
> Still, I've tried calling both of them, and none of them remove
> this UDP connection.
>
> One new UDP connection is created for each ldap_bind, and this
> connection never goes away, unless I stop httpd (httpd -> PHP ->
> openldap libs). It's by chance I noticed that this was occuring
> when I had some sloppy code that made hundreds of bind calls.
> Soon my page wasn't loading and when I went over to the Linux box
> it told me that too many files were open. Sure enough apache had
> hundreds of FDs for all these UDP connections. (Funny thing
> though, I had been running this code for awhile and this issue
> should have cropped up before it did... I don't think I changed
> anything...)
>
> Example:
> I run a script that calls ldap_bind (and also ldap_unbind, but
> that doesn't seem to have any impact) several times and this happens:
>
> # netstat | grep udp | wc -l
> 122
>
> 122 udp sockets established! Maybe four or five of those aren't
> caused from running the script. All these connections look like
> this (just imagine a lot more):
>
> udp 0 0 localhost.localdom:3837
> localhost.locald:domain ESTABLISHED
> udp 0 0 localhost.localdom:3836
> localhost.locald:domain ESTABLISHED
> udp 0 0 localhost.localdom:3835
> localhost.locald:domain ESTABLISHED
> udp 0 0 localhost.localdom:3834
> localhost.locald:domain ESTABLISHED
> udp 0 0 localhost.localdom:3833
> localhost.locald:domain ESTABLISHED
>
> I've waited several hours and they don't go away
>
> I'm completely stumped. I've also tried an older ver. of openldap
> (2.0.25) with the same behavior. Why are UDP connections being
> created at all? Why don't they go away? Where in the code should
> I look if I have to hack it myself? Any ideas?
>
> This is how I have openldap configured:
>
> ./configure --prefix=/usr/local/openldap --disable-slapd
> --disable-slurpd --enable-static --enable-shared --with-gnu-ld
>
> Ben
>
>
>