Commit Graph

354 Commits

Author SHA1 Message Date
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
Kurt Zeilenga
55cd5ee75f Add reference to slapd.conf(5) and recommendation to avoid cleartext passwords. 1999-01-16 01:48:26 +00:00
Bart Hartgers
3a5a86d44c Fixed a small typo... 1999-01-15 19:57:32 +00:00
Kurt Zeilenga
3e3f0b8871 Could have no entry to return... check entry pointer before trying to
return cache entry.
1999-01-15 18:04:52 +00:00
Kurt Zeilenga
163bac5f04 Install slapd.conf with mode of 600. 1999-01-15 02:48:00 +00:00
Kurt Zeilenga
b7beec1663 Initial version of the experimental 'back-perl'
John's still working on the 'perl-test' (the perl backend test module).
1999-01-14 06:33:09 +00:00
Kurt Zeilenga
28a671d10d Revamp build system yet again to move all external libraries to
end of link.    Basic order is:
	$LDFLAGS internal-libs external-libs $LIBS $LTHREAD_LIBS

LTHREAD_LIBS is last as -lpthread (or equiv) must be last on many systems.
LIBS is next to last as some user might have put -lpthread (or equiv)
in $LIBS.
1999-01-14 01:31:43 +00:00
Kurt Zeilenga
b39fdc0bcd Add normalized dn to Entry structure as field e_ndn. Entry
creation codes to provide this field.  Update cache_entrydn_cmp
to strcasecmp() the e_ndn instead of e_dn.  Note: strcasecmp()
is still used as e_ndn isn't in uppercase.  Maybe it should
be.  Did not update other codes to use e_ndn.  Hence, there
are lots of dn_normalize() calls that could be eliminated.
(The case determination of e_ndn should be made first).
1999-01-13 01:17:22 +00:00
Kurt Zeilenga
6f88096e72 Report status of failed pthread_create() 1999-01-12 23:57:21 +00:00
Kurt Zeilenga
6bd6a7cf27 Report exit status of pthread_create() 1999-01-12 23:52:50 +00:00
Kurt Zeilenga
318531a437 Use pthread_detach() to detach connection threads instead of
creating them detached.  This hopefully will reduce problems on
draft4 pthread implementations related to creating detached
threads (which is _np under draft4) on some platforms without
causing problems with other thread implementations.
1999-01-11 19:04:34 +00:00
Kurt Zeilenga
82b94e2258 Change SLAPD shutdown to do a cond wait on active threads instead
of a busy wait and allow the pthread_yield within the loop to be
removed.  This was the only pthread_yield which was necessary
when usng non-preemptive threads.  As such, the configure.in
sched_yield/pthread_yield missing error can be removed from
configure.in.  If explicit yield function is missing, just provide
a no-op replacement.
Moved declaration of various slapd globals from main.c to init.c
so they can be shared with ldbm tools.
1999-01-11 18:36:40 +00:00
Kurt Zeilenga
334768c1bb Update build environment to fix VPATH support.
make depend, make tests, and make install all work when build directory
  is not the $srcdir.
Also modified library handling such that -lpthread more likely to be last.
WARNING: new orderring requires use of LDFLAGS to set global loader options
  such as -L/usr/local/lib.  If you put this in LIBS, some libraries
  may not be found a link time.
Likely broke Kerberos/LDAPD support.  Don't have those in my testbed.
1999-01-10 02:25:41 +00:00
Kurt Zeilenga
d0516836b5 rename 'struct op' to 'struct slap_op'
rename 'struct conn' to 'struct slap_conn'
rename op_function to slap_op_func for functions add/delete/free
This change is need to avoid clashing with perl internals.
1999-01-10 02:16:48 +00:00
Kurt Zeilenga
e05e9dd955 Cleanup slapd search op deallocation. 1999-01-08 21:48:09 +00:00
Kurt Zeilenga
1d7704b28e Fix tmp file removal. 1999-01-08 19:51:15 +00:00
Kurt Zeilenga
de8c07c62c Updated SLAPD args/pid file codes to use DEFAULT_RUNDIR and DEFAULT_DIRSEP.
Removed old defines.
1999-01-07 18:16:40 +00:00
Kurt Zeilenga
033bba4ed4 Fix --disable-slurpd. 1999-01-07 17:29:39 +00:00
Kurt Zeilenga
dd351c3a17 Apply fix suggested by Ben Collins <bmc@visi.net>
pass STRING_UNKNOWN if !client_name
	pass STRING_UNKNOWN if !client_addr
