Full_Name: Omer Azmon Version: OpenLDAP 2.0.7 OS: OpenServer 5.0.5 URL: Submission from: (NULL) (63.193.150.91) 1. The following change was done as when the SQL backend was disabled from compile the SLAPD_LIBS value became 'SLAPD_LIBS = \' messing up the compile ./build/top.mk 147,148c147 < SLAPD_LIBS = @SLAPD_LIBS@ \ < @SLAPD_SQL_LDFLAGS@ @SLAPD_SQL_LIBS@ --- > SLAPD_LIBS = @SLAPD_LIBS@ @SLAPD_SQL_LDFLAGS@ @SLAPD_SQL_LIBS@ 2. The following two files were changed as in SCO OpenServer 5 the variable MAXPATHLEN was removed from stdlib.h ./include/ac/stdlib.h 33a34,37 > #ifndef MAXPATHLEN > # define MAXPATHLEN 1024 > #endif > ./servers/slurpd/slurp.h 25a26 > #include <ac/stdlib.h> 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. (NOTE: this needs to be fixed in slurpd as well, but I have not yet isolated that bug fully) ./servers/slapd/back-shell/result.c 9a10 > #include <errno.h> 41c42,43 < while ( fgets( line, sizeof(line), fp ) != NULL ) { --- > while ( errno = 0, > ( fgets( line, sizeof(line), fp ) != NULL ) && ( errno != EINTR ) ) { 4. The following file was changed as in SCO OpenServer Skunkware version of 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 > 5. The following two files were changed to make the system call the correct function name for Kerberos5 version 1.2.1 (don't know when change occurred) ./libraries/liblutil/passwd.c 758c758 < krb5_free_cred_contents( context, &creds ); --- > krb5_free_creds( context, &creds ); ./libraries/liblutil/authpasswd.c 637c637 < krb5_free_creds_contents( context, &creds ); --- > krb5_free_creds( context, &creds ); 6. The following change was made as the library name is different in Kerberos5 release 1.2.1 (don't know when change occurred) ./configure 5766c5766 < LIBS="-lkrb5 -lcrypto -lcom_err $LIBS" --- > LIBS="-lkrb5 -lk5crypto -lcom_err $LIBS" 5791c5791 < KRB5_LIBS="-lkrb5 -lcrypto -lcom_err" --- > KRB5_LIBS="-lkrb5 -lk5crypto -lcom_err"
At 12:48 AM 1/19/01 +0000, oazmon@telsoft-solutions.com wrote: >Full_Name: Omer Azmon >Version: OpenLDAP 2.0.7 >OS: OpenServer 5.0.5 >URL: >Submission from: (NULL) (63.193.150.91) > > >1. The following change was done as when the SQL backend was disabled from >compile the SLAPD_LIBS value became 'SLAPD_LIBS = \' messing up the compile. IIRC, this change has already been made to HEAD and OPENLDAP_REL_ENG_2. >2. The following two files were changed as in SCO OpenServer 5 the variable >MAXPATHLEN was removed from stdlib.h Please determine were MAXPATHLEN or equivalent is defined so that <ac/param.h> can be updated. >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 of >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. >5. The following two files were changed to make the system call the correct >function name for Kerberos5 version 1.2.1 (don't know when change occurred) >./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.
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 from > >compile the SLAPD_LIBS value became 'SLAPD_LIBS = \' messing up the compile. > > 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 variable > >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 OpenLDAP of the MAXPATHLEN 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. However, 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 of > >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 correct > >function name for Kerberos5 version 1.2.1 (don't know when change occurred) > >./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. > > >
Dear Kurt, Here is the end of the previous message, > >5. The following two files were changed to make the system call the correct > >function name for Kerberos5 version 1.2.1 (don't know when change occurred) > >./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. I agree, this was MIT Kerberos5 and again see #4 re: configure > >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. See #4 and #5 Respectfully yours, Omer Azmon
moved from Incoming to Build
changed notes changed state Open to Suspended
changed notes changed state Suspended to Closed
moved from Build to Archive.Build
need further input not enough info to make any changes.