Commit Graph

496 Commits

Author SHA1 Message Date
Kurt Zeilenga
9fead9d2ce fix compilation error 2002-03-17 23:39:45 +00:00
Julius Enarusai
a61d2b914d Added LDAP_LOG messages 2002-03-15 18:57:12 +00:00
Julius Enarusai
e89c8b4f63 Added/Modified LDAP_LOG messages to match the existing Debug messages 2002-03-15 17:50:28 +00:00
Julius Enarusai
d8413fac32 Added LDAP_LOG messages to match existing Debug messages 2002-03-15 17:21:06 +00:00
Julius Enarusai
35bc1bf43c Added LDAP_LOG messages to these files to match the existing Debug messages 2002-03-14 22:23:44 +00:00
Julius Enarusai
02412251f1 Added LDAP_LOG messages to the above files to match the existing Debug messages 2002-03-14 16:34:24 +00:00
Kurt Zeilenga
dbfc18985a Align with back-ldbm version 2002-03-12 22:46:13 +00:00
Kurt Zeilenga
93a45a02aa Update handling of AND/OR indexing where element is undefined. 2002-03-04 22:32:33 +00:00
Kurt Zeilenga
ef7883c028 Fix substring index error handling 2002-03-01 19:07:15 +00:00
Kurt Zeilenga
348e489b35 #ifdef experimental controls 2002-02-18 19:48:27 +00:00
Pierangelo Masarati
a117c5eee7 use ldap_bv2[r]dn and turn ldap_str2[r]dn into wrappers 2002-02-13 11:46:33 +00:00
Kurt Zeilenga
9b18295f4f Don't print unprintable keys 2002-02-12 19:29:27 +00:00
Kurt Zeilenga
0006ec0a46 Revert most of last change 2002-02-12 01:30:35 +00:00
Kurt Zeilenga
c912616590 Fix bug in last commit 2002-02-11 21:07:55 +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
32fb8b0bff Add ACL state recording to avoid multiple evaluation of
value-independent access controls.
2002-02-09 05:14:17 +00:00
Howard Chu
b2eec644fa Minor IDL tweaks 2002-02-08 06:42:34 +00:00
Kurt Zeilenga
6b29def1c8 switch to openldap-data directory 2002-02-02 06:26:06 +00:00
Kurt Zeilenga
6df9b54592 Switch to openldap-data directory 2002-02-02 06:25:05 +00:00
Kurt Zeilenga
1bf1621efe Add cache txn_prepare code based upon submission (ITS#1575) by
Jong Hyuk Choi <jongchoi@us.ibm.com>.  Needs a bit more work
(GID should be globally unique).
2002-02-02 03:28:32 +00:00
Kurt Zeilenga
c2b946549a Adjust size offsets, needs work 2002-01-31 00:10:24 +00:00
Kurt Zeilenga
1116bf4f45 Misc WinNT build updates 2002-01-30 04:06:31 +00:00
Kurt Zeilenga
d3c26b6772 disable debug checks 2002-01-29 05:05:25 +00:00
Kurt Zeilenga
b57c11f4bd BDB_ALIASES and BDB_SUBENTRIES cleanup 2002-01-29 04:53:47 +00:00
Kurt Zeilenga
ffebea4a8b Add search no-op support. 2002-01-29 04:33:19 +00:00
Kurt Zeilenga
48bf651459 Fix Debug() statement 2002-01-29 00:05:30 +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
80f404f247 Fix result 2002-01-26 15:06:53 +00:00
Pierangelo Masarati
563736859c appropriately detect index delete failure 2002-01-26 14:33:31 +00:00
Howard Chu
6bac96b0bd Changed dnParent to void instead of int. (It always returned success...) 2002-01-26 08:44:59 +00:00
Howard Chu
7f54a89f32 Changed be_issuffix and dnParent to struct bervals 2002-01-26 06:40:56 +00:00
Kurt Zeilenga
a1987ae99b Missed one db.bv_val in Debug statement 2002-01-26 01:04:20 +00:00
Kurt Zeilenga
4e1f534c96 Straighten out some argument passing... cache code need more cleanup,
uses deprecated routines...
2002-01-26 01:01:10 +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
Pierangelo Masarati
5fc7217f1b final dn_parent elimination in back-bdb 2002-01-22 08:18:12 +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
Kurt Zeilenga
8eaaa67db0 Move {add,replace,delete}_value() routines to frontend and share.
Add error detail reporting.
2002-01-19 19:54:48 +00:00
Kurt Zeilenga
c043a9c0cf Fix modify/replace. 2002-01-19 05:55:18 +00:00
Howard Chu
a8658a8163 Reset Entry->e_ocflags to 0 if objectClass attr is modified.
(Only an issue with entry caching...)
2002-01-19 04:51:42 +00:00
Howard Chu
44f0efb44f Defined some ObjectClass->soc_flags values, changed is_entry_*objectclass
macros to use flags
2002-01-19 02:58:00 +00:00
Kurt Zeilenga
960fa831a6 Add checks for duplicate values. 2002-01-19 01:56:57 +00:00
Kurt Zeilenga
9ff7e0d263 Fix compilation error 2002-01-18 17:04:29 +00:00
Howard Chu
5ab0d4af84 Added ldap_pvt_thread_yield() after txn_abort 2002-01-18 13:34:50 +00:00
Howard Chu
cf8349f895 Added "fewest" lockdetect keyword, to abort txn with fewest locks 2002-01-18 13:32:01 +00:00
Howard Chu
9f1591d5e9 Use DB_RMW in idl_fetch_key if called as part of a txn. 2002-01-18 13:29:10 +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
6d58126c34 Added compatibility macros for BDB3/4 lock_get, txn_id. 2002-01-18 13:27:25 +00:00
Howard Chu
26d0410de0 Cleanup while loops in dn2id_add/delete 2002-01-17 23:45:40 +00:00
Pierangelo Masarati
9b4f933649 dn_parent => dnParent 2002-01-17 22:47:55 +00:00
Pierangelo Masarati
e6332812e0 another round replacing dn_parent ... 2002-01-17 22:37:38 +00:00
Pierangelo Masarati
4624bbafba another round replacing dn_parent ... 2002-01-17 19:58:19 +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
Pierangelo Masarati
0842db2a8b fix ber_*str renaming 2002-01-16 18:50:45 +00:00
Howard Chu
356a98a363 Fix bdb_idl_fetch/insert_key. Still fails test011. 2002-01-16 15:22:08 +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
Howard Chu
6981960be0 Deleted autosubtypes support. 2002-01-15 01:50:09 +00:00
Howard Chu
fde56a188c More fixes for autosubtype index generation 2002-01-14 20:49:06 +00:00
Howard Chu
f4cfb13f2c Fix previous commit 2002-01-14 20:26:51 +00:00
Howard Chu
2e8a98e3a1 Fix subtype indexing. Really really made it the default. 2002-01-14 10:37:08 +00:00
Howard Chu
ac1332cdb8 Renamed BVarray to BerVarray. Moved slapd:bvarray_{add,free} to
liblber:ber_bvarray_{add,free}.
2002-01-14 01:43:17 +00:00
Howard Chu
92481f7057 Modify performance patch from Gertjan van Wingerde <gwingerde@home.nl> 2002-01-13 23:23:23 +00:00
Howard Chu
8b969479f4 Turn on BDB_IDL_MULTI by default 2002-01-13 22:26:29 +00:00
Pierangelo Masarati
fafce1601e consistently use dn_match macro throughout slapd 2002-01-12 18:17:13 +00:00
Pierangelo Masarati
f8fb4aca76 error message from be_entry_put tool backend function 2002-01-12 16:00:51 +00:00
Kurt Zeilenga
f57057ee01 Add system schema flags to backends supporting system schema. 2002-01-11 18:26:17 +00:00
Kurt Zeilenga
c816ebc225 Add Backend argument to entry_schema_check() to support system schema
checks (in addition to user application schema checks).
2002-01-10 19:37:03 +00:00
Kurt Zeilenga
f662a39d41 Add start of subentry support... still need to sort out
administrativeRole restricts.
2002-01-10 18:18:37 +00:00
Kurt Zeilenga
74421a28ec Round 2 of subentry changes 2002-01-09 19:43:15 +00:00
Kurt Zeilenga
9b0585f393 Add very basic subentry search support. 2002-01-09 19:21:07 +00:00
Kurt Zeilenga
39c02506de Fix problems caused by lint removal 2002-01-09 18:18:36 +00:00
Kurt Zeilenga
22f993f89b Remove some lint caused by the changes in const'ification 2002-01-09 06:30:23 +00:00
Howard Chu
26e327f32e Fix some debug statements 2002-01-06 07:21:06 +00:00
Howard Chu
ec46a2f33a Use 'm' ber_scanf format where convenient 2002-01-06 06:11:01 +00:00
Kurt Zeilenga
c83b406fdc Fix compile errors 2002-01-05 19:36:41 +00:00
Pierangelo Masarati
d0261ee534 leftover ber_bvdup eliminated; rewritten ber_bvdup in terms of ber_dupbv; eliminated wrapper macro; other ber_* improvements 2002-01-05 17:49:59 +00:00
Kurt Zeilenga
0e2af54a3f Update copyright statements 2002-01-04 21:17:25 +00:00
Howard Chu
9ad0c5a2e5 Fix from Jonghyuk Choi jongchoi@us.ibm.com; return 0 IDs when bdb_key_read
returns DB_NOTFOUND.
2002-01-03 05:53:27 +00:00
Howard Chu
f52cc9bab5 Change struct berval ** to BVarray 2002-01-02 11:00:36 +00:00
Howard Chu
b2809cb330 Fix dnParent to return "" for root 2002-01-01 13:32:10 +00:00
Howard Chu
de97928160 Remove abandon cruft 2002-01-01 11:38:30 +00:00
Howard Chu
1a7d129585 Use ldap_str2rdn instead of rdn_attr 2002-01-01 09:18:34 +00:00
Howard Chu
743c402265 Changed search attrs from struct berval ** to AttributeName * 2001-12-31 11:35:52 +00:00
Howard Chu
07b4ad7fa2 Use dnIsSuffix 2001-12-30 10:47:28 +00:00
Howard Chu
185ff129b5 Change struct berval * to struct berval in various structures 2001-12-29 15:01:10 +00:00
Howard Chu
dd59babf43 More cleanup 2001-12-29 10:25:19 +00:00
Howard Chu
68daf5bee9 Misc cleanup 2001-12-29 05:44:37 +00:00
Howard Chu
975a5e9a24 Added dnPretty2/dnNormalize2 using preallocated destination berval 2001-12-29 04:48:00 +00:00
Howard Chu
c4b432cb3f Fix newSuperior handling. Back out previous commit. 2001-12-29 02:56:08 +00:00
Howard Chu
514f605ef5 Fix modrdn newSuperior checks 2001-12-28 09:48:52 +00:00
Howard Chu
d6a37432bd Changed dn_rdn/dn_rdnlen to struct berval 2001-12-28 08:38:24 +00:00
Kurt Zeilenga
cddf7e0e00 More struct berval DN changes
decrease dependency on dn_validate/dn_normalize
2001-12-27 07:13:13 +00:00
Howard Chu
ef31250591 More struct berval fixes 2001-12-27 01:38:15 +00:00
Howard Chu
3e826ae1c7 More struct berval fixes for modrdn 2001-12-27 00:58:14 +00:00
Kurt Zeilenga
b503ca65ee Misc cleanup 2001-12-27 00:31:55 +00:00
Kurt Zeilenga
b144879650 Quick struct berval DN support for defer alias API.
Underlying code needs work.
2001-12-27 00:26:59 +00:00
Kurt Zeilenga
3a8f99a24d add group.c 2001-12-27 00:18:09 +00:00
Kurt Zeilenga
f2eadedd5f Quick patch to support struct berval dn2entry changes 2001-12-27 00:10:44 +00:00
Kurt Zeilenga
467213affd Update groups to use struct berval DNs. 2001-12-26 23:49:19 +00:00
Kurt Zeilenga
a553a03586 More struct berval DNs changes 2001-12-26 23:43:28 +00:00
Howard Chu
e8fa25a215 Changed Filter.f_dn to struct berval* 2001-12-26 23:37:59 +00:00
Howard Chu
66dc664930 Some more (incomplete) struct berval conversion 2001-12-26 23:26:17 +00:00
Kurt Zeilenga
21cecb3831 Update referral handling to use struct berval DNs. 2001-12-26 20:59:24 +00:00
Kurt Zeilenga
bd0135ccb4 Move search, modify, and modrdn APIs to struct berval DNs.
Much clean up is needed.
2001-12-26 19:50:40 +00:00
Kurt Zeilenga
24a4d888dc move compare and delete to struct berval DNs 2001-12-26 19:05:26 +00:00
Kurt Zeilenga
d64ec6ee0d modify be_referral to use struct berval DNs. 2001-12-26 17:40:34 +00:00
Howard Chu
2a3dc7ab8f Moved bdb_strcopy to slap_strcopy 2001-12-26 15:52:46 +00:00
Howard Chu
d0add35348 Changed get_limits to struct berval* 2001-12-26 15:28:01 +00:00
Howard Chu
d474789d0d First pass at converting bind to struct bervals 2001-12-26 11:41:38 +00:00
Howard Chu
68b1bbb89d Changed search attrs to struct berval **.
Use typedefs for all backend functions, to minimize work in future API
updates. (back-*/external.h will never need updating in the future.)
2001-12-26 08:17:44 +00:00
Howard Chu
34214776d1 Minor cleanup 2001-12-26 06:21:06 +00:00
Kurt Zeilenga
2dd27b0786 More struct berval DNs 2001-12-25 19:48:26 +00:00
Kurt Zeilenga
7431cb9eee FIx up replog calls, add replog call to bdb passwd 2001-12-25 18:20:35 +00:00
Kurt Zeilenga
ae0a17fa4e Adjust e_name.bv_len on modrdn 2001-12-25 03:03:03 +00:00
Kurt Zeilenga
5ee89d6167 Use struct berval DNs for root DN and update DN 2001-12-25 00:05:26 +00:00
Howard Chu
a61b777cdc Fix uninitialized struct berval* to avoid assert in dnNormalize 2001-12-24 20:12:30 +00:00
Kurt Zeilenga
f6085d3f82 Every quick mod to use a struct berval for e_dn/e_ndn. No bv_len yet. 2001-12-24 16:53:47 +00:00
Howard Chu
2f3399265c Changed sai_dn, sai_ndn to struct berval. (Affects op->o_dn,o_ndn,
conn->c_dn,c_ndn, Access->a_dn_pat)
2001-12-24 15:11:01 +00:00
Kurt Zeilenga
883196d348 Clean up some symbol scoping 2001-12-24 06:36:44 +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
7c8c5213b1 BDB_MULTI still needs the dupsort function. 2001-12-18 04:41:40 +00:00
Howard Chu
4ddb7c5730 Use a 4-byte constant for the presence index key. Set the index db hash
function to simply pass thru the key value, which is already a hash value.
2001-12-16 14:21:47 +00:00
Howard Chu
bf61a1ca9d Use DB_HASH instead of DB_BTREE for index databases. Since index keys are
mainly 4-byte hashes already, there is no locality-of-reference to exploit
as a Btree. About a 7% performance gain.
2001-12-15 23:21:37 +00:00
Howard Chu
4ed4b3f0c0 Revert previous checkin, DB_NODUPDATA is not valid on db->set_flags().
It must be specified on individual put() operations (and already is).
2001-12-15 23:00:46 +00:00
Howard Chu
335294e190 More cleanup for bdb_db_close 2001-12-15 08:11:59 +00:00
Howard Chu
ce81cef289 Do a regular entry_free on entries from do_add 2001-12-15 06:25:47 +00:00
Howard Chu
67a64c2935 Fixed suffix DN_SUBTREE again. Index was still being written even though
it was not being read.
2001-12-10 18:09:07 +00:00
Howard Chu
75064ce91d Fix check for DN_SUBTREE on be suffix 2001-12-10 16:59:37 +00:00
Howard Chu
efe8ac1bf9 Revert previous commit. Checked in by mistake. 2001-12-10 12:25:24 +00:00
Howard Chu
ef0b308bea Changed backglue configuration. Added noSubordinates arg to select_backend
to deal with glued subordinates.
2001-12-10 12:09:40 +00:00
Kurt Zeilenga
30831a4012 misc cleanup 2001-12-09 18:57:46 +00:00
Kurt Zeilenga
abd9be4def Remove lint and misc MSVC updates 2001-12-09 02:34:45 +00:00
Howard Chu
109307547e Clean up bdb_entry_release / bdb_entry_return 2001-12-09 01:14:32 +00:00
Howard Chu
21c5674d34 Fix previous commit... 2001-12-08 13:07:01 +00:00
Howard Chu
fd93e0721b Cleanup previous commit 2001-12-08 11:15:55 +00:00
Howard Chu
ad9d17d537 Added dn_rdnlen. Fixed rdn leak in limits.c. 2001-12-08 11:08:26 +00:00
Howard Chu
e2c2de11c3 Converted all use of dn_parent to the in-place version. (Fixed a pdn leak
in back-sql along the way.)
2001-12-08 10:37:42 +00:00
Howard Chu
a06bc9007c Switched to dn_parent1, cleaned up dn2id_add/delete 2001-12-08 10:10:04 +00:00
Howard Chu
2721df21d4 Changed be_nsuffix from char ** to struct berval **, removed nsufflen 2001-12-08 05:17:31 +00:00
Howard Chu
55a217d9ae Changed be_nsuffix from char ** to struct berval ** to eliminate strlen's 2001-12-08 05:15:58 +00:00
Kurt Zeilenga
e2173e3c20 Disallow duplicate duplicate data 2001-12-08 04:30:23 +00:00
Howard Chu
840a8c95ed Fix typos in previous commit 2001-12-08 01:16:10 +00:00
Kurt Zeilenga
d46252fb21 Port reference scope fix from back-ldbm 2001-12-07 22:41:43 +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
efa14463ec Missed a spot where root DN_SUBTREE index was still getting written. 2001-12-07 06:48:12 +00:00
Howard Chu
66266f9c25 Bare minimum changes to support BDB 4.0 2001-12-07 05:05:00 +00:00
Howard Chu
0552b1c53f NT updates from jon@symas.com. 2001-12-07 04:03:25 +00:00
Howard Chu
a19a5d8c15 When using BDB_IDL_MULTI, there are no longer any issues with storing
large IDLs. Concurrency is improved by using as small a page size as
possible. So, set the pagesize back to the default 4096 in this case.
2001-12-07 01:40:08 +00:00
Howard Chu
11b3c142e4 Fix for BDB_IDL_MULTI to work. 2001-12-06 14:15:47 +00:00
Howard Chu
859e283834 Experimental index management. Uncomment BDB_IDL_MULTI in back-bdb.h
to activate. Needs to check limits in bdb_idl_insert_key, will get to
that later.
2001-12-06 13:20:18 +00:00
Howard Chu
6a5a30ec34 Fix previous commit 2001-12-06 03:29:23 +00:00
Howard Chu
6e0861b671 Minor rearrangement, give pdn to dn2id_add to avoid getting it twice. 2001-12-06 03:26:37 +00:00
Howard Chu
52beecbdf4 Fix, index databases were not being closed on shutdown. 2001-12-06 03:24:09 +00:00
Howard Chu
19c7fd49ca tool_reindex now regenerates the dn2id index as well as the others. 2001-12-05 01:36:18 +00:00
Howard Chu
8697aa4b8d Fixup bdb_entry_release now that entry_decode uses two memory blocks
instead of just one.
2001-12-05 00:24:13 +00:00
Kurt Zeilenga
493b415255 Rework indexing code, removing "autolang" and making
"subtypes" and "lang" default behavior.
2001-12-05 00:06:03 +00:00
Howard Chu
180e1d5269 Don't maintain a DN_SUBTREE index for the backend suffix, just return
BDB_IDL_ALL. This has a huge impact on I/O and txn logs.
2001-12-03 14:04:06 +00:00
Howard Chu
70a900e34e Rewrote entry_encode/entry_decode again, uses 50% less disk space. 2001-12-03 14:00:19 +00:00
Howard Chu
d68b891ced In presence_candidates(), always return a full match for objectClass. 2001-11-30 01:21:52 +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
5d8f2b8ba6 Cleanup a while() loop. 2001-11-27 22:10:01 +00:00
Kurt Zeilenga
2ac7c91cae Replace existing SLAP_MR_ matching flags with:
SLAP_MR_ASSERTION_SYNTAX_MATCH
	SLAP_MR_VALUE_SYNTAX_MATCH
	SLAP_MR_VALUE_SYNTAX_CONVERTED_MATCH,
add supporting evaluation macros, and update code as needed.
Misc other code cleanup included.
2001-11-27 21:59:56 +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
Howard Chu
0a25cddcf3 Fix segv in slapcat. Tool must use be_entry_return to free entries
returned from the backend.
2001-11-27 09:34:53 +00:00
Howard Chu
91f47e0ee6 Add #define SLAP_BDB_ALLOW_DBNOTXN to control dbnotxn keyword 2001-11-27 04:35:58 +00:00
Kurt Zeilenga
d5d801d152 Misc code cleanup 2001-11-27 03:41:03 +00:00
Howard Chu
323689da57 Added "dbnotxn" config keyword. If present, back-bdb uses DB_INIT_CDB
(Concurrent Data Store mode) instead of DB_INIT_TXN. Faster, but tends
to impede writers.
2001-11-27 02:35:20 +00:00
Howard Chu
78066c08c0 Fixed exit code processing. passwd.c never committed its password change
tranasaction.
2001-11-27 01:09:19 +00:00
Howard Chu
763faf21b1 Some tweaks to cut down on IDL stack usage. idl_intersection and idl_union
now take only two arguments instead of 3, overwriting the result onto the
first argument. (glibc2.0.7 defaults to a 2MB stack per thread; 3 IDLs at
1.5MB plus various other runtime overhead is enough to trash the stack.)
Also pass in a tmp IDL from search_candidates instead of allocating it in
each candiate function.
2001-11-26 19:32:39 +00:00
Howard Chu
df28982b43 More indexing fixes. Now passes tests 0-7, 10, and 11. 2001-11-24 12:41:54 +00:00
Howard Chu
13696c0b22 Fixed exit condition code checks and log msg, was returning fail on success. 2001-11-24 12:28:52 +00:00
Howard Chu
ad5e8c9e16 Removed unused "range" argument from indexing functions. Fixed more
bugs in indexing. Uncommented #define to turn on indexing in back-bdb.h.
It looks like it's working.
2001-11-24 03:46:02 +00:00
Howard Chu
939028b43f Fixed initialization bug. 2001-11-24 03:44:28 +00:00
Howard Chu
02b464b684 Fix initialization bugs 2001-11-24 03:43:52 +00:00
Howard Chu
49e3e8899d Fix typo that prevented rootdn logins. 2001-11-24 02:40:59 +00:00
Howard Chu
5657b6ec4e equality_candidates: s/BDB_IDL_RANGE_CPY/BDB_IDL_CPY/ 2001-11-17 04:51:08 +00:00
Howard Chu
02936edd27 First pass at indexing cleanup. Both filterindex.c and search.c now
compile cleanly when BDB_FILTER_INDICES is defined, but I have not
yet seen whether any of it actually works. In particular, I don't
understand the "range" argument to the candidate functions...
2001-11-17 04:41:47 +00:00
Pierangelo Masarati
d51dc13a0b moved the empty dn static entry into a global const object 2001-11-16 17:05:32 +00:00
Pierangelo Masarati
4c283cfe65 update dn can add/modrdn/delete entries rooted at '' (according to ACLs) 2001-11-16 15:06:18 +00:00
Pierangelo Masarati
563694039f check children access for old and new parent when = '' 2001-11-16 15:00:03 +00:00
Howard Chu
a3ded4782e Changed AttributeType.sat_cname from char * to struct berval.
Forced SLAP_USE_AD code, removed ifdefs of old code. filterindex.c is
still badly broken when BDB_FILTER_INDICES is defined, working on that...
2001-11-16 08:18:58 +00:00
Pierangelo Masarati
0ebba25d99 hack to make '' base work; please check side-effects 2001-11-14 17:27:24 +00:00
Pierangelo Masarati
098c4a15d4 fix a couple of misformats 2001-11-14 16:17:30 +00:00
Pierangelo Masarati
a8437c2038 non-root add/delete of entries rooted at '' checks children write permission (forward port from back-ldbm) 2001-11-14 16:09:33 +00:00
Kurt Zeilenga
525cd6f783 Port ITS#1430 changes from ldbm 2001-11-13 19:45:47 +00:00
Howard Chu
0b037b5566 Added bdb_attribute and bdb_group ACL support routines 2001-11-12 20:52:25 +00:00
Howard Chu
efb6c24f6b Fix missing case 2001-11-12 20:28:23 +00:00
Pierangelo Masarati
afd0037eda Fixes ITS#1433 2001-11-12 17:12:43 +00:00
Kurt Zeilenga
f8611a1296 Don't use indices to support not [!] filters.
Use pres indices to support LE/GE [<=,>=] filters.
2001-11-05 17:25:44 +00:00
Howard Chu
e47e31ad0a Fix for dbnosync - DB_TXN_NOSYNC is not a valid flag for dbenv_open,
must be set later using dbenv_set_flags.
2001-11-05 07:01:12 +00:00
Howard Chu
09cddf9188 Ported referral patches from back-ldbm. I believe search.c still needs
the patch from ITS#1289 to be ported here.
2001-11-05 06:24:11 +00:00
Julio Sánchez Fernández
aee598dba7 Remove bogus refusal to index ;binary attributes. Notice that I left
in a check.  This way you have to say:

	index userCertificate eq

If we remove it, we could say:

	index userCertificate;binary eq

I have not tried the latter.
2001-10-23 13:42:37 +00:00
Julio Sánchez Fernández
bf5ea315b6 Compares get values in the matching rule syntax (see RFC2251, 4.1.7),
so we need to tell value_find about this.
2001-10-23 09:48:18 +00:00
Howard Chu
0185b79559 Don't free entries since the tools realloc the buffers. 2001-10-22 15:58:44 +00:00
Howard Chu
11d884b8cf Fix some uninitialized variables 2001-10-22 15:57:58 +00:00
Howard Chu
c05de965b5 Moved binary entry_encode/entry_decode into main code. Removed lber version. 2001-10-22 14:07:42 +00:00
Howard Chu
0e16f6acf9 Moved AttributeDescription caching into main code:
Changed AttributeDescription.{ad_cname,ad_lang} to struct berval everywhere
   Deleted ad_free() everywhere
   Added ad_mutex to init.c

The AttributeDescriptions are in a linked list hanging off of the
corresponding AttributeType.
2001-10-22 13:23:05 +00:00
Howard Chu
ce6243f009 Patches for modify/modrdn to work with BDB_USE_BINARY_RW. 2001-10-19 20:28:48 +00:00
Howard Chu
98d6a4f2bf Added new bdb_encode/bdb_decode functions, must #define BDB_USE_BINARY_RW
to activate. The bdb_decode works in-place on the db data. Add/Search are
OK, I think Modify needs to be tweaked. Don't use this yet unless you want
to help finish it.
2001-10-19 11:53:15 +00:00
Kurt Zeilenga
d6730e5f50 BDB updates... haven't had a chance to work on this for a while,
committin what I have so that someone else might be able to work it.
2001-10-13 16:55:54 +00:00
Kurt Zeilenga
78adfde54e BDB_INDEX code does no harm (but no good yet, not used by filters yet). 2001-10-05 20:12:16 +00:00
Kurt Zeilenga
9f1fc48659 Another round. BDB_INDEX almost ready for functional testing. 2001-10-05 17:00:21 +00:00
Kurt Zeilenga
96e0038832 Initial idl fetch code, undef BDB_INDEX for now, other cleanup 2001-10-05 01:19:58 +00:00
Kurt Zeilenga
5160da05e5 Add some initial BDB_INDEX code... needs much work. 2001-10-04 22:29:34 +00:00
Kurt Zeilenga
3120d37951 More changes to let BDB build without LDBM. 2001-10-04 06:34:03 +00:00
Kurt Zeilenga
9b98f46a5e Add prelim index code from LDBM, needs work... 2001-10-04 02:55:09 +00:00
Kurt Zeilenga
433eb73ef8 Add BDB_INDEX error handling 2001-10-03 23:49:38 +00:00
Kurt Zeilenga
3ad55b225e Add error handling to BDB_INDEX code 2001-10-03 23:39:29 +00:00
Kurt Zeilenga
191853eb51 An incremental step. 2001-10-03 23:28:20 +00:00
Kurt Zeilenga
0135c8dbb1 Add BDB index config code 2001-10-03 21:11:52 +00:00
Kurt Zeilenga
292b6c8757 Replace #if 0 with #if MACRO 2001-10-03 20:34:00 +00:00
Kurt Zeilenga
86a680a4ec Enable management of attribute indices. Not yet used by test_filter. 2001-10-03 20:20:29 +00:00
Pierangelo Masarati
8a3768276a candidate check using new macro from Kurt 2001-10-02 19:15:05 +00:00
Kurt Zeilenga
773b1907d2 Add BDB_IDL_N() macro for ando 2001-10-02 19:04:12 +00:00
Pierangelo Masarati
becb7ff0ce forward porting of time/size limits from back-ldbm (pending the definition of the most appropriate way to determine the number of candidates) 2001-10-02 12:00:01 +00:00
Pierangelo Masarati
4ac9b37db7 forward porting of empty parent dn checks from back-ldbm 2001-10-02 10:44:14 +00:00
Pierangelo Masarati
5544720505 forward porting of composite rdn handling from back-ldbm 2001-10-02 10:39:04 +00:00
Kurt Zeilenga
c45a6f5c23 Fix up binary search 2001-09-26 03:50:48 +00:00
Kurt Zeilenga
5f4d8a71e6 Use a 64MB stack (instead of a 64K on some systems) by default.
This should be tunable...
2001-09-26 02:35:41 +00:00
Kurt Zeilenga
8c758b34f8 Fix build errors 2001-09-26 01:54:39 +00:00
Kurt Zeilenga
37d44620a5 idl_check for back-bdb 2001-09-25 23:56:49 +00:00
Kurt Zeilenga
50223981d9 Fix typo 2001-07-31 07:53:21 +00:00
Kurt Zeilenga
b09727567d Clean up 2001-07-31 04:55:14 +00:00
Kurt Zeilenga
60c4893b93 Last changes should have been #ifdef 2001-07-31 04:30:11 +00:00
Kurt Zeilenga
0bcc892fdf Fix basic operations 2001-07-31 04:24:29 +00:00
Kurt Zeilenga
ca7ba1a3fd Fix slapadd crash when only a subset of databases have been initialized.
Likely should have a general solution to this.
2001-07-31 00:16:44 +00:00
Kurt Zeilenga
bee0650d9c Work in progress codes. !UNTESTED! 2001-06-15 07:08:37 +00:00
Kurt Zeilenga
5eaa8fc85f Fix error text bugs 2001-03-15 03:02:23 +00:00
Kurt Zeilenga
e0e0b255f7 Fix typo in $SRCS 2001-03-15 03:01:54 +00:00
Kurt Zeilenga
468664c443 Adjust result code when entry is not found to noSuchObject 2000-10-11 18:19:26 +00:00
Kurt Zeilenga
492bb0263f Fix thread handling and error printing 2000-10-01 19:21:07 +00:00
Kurt Zeilenga
bd9e1b772c Fix no_threads build 2000-09-30 01:04:43 +00:00
Kurt Zeilenga
283a8f1b4f Add dead lock detection thread. 2000-09-29 00:18:29 +00:00
Kurt Zeilenga
160bf00975 Disable debugging 2000-09-28 22:25:19 +00:00
Kurt Zeilenga
11ba8fcf8f report retries 2000-09-28 18:29:50 +00:00
Kurt Zeilenga
819b5303da Add txn_checkpoint()'ing
disable moddn/newSuperior (needs re'IDing)
2000-09-28 04:09:13 +00:00
Kurt Zeilenga
f106722ebf working modrdn...
(need to fix leaks on transaction retries)
2000-09-28 02:42:20 +00:00
Kurt Zeilenga
67a595b328 fix up bdb_entry_return() calls 2000-09-28 02:27:49 +00:00
Kurt Zeilenga
fe23e0b875 Fix idl_insert... add/modify/delete now working w/ binary IDL search!
Leave debugging in place until post indexing work.
2000-09-28 01:27:01 +00:00