1999-01-07 05:47:25 +00:00
Kurt Zeilenga
b815f61e0d Wrap db2 mutex with -DHAVE_BERKELEY_DB2 (should be hidden in -lldbm) ITS#35
Unwrap ldbm_datum_init()
1999-01-07 03:28:08 +00:00
Kurt Zeilenga
0f76c52448 Modify Add/Delete/Modrdn operations to require write perms on
parent's "children" attribute.  Write lock parent to prevent
multiple clients making conflicting operations concurrently.
If parent doesn't exist (ie: is backend root), acquire a writer
lock (a simple mutex) on the "root."
Use -DSLAPD_CHILD_MODIFICATION_WITH_ENTRY_ACL to use the child's
"entry" acl for modrdn/delete operations.
1999-01-07 02:51:08 +00:00
Kurt Zeilenga
ed33462bdf Use MAXARGS... we should actually check for limits.h's ARG_MAX and
use this everywhere... but that's for another day.
1999-01-06 20:27:27 +00:00
Kurt Spanier
9c6d384b9a - Make install creates $(RUNDIR)/var for pid and args files of slapd.
- slapd's pid/args file names are based on the servers binary file names,
  providing for multiple servers beeing run on one host.
- slapd supports the -l command line parameter for selection of a
  syslog LOCAL user (-lLOCAL0 .. -lLOCAL7)
- db_appinit() is called during first ldbm_open() in DB 2.x to initialize
  DB debugging features (good to find bugs in the DB code :-)
- a patch for a non-initialized variable in DB's 2.x db_open is provided.
1999-01-05 15:40:58 +00:00
Kurt Zeilenga
c97837277a entry pointer 'p' must be initialized. Should fix ITS#31. 1999-01-03 22:55:43 +00:00
Kurt Zeilenga
ad8a5146a6 Wrap strtok use with mutex. 1999-01-01 20:43:29 +00:00
Kurt Zeilenga
a5e6fa0d1c Wrap strtok use with mutex. 1999-01-01 20:22:56 +00:00
Kurt Zeilenga
22e3ddaad4 I thought the bdn was normalized already... guess not. 1998-12-30 05:21:40 +00:00
Kurt Zeilenga
64cd7d3346 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.
1998-12-30 03:35:23 +00:00
Kurt Zeilenga
595bf86635 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.
1998-12-30 00:06:27 +00:00
Kurt Zeilenga
25f2f9dd70 Use charray_free to free alist charray 1998-12-29 23:23:21 +00:00
Kurt Zeilenga
695508813d 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.
1998-12-29 21:45:08 +00:00
Kurt Spanier
bfb27120be 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().
1998-12-29 17:28:45 +00:00
Kurt Zeilenga
cfa450d078 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).
1998-12-28 23:43:04 +00:00
Kurt Zeilenga
ecc44e2292 matched needs to be initialized to NULL as we may never
make it to dn2entry_r().
1998-12-28 16:41:39 +00:00
Kurt Zeilenga
dacc0bfc7d Improve readability of base output in debugging.
Also, output UNKNOWN_PREFIX ('?') instead of writing a nul character
when the attribute prefix is unknown.
1998-12-28 00:44:15 +00:00
Kurt Zeilenga
97f10a99cc Plug 'matched' memory leak in dn2entry() 1998-12-28 00:39:50 +00:00
Kurt Zeilenga
bf5ecff613 Plug addtional realBase memory leaks. 1998-12-27 23:23:09 +00:00
Kurt Zeilenga
fc9e20763f Only use the LDAP_ALLOW_NULL_SEARCH_BASE code as last resort. Moved
to after other suffix checks.
1998-12-27 20:57:30 +00:00
Hallvard Furuseth
19742f2e93 Remove duplicate definitions of global_schemacheck and global_oc 1998-12-27 08:59:38 +00:00
Hallvard Furuseth
d59de0c50f Plug some memory leak 1998-12-27 04:19:57 +00:00
Hallvard Furuseth
4bb4499175 Plug some memory leaks 1998-12-27 03:55:57 +00:00
Hallvard Furuseth
0aafb7267a Plug memory leak 1998-12-27 03:11:13 +00:00
Hallvard Furuseth
c3a692787c Change overlapping strcpy( x, y )' to SAFEMEMCPY( x, y, strlen( y ) + 1 )' 1998-12-27 02:00:08 +00:00
Hallvard Furuseth
c89fab6acc Reset *modtail after freeing it, so it's not freed again 1998-12-26 09:55:09 +00:00
Kurt Zeilenga
9da13f321c 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...
1998-12-24 01:16:22 +00:00
Kurt Zeilenga
487aa911f0 Add rc=0 fix as suggested by Tobias Reber <t.reber@dkfz-heidelberg.de>
in ITS#17.
1998-12-22 17:04:34 +00:00
Kurt Zeilenga
4854edc6fa Add <ac/signal.h> back in to ease pain on some platforms. 1998-12-22 01:34:31 +00:00
Kurt Zeilenga
a3ac3be6a7 Added lber_get/set_option. Removed lber_debug/ldap_debug.
Updated other codes as needed.
1998-12-22 01:34:01 +00:00
Kurt Zeilenga
2ffb9ae30d 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.
1998-12-21 17:45:47 +00:00
Kurt Zeilenga
2d15a94d16 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
1998-12-21 00:21:58 +00:00
Kurt Zeilenga
5c6ad6c5b1 ldif'ize ldif library (ie: everything is now in the ldif_ namespace) 1998-12-20 22:28:33 +00:00
Kurt Zeilenga
362d6cbf2a Add configure code for setting LDAP_SYSLOG but actually use hardcoded
LDAP_SYSLOG in slap.h/slurp.h.
1998-12-20 21:56:44 +00:00
Kurt Zeilenga
c7d5811b78 more cleanup 1998-12-20 19:57:44 +00:00
Kurt Zeilenga
6fd2aa4e84 Clean up after last commit. 1998-12-20 19:49:22 +00:00
Kurt Zeilenga
3e390a8074 Unexpand spaces for tabs in prior commit before merging to rel_eng_1_1. 1998-12-20 19:31:21 +00:00
Kurt Zeilenga
b5973eba5d 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.
1998-12-20 18:16:03 +00:00
Kurt Zeilenga
4123a08af5 Fix server --without-xxx build issues... 1998-12-20 00:55:39 +00:00
Kurt Zeilenga
b5e50eff5e Disable writing syncing when creating databases. 1998-12-18 22:21:16 +00:00
Kurt Zeilenga
5d2accea50 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.
1998-12-18 18:06:30 +00:00
Kurt Spanier
9e97da14fb Initialization of Datum structures to zero by memset() before first use.
If Berkeley DB version 2.x is used as a slapd back-end a not-initialized
Datum structure will raise an EINVAL error in (DB)->put().
1998-12-18 12:28:47 +00:00
Kurt Zeilenga
9df2f4f424 The result set of an EQUALITY search on a SYNTAX_BIN attribute may have been
incorrect because value_cmp() in value.c compares two attributes by
comparing the leading bytes of the two values (candidate and filter) up to
the smaller of the two lengths of the binary values. If the lengths of two
SYNTAX_BIN values differ, like SYNTAX_CES and SYNTAX_CIS, the EQUALITY
comparison should fail.

