[Date Prev][Date Next] [Chronological] [Thread] [Top]

slapd compatability with Microsoft Outlook 98 (ITS#30)



Full_Name: Orion Poplawski
Version: 1.1.1
OS: HP-UX 10.20
URL: 
Submission from: (NULL) (206.196.156.198)


Using the "Start->Find->People" Windows functionality provided by Microsoft
Outlook 98 results in the following connection activity with slapd (the same
behavior is exhibited when doing address searches in Outlook 98, but this is
simpler to test with):

# /usr/local/libexec/slapd -d 8 
slapd starting
listening for connections on 3, activity on:
before select active_threads 0
select activity on 1 descriptors
new connection on 5
activity on:
listening for connections on 3, activity on: 5r
before select active_threads 0
select activity on 1 descriptors
activity on: 5r
read activity on 5
unknown version 3
listening for connections on 3, activity on: 5r
before select active_threads 0
select activity on 1 descriptors
new connection on 6
activity on:
listening for connections on 3, activity on: 5r 6r
before select active_threads 0
select activity on 1 descriptors
activity on: 6r
read activity on 6
listening for connections on 3, activity on: 5r 6r
before select active_threads 0
select activity on 1 descriptors
activity on: 6r
read activity on 6
listening for connections on 3, activity on: 5r 6r
before select active_threads 0
select activity on 1 descriptors
activity on: 6r
read activity on 6
listening for connections on 3, activity on: 5r
before select active_threads 0

As you can see, the first connection is left open.  netstat reports:

tcp        0      0  cqg1.ldap              bnworion.bvt.com.2017  ESTABLISHED
tcp        0      0  *.ldap                 *.*                    LISTEN

This is left open until the find application (or Outlook 98) is closed.  This is
repeated for each query, so you can build up a LOT of stale connections pretty
quickly.

My solution has been to implement a socket close in "servers/slapd/bind.c", but
there probably is a better way.