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
Kurt Zeilenga
e5ab61cb3a
LINE_WIDTH -> LDIF_LINE_WIDTH
1999-03-09 00:59:37 +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
Hallvard Furuseth
718faec29d
Align with changes in build process:
...
LDLINK -> LTLINK, LDAP_LIBEXECDIR -> libexecdir. Add XSRCS and all-local-srv.
1999-03-08 01:20:01 +00:00
Hallvard Furuseth
b6c16f861e
Align with code changes in liblber/libldap:
...
Replace LDAPMod with a new struct LDAPModList.
Rename lber_debug to lber_int_debug.
1999-03-08 00:39:46 +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
42fdd3766f
replace integer argument NULL with 0
1999-03-03 17:35:33 +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
Hallvard Furuseth
0fe0efeeac
wrap bi_acl_group in #ifdef SLAPD_ACLGROUPS
1999-02-20 08:53:48 +00:00
Hallvard Furuseth
1fda8f9382
read_config() did not return a value
1999-02-20 08:18:07 +00:00
Ben Collins
809c6570e4
Converted strdup()'s to ch_strdup()
1999-02-19 07:55:20 +00:00
Kurt Spanier
3a9f96ec0d
Code clean-up.
1999-02-18 15:33:15 +00:00
Ben Collins
8667671d17
* Removed uneeded cvs keywords
...
* Fixed unfree'd 'char *results' in all tcl_* functions (only unfree'd in
certain cases, moved the free to the actual function) so no more mem
leaks. Tested this with over 500,000 access's for testing :)
* Miscellaneous source style and tabulation fixes
1999-02-18 02:18:39 +00:00
Kurt Spanier
ac4cb22f1c
Elimination of entry- and cache-level locking in back-bdb2.
...
Slight adaption of concurrency-test to enable even more writers/readers.
1999-02-17 11:13:22 +00:00
Ben Collins
a3c9bec0c5
Missing file
1999-02-17 02:23:18 +00:00
Ben Collins
6b09ba64d0
Style changes, added cvs keywords
1999-02-17 02:05:28 +00:00
Ben Collins
d2d5748580
Updated some items
1999-02-17 02:04:54 +00:00
Ben Collins
197e77ea8d
Completed open/close/destroy implementations
1999-02-17 02:02:11 +00:00
Ben Collins
749404b83f
Implemented the open, init functions correctly
1999-02-17 01:55:54 +00:00
Ben Collins
8c3f485d8b
Implemented all of the (db_)destroy and (db_)close functions
1999-02-17 01:55:03 +00:00
Ben Collins
78a5ebe216
Moved tcl_back_db_open() and interpreter init to tcl_init.c
1999-02-17 01:53:59 +00:00
Ben Collins
1d1e8f75b6
Added return()
1999-02-17 00:32:49 +00:00
Ben Collins
86e1568752
fixed exit()'s to be return()'s
1999-02-17 00:30:36 +00:00
Ben Collins
8a2839b672
keyword update
1999-02-17 00:26:05 +00:00
Ben Collins
24697ea2fc
$Id update
1999-02-17 00:24:40 +00:00
Kurt Zeilenga
c2b7c9e2db
Add ac/errno.h and use other generic headers when available.
1999-02-16 18:07:19 +00:00
Kurt Spanier
39f0066db4
Addition of a new Concurrency Test fro testing slapd performance and
...
correctness of locking schemas in backends.
In back-bdb2 open NEXTID during startup and close at shutdown.
1999-02-15 10:49:20 +00:00
Kurt Zeilenga
a71f328831
Import Ben Collins <bcollins@debian.org> Back-TCL for SLAPD.
1999-02-14 19:20:14 +00:00
Kurt Spanier
548942edbe
BugFix and selection in the test-suite of the bdb2 backend-specific
...
slapd server timing via a new slapd command line option '-t'.
1999-02-12 15:22:43 +00:00
Kurt Spanier
2cf83d84ee
Server timing as a private feature of the bdb2 backend.
1999-02-12 14:36:16 +00:00
Kurt Spanier
6e63b58a3e
Update of back-bdb2 to KDZ's new entry lock schema.
...
Fix of a back-bdb2 --> back-ldbm leakage (==> new bdb2-specific DB file suffix).
1999-02-12 12:13:03 +00:00
Kurt Zeilenga
75ee1d8393
Update tools to print ID's using "%ld" instead of "%lu".
1999-02-11 21:26:57 +00:00
Kurt Zeilenga
2a20131eaa
Consistently use %ld for printing IDs. %lu was used in many cases.
...
I rather have NOID printed as "-1". It it could argued that ID
should be signed.
1999-02-11 18:19:52 +00:00
Kurt Zeilenga
c2c0d9687f
Complete entry_cmp() migration (remove rename macros).
1999-02-11 17:52:28 +00:00
Kurt Zeilenga
745a10f080
Update LDBM cache so that it manages it's own state.
...
cache_set_state() and state args are no history.
Move cache_entry_cmp() and friends to slapd/entry.c to allow sharing
of functions between backends.. Renamed to entry_cmp().
1999-02-11 17:46:56 +00:00
Kurt Zeilenga
88c43a1e6e
Move LDBM-backend specific fields of Entry struct into a private struct.
...
The new e_private field can be used for any backend purpose. In LDBM,
it's used to point th the private entry info struct. The LDBM entry
info struct is only visible to the LDBM cache.
WARNING: This change has not be ported to other backends! Breakage is likely.
1999-02-10 18:28:25 +00:00
Kurt Spanier
529caeddd0
Elimination of un-used code in bdb2i_cache_open and friends.
...
Provision for a bdb2 backend-specific DB file suffix.
Fix of the double-open of backend types.
1999-02-10 13:19:11 +00:00
Kurt Zeilenga
191752c9a7
Fix modrdn bug in back-bdb2 as well. Probably should move
...
dn rewriting to frontend dn.c function.
1999-02-09 18:07:01 +00:00
Kurt Zeilenga
fc022ed0d4
Patch modrdn to remove extra space.
1999-02-09 17:58:13 +00:00
Kurt Zeilenga
eb8dcb6e21
Add a field to count the number of databases per type (bi_nDB) to
...
the backend type info structure. Use this filed to control open
and close such that backend's without databases are skipped.
1999-02-09 17:41:56 +00:00
Kurt Spanier
42f6e78dd4
Integration of the BDB2 backend into the new init/startup/shutdown schema.
...
Integration into ./configure ( --enable-bdb2 ).
Adaptation of the test-suite ( 'make' -> ldbm; 'make bdb2-local' -> bdb2 ).
Minor fixes in slapd/libldbm.
1999-02-08 11:42:14 +00:00
Kurt Zeilenga
36a06168c5
Fix backend_destroy to call bi_destroy instead of bi_close
1999-02-07 18:24:05 +00:00
Kurt Zeilenga
587535a310
Really fix those reader/writer lock asserts...
1999-02-07 17:57:50 +00:00
Kurt Zeilenga
7eaae29f6f
Fix cache asserts on entry writer locks.
1999-02-07 02:50:10 +00:00
Kurt Zeilenga
e6e28362a1
Move SIGNAL() calls to main so that any thread can accept async
...
signals aimed at the process.
1999-02-06 16:00:00 +00:00
Kurt Zeilenga
7f804b5c1b
Fix no backend type case in backend_init.
1999-02-06 15:56:14 +00:00
Kurt Zeilenga
dde7e3dfa6
Don't call idl_free() unless necessary.
1999-02-05 23:46:03 +00:00
Kurt Zeilenga
63f5ec8f8b
remove ;; typo
1999-02-05 17:39:38 +00:00
Kurt Spanier
d92b9d3c9e
Introduction of a new Berkeley DB version 2 (!) specific backend.
...
BEWARE: the backend will be compiled.
the backend will NOT be invoked, yet.
the backend CANNOT be invoked, yet, because it is NOT yet
integrated into the new initialization/startup environment
of the slapd server.
1999-02-05 16:23:03 +00:00
Kurt Spanier
8107ec91f0
Fix braindead signal handling in linux kernal threads.
...
First version with waiting on int to become 0; should be implemented
via conditional variable...
Fix of typos.
First anchor for new bdb2 backend.
1999-02-05 13:20:57 +00:00
Kurt Zeilenga
216049bd12
New Frontend->Backend Interface
...
Separates per backend type from per backend database initialization
and startup. Also supports per type / per backend shutdown.
New frontend startup/shutdown routines are also provided:
slap_init() slap_startup() slap_shutdown() slap_destroy()
New frontend->backend startup/shutdown is managed by:
backend_init() backend_startup() backend_shutdown backend_destroy
backend_init() now calls bi_init() to initial all function pointers
for the backend (excepting bi_init() which is now the only hardcoded
entry point). New entry points are detailed in slap.h struct
backend_info. backend_info is a per database type structure.
Besides the new startup/shutdown entry points, the new interface
also supports per backend type configuration options. One could have:
backend bdb2 (new Berkeley DB 2 backend)
bdb2_home /directory
database bdb2
...
*** This code is fairly experimental ***
*** Much cleanup and testing is still needed ***
see slap.h for details on struct backend_db and backend_info.
1999-02-05 09:03:47 +00:00
Kurt Zeilenga
2b8970a324
Fix forkandexec() prototype.
1999-02-04 19:01:21 +00:00
Will Ballantyne
44c5c21078
additional checks around derefAlias_r call:
...
check for alias problem
check for alias != entry
check for null entry in subsequent switch statement
1999-02-04 18:55:58 +00:00
Kurt Zeilenga
72400d11fc
Fix mutex initialization. new init function only has one argument.
1999-02-04 18:20:26 +00:00
Kurt Zeilenga
366701bdf7
Fix dbcache/entry lock deadlock. If dbcache lock is held, it's
...
okay to read and write LDBM specific fields (state, refcnt,
LRU. The id field, though is read-only once set.
cache_find_entry_dn2id(), hence, does not require any entry locks.
cache_find_entry_id() must do a entry_rdwr_trylock() and back
off if busy.
Add new rdwr lock code with trylock() functionality.
Implement entry_rdwr_trylock().
1999-02-04 18:00:50 +00:00
Kurt Zeilenga
6b05425d0f
Minor fixes to complete backout of initialization/startup changes.
1999-02-04 17:45:59 +00:00
Kurt Zeilenga
d27b2f811e
Backout recent initialization/startup changes in prep for new
...
frontend->backend interface.
1999-02-04 17:33:46 +00:00
Kurt Zeilenga
fc44d42c53
Backout startup/initialization changes in preparation for new
...
frontend->backend interface.
1999-02-04 17:28:49 +00:00
Kurt Zeilenga
c6882d4670
Remove rwlock diag messages.
1999-02-04 17:24:26 +00:00
Kurt Zeilenga
efce9cffb4
Use LDAP_ALIAS_DEREF_PROBLEM for all problem dereferencing aliases.
...
LDAP_ALIAS_PROBLEM is now only used if the alias itself is mangled.
1999-02-04 17:23:34 +00:00
Will Ballantyne
be9e28907e
inserted additional checks for null values, comments
...
fixed deadlocks
1999-02-04 00:21:57 +00:00
Kurt Zeilenga
5934367242
Another concurrency typo.
1999-02-03 18:32:25 +00:00
Kurt Zeilenga
7903584911
Use idl_fetch_one() to fetch single id_blocks instead of separate
...
ldbm_cache_fetch() codes.
1999-02-03 17:14:01 +00:00
Kurt Zeilenga
365f6bf69b
Fix double free of filter when bad.
1999-02-03 05:51:42 +00:00
Kurt Zeilenga
a3cf741ab7
Fix slapd/tool dependencies on libraries.
1999-02-03 05:25:04 +00:00
Kurt Zeilenga
368a507c9a
Plug leak of datum. Should be freed after use.
1999-02-03 05:00:41 +00:00
Kurt Zeilenga
ace9fb68c5
Fix ALLIDS bugs
...
Fix memory leaks
1999-02-03 04:45:08 +00:00
Kurt Zeilenga
16b3111ac7
Got that logic backwards...
1999-02-03 03:50:11 +00:00
Kurt Zeilenga
0c2ce661fb
first arg of ldbm_db_errcall could be a const char * instead of char *.
1999-02-02 23:15:45 +00:00
Kurt Zeilenga
40ba9bc80b
Don't try to free NULL idl. Did not cause a problem, though, as
...
idl_free() had insurance.
1999-02-02 22:46:21 +00:00
Kurt Zeilenga
92e71b459b
Hack up a quick bandaid to make things compile. Startup/Initialization
...
needs work.
1999-02-02 19:26:00 +00:00
Kurt Zeilenga
2b29521596
Fix statlog... debugging change got commit by mistake.
1999-02-02 14:06:23 +00:00
Kurt Spanier
442c7e7a7b
Added startup/shutdown routine for slapd back-ends.
1999-02-02 08:03:03 +00:00
Kurt Zeilenga
433e8ad645
Add a few comments to help detail some of these functions.
1999-02-02 03:40:19 +00:00
Kurt Zeilenga
3e48937ac8
Fix idl_firstid to return NOID when !(nids > 1) instead of when (nids == 1)
...
Fix idl_nextid not to skip an ID if ID not in list.
Both of these should not occur if used correctly, but cheap insurance
against incorrect usage is welcomed.
1999-02-02 02:46:18 +00:00
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