Commit Graph

451 Commits

Author SHA1 Message Date
Hallvard Furuseth
9ebd9a0289 Add -U and -G options to set user and group id.
Move socket setup to set_socket(), called before the uid/gid change.
1999-04-03 03:19:07 +00:00
Kurt Zeilenga
e46877f89f cache: implement try_again loop if cache entry is not ready.
id2entry: when an error occurs attempting to insert fetched
entry into cache, check to see if entry was added by another
thread.  If so, return the entry added by the other thread.
The concurrency tests now run without the dreaded "no such object"
error messages!
1999-04-02 19:09:59 +00:00
Gary Williams
7d0ba58072 update project settings 1999-04-02 15:36:29 +00:00
Hallvard Furuseth
1e836c56bc Factor }' out of #if/...}/#else...}/#endif, so Emacs can match {' against `}' 1999-04-02 09:11:26 +00:00
Hallvard Furuseth
7fcc258d28 Fix the fix to the wait4child fix - forgot an #else 1999-04-02 08:30:02 +00:00
Hallvard Furuseth
7d8e7085e3 Trying again:
Fix wait4child change: Prefer wait3 over wait. Use SIGNAL instead of signal.
1999-04-02 04:12:18 +00:00
Hallvard Furuseth
815a62930c UNDO LAST COMMIT. 1999-04-02 03:45:33 +00:00
Hallvard Furuseth
45118be88e Fix wait4child change: Prefer wait3 over wait. Use SIGNAL instead of signal. 1999-04-02 03:23:20 +00:00
Hallvard Furuseth
d93ecb703a Update getopt() string and usage() 1999-04-01 22:31:24 +00:00
Hallvard Furuseth
d5938af750 Enclose `DB_ENV li_db_env' declaration in #ifdef HAVE_BERKELEY_DB2 1999-04-01 22:18:09 +00:00
Gary Williams
604f34817a add client tools 1999-04-01 21:46:01 +00:00
Kurt Zeilenga
dda1fb4ba0 Updates for NT4 (MSVC5++).
Removed external include/library paths from projects.  External paths should
be set via Tools | Options | Directories.  This allows each developer the
freedom to install external libraries where they desire.
Used libdb.lib instead of libdbs.lib to avoid thread conflicts.
Added hs_regex.lib to library input.  We require some form of regex, this
library works (and is relatively easy for the user to install).
Removed a little lint which MCVC5 detected.
Need to sort out single-threaded vs multithreaded library generation.
1999-04-01 20:26:09 +00:00
Gary Williams
1b79f745fe enable debug output for NT 1999-04-01 16:39:36 +00:00
Gary Williams
e5635b2662 NT port 1999-04-01 16:32:11 +00:00
Gary Williams
e6b47355f9 NT port 1999-04-01 14:50:34 +00:00
Kurt Spanier
1c7ebc514f Some minor clean-up; checking bdb2 for sync with ldbm. 1999-04-01 09:58:36 +00:00
Juan Gomez
3b4fdbfeb3 Added full v2 and v3 support for MODRDN/MODDN. 1999-03-31 02:53:27 +00:00
Juan Gomez
3eaae95aa1 Back with previous change, use ac/time.h include instead. 1999-03-31 01:28:42 +00:00
Juan Gomez
bbff96dd90 Do include of sys/time.h to define struct timeval used in back-bdb2/add.c
and back-bdb2/compare.c.
1999-03-31 01:15:51 +00:00
Kurt Zeilenga
058aad0312 Fix SLAPD_CONFIG_DN e_ndn bug. 1999-03-30 18:50:41 +00:00
Kurt Spanier
80400aba52 Fix ldbmcat crash problem: first use the key before deleting it! 1999-03-29 16:01:59 +00:00
Kurt Zeilenga
b9109a9f20 add wait macros. add LDAP_SIGCHLD. and other misc NT cleanups. 1999-03-29 09:04:35 +00:00
Kurt Zeilenga
db721ca821 Add ioctl_t for arg type (Unix requires 'int', Winsock requires 'u_long'). 1999-03-29 05:28:29 +00:00
Kurt Zeilenga
ff23537bcb Rework ac/socket.h for HAVE_WINSOCK:
tcp_close -> closesocket
  ioctl -> ioctlsocket
