Commit Graph

258 Commits

Author SHA1 Message Date
Kurt Spanier
314f3f6ed7 Introduction of a backend startup/shutdown function to make backend-specific
initialization after reading slapd.conf, and before starting the daemon
1999-02-01 17:37:43 +00:00
Kurt Zeilenga
8981a52ed3 Rebuild configure using autoconf 1.3 (with aclocal from automake 1.4). 1999-02-01 01:36:42 +00:00
Kurt Zeilenga
59a288abb5 Rewrite IDL block code to use simple array and accessor macros
instead of array with overlayed struct fields.  (which is inherently
non-portable).
Change maxid check in insert to be greater than or equal instead
of equal.
Use SAFEMEMCPY.
1999-01-31 07:55:53 +00:00
Kurt Zeilenga
163077ec93 Don't leak slap_op when op not in list.
Don't leak abandon mutex.
Use ch_malloc and friends.
1999-01-29 05:46:12 +00:00
Kurt Zeilenga
91f6792109 Add dn_rdn() function to return rdn part of dn. 1999-01-28 21:40:04 +00:00
Kurt Zeilenga
1d70b89234 Make sure e_ndn is used! 1999-01-28 17:32:59 +00:00
Kurt Zeilenga
72ba4cfb71 Use -lldap_r instead of -lldap -lthread.
Likely broke things for non-posix threadings....

Update -lldap_r implementation to:
	remove attribute support
	hide thread detachment
	provide concurrency accessors
	provide initialization function
	fix gethostby{addr,name}_r codes (not coverred by HAVE_REENTRANT_FUNCTIONS)
