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

Re: Fixes to make compile under OpenServer 5 (ITS#972)

Dear Kurt,

Thank you for the time you spent looking over my correction.  Here is the
additional information you requested:

> >1. The following change was done as when the SQL backend was disabled
> >compile the SLAPD_LIBS value became 'SLAPD_LIBS = \' messing up the
> IIRC, this change has already been made to HEAD and OPENLDAP_REL_ENG_2.
Thank you.

> >2. The following two files were changed as in SCO OpenServer 5 the
> >MAXPATHLEN was removed from stdlib.h
> Please determine were MAXPATHLEN or equivalent is defined
> so that <ac/param.h> can be updated.
This variable is no longer defined in any location on the SCO platform.  It
is replaced by
a call to the fpathconf() or pathconf() function, where the first argument
is a stream or file
path name respectivly pointing to a directory and the second argument is the
value PATH_MAX.
As different file system on the SCO platform may have different values, the
result is dependant
upon the file system on which the directory resides.  As most uses in
are to allocate storage during compile time, I had to work out a different
solution.  According to my research, the value 1024 is the highest value
that any file system currently supported on SCO returns as MAXPATHLEN.
Therefore the solutions that I applied to my copy.  You are welcome to it.
if not, it is also OK.

> >3. The following file was changed as in SCO OpenServer 5 complied with
> >pthreads the fgets returns upon thread switch and so never reads the
> >response from the backend.
> That's very bad as any early return of fgets() leaves the
> stream in undefined state.  back-shell does not support
> pthreads anyways due to its use of fork().

> >4. The following file was changed as in SCO OpenServer Skunkware version
> >pthreads the value of socklen_t is already defined the pthread.h header
> >file.  (NOTE: This possibly is better corrected in ./configure)
> >./include/ldap_int_thread.h
> >22a23,26
> >> #ifdef socklen_t
> >> #undef socklen_t
> >> #endif
> That's a dangerous fix.  The more appropriate fix would be
> adjust configure to detect socklen_t.  Please check your
> headers to determine whether socklen_t is defined in more
> appropriate (socket) headers.
I agree, but as I stated, I don't know how to change configure.  There are
two choices
here: You can do it, you can direct me to where I can get the info how and I
can propose
the change.

> >5. The following two files were changed to make the system call the
> >function name for Kerberos5 version 1.2.1 (don't know when change
> >./libraries/liblutil/passwd.c
> >758c758
> ><   krb5_free_cred_contents( context, &creds );
> >---
> >>   krb5_free_creds( context, &creds );
> Such changes should be conditional upon the flavor (Heimdal v MIT)
> and version of Kerberos in use using autoconf.
> >6. The following change was made as the library name is different in
> >Kerberos5 release 1.2.1 (don't know when change occurred)
> This should also be done via configure.