Kurt Zeilenga [Wed, 30 Dec 1998 03:35:23 +0000 (03:35 +0000)]
Preliminary Fixes for ITS#24, ITS#26, and ldbm_back_add race condition.
Resolved deadlock by passing target entry to be_group and using
this if dn same as bdn. It might actually be safer to check
entry ids instead of dns.
Resolved bogus add to cache after failed acl check by deferring
cache add until after parent/acl checks have successful been
completed.
Eliminated race condition caused by concurrent adds
of same dn by adding 'li_add_mutex' around the critical section
of code (most of ldbm_back_add).
This code is preliminary and still needs significant testing.
Kurt Zeilenga [Wed, 30 Dec 1998 00:06:27 +0000 (00:06 +0000)]
Cleanup thread handling to resolve non-exiting daemons on FreeBSD.
Seems that calling pthread_exit() in the main (and only active)
thread does not cause the whole process to exit. Very odd.
Anyways, as we want to whole process to exit, we should just exit
after joining with our other threads.
I've also removed dead code for detaching threads we join with.
Kurt Zeilenga [Tue, 29 Dec 1998 21:45:08 +0000 (21:45 +0000)]
Fix --disable-crypt and --disable-cleartext
mutex declaration should be moved from slapd/main.c to slapd/init.c
so we don't have ripple changes through slapd/tools.
Kurt Spanier [Tue, 29 Dec 1998 17:28:45 +0000 (17:28 +0000)]
Patch for Berkeley DB 2.6.4 (beta) (DB)->cursor() call.
Introduction of ldbm_datum_init().
Patch for non-NULL pointer test befor call to ldbm_datum_free().
Kurt Zeilenga [Mon, 28 Dec 1998 23:43:04 +0000 (23:43 +0000)]
Fix schema check bug... actually charray needs to dup strings on
add/merge as we now free strings agressively. Improved debug
message to include name of missing required attribute and added
check for 'operational attributes'. This check should be used
everywhere we need to test for operational attributes (add/modify).
Also, enabled schema checking for tests (and fixed resulting
problems by adjusting oc.conf).
Kurt Zeilenga [Mon, 28 Dec 1998 00:44:15 +0000 (00:44 +0000)]
Improve readability of base output in debugging.
Also, output UNKNOWN_PREFIX ('?') instead of writing a nul character
when the attribute prefix is unknown.
Kurt Zeilenga [Thu, 24 Dec 1998 06:00:53 +0000 (06:00 +0000)]
getentry.c: LDAP_RES_SEARCH_REFERENCE changes after fixing loop initializer.
references.c: fix same bug here. need to implement parsing.
Still need to implement chasing in cldap.c/result.c
Randy Kunkee [Thu, 24 Dec 1998 01:31:40 +0000 (01:31 +0000)]
Fix line 62 of bprint.c "#elif" line with no expression.
Add check for to configure.in vsprintf, since HAVE_VSPRINTF is presumably
what was intended there. Finally, also protected a bunch of if test
expressions with double quotes, as they were producing illegal test
commands.
Kurt Zeilenga [Thu, 24 Dec 1998 01:16:22 +0000 (01:16 +0000)]
Apply patch to better behave under Solaris threads (thr).
Could still deadlock on the close(). A surrogate parent
should be used to create the children...
Kurt Zeilenga [Tue, 22 Dec 1998 19:08:27 +0000 (19:08 +0000)]
Update man pages based upon required use of ldap_memfree() instead of free()
replace 'malloced' with 'dynamically allocated'
State ldap_memfree(3) should be used instead of free()
Still need ldap_memfree(3) man page.
Kurt Zeilenga [Mon, 21 Dec 1998 23:08:06 +0000 (23:08 +0000)]
Still wasn't working exactly write on FreeBSD3. Need to
check for $OBJFORMAT and if not available set to output of
/usr/bin/objformat (if available). Otherwise assume not elf.
Kurt Zeilenga [Mon, 21 Dec 1998 17:45:47 +0000 (17:45 +0000)]
ITS#12 realBase was being freed before use. The offending free()
call has been removed and additional code added to properly free
realBase variable. Also fixed leaking of the matched variable.
Kurt Zeilenga [Mon, 21 Dec 1998 00:21:58 +0000 (00:21 +0000)]
LDAP C-API changes
struct friendly (Friendly) changed to ldap_friendly (LDAPFriendly)
ldap_friendly friend prefix changed to 'lf_' from 'f_'
removed mod_next field from LDAPMod (struct ldapmod)
modified slapd to use new LDAPModList (struct ldapmodlist) struct.
Added LDAPv3 result codes to ldap.h
Kurt Zeilenga [Sun, 20 Dec 1998 18:16:03 +0000 (18:16 +0000)]
Minor change to signal handler. Changed _shutdown flag to
type 'sig_atomic_t' and marked it volatile. Add detection to
configure to ensure sig_atomic_t and volatile are supported.
Kurt Zeilenga [Sat, 19 Dec 1998 01:27:20 +0000 (01:27 +0000)]
-lldap reentrantancy improvements from Bart Hartgers <A.Hartgers@phys.tue.nl>
including use of ctime_r, gethostby*_r, etc.. Also reworked ldap_sort_entries
to be reentrant.
Need to add code to properly set LDAP_API_FEATURE_THREAD_SAFE.
Kurt Zeilenga [Fri, 18 Dec 1998 21:54:06 +0000 (21:54 +0000)]
Fix ltconfig for FreeBSD 3 (elf detection was wrong).
Also fixed "empty translation unit" problem reported by
Randy Kunkee <kunkee@pluto.ops.NeoSoft.com>
Kurt Zeilenga [Fri, 18 Dec 1998 18:06:30 +0000 (18:06 +0000)]
Patch cache_delete_entry_internal() as suggested by
Daniel Carroll <dan@mesa7.mesa.colorado.edu>
This patch ensures we try deleting the entry from both the
dntree and the idtree.