Update servers/libraries to use ldap_pvt_thread_ calls.
Cleanup server codes (no #ifdef HAVE_PTHREAD_THIS or _THATs)!
Removed -llthread
1999-01-28 04:34:55 +00:00
Kurt Zeilenga
4ea54855c2 Fix PHREAD typo. 1999-01-27 22:42:30 +00:00
Will Ballantyne
07f566e712 fix suffix alias compare in config.c, logic was reversed. The suffix alias
is now ignored if it is the same as the real suffix.
1999-01-27 04:58:02 +00:00
Kurt Zeilenga
bd6dfe333d LDBM/back-ldbm locking reworked!
back-ldbm was using a cache specific lock to protect non-reentrant
	database routines from being reenterred.  This is inadequate.
	Also, reentrant database systems calls were serialized unnecessarily.

	Non-reentrant database calls must have a big_mutex.  Implemented
	this within -lldbm itself.  library requires ldbm_initialize()
	be called before any other ldbm call to initialize the big_mutex
	and to do any other db specific initialization (ie: such as
	required for DB2).

The dbc_mutex, dbc_cv, & dbc_readers fileds of dbcache are history.
The "reentrant_database" (REENTRANT_DATABASE) define is also axed.
1999-01-26 20:55:54 +00:00
Kurt Zeilenga
f1e934effb Hide allocate of reentrant_database cond varible and reader count
behind REENTRANT_DATABASE.  rename reentrant_database -> REENTRANT_DATABASE.
When REENTRANT_DATABASE is defined, the simple lock is replaced
with a simple reader/writer lock.  This functionality should be removed
from back-ldbm to libldbm.
1999-01-26 17:23:50 +00:00
Kurt Zeilenga
3c67248a65 cache_set_state( cache, e, 0) cannot occur before lock on parent/root
is released.  Some other thread may have cache locked but blocking
on parent.  Must give up parent lock before acquiring cache lock.
1999-01-26 05:22:58 +00:00
Kurt Zeilenga
0181892175 Change o_private from int to void*. Use it to hold a pid_t (and hope it fits).
Have forkandexec() return pid_t instead of int.
1999-01-26 04:32:26 +00:00
Kurt Zeilenga
b83ae3b434 Add pidfile/argsfile options to default slapd.conf. 1999-01-24 21:20:00 +00:00
Kurt Zeilenga
a928abeb9e incorrect args to tcpd statslog 1999-01-24 01:29:23 +00:00
Kurt Zeilenga
29b1e1f0ba dn_parent(" ") should be NULL. 1999-01-23 19:34:02 +00:00
Kurt Zeilenga
4194c3ee85 If dn2id returns ID but id2entry returns NULL, log it.
Assume entry was deleted from underneath the dn2entry call,  hence
processing is same as if NOID had been returned.
1999-01-23 19:33:53 +00:00
Kurt Zeilenga
4863d98084 Remove configure's wait3 test as we don't care about the rusage.
Rewrite all child waits to use wait4 (for consistency only).
1999-01-23 04:03:43 +00:00
Kurt Zeilenga
637c0a8301 Use strtok_r() instead of strtok(). Remove strtok mutex! 1999-01-22 04:46:54 +00:00
Kurt Zeilenga
0f17fac37d Implement NEXTID chunking. Obtain IDs in chunks of size
SLAPD_NEXTID_CHUNK.  Code protects NEXTID file to ensure
its equal to or greater than nextid.  Updated on close
to actual nextid.  next_id_save() could be called periodically
if desired.  Default chunk size is 32.  Define to 1 to disable
chunking.
1999-01-22 02:26:19 +00:00
Kurt Zeilenga
5389e40ba5 initialize nextid with NOID not -1. 1999-01-22 01:53:39 +00:00
Kurt Zeilenga
2318ea0fd6 Don't return nextid on failed add operations for safety. 1999-01-22 01:51:53 +00:00
Kurt Zeilenga
5bfb3ac221 nextid cleanup in preparation to disable next_id_return(). 1999-01-22 01:40:39 +00:00
Kurt Zeilenga
ecdf9a354d Entry must be locked before adding it to the cache.
This removes a race condition upon the entry.
1999-01-22 00:27:50 +00:00
Kurt Zeilenga
6edeeeffd4 During cleanup always unlock root_mutex if rootlock is true
(don't make it conditional on p == NULL)
1999-01-21 22:20:03 +00:00
Kurt Spanier
68a8798594 Definition of slapd pid and args files as slapd.conf general parameters;
introduction of pid/agrs parameters to the test-suite slapd.conf files;
creation of sub-directory test/var for storage of pid/args files during test;
update of the slapd and slapd.conf man pages.
(The change reduces dependency on ldapconfig.h, since SLAPD_PIDEXT
 and SLAPD_ARGSEXT are deleted from the code.)
1999-01-21 15:53:54 +00:00
Kurt Zeilenga
127ec9c46c Fix c_cdn typo. Ouch. 1999-01-21 02:25:09 +00:00
Kurt Zeilenga
09421a74db Add c_protocol to slap_conn to track protocol version used by client.
Is initialized to 0 (unknown) and then set to 2 or 3 on bind.  Should
also be 0->3 if a special (or any) operation occurs before the bind.
1999-01-21 02:21:39 +00:00
Kurt Zeilenga
b3d383bbf5 *** empty log message *** 1999-01-21 01:12:35 +00:00
Kurt Zeilenga
19a17982c6 suffixes need to be stored in normalized uppercase format 1999-01-20 05:43:33 +00:00
Kurt Zeilenga
f9b416ea7c ndn & strcasecmp cleanup 1999-01-20 03:05:35 +00:00
Kurt Zeilenga
0503205c93 suffixAlias will return a normalized uppercase DN if input is normalized
and uppercase.  (aliased_dn are stored in normalized uppercase format).
1999-01-19 19:29:11 +00:00
Kurt Zeilenga
0daa8c1f06 Recode suffixAlias to implement simple check to see if part to aliased
is at a DNSEPARATOR.  Moved DNSEPARATOR macro from dn.c to slap.h
1999-01-19 19:26:09 +00:00
Kurt Zeilenga
029069d84a Removed o_suffix and o_suffixalias as they were 1) leaked and 2) unused
(suffixAliasing only maps input dn's, not output dn).
1999-01-19 18:54:19 +00:00
Kurt Zeilenga
3efaabe560 Don't allow suffixAliases were alias and aliased dn our the same. 1999-01-19 18:39:20 +00:00
Kurt Zeilenga
47d0c970d4 use dn_normalize_case(). 1999-01-19 18:25:21 +00:00
Kurt Zeilenga
a837feacc2 uppercase that ndn. 1999-01-19 18:18:53 +00:00
Kurt Zeilenga
48bdf4258c Need to uppercase e_ndn. 1999-01-19 18:17:29 +00:00
Kurt Zeilenga
8c501c28a2 Need to upper case the new_ndn. 1999-01-19 18:16:12 +00:00
Kurt Zeilenga
0e142b42f3 Update support for dn vs ndn. Build new dn from e->e_dn not frontend
provided dn (which is normalized and uppercased).   This preserved
the trailing portion of the dn.
1999-01-19 18:13:30 +00:00
Kurt Zeilenga
e2a15115b0 Update slap_conn to maintain client provided dn and bound dn.
Update slap_op to maintain dn and ndn (derived from conn->c_dn).
Update ldbm_back_bind to return actual bound dn (including rootdn)
	for use in slapd_conn.  Other backends use client dn.
Modify other codes to use ndn (normalized uppercase dn) most everywhere.
Aliasing, Suffixing and modrdn could use more work.
Applied suffixing to compare and modrdn.
1999-01-19 05:10:50 +00:00
Kurt Zeilenga
01a759971e Free that unclobberred dn. 1999-01-18 20:49:07 +00:00
Kurt Zeilenga
802325542b Don't clobber dn. 1999-01-18 20:34:17 +00:00
Kurt Zeilenga
c9242a123f e_ndn = dn_normalize_case( e_dn ) 1999-01-18 20:00:58 +00:00
Kurt Zeilenga
2805b25682 Store rootdn in normalized uppercase format. 1999-01-18 19:47:12 +00:00
Kurt Zeilenga
15fb73a473 ITS#44 fix. denied connections should not be added to connections. 1999-01-18 18:40:12 +00:00
Kurt Zeilenga
8009e591ce Protect return of the locked entry.
Note: we probably can replace the dn2entry_r with dn2id as only the id
is needed unless we're holding the lock for filtercandidates or something
1999-01-18 17:41:12 +00:00
Kurt Zeilenga
818bc57319 Minor cleanup of trace output. 1999-01-18 17:33:36 +00:00
Kurt Zeilenga
77b2e2cb25 Use Entry's e_ndn instead of recomputing it. 1999-01-17 20:12:00 +00:00
Kurt Zeilenga
931a8b1cd8 Add 'should not be world readable' comment. 1999-01-16 01:51:02 +00:00