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

(ITS#4629) slapd failure on HP-UX 11.23/IA 64-bit



Full_Name: Albert Chin-A-Young
Version: 2.3.25
OS: HP-UX
URL: ftp://ftp.openldap.org/incoming/china-060802.patch
Submission from: (NULL) (67.95.107.103)


servers/slapd/daemon.c assumes the 3rd argument to accept() is socklen_t. This
is not correct on HP-UX 11.23/IA unless _XOPEN_SOURCE_EXTENDED is defined.
Without this defined, the prototype is:
  extern int accept __((int, void *, int *));

Because of this assumption, while slapd starts on this platform (in 64-bit
mode), it doesn't accept any connections. Running 'make test' returns:
cd tests; make test
Initiating LDAP tests for BDB...
Cleaning up test run directory leftover from previous run.
Running ./scripts/all...
>>>>> Executing all LDAP tests for bdb
>>>>> Starting test000-rootdse ...
running defines.sh
Starting slapd on TCP/IP port 9011...
Using ldapsearch to retrieve the root DSE...
Waiting 5 seconds for slapd to start...
Waiting 5 seconds for slapd to start...
Waiting 5 seconds for slapd to start...
Waiting 5 seconds for slapd to start...
Waiting 5 seconds for slapd to start...
Waiting 5 seconds for slapd to start...
ldap_result: Can't contact LDAP server (-1)
>>>>> Test failed
>>>>> ./scripts/test000-rootdse failed (exit 1)
*** Error exit code 1

And, tests/testrun/ldapsearch.out has:
  ldap_result: Can't contact LDAP server (-1)

The correct fix is to determine what type the 3rd argument of accept() is. Patch
uploaded to ftp://ftp.openldap.org/incoming/china-060802.patch against 2.3.25.