Commit Graph

42 Commits

Author SHA1 Message Date
Kurt Zeilenga
35655c056f Reimplement LDBM_SYNC/LDBM_NOSYNC code (dbnosync).
Old code applied sync flags to store(), however supported DBMs
require such flags to be specified during open().  The new
code now applies flags in ldbm_cache_open (which calls ldbm_open).
ldbm_cache_close() now calls ldbm_sync().  This will force
a updating of on-disk contents after each LDAP operation.
The old code either failed to sync the on-disk contents until
close or synced on every store.   Per LDBM operation syncing
*should* be safe enough... real data safety requires transactions.
Removed nosync option from BDB2 as it is not compatible with
txn support.
Also added code to disable DBM level locking as slapd is only
process acessing the databases (dbnolocking).
1999-09-23 19:49:20 +00:00
Kurt Zeilenga
403f4479bc Add OpenLDAP RCSid to *.[ch] in clients, libraries, and servers.
Replace old Id as needed (back-tcl).
Leave updating of contribWare to contributors (for now).
1999-09-08 19:06:24 +00:00
Kurt Zeilenga
2e86c0516b Remove #if 0 used to hide dn subtree index problem. Fixed
by Hallvard's IDL changes!
1999-09-04 01:19:58 +00:00
Kurt Zeilenga
5bb08cba85 Backout rev 1.37 change which was committed by mistake. 1999-09-03 05:31:43 +00:00
Hallvard Furuseth
c09a2c63e7 Cleanup:
Fix printf formats, remove unused variables, add missing prototypes in slapd,
add static/const, add some return types or change to void return type.
1999-09-02 08:05:17 +00:00
Kurt Zeilenga
41e57c041f Add OpenLDAP RCS id 1999-09-02 00:52:43 +00:00
Kurt Zeilenga
03ea068193 Disable removal of subtree indices upon delete. This allows
modrdn to run,  but masks the underlying subtree index bug (which
I haven't found yet).
Apply modrdn/dn2id changes to BDB2.
1999-08-26 22:43:08 +00:00
Kurt Zeilenga
4c19272651 Assert ID != NOID when fetching from the datastore.
Add additional abandon point to modrdn.
test005-modrdn still shows error.  Likely in dn2id, index, or idl codes.
1999-08-26 21:00:22 +00:00
Kurt Zeilenga
c71fcf58fa Remove use of uninitialized variable. 1999-08-26 19:10:28 +00:00
Kurt Zeilenga
406f33eb12 This fixes dn2id delete bug... but breaks modrdn. 1999-08-26 00:48:24 +00:00
Kurt Zeilenga
2a74677799 const'fication 1999-08-20 19:00:44 +00:00
Kurt Zeilenga
0e502ed0b2 Fix dn_parent memory leak. 1999-08-19 16:51:43 +00:00
Kurt Zeilenga
e4f6d54877 New dn2id format with base/one/subtree indices (ldbm/bdb2)
New id2entry (id-less) format (ldbm/bdb2)
Removed id2children (ldbm/bdb2)
Added nextid database (ldbm)
Broke ldbmtest
Removed ldif2* tools (ldbm/bdb2)
Added slap tools (slapadd, slapcat, slapindex)
1999-08-17 19:00:59 +00:00
Kurt Zeilenga
7015167974 Add DN_INDICES search filter and has_children support. Move id2children
behind -UDN_INDICES.
1999-08-13 00:55:08 +00:00
Kurt Zeilenga
00ba798bd4 Left DN_INDICES defines by mistake... it's not ready for prime time yet.
Change prefixes to make eyeballing .dbb files easier
1999-08-12 01:05:33 +00:00
Kurt Zeilenga
1ffe5122b7 Implement DN_PARENT_PREFIX and framework for DN_SUBTREE_PREFIX. 1999-08-11 20:59:28 +00:00
Kurt Zeilenga
82ac9547c9 Removed redundant dn_normalization(strdup(ndn)) from dn2id codes.
Added initial DN_INDICES code behind #ifdef DN_INDICES.
  Generates only equality index.  Will add parent and subtree indices next.
1999-08-11 02:57:07 +00:00
Kurt Zeilenga
9c3ed0310b Add copyright notices. 1999-08-06 23:07:46 +00:00
Kurt Zeilenga
68d561a97b Add limited LDAP_INVALID_DN_SYNTAX support. dn_normalize{,_case}() now returns
NULL does not meet basic syntax rules.
1999-07-22 17:14:42 +00:00
Kurt Zeilenga
170836751a Namespace changes
added slap_ and ldbm_ to many structures
  added typedefs to many structures
  used typedefs
New main.c argument parsing with ldap url support (replacing -a address).
New sockaddr_in handling and support for multiple listeners.
1999-07-19 19:40:33 +00:00
Kurt Zeilenga
73276e84ae Import experimental referral implementation from OPENLDAP_DEVEL_REFERRALS.
Includes support for update referral for each replicated backend.
	Reworked replication test to use update referral.
Includes major rewrite of response encoding codes (result.c).
Includes reworked alias support and eliminates old suffix alias codes
(can be emulated using named alias).
Includes (untested) support for the Manage DSA IT control.
Works in LDAPv2 world.  Still testing in LDAPv3 world.
Added default referral (test009) test.
1999-07-16 02:45:46 +00:00
Hallvard Furuseth
3277a27b10 Remove unused variables 1999-03-06 16:29:05 +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
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 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
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
818bc57319 Minor cleanup of trace output. 1999-01-18 17:33:36 +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
97f10a99cc Plug 'matched' memory leak in dn2entry() 1998-12-28 00:39:50 +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
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
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
3f1b97481c Make flush_writes the default. Change option to 'dbcachenowsync'.
Change backend struct option to li_dbcachewsync.
1998-11-07 02:25:32 +00:00
Kurt Zeilenga
2a869f5a99 merged with autoconf branch 1998-10-25 01:41:42 +00:00
Kurt Zeilenga
4a5d740e2e Merged in per cache entry reader/writer locks from OPENLDAP_DEVEL_THREAD 1998-09-20 20:22:46 +00:00
Kurt Zeilenga
2054d40b7c Added support for SleepyCat DB2 DBI.
Derived from public posting to ldap@umich.edu
	by Kurt Spanier <kurt.spanier@zdv.uni-tuebingen.de>
	See Make-common.dist for DB2 options
1998-09-03 00:50:13 +00:00
Kurt Zeilenga
49d40a26f8 Added ldbm flush on write code which uses slapd.conf option. 1998-08-19 00:10:02 +00:00
Kurt Zeilenga
dfeabf5213 Fixes from Allan Lynne 1998-08-18 17:51:53 +00:00
Kurt Zeilenga
97e88afb5e Sync the cache per Stuart Lynne <sl@poste.com> 1998-08-17 23:34:12 +00:00
Kurt Zeilenga
42e0d83cb3 Initial revision 1998-08-09 00:43:13 +00:00