It also appears that value_ncmp() in value.c has no references anywhere in
the openLDAP source tree, save for a definition in proto-slap.h. The
following fix the bug and remove the dead code:

From: "MCGARRAHAN, KENNETH L" <km4155@momail.sbc.com>
1998-12-14 04:25:55 +00:00
Kurt Zeilenga
6c2949ed86 Change cache.c assert logic based on Hallvard's suggestion.
"Check that the entry has no writers before removing it from the
  cache" sounds more sensible to me than "check that it *has* writers"
  before removing it.
I've also changed the default cachesize for tests to 4.  This
should help discover such problems.
1998-12-10 19:20:15 +00:00
Kurt Zeilenga
08134c9e16 printf("\tby") belongs on stderr. 1998-12-04 19:29:17 +00:00
Kurt Zeilenga
339c23549b Plug a leak reported by Jorg Pietschmann <pietsch@swissline.ch>
Still leaks ber_scanf results here and there...
1998-12-04 02:20:39 +00:00
Kurt Zeilenga
e699a9f871 Change the default installation to use a domain component (dc) style base dn. 1998-12-03 04:52:46 +00:00
Kurt Zeilenga
c1cef27bda Update slapd to use lutil_passwd() for both user and root passwords.
Remove MD5 and SHA1 options (both are now always on).  Rename
functions to be lutil_ instead of ldap_.
Create --enable-cleartext option.  Default is currently 'on'.
1998-12-01 03:36:37 +00:00
Kurt Zeilenga
8a884d1b9c Add ldif2ldbm bugfix from Randy Kunkee <kunkee@pluto.ops.NeoSoft.com> 1998-11-30 22:26:11 +00:00
Kurt Zeilenga
daaf487bdd We shouldn't detach a thread that we want to join with... 1998-11-30 20:37:48 +00:00
Kurt Zeilenga
c0366d3c3b Even more LDAP_PORT depends. 1998-11-30 04:06:59 +00:00
Kurt Zeilenga
40cb8d54c8 More LDAP_PORT depends. 1998-11-30 04:04:00 +00:00
Kurt Zeilenga
edd464ee8f Update build environment:
default sysconfdir subdirectory is openldap instead of ldap.
    This removes conflicts with other ldap subsystems.  Should
    be configure option.
  *.conf files are now preserved.  A *.conf.default are always
    created with the latest conf.
  *.help and ldapfriendly are now placed in $(datadir)/$(ldap_subdir)
  updated man pages to reflect changes.
