Commit Graph

291 Commits

Author SHA1 Message Date
Howard Chu
44521fd902 Reorganized config/bconfig. Migrated back-bdb config. 2005-03-02 04:46:50 +00:00
Howard Chu
df3d8f3e30 Cleanup unused variables 2005-02-20 04:59:29 +00:00
Pierangelo Masarati
fbb2b75ace matched values is "global" 2005-01-30 22:04:02 +00:00
Howard Chu
87ad189972 Cleanup obsolete bits 2005-01-25 20:29:08 +00:00
Howard Chu
ad2a19d8eb More for SLAP_TOOL_QUICK, disable locks as well 2005-01-24 08:21:55 +00:00
Howard Chu
b674e6dd3d Omit transaction support when running with SLAP_TOOL_QUICK 2005-01-24 01:37:38 +00:00
Howard Chu
aa27cb2262 Delete obsolete syncprovider stuff 2005-01-14 05:49:45 +00:00
Howard Chu
0bc4b77527 Clean up unused bt_compare references 2005-01-11 22:38:39 +00:00
Howard Chu
89da582d69 Byte-order independence for HDB: dn2id format changed again. 2005-01-11 22:25:52 +00:00
Howard Chu
98212b7e08 Start removing custom sort functions from hdb 2005-01-11 19:47:05 +00:00
Pierangelo Masarati
0ea4070eb1 clarify error message and allow -u (dryrun) option for slaptest, to circumvent database startup 2005-01-08 12:02:14 +00:00
Kurt Zeilenga
dc0eacd40b Happy New Year! 2005-01-01 20:49:32 +00:00
Pierangelo Masarati
7a1537c640 list permissive in supported controls (ITS#3453) 2004-12-28 10:54:49 +00:00
Jong Hyuk Choi
273052b573 adaptive caching implementation 2004-12-14 17:22:22 +00:00
Howard Chu
89912db91e Store entryIDs in big-endian order, no more custom sort function.
back-hdb still needs work.
2004-12-06 07:28:47 +00:00
Howard Chu
74da2306ff Add a checkpoint task if time-based checkpointing is configured. 2004-12-03 17:11:39 +00:00
Howard Chu
5f99f7c991 More migration of syncrepl from frontend to syncprov overlay
define OPERATION_BUFFER_SIZE for dummy Operations
2004-11-27 00:57:37 +00:00
Howard Chu
3a5bde98ba Disable back-bdb native syncrepl support, enable syncprov overlay,
remove syncrepl stuff from Operation struct
2004-11-25 21:16:54 +00:00
Pierangelo Masarati
dd18c8b2a4 revert last commit 2004-11-17 15:56:25 +00:00
Howard Chu
f1ae2e63c1 Fix BDB 4.3 fasttool, flag must be set before opening environment 2004-11-17 15:12:31 +00:00
Pierangelo Masarati
262df940f1 cleanup previous commit 2004-11-17 15:05:59 +00:00
Pierangelo Masarati
bc478dee46 log the right function names 2004-11-17 14:53:03 +00:00
Pierangelo Masarati
b29bf83e7e remove back-*/external.h 2004-11-15 19:45:49 +00:00
Pierangelo Masarati
9c550e7235 first step towards removing back-*/external.h 2004-11-13 18:52:44 +00:00
Pierangelo Masarati
be32dce97f rework static backend initialization 2004-11-11 00:38:11 +00:00
Kurt Zeilenga
b29e311ae7 unifdef -DBDB_ALIASES
delete dead code
2004-11-05 07:48:15 +00:00
Howard Chu
84ce549016 define DB_VERSION_FULL to simplify version checks 2004-10-16 21:59:58 +00:00
Jong Hyuk Choi
6db389efd9 further cleanup of search data upon exit, abandon, cancel 2004-10-16 16:10:00 +00:00
Howard Chu
7e87f54716 Revert ITS#3353 patch, it needs to be reworked. 2004-10-06 05:51:38 +00:00
Howard Chu
fda3d6260e ITS#3353 consolidate slapd globals into a single struct 2004-10-01 07:33:16 +00:00
Jong Hyuk Choi
5c0581b184 Modified @oc supprot code to the share anlist routines; Revised anlist routines 2004-09-23 02:48:14 +00:00
Kurt Zeilenga
d611a4b49a unifdef -UNEW_LOGGING 2004-09-04 04:54:28 +00:00
Howard Chu
3fd4d04168 Release cache locker on db close 2004-07-12 14:29:13 +00:00
Pierangelo Masarati
4424b9d57f log what backend is starting (bdb/hdb) 2004-07-11 22:52:26 +00:00
Howard Chu
ebc8bb0d83 Use long-lived per-thread TXNs for loading entries from DB.
Make sure only one thread tries to load a given entry at a time.
Bump up the DB environment's max TXNs to accomodate the new TXNs.
2004-07-09 17:00:07 +00:00
Jong Hyuk Choi
70314bd98b SLAP_IDL_CACHE macro removed 2004-07-09 03:31:52 +00:00
Howard Chu
c63817b9bd ITS#3201 partial fix. still encountering deadlocks. 2004-06-24 17:56:43 +00:00
Howard Chu
f2e1df3ef7 Consolidated static/dynamic backend switches 2004-04-08 05:56:23 +00:00
Kurt Zeilenga
44725e7303 use BER_BVNULL 2004-04-07 04:11:43 +00:00
Kurt Zeilenga
2fcaa15b90 First rounds of backend/database flag cleanup 2004-04-05 21:00:16 +00:00
Howard Chu
113870c194 Revert to original code 2004-03-06 19:15:39 +00:00
Howard Chu
ea0d619dae Store IDs in BeigEndian format on disk 2004-03-06 12:41:29 +00:00
Howard Chu
18bb805736 Fix prev commit 2004-03-05 15:40:37 +00:00
Howard Chu
896beebadc unifdef SLAP_IDL_CACHE 2004-03-05 13:43:18 +00:00
Kurt Zeilenga
3c598e89fb Happy new year 2004-01-01 19:15:16 +00:00
Jong Hyuk Choi
fa2aa5bb25 fix for concurrent persistent searches 2003-12-11 00:04:52 +00:00
Kurt Zeilenga
38ccdaf7a3 unifdef -DLDAP_CONTROL_PAGEDRESULTS (as it is always defined) 2003-12-08 18:16:07 +00:00
Howard Chu
b5052153c2 Minor cleanup 2003-12-07 03:59:54 +00:00
Kurt Zeilenga
9d811eb1fa Notices 2003-11-28 21:08:20 +00:00
Howard Chu
e61748780b ITS#2816 init_module for dynamic HDB 2003-11-13 21:49:48 +00:00
Howard Chu
76dd6bb6da Revert to previous behavior:
always use DB_AUTO_COMMIT when opening a database, don't make it
  dependent on an in-progress transaction

  use mutex instead of DB lock for db access.
2003-09-25 00:27:22 +00:00
Howard Chu
10811b6f51 Clarify/standardize library version mismatch error messages 2003-09-12 00:54:21 +00:00
Jong Hyuk Choi
c36f32a9e4 slaptool update for LDAP Sync replication 2003-08-30 15:19:35 +00:00
Jong Hyuk Choi
090ac0a772 unifdef LDAP_SYNC and LDAP_SYNCREPL 2003-08-27 22:16:04 +00:00
Kurt Zeilenga
b54780f940 Add initial support for modify/increment. No over/under flow detection.
Currently discovered via a "feature", but should use a control.
Start of a control made, but needs to be better integrated (with
auto use in ldapmodify(1)).
2003-08-07 16:42:40 +00:00
Jong Hyuk Choi
262f8bf11f LCUP primitive routines removed 2003-06-27 17:39:48 +00:00
Jong Hyuk Choi
e70377b875 IDL cache AVL tree initialize 2003-06-26 06:24:24 +00:00
Howard Chu
aa3b69eb32 ITS#2440 unmunge init_module names 2003-06-12 22:25:20 +00:00
Kurt Zeilenga
a8e859a401 Add server side assert control support. 2003-06-10 04:44:41 +00:00
Howard Chu
6aa3637545 Added SLAP_TOOL_READMAIN and SLAP_TOOL_READONLY slapMode flags. The rw
arg to tool_entry_open comes too late for back-bdb to use.
2003-05-11 07:03:48 +00:00
Howard Chu
6f461690c1 Function renaming, make internal funcs static, etc. 2003-04-23 06:34:55 +00:00
Howard Chu
68822b1e15 Trim dead BDB_HIER stuff 2003-04-22 17:06:35 +00:00
Howard Chu
d290145776 memory context tweaks 2003-04-21 18:28:38 +00:00
Howard Chu
6fd41cd254 Add shm_key config keyword to use shared memory for BDB environment
Unmeasurable performance difference on my tests, but who knows...
2003-04-18 09:43:22 +00:00
Jong Hyuk Choi
2dbcd890b8 Caching non-existing index entries in the IDL cache - caching keys only 2003-04-18 00:35:11 +00:00
Howard Chu
377bccbc6c Hierarchical cache management. 2003-04-16 16:23:36 +00:00
Howard Chu
ca9bb44089 Free IDL_CACHE locks 2003-04-16 01:04:00 +00:00
Pierangelo Masarati
06a99afbdb free cache only if required 2003-04-08 23:22:10 +00:00
Jong Hyuk Choi
b1b36ae75f bdb->bi_idl_tree_lrulock initialize 2003-04-08 16:30:56 +00:00
Jong Hyuk Choi
420210a2a3 IDL cache locking change (mutex -> rwlock) 2003-04-08 06:57:07 +00:00
Howard Chu
e8c58b4e7f Major API change - (SLAP_OP_BLOCKS) All request parameters are
consolidated into the Operation structure. All reply parameters
are consolidated into the new SlapReply structure. Most operations
now have identical call signatures... Changes are not #ifdef'd,
revert to -r NO_SLAP_OP_BLOCKS if necessary to back out.
2003-03-30 09:03:54 +00:00
Howard Chu
0be6cb5a67 Deleted bi_database_mutex, use DB_LOCK instead. Changed bdb_locker_id to
lookup the threadctx if no Op * is provided. (bdb_db_cache doesn't know
its thread context when it acquires a locker ID.)
2003-03-29 05:15:48 +00:00
Howard Chu
99950e4fe4 Deleted BackendInfo->bi_acl_attribute, bi_acl_group.
Replaced with bi_entry_get_rw.
Implemented for back-bdb, back-ldbm, back-ldap.
2003-03-26 11:50:03 +00:00
Howard Chu
23d69c1d1f Still need DB_AUTO_COMMIT flag 2003-03-22 16:21:44 +00:00
Howard Chu
a0c58e5f40 Don't use DB_AUTO_COMMIT when opening a database 2003-03-18 00:04:16 +00:00
Howard Chu
44be38c0f0 ITS#2371, fix BDB_SUBDIRs 2003-03-13 15:53:19 +00:00
Jong Hyuk Choi
2e31af9ca1 AVL delete upon shutdown (ITS#2367) 2003-03-12 16:34:17 +00:00
Howard Chu
bbad1de8e1 Added lutil_passwd_init, _destroy, _add for dynamically adding passwd
schemes. Declarations in lutil.h require lutil.h never be included before
lber.h, always after.
2003-03-11 05:58:53 +00:00
Howard Chu
a0b1fb1f9c Multiple-suffix fail msg should be logged at ERR/ANY, not ARGS. 2003-03-04 21:17:31 +00:00
Kurt Zeilenga
1a14def903 Use function pointers to get at backend routines. 2003-02-14 20:51:35 +00:00
Kurt Zeilenga
48d47954a6 Rework #ifdef'ing of expermental controls to ease release engineering
using LDAP_DEVEL (to indicate experimental) to enable experimental features
(true for HEAD unless LDAP_REL_ENG is defined)
2003-02-08 21:53:05 +00:00
Jong Hyuk Choi
85b1783d5c LDAP Sync Operation (draft-zeilenga-ldup-sync) as a groundwork for an LDAP replication design 2003-02-05 07:37:02 +00:00
Howard Chu
23c575805a Disallow multiple suffixes by default. Otherwise subtree index optimization
breaks. #define BDB_MULTIPLE_SUFFIXES if you want multiple suffix support.
If you use it, subtree indexing will slow down by factor of 2.
2003-01-30 22:00:16 +00:00
Hallvard Furuseth
6a51371fc5 Silence gcc warnings (signed vs. unsigned, implicit declarations, unused vars). 2003-01-19 15:03:25 +00:00
Kurt Zeilenga
6939c53170 Happy new year 2003-01-03 20:20:47 +00:00
Howard Chu
06c223991f Fix previous commit, compare must return signed result 2002-12-18 07:55:27 +00:00
Kurt Zeilenga
75757a5c82 Don't reeval expression 2002-12-17 05:25:05 +00:00
Howard Chu
349e05ff4d Added config keyword "searchstack" for setting search stack cache depth.
Default is still 16.

Added IDL caching, modified from ITS#2182. Uses "idlcachesize" config
keyword. Code is #ifdef'd, currently defined, with default cache of 0.
2002-12-10 20:33:49 +00:00
Kurt Zeilenga
8754c8f2a3 #unifdef paged results, remove lint 2002-11-28 04:38:41 +00:00
Pierangelo Masarati
c354bb23bf Support for RFC 2696:
LDAP Control Extension for Simple Paged Results Manipulation

contributed by Lynn Moss <lynnmoss@us.ibm.com> (ITS#2189)

applied with changes.
2002-11-21 02:16:53 +00:00
Pierangelo Masarati
498d1f043d silence warnings; fix messages 2002-11-10 20:00:44 +00:00
Pierangelo Masarati
76bf91f553 remove #ifdef SLAP_FILTER_HASSUBORDINATES 2002-11-10 19:48:36 +00:00
Pierangelo Masarati
7b3f889ec1 fix hasSubordinate filtering; now it can be safely turned on 2002-10-26 16:18:31 +00:00
Jong Hyuk Choi
8074294f1d LCUP persistent search code drop 2002-10-25 17:51:30 +00:00
Howard Chu
104f8cc409 Simpler fix for NO_THREADS 2002-09-19 06:34:53 +00:00
Howard Chu
6fa0363d09 Don't set bdb yield with NO_THREADS 2002-09-19 01:38:00 +00:00
Howard Chu
919274432b Fixes for NO_THREADS
Use a per-env locker ID
	Always set lock_detect, since we allow slapadd etc. concurrently
Also removed unused lock_detect_task code. lockdetect config keyword only
needs <policy>, no <seconds> argument.
2002-09-19 01:13:27 +00:00
Kurt Zeilenga
0ad91236fd Add LDAP_CONTROL_CLIENT_UPDATE to list of supported controls 2002-09-15 22:28:38 +00:00
Howard Chu
1263e40b55 Set BDB's global allocators to ber_*, don't bother with the per-env setting. 2002-09-12 02:47:18 +00:00
Howard Chu
35e8b8325d Unifdef BDB_IDL_MULTI. 2002-09-10 04:20:45 +00:00
Pierangelo Masarati
aea52e5bc9 define macros for appropriate sizing of lutil buffers 2002-08-31 10:48:02 +00:00
Howard Chu
cd60deb4a9 OS/390 EBCDIC support 2002-08-22 04:39:59 +00:00
Howard Chu
3b9f4a82ee Added support for BDB 4.1.17 2002-08-22 04:00:06 +00:00
Howard Chu
9fad71dc9b Never use DB_RECOVER flag when opening DB_ENV. Recovery must be done
manually. Automatic recovery would interfere with gentlehup restarts.
2002-08-11 00:30:46 +00:00
Howard Chu
44ac8a3564 Plug config leaks 2002-08-07 08:43:52 +00:00
Howard Chu
771f70eb0f Fix ITS#1994, Windows heap consistency 2002-08-03 02:57:52 +00:00
Howard Chu
e514685144 Tweak: For slap tools, don't set DB_RECOVERY flag when opening DB environment.
This allows slapcat to run while slapd is running, otherwise causes db
corruption.
2002-07-13 00:18:15 +00:00
Julius Enarusai
6107ba67d2 Coverted LDAP_LOG macro to use subsystem ID int values instead of string values 2002-07-11 20:33:24 +00:00
Howard Chu
3831d98237 Turn these functions on again. Need backend_attribute for SASLauthz stuff.
Fix to work with NULL op.
2002-05-07 22:35:01 +00:00
Kurt Zeilenga
8c152396b9 Matched Values implementation (ITS#1776) based upon submission
form Mikhail Sahalaev <M.Sahalayev@pgr.salford.ac.uk>.
Further work needed:
	add testxxx-matchedvalues
	rework ldapsearch(1) portion of patch to generalize use of options
---
Copyright 2001, Mikhail Sahalaev, All rights reserved.
This software is not subject to any license of University Of
Salford.

Redistribution and use in source and binary forms are permitted
without restriction or fee of any kind as long as this notice
is preserved.
2002-05-02 18:56:56 +00:00
Howard Chu
7fae7fe155 Changed be_[n]suffix, be_[n]suffixAlias to BerVarray. No more bvec's anywhere. 2002-05-01 18:50:14 +00:00
Jong Hyuk Choi
b7f0983efa Hallvard B. Furuseth's patch for cache lock and mutex 2002-04-16 14:03:13 +00:00
Jong Hyuk Choi
efa7b93b23 concurrent cache access: separation of cache lock (reader/writer) and lru lock (mutex) 2002-04-15 16:40:04 +00:00
Pierangelo Masarati
50baa90139 port hasSubordinates handling to back-bdb 2002-03-23 11:04:09 +00:00
Julius Enarusai
5af8610ba0 Added LDAP_LOG messages 2002-03-19 17:44:11 +00:00
Kurt Zeilenga
348e489b35 #ifdef experimental controls 2002-02-18 19:48:27 +00:00
Kurt Zeilenga
0006ec0a46 Revert most of last change 2002-02-12 01:30:35 +00:00
Kurt Zeilenga
488862105f Use UUID to generate a GID for txn_prepare. Based upon submission
from Jong Hyuk Choi <jongchoi@us.ibm.com> (ITS#1585 for ITS1575).
2002-02-11 17:45:39 +00:00
Kurt Zeilenga
4554557171 Move BDB backend initialization to bdb_open. bdb_initialize()
shouldn't do much more than register callbacks.
2002-02-11 17:31:09 +00:00
Kurt Zeilenga
6df9b54592 Switch to openldap-data directory 2002-02-02 06:25:05 +00:00
Kurt Zeilenga
b57c11f4bd BDB_ALIASES and BDB_SUBENTRIES cleanup 2002-01-29 04:53:47 +00:00
Kurt Zeilenga
4f0e4f60bd Add first cut BDB no-op control support. 2002-01-29 00:02:27 +00:00
Kurt Zeilenga
98a2c60c3a Delete CDB (no transactions) support 2002-01-28 22:57:50 +00:00
Kurt Zeilenga
14662be692 Add whoami extended operation.
Add no-op control (needs backend implementation)
Updated modify password extended option API
Kludged control infrastructure to support frontend only controls
2002-01-28 20:25:30 +00:00
Howard Chu
713e6beb8d Entry caching. Based on ITS#1545 from Jong Hyuk Choi, jongchoi@us.ibm.com 2002-01-25 07:19:01 +00:00
Kurt Zeilenga
dc0f90d36d Set lock detector to DEFAULT, not NORUN.
Clean up some error handling
2002-01-21 08:19:28 +00:00
Kurt Zeilenga
f868e4b34e ITS#1541 fix. 2002-01-20 17:27:53 +00:00
Howard Chu
7db33f87a9 Do deadlock detection on any conflict, instead of in a separate thread 2002-01-18 13:28:07 +00:00
Howard Chu
5c2bc277b8 In db_destroy, cannot checkpoint a NULL dbenv. 2002-01-17 10:05:04 +00:00
Howard Chu
f2f6c516ab DB_NODUPDATA is not a valid open flag 2002-01-17 09:48:44 +00:00
Kurt Zeilenga
492762f1c5 Don't use BDB group/attribute callbacks as they may cause deadlock.
Add code to bdb_attribute and bdb_group where use TXN id and to
provide error, but need to rework callers (and their callers) to
ensure error is properly bubbled up to the backend operation routine
handling the transaction.  Ugh.
2002-01-17 03:58:52 +00:00
Kurt Zeilenga
d2f5d75885 Remove unused deprecated DN routines.
Only dn_validate, dn_normalize, and dn_parent remain (for now).
2002-01-16 00:16:51 +00:00
Kurt Zeilenga
13af7fb073 Misc. cleanup, remove lint, remove unused deprecated functions, etc. 2002-01-15 07:29:15 +00:00
Kurt Zeilenga
f57057ee01 Add system schema flags to backends supporting system schema. 2002-01-11 18:26:17 +00:00
Kurt Zeilenga
0e2af54a3f Update copyright statements 2002-01-04 21:17:25 +00:00
Howard Chu
de97928160 Remove abandon cruft 2002-01-01 11:38:30 +00:00
Kurt Zeilenga
2dd27b0786 More struct berval DNs 2001-12-25 19:48:26 +00:00
Howard Chu
56bc0b64df Fix - don't free constant database names 2001-12-20 08:47:32 +00:00
Howard Chu
773b3aff16 more cleanup from jon@symas.com 2001-12-18 04:52:55 +00:00
Howard Chu
335294e190 More cleanup for bdb_db_close 2001-12-15 08:11:59 +00:00
Kurt Zeilenga
abd9be4def Remove lint and misc MSVC updates 2001-12-09 02:34:45 +00:00
Kurt Zeilenga
e2173e3c20 Disallow duplicate duplicate data 2001-12-08 04:30:23 +00:00
Howard Chu
505a8693e6 Some fixes for BDB_IDL_MULTI. Experimental back-hdb code. 2001-12-07 12:38:25 +00:00
Howard Chu
1d9818a8da Re-introduce BDB_ID2ENTRY_PAGESIZE. Even if the index databases can get
by on 4K pages, the id2entry database still needs more (16K).
2001-12-07 07:07:55 +00:00
Howard Chu
d0c0dfcce6 Minor fixes for BDB_IDL_MULTI 2001-12-07 06:48:38 +00:00
Howard Chu
66266f9c25 Bare minimum changes to support BDB 4.0 2001-12-07 05:05:00 +00:00
Howard Chu
295e14bd54 Renamed BDB_ID2ENTRY_PAGESIZE to just BDB_PAGESIZE; set it on each database
instead of just the id2entry db. It helps. I also found that tweaking the
environment (set_lg_bsize 2MB; set_cachesize 2MB) helps but those can be
taken care of in a DB_CONFIG file. Tweaked the bdb_bt_compare function; it
really only needs to be set on little-endian machines. (On big-endian machines
a lexical sort gives the same result as an integer sort.) Moved the final
checkpoint back to the dbenv_close, I think this leaves a cleaner log file.
2001-11-28 20:48:06 +00:00
Howard Chu
24d1ab848c Added experimental support for DB_DIRTY_READ. 2001-11-28 03:11:04 +00:00
Howard Chu
5c7a7998a9 Set the id2entry database pagesize to BDB_ID2ENTRY_PAGESIZE to avoid
overflow/fragmentation. (This is now 16K vs default 4K.) It turns out
that the entries' on-disk format is quite space-inefficient, storing
4 bytes per pointer or integer when typically >50% of those bytes are
zero. Oh well. It's about a 2:1 space increase over ldbm now, vs 4:1
before when all the entries were overflowing the 4K pages.
2001-11-27 12:36:52 +00:00
Howard Chu
b45133c958 Eliminated nextid database. id2entry database is now maintained in numerical
order, so the lastid is always the same as the last entry's ID. This is
an incompatible db file change.
2001-11-27 10:15:23 +00:00