Modify codes to use tcp_close() instead of close() for sockets.
Modify ioctl codes to be compatible with WINSOCK.
1999-03-29 05:15:59 +00:00
Kurt Zeilenga
30665cb19a Misc header cleanup 1999-03-29 02:07:18 +00:00
Kurt Zeilenga
598b7473fe All implementations of lutil_lockf (aka ldap_lockf) block until
the lock is acquired.  Add comments to that effect.  Remove
unnecessary busy loops from slapd/lock.c and slurpd/lock.c.
1999-03-28 22:43:43 +00:00
Kurt Zeilenga
7adc0a65d0 Update lutil_lockf (aka: ldap_lockf) to hide implementation in
library, not header.  Eliminate need for <ac/unistd.h> to sometimes
include <fcntl.h> and/or <sys/file.h>.  Change lock API to expect
fd not FILE*.  Allows wider use and eliminates requirement that
lutil_lockf.h depencency on stdio.h.
Implemented lockf, fcntl, and flock locking in lutil/lockf.c.
Additional implementations (including no-op) may be needed.
Update slapd/lock.c and slurpd/lock.c to use new API.
1999-03-28 21:39:02 +00:00
Hallvard Furuseth
3f6dc76a59 Avoid integer truncation of v1->bv_len - v2->bv_len in value_cmp(,,SYNTAX_BIN,) 1999-03-28 01:40:54 +00:00
Hallvard Furuseth
4459780fb3 Add wait4child() 1999-03-27 16:21:44 +00:00
Will Ballantyne
918b9f8d86 argh, somehow bdb2 version overwritten by ldbm version. Fixed. 1999-03-26 16:34:47 +00:00
Will Ballantyne
4fbc5ed92c check for NULL newDN prior to final deref check 1999-03-26 05:36:26 +00:00
Kurt Zeilenga
668c8da980 Reenable counters. 1999-03-26 02:51:33 +00:00
Juan Gomez
90ebcb8bd9 Added support for newSuperior. 1999-03-24 21:45:15 +00:00
Juan Gomez
dccfdb97e9 Added a new function: build_new_dn(), which builds new dn for entries
being renamed through modrdn/moddn. This in preparation to add support
for MODDN v3.
1999-03-24 20:26:43 +00:00
Kurt Zeilenga
f3774d6ea3 Fix unlock bug in connection_read/write. Fix connection_read() to
ignore input when connection is closing.
1999-03-23 01:57:48 +00:00
Kurt Zeilenga
f1e15ddfa2 Improved "closing" handling. Remove fd from read set when state
changes to closing.  Need to add protection against read set races.
1999-03-23 00:38:57 +00:00
Kurt Zeilenga
6553a1fc77 Fix c_mutex typo. 1999-03-22 19:46:44 +00:00
Kurt Zeilenga
f8b9b03d53 Add trace to connection_get() to aid debugging. 1999-03-22 19:39:54 +00:00
Kurt Zeilenga
4b65e74fa8 slap_set_time() is no longer necessary. 1999-03-22 19:16:22 +00:00
Kurt Zeilenga
c9eacbdc64 Round 2 of connection management changes.
Mainly updated back-bdb2, back-passwd, back-shell to use slap_get_time().
1999-03-22 07:38:27 +00:00
Kurt Zeilenga
8f02beada9 PROTOTYPE: New connection management infrastructure designed to
remove race conditions on connection close.
BROKEN: various counters for dn=monitor.
Initial testing on FreeBSD (with and without pthreads) was successfull.
Have not yet tested preemptive threading environments.
Have not built against backends other than LDBM.
1999-03-22 07:14:54 +00:00
Kurt Zeilenga
f999e1350d Provide global assert solution. <ac/assert.h> (new) is now included
by portable.h with NDEBUG undefined.  This makes assert() is always
available and automatically disables itself when LDAP_DEBUG is undefined.
I've included a basic assert() for pre-STDC compilers.  It relies on
abort() which may not actually be available.  (well replace abort()
with whatever is appropriate if and when we're faced with a pre-STDC
compiler that doesn't have assert()).
1999-03-20 03:13:24 +00:00
Kurt Zeilenga
ab64c237f7 Use calloc properly... could result in too few bytes being allocated.
calloc(1, nelem*size) -> calloc(nelem, size)
1999-03-20 01:25:11 +00:00
Julio Sánchez Fernández
94b8e0830e slapd.conf and friends were being modified during the install step 1999-03-18 20:36:42 +00:00
Kurt Zeilenga
5a4babde00 Add DEFAULT_EDITOR to ldapconfig.h. Used by ldbmtest and ud. 1999-03-17 22:34:17 +00:00
Kurt Zeilenga
1676d61130 Use HAVE_PW_GECOS when needed. 1999-03-17 22:27:46 +00:00
Kurt Zeilenga
3550bc48c0 Add slapd -a address support. Allows you to bind to a specific
address.  Useful for running multiple servers in a virtual hosting
environment.
Modified test001-ldif2ldbm to verify this functionality.  Assumes
localhost is 127.0.0.1.
1999-03-17 03:56:25 +00:00
Kurt Zeilenga
4f60044d29 First cut at bind race fix. Passes our test suite at least. 1999-03-16 23:33:30 +00:00
Kurt Zeilenga
cc38cf6534 Cast pointer to strcasecmp to AVL_CMP. 1999-03-16 21:55:00 +00:00
Kurt Zeilenga
fa81f43f04 Initial check of connection states. Have only implemented
SLAP_C_ACTIVE vs SLAP_C_INACTIVE.  Need to implement BINDING and CLOSING.
Added fields tracking pending (on bind) ops.  Could also be used to
implement per-connection thread limits.
1999-03-16 02:59:59 +00:00
Ben Collins
0924180fa8 Used new ldap_(un)lockf() functions 1999-03-13 20:34:27 +00:00
Ben Collins
6023a2fe42 #ifdef for <sys/file.h> 1999-03-13 01:07:15 +00:00
Juan Gomez
f8a0a67e5f Fixed a bug related to the deallocation of memory for new_dn and new_ndn,
They must not be deallocated since they are used by the cache entry.
1999-03-10 22:17:54 +00:00
Hallvard Furuseth
b6d85256e7 "const"ify some static arrays, and related parameters/variables 1999-03-09 08:40:36 +00:00
Juan Gomez
c2a0632e63 Added support for deleteoldrdn. 1999-03-09 08:07:57 +00:00
Hallvard Furuseth
5ef648a109 Silence warnings: Remove unused variables. Enclose some initializers in in {}. 1999-03-09 07:15:35 +00:00
Hallvard Furuseth
ead12e1cda include lutil.h to get lutil_passwd() 1999-03-09 06:59:33 +00:00
Hallvard Furuseth
d3aa0e7129 Bugfix: Missing parens in `status = ldap_pvt_thread_create(...) != 0' 1999-03-09 06:27:36 +00:00
Juan Gomez
b9f9b8805a Fixed type by changing rdn_type to new_rdn_type. 1999-03-09 00:42:57 +00:00
Kurt Zeilenga
0b9c3953f2 Add dcobject & uidobject auxilary object classes. Useful for
using dc naming components with structural object classes that
don't allow a 'dc' attribute.
1999-03-08 22:19:48 +00:00
Juan Gomez
23b3217b66 Added software to add the new rdn as an attribute to the entry.
(First step towards full LDAPv2 support).
1999-03-07 09:31:54 +00:00
Juan Gomez
845bf15d89 Fixed typo in
conn->c_protocol == LDAP_VERSION3;
1999-03-07 09:18:25 +00:00
Hallvard Furuseth
3277a27b10 Remove unused variables 1999-03-06 16:29:05 +00:00
Hallvard Furuseth
984bdfa605 Remove unused variables 1999-03-06 06:33:34 +00:00
Kurt Zeilenga
588a458d78 MSVC5 cleanup...
lber: ifdef'ed out lber_..set_nonblock() function because it used ioctl's.
  If it remains, it needs to be written to support various methods for
  setting non-blocking.  ioctls should probably be last choice.  configure
  could detect existance of fcntl(), ioctl(), etc.
bdb2:
  added .dsp/.dsw files and did some basic cleanup (still needs work).
1999-03-06 00:57:25 +00:00
Juan Gomez
654f21b237 Implemented newSuperior handling. 1999-03-05 19:14:23 +00:00
Kurt Spanier
6da27229d9 1. Fix of ldbmcat segmentation fault bug (ITS#85 and #81).
2. Make ldbm_Env a failure-safe entity.
1999-03-05 11:24:42 +00:00
Kurt Spanier
3f76ee7a0b Make dbEnv a private toy of back-bdb2. 1999-03-05 10:25:55 +00:00
Juan Gomez
3ba99a75ef Added parameter newSuperior in preparation to support
LDAP v3 MODDN request.
1999-03-05 03:38:12 +00:00
Juan Gomez
07a5f765bb Added parsing of newSuperior field for requests that
carry it. This in preparation to support LDAP v3 MODDN
request.
1999-03-05 03:37:49 +00:00
Juan Gomez
9fc5e8a409 Rename
int add_values LDAP_P(( Entry *e, LDAPMod *mod, char *dn ));
int delete_values LDAP_P(( Entry *e, LDAPMod *mod, char *dn ));
int replace_values LDAP_P(( Entry *e, LDAPMod *mod, char *dn ));
to
int bdb2i_add_values LDAP_P(( Entry *e, LDAPMod *mod, char *dn ));
int bdb2i_delete_values LDAP_P(( Entry *e, LDAPMod *mod, char *dn ));
int bdb2i_replace_values LDAP_P(( Entry *e, LDAPMod *mod, char *dn ));
So that ldbm and db2 backends can coexist.
1999-03-05 01:33:32 +00:00
Juan Gomez
b41a79fe16 Renamed
int add_values LDAP_P(( Entry *e, LDAPMod *mod, char *dn ));
int delete_values LDAP_P(( Entry *e, LDAPMod *mod, char *dn ));
int replace_values LDAP_P(( Entry *e, LDAPMod *mod, char *dn ));
to
int bdb2i_add_values LDAP_P(( Entry *e, LDAPMod *mod, char *dn ));
int bdb2i_delete_values LDAP_P(( Entry *e, LDAPMod *mod, char *dn ));
int bdb2i_replace_values LDAP_P(( Entry *e, LDAPMod *mod, char *dn ));
So that ldbm and db2 backend can coexist
1999-03-05 01:28:38 +00:00
Hallvard Furuseth
47093d0617 Protoize cnvt_str2int() 1999-03-04 13:51:14 +00:00
Hallvard Furuseth
94c6048f2f Print entry ID with format %ld, not %d 1999-03-04 13:18:49 +00:00
Hallvard Furuseth
536aab01e4 Print tag with format %lu, not %d 1999-03-04 13:17:28 +00:00
Hallvard Furuseth
6f8c9a7890 Use HAVE_STDARG to choose between stdarg and varargs version of debug_printf. 1999-03-04 12:58:56 +00:00
Juan Gomez
34861cd15b Added prototypes for rdn_attr_type() and rdn_attr_value(), which are
utility functions added to support the modrdn v3 implementation.
These parse and rdn of the form "attribute_type = attribute_value"
returning "attribute_type" and "attribute_value" respectively.
1999-03-04 00:35:45 +00:00
Juan Gomez
943cfaf41a Added get_next_substring(), rdn_attr_type(), and rdn_attr_value() which
are needed in the implementation of modrdn v3.
1999-03-04 00:31:19 +00:00
Juan Gomez
68a413a601 Made add_values(), delete_values(), and replace_values() so they can be
used in implementing modrdn v3.
1999-03-03 22:55:28 +00:00
Juan Gomez
ddf04f5900 Made add_values(), delete_values(), and replace_values() so they can be
used in implementing modrdn v3.
1999-03-03 22:00:16 +00:00
Juan Gomez
98c2a61313 Made add_values(), delete_values(), replace_values() so they can be used
for implementing modrdn v3.
1999-03-03 21:58:51 +00:00
Hallvard Furuseth
3250aef49c function pointers are incompatible with `void *'; remove NULL or replace with 0 1999-03-03 18:49:59 +00:00
Hallvard Furuseth
69a93a0582 function pointers are incompatible with `void *'; remove NULL or replace with 0 1999-03-03 17:02:10 +00:00
Kurt Zeilenga
aa38035780 Add protect against new connection descriptor being to large for
our connection table.
1999-03-02 21:06:42 +00:00
Kurt Zeilenga
fdc44bf313 Apply ldbm bind() change to bdb2 code. 1999-03-02 20:42:29 +00:00
Bart Hartgers
8153a4039b The new&improved Sockbuf. This adds the infrastructure on which
support for TLS and SASL will be build.

Please inform me of any problems.
1999-03-02 20:23:14 +00:00
Bart Hartgers
e0fdd89432 Annoying little son of a `free' BUG fixed. 1999-03-02 20:14:11 +00:00
Kurt Zeilenga
4e160e83b6 Replace IFP() with appropriate full prototypes:
AVL_CMP, AVL_DUP, AVL_FREE, AVL_APPLY.
Apply casts as needed.
Change data pointer from caddr_t to void *.
1999-03-02 00:32:59 +00:00
Kurt Zeilenga
a8a05cbe48 Update NT port with support for -lldap_r and -lldbm.
Also add initial slapd .dsw/.dsp files.  Still needs work (mainly syslog).
1999-03-01 22:37:05 +00:00
Kurt Zeilenga
3984323bf9 Fix minor memory leak and remove redundant be_isroot_pw() checks.
Suggested by Pierangelo Masarati <pmasarati@bci.it> in post to -bugs.
1999-03-01 19:42:06 +00:00
Kurt Spanier
5d2699b7ce Introduction of first version of transaction processing (TP) into BDB2. 1999-03-01 11:30:18 +00:00
Ben Collins
945f8e10a0 Added verclean-local-srv since veryclean was not being run in the back-* and related directories 1999-02-28 17:07:47 +00:00
Ben Collins
b14d7b35ed Changed general debug levels too LDAP_DEBUG_SHELL 1999-02-28 05:55:48 +00:00
Hallvard Furuseth
1d8ae81a06 Fix previous change to strtok_quote 1999-02-23 15:48:47 +00:00
Hallvard Furuseth
6b40ed4882 Make strtok_quote treat the character following \ as a normal character. 1999-02-23 15:40:18 +00:00
Ben Collins
b0250a119f Changed LDA_DEBUG_ statements to more appropriate ones 1999-02-23 03:51:33 +00:00
Hallvard Furuseth
79f7c85067 Add locale support (slapd.conf keyword "locale") to slapd if HAVE_LOCALE_H 1999-02-22 21:01:24 +00:00
Hallvard Furuseth
73db912500 Cast char' arguments to ctype.h functions to unsigned char'.
These functions require their arguments to be in the range of `unsigned char'.
1999-02-22 17:57:22 +00:00
Kurt Spanier
9cb23b462e More timing for performance testing. Re-introduction of cache.c_mutex. 1999-02-22 11:22:44 +00:00
Kurt Zeilenga
aa17fdd0bd Use ldap_pvt_strtok directly and unconditionally.
Implementation no longer uses strtok_r(), it may be broken
or have an odd prototype.
Update configure not to check for strtok/strtok_r nor require
strtok_r to LDAP_API_FEATURE_X_OPENLDAP_REENTRANT.
1999-02-20 20:12:03 +00:00