1998-11-29 19:48:28 +00:00
Kurt Zeilenga
e2ee741ea8 Replace strdup() with ch_strdup() such that exit() will be called
if strdup fails.  This is better than not checking, but we should
add orderly shutdown.
1998-11-27 20:21:54 +00:00
Kurt Zeilenga
9b09d42a1d Apply preliminary patch provided by Hallvard.
This still needs significant review!
1998-11-27 20:02:55 +00:00
Kurt Zeilenga
30cefc46de Add KRB_LIBS to makefiles. 1998-11-25 23:49:12 +00:00
Kurt Zeilenga
4e9f9af375 Add a couple minor safety checks. 1998-11-25 23:45:57 +00:00
Kurt Zeilenga
58f36940c5 string_expand used hardcoded size instead of bufsiz argument.
pointed out by Jorg Pietschmann <pietsch@swissline.ch>.
1998-11-24 02:29:53 +00:00
Kurt Zeilenga
b2ec7af331 Changed dn2entry to always returned a modified matched.
Modified users of this code to free matched if set.
1998-11-23 20:08:25 +00:00
Kurt Zeilenga
90debec329 plug newDN memory leak using Will Ballantyne's patch 1998-11-23 19:57:00 +00:00
Kurt Zeilenga
a8efbbeef4 Should include <ac/unistd.h> instead of <unistd.h> 1998-11-23 06:04:18 +00:00
Hallvard Furuseth
cb8b23efb2 Plug memory leaks 1998-11-23 04:35:26 +00:00
Hallvard Furuseth
17fe0f59f8 gcc -Wformat cleanup 1998-11-23 04:33:53 +00:00
Kurt Zeilenga
04d91569e1 Replaced PREEMPTIVE_THREADS with HAVE_YIELDING_SELECT to clarify
the exact nature of the functionality being tested.  -DNO_THREADS
does NOT have a yield select, hence the macro is not defined.
The slapd/daemon code has been changed to test both no threads
and yielding select before using a timeout of NULL.
1998-11-22 20:08:14 +00:00
Hallvard Furuseth
aa9229c454 be& was passed uninitialized to read_config() 1998-11-22 09:33:30 +00:00
Kurt Zeilenga
475fd6dc45 "make veryclean" now lives up to its name. 1998-11-22 06:24:59 +00:00
Kurt Zeilenga
6f92e197dc Add libtool support based upon patch by Bart Hartgers <Hartgers@kfm1.phys.tue.nl>
Updated to use libtool 1.2 (with FreeBSD3.0 a.out v. elf detection).
  Updated autoconf to 1.12 with sed patch (don't use stock 1.12).
  aclocal.m4 is built using automake's aclocal, v1.3.
  Updated mkdep to support libtool .lo files.
Updated automake provided macros for TERMIOS, STRTOD, MKTIME, PTRDIFF_T
Autoconf now checks to ensure C compiler supports ANSI C prototypes.
Updated make files templates.
1998-11-22 04:22:28 +00:00
Hallvard Furuseth
aec88f98bd Don't use perror after ldbm_store() failure; errno is not set then. 1998-11-20 12:15:05 +00:00
Hallvard Furuseth
e80e9c8342 The tsleep() versions had different return types 1998-11-20 11:46:59 +00:00
Kurt Zeilenga
2d876eb74e Update comments associated with SIGUSRx -> LDAP_SIGUSRx change. 1998-11-19 01:18:24 +00:00
Kurt Zeilenga
bbdac6ebca debug messages incorrectly said "add" instead of "remove". 1998-11-18 20:27:21 +00:00
Kurt Zeilenga
e622bc85f8 free parent's reader lock. Thanks Gary! 1998-11-18 20:20:54 +00:00
Kurt Zeilenga
3111cfa3bd Update LinuxThread signal handling. Hide #ifdef hell in ac/signal.h. 1998-11-18 17:45:32 +00:00
Kurt Zeilenga
b5494457d8 Remove extern declarations of library functions from source.c.
This could cause problems on odd systems.  The generic
  headers should be extended as needed to include necessary
  system headers or, if necessary, make explicit declarations.
Extended ac/string.h header to look for string.h/strings.h if
  STDC_HEADERS is not defined.  Also provide basic declarations for
  str*() functions.  This could cause problems on odd systems.
Extended ac/unistd.h header to define basic declaration for misc
  functions that might be missing from headers.   This includes
  externs for getenv(), getopt(), mktemp(), tempname().
Protect fax500.h from multiple inclusion.  Moved includes of
  system/generic headers back to source files.
Made mail500 helper functions static.
Fixed includes of ctype.h, signal.h, etc. to use generics.
lutil/tempname.c: was including stdlib.h twice, one should stdio.h.
Wrapped <sys/resource.h> with HAVE_SYS_RESOURCE_H.
lber/io.c/ber_get_next(): Changed noctets back to signed.
  Used with BerRead which expects signed int as second arg and
  returns signed int.
1998-11-16 05:07:27 +00:00
Hallvard Furuseth
7e6ad5100c Protoized, moved extern definitions to .h files, fixed related bugs.
Most function and variable definitions are now preceded by its extern
definition, for error checking.  Retyped a number of functions, usually
to return void.  Fixed a number of printf format errors.

API changes (in ldap/include):
  Added avl_dup_ok, avl_prefixapply, removed ber_fatten (probably typo
  for ber_flatten), retyped ldap_sort_strcasecmp, grew lutil.h.

A number of `extern' declarations are left (some added by protoize), to
be cleaned away later.  Mostly strdup(), strcasecmp(), mktemp(), optind,
optarg, errno.
1998-11-15 22:40:11 +00:00
Kurt Zeilenga
1c91859e9b Remove #ifdef sunos in lthread HAVE_LWP code. 1998-11-15 22:05:28 +00:00
Kurt Zeilenga
c32792b489 Include ldif.h to pickup declaration of str_getline()
Fix pointer truncation to int by including prototypes in forward declarations.
1998-11-12 20:17:01 +00:00
Kurt Zeilenga
f1fde41ff8 remove an entry from its parent's children ID list when it's deleted.
Provided by "Gary D. Williams" <sasgwi@unx.sas.com>
1998-11-12 18:39:33 +00:00
Hallvard Furuseth
523fd2c891 Fix most `wider type truncated to int' bugs on OSF1 due to implicit decls:
#include <stdlib.h>    to get malloc & co various places,
 #include <ac/string.h> to get strlen & co in (liblutil/setproctitle.c),
 declare ch_malloc & co (slurp.h), avl_find_lin (avl.h), Malloc (ud/edit.c).
Also changed ch_malloc & co from char* to void* functions.
1998-11-11 23:37:38 +00:00
Hallvard Furuseth
f0688d71a1 Locks were not always released, in particular if something went wrong.
Fixed in slurpd and the slapd main dir.  Slapd clients were not examined.
It also "felt right" to swap the order of closing dfp and rfp in slurpd
copy_replog(), so the last acquired lock is unlocked first.
1998-11-11 19:17:25 +00:00
Hallvard Furuseth
f165bb2b96 strlen() needed string.h. 1998-11-11 16:35:58 +00:00
Hallvard Furuseth
fc03c3f07a Fix HAVE_PTHREAD_D4 -> HAVE_PTHREADS_D4 1998-11-11 15:53:04 +00:00
Kurt Zeilenga
e03d88fcc4 Don't include portable.h. Headers can and should assume portable.h
has been included.
1998-11-11 01:38:02 +00:00
Kurt Zeilenga
376e1e02ff Update configure to handle DEC OSF1 3.2 special cases.
-thread & -pthread are still treated as libraries, will need
additional work to use them as CFLAGS.
Eliminated HAVE_DCE define (was redundant) and its use.  Code
now relies on draft4 and function existance tests.
1998-11-11 00:24:22 +00:00
Kurt Zeilenga
1fc810bfe5 Added support for ldap.conf file. See ldap.conf(5) for details.
Modified clients to reduce use of ldapconfig.h.edit.
ldap_{get,set}_option support is relatively complete.  Needs
to be extended to support other "features" of OpenLDAP.
1998-11-10 23:37:30 +00:00
Hallvard Furuseth
8761bbb6e9 ber_scanf() returns unsigned long, not int 1998-11-08 02:56:47 +00:00
Kurt Zeilenga
21cb9a1c5d Fix LDBM_SYNC typo 1998-11-07 17:14:35 +00:00