Commit Graph

611 Commits

Author SHA1 Message Date
Howard Chu
51e10cf23c Save DB_LOCK structure so it can be released later. 2003-03-26 13:33:51 +00:00
Howard Chu
c9ec6b0cab Remove attribute.c, group.c from build 2003-03-26 11:52:59 +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
f14561d59d #if out unused cache rdwr locks 2003-03-25 20:17:05 +00:00
Howard Chu
b672620eb8 Simplify indexer - remove redundant dbname parameter 2003-03-25 18:17:34 +00:00
Howard Chu
880b9f15ac ITS#2392 - move cache_commit inside transaction. needs lock protection,
and the lock goes away after txn_commit. Not sure what to do about the
cache if txn_commit actually fails though. Since txn_prepare succeeded,
should never happen. ???
2003-03-25 17:49:35 +00:00
Howard Chu
3fe42f68c8 SLAP_NVALUES fix 2003-03-24 17:28:26 +00:00
Howard Chu
5ad51b6150 SLAP_NVALUES tweaks - after input, a_nvals is always populated. If there is
no normalizer, a_nvals = a_vals.
2003-03-24 01:56:56 +00:00
Howard Chu
79f3ea6e80 BDB_HIER was defined by accident, undef
Fix up for SLAP_NVALUES_ON_DISK
2003-03-23 15:27:43 +00:00
Howard Chu
329202e897 Plug ndn leak (re: ITS#2390) 2003-03-22 16:59:41 +00:00
Kurt Zeilenga
8a7114e152 ITS#2390 fix for back-bdb 2003-03-22 16:38:31 +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
Kurt Zeilenga
6c7a1194c3 reorder to statements for debugging purposes 2003-03-16 18:48:44 +00:00
Kurt Zeilenga
676349481f SLAP_NVALUES updates 2003-03-16 06:03:23 +00:00
Kurt Zeilenga
3972e13fc3 NVALUES: fix a couple of value_find_ex() calls 2003-03-15 22:47:17 +00:00
Howard Chu
44be38c0f0 ITS#2371, fix BDB_SUBDIRs 2003-03-13 15:53:19 +00:00
Kurt Zeilenga
e12aec25f4 minor cleanup 2003-03-13 04:16:18 +00:00
Howard Chu
a2a5ef48be ITS#2368 - fix deleting key from range IDL 2003-03-12 21:18:39 +00:00
Howard Chu
f2223ede5b Fix error messages 2003-03-12 21:16:43 +00:00
Jong Hyuk Choi
c1da85eba0 Error checking code for ITS#2367 2003-03-12 16:37:04 +00:00
Jong Hyuk Choi
0d0d5ffddf declaration of bdb_idl_entry_cmp() 2003-03-12 16:36:28 +00:00
Jong Hyuk Choi
2e31af9ca1 AVL delete upon shutdown (ITS#2367) 2003-03-12 16:34:17 +00:00
Howard Chu
009afb4bd7 Fix cache consistency problems on txn retry 2003-03-12 15:20:51 +00:00
Howard Chu
1e5de87e10 Plug memory leaks:
retrying a modrdn leaked DNs, rdns, etc.
	modifying a cached entry leaked attrs
2003-03-12 13:04:23 +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
Kurt Zeilenga
0f0122abdd need to use ch_malloc/realloc 2003-03-09 20:15:30 +00:00
Jong Hyuk Choi
5db7e20cf1 misc : not activating idl cache in tool mode run 2003-03-05 03:34:59 +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
Pierangelo Masarati
498f8a7454 init var 2003-03-03 21:33:29 +00:00
Pierangelo Masarati
14d64852e8 trim unnecessary varaible 2003-03-01 12:12:12 +00:00
Kurt Zeilenga
47b18c9a51 SLAP_NVALUES: index normalized values 2003-03-01 05:17:44 +00:00
Howard Chu
22e88ffb75 Fix LDAP_LOG arg 2003-02-28 05:24:08 +00:00
Howard Chu
4e01c67966 ITS#2336 - Don't allow rename on subtrees. 2003-02-28 05:18:29 +00:00
Kurt Zeilenga
152829be87 SLAP_NVALUES:
schema engine updated (but not schema routines so things don't run yet)
	nvalues mostly populated, enough for tests 0-2 to pass
	schema routines needs lots of work
	modify/mods codes needs lots of work
2003-02-27 01:54:43 +00:00
Howard Chu
321780eb66 Complain about holes in database at end of slapadd 2003-02-26 15:33:20 +00:00
Howard Chu
1e718b1815 Delete extraneous log msg 2003-02-26 12:57:15 +00:00
Howard Chu
d7aac0a9d5 Only check opinfo.boi_err when ACL check failed. 2003-02-26 12:49:21 +00:00
Howard Chu
18554e7511 Fix attribute/group to allow TXN to abort on lock failure. Save and
restore op->o_do_not_cache on TXN retry, bdb_group will set it if it
fails to get a lock.
2003-02-26 12:09:10 +00:00
Howard Chu
00837465c4 Don't need TXN/opinfo support in read-only operations 2003-02-26 11:45:30 +00:00
Howard Chu
bda79780ce ITS#2122 - actually use the passed in txn handle!! 2003-02-26 10:48:02 +00:00
Howard Chu
3505c326da bdb_entry_return must explicitly check for/free attr nvals. 2003-02-26 10:10:13 +00:00
Kurt Zeilenga
dd66e6e929 SLAP_NVALUES, round 3 2003-02-26 07:39:30 +00:00
Kurt Zeilenga
25886d989a Change MR flag names and add comments as to what they mean to slap.h 2003-02-26 02:55:28 +00:00
Kurt Zeilenga
a65a55d385 SLAP_NVALUES: fix up modify password exop 2003-02-25 22:57:53 +00:00
Kurt Zeilenga
6390e947b0 SLAP_NVALUES, round 2 2003-02-25 22:49:41 +00:00
Jong Hyuk Choi
71ca4d51f1 log message fix 2003-02-25 21:15:26 +00:00
Howard Chu
4c760dfc18 Fix? For bdb_cache_find_entry*, COMMITTED entries are usable, not just
READY entries. This change eliminates a retry bottleneck, and looks safe
to me, but please review.
2003-02-22 12:39:49 +00:00
Howard Chu
c756bf0590 Change - bdb_tool_entry_put always "sorts" entries:
instead of just calling bdb_next_id, it calls bdb_dn2id to see if the
    current entry already has an ID. If so, it uses it.
  if not, it recurses to see if its parent exists, and does dn2id_add from
    the database suffix back to the current entry.
2003-02-21 10:13:20 +00:00
Howard Chu
65bf90ff73 Use struct berval for exop reqoid everywhere. Define berval constants
for the known exops.
2003-02-16 06:15:28 +00:00
Howard Chu
1756206598 Use bdb_unlocked_cache_return; lock ended when TXN ended. 2003-02-14 22:30:07 +00:00
Kurt Zeilenga
1a14def903 Use function pointers to get at backend routines. 2003-02-14 20:51:35 +00:00
Kurt Zeilenga
737f4b0d34 Misc LCUP cleanup 2003-02-09 08:43:20 +00:00
Kurt Zeilenga
282f6bc32d Cancel exop updates 2003-02-09 05:54:45 +00:00
Kurt Zeilenga
c04e9ac993 rename "permit modify" control to "permissive modify"
rename "no referrals" controls to "domain scope"
misc cleanup
2003-02-09 05:39:21 +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
Kurt Zeilenga
1862077b24 Use DB_VERSION_ to set BDB_ENOUGH 2003-02-08 07:38:22 +00:00
Kurt Zeilenga
d1287dd341 Reword BDB 4.0 bug comment now that configure requires BDB 4.1 2003-02-08 01:34:27 +00:00
Kurt Zeilenga
cca15d41c9 minor code cleanup 2003-02-08 00:57:21 +00:00
Kurt Zeilenga
3737a1c8c4 cleanup 2003-02-07 20:33:05 +00:00
Jong Hyuk Choi
886179fbca cleanup 2003-02-07 20:16:09 +00:00
Jong Hyuk Choi
82115be0fb use of normalized dn (fix for a deadlock case ITS#2195) 2003-02-07 15:59:24 +00:00
Jong Hyuk Choi
55cf8bbd88 use of pre-assigned locker in bdb_group() / bdb_attribute() 2003-02-07 15:47:32 +00:00
Pierangelo Masarati
08d9d56721 more exaustive logging in case of trouble 2003-02-07 13:46:17 +00:00
Jong Hyuk Choi
85bdf79337 Filename change : servers/slapd/back-bdb/lcup.c -> servers/slapd/back-bdb/psearch.c 2003-02-05 07:43:00 +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
945c9fb1c7 Tweak previous commit 2003-01-31 19:44:52 +00:00
Howard Chu
f838a4bb53 Fix subtree and matched search in back-hdb 2003-01-31 19:43:14 +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
Jong Hyuk Choi
0c43007e55 LDAP cancel operation 2003-01-25 00:36:50 +00:00
Hallvard Furuseth
bf8bbc27fe Fix typo in comment. 2003-01-24 20:12:50 +00:00
Howard Chu
eb459f4339 Delete redundant ch_free(). 2003-01-24 04:26:04 +00:00
Luke Howard
819d4093ae Honour PermitModify control when adding or deleting values. This code needs
review although, with the control disabled, it should not affect existing
code paths.
2003-01-24 01:43:09 +00:00
Kurt Zeilenga
521d8384a1 works without SLAPI 2003-01-20 20:18:53 +00:00
Hallvard Furuseth
6a51371fc5 Silence gcc warnings (signed vs. unsigned, implicit declarations, unused vars). 2003-01-19 15:03:25 +00:00
Hallvard Furuseth
265b7e22c6 Insert missing initializers, to silence gcc warnings. 2003-01-19 13:38:44 +00:00
Hallvard Furuseth
1fbbc11811 Fix LBER_ERROR vs. -1 confusion. 2003-01-19 13:10:17 +00:00
Kurt Zeilenga
6939c53170 Happy new year 2003-01-03 20:20:47 +00:00
Kurt Zeilenga
887c21c53e Fix typo in last commit 2002-12-30 04:23:31 +00:00
Kurt Zeilenga
a4ad2eea17 ACL cleanup
Likely needs more deadlock detection checks
2002-12-30 01:12:10 +00:00
Kurt Zeilenga
ed471a4d53 Fix access_allowed() error checking bug 2002-12-30 01:02:31 +00:00
Pierangelo Masarati
f148506bf6 reworking of error handling (should also fix ITS#2235) 2002-12-27 18:08:27 +00:00
Howard Chu
89ab02479d Use ber_flatten2 2002-12-18 19:17:15 +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
Hallvard Furuseth
2bcb48361d Remove casts of AVL function pointers. 2002-12-14 22:25:52 +00:00
Hallvard Furuseth
ff2a3201cb Call node_find_cmp() with (void *)&ulong instead of (void *)ulong.
The old code assumed sizeof(long) == sizeof(void *), among other things.
2002-12-14 21:01:08 +00:00
Hallvard Furuseth
486eaa69b6 Rename "lang(uage)" to "tag(s)". (Cleanup after attribute options patch.) 2002-12-13 19:15:20 +00:00
Howard Chu
e39f9848ac Fix previous commit, check for dup in avl_insert 2002-12-10 20:56:08 +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
Howard Chu
d4a422329b From ITS#2183, use a long-lived IDL stack per thread. 2002-12-10 17:59:21 +00:00
Howard Chu
09679eb715 Added SLAP_MR_VALUE_NORMALIZED_MATCH, avoid redundant normalize when
calling value_find with already-normalized DNs
2002-12-04 18:19:46 +00:00
Julius Enarusai
9b5ec8f43b Fixed minor compile errors in LDAP_LOG debug statements. 2002-12-03 17:06:58 +00:00
Pierangelo Masarati
a7c5307279 perhaps the assert can be removed; should work now 2002-11-28 08:25:12 +00:00
Kurt Zeilenga
8754c8f2a3 #unifdef paged results, remove lint 2002-11-28 04:38:41 +00:00
Kurt Zeilenga
4e223d588b Reorder header inclusion to resolve ITS#2204. 2002-11-26 20:22:24 +00:00
Pierangelo Masarati
415a8d325f add limits to entries count for paged results 2002-11-21 20:49:02 +00:00
Pierangelo Masarati
2b639068b6 seems to be leaking a ber 2002-11-21 20:21:22 +00:00
Pierangelo Masarati
59aea47963 improve limits handling and consistency; return "Admin limit exceeded" instead of "Unwilling to perform" 2002-11-21 12:58:59 +00:00
Pierangelo Masarati
b26ecba01a - allow interactive pagedResults size change
- implement pagedResults abandon by setting size=0
- misc code cleanup
2002-11-21 03:36:37 +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
Stig Venaas
0f86bbde87 Fix referrals and alias. For ldbm and I think for bdb, this is necessary
now that we normalize to lower case. Should be merged into 2.1.
2002-10-31 16:48:04 +00:00
Jong Hyuk Choi
ca8ab9d809 changes in bdb_psearch() - search scope check 2002-10-29 08:05:45 +00:00
Jong Hyuk Choi
3a9229a3e9 Use of slap_schema.si_ad_entryUUID in bdb_psearch() 2002-10-28 23:57:54 +00:00
Kurt Zeilenga
293158f432 code cleanup 2002-10-27 03:42:32 +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
15c5943edd Addition of servers/slapd/lcup.c and servers/slapd/back-bdb/lcup.c for persistent search 2002-10-25 17:57:03 +00:00
Jong Hyuk Choi
8074294f1d LCUP persistent search code drop 2002-10-25 17:51:30 +00:00
Kurt Zeilenga
2b2e406b46 Make sure that newSuperior isn't old superior 2002-10-25 01:09:50 +00:00
Kurt Zeilenga
cb73d243fb More "entry" level ACLs for entry add, delete, and rename. 2002-10-07 19:19:29 +00:00
Kurt Zeilenga
d19db4b7ed Fix up last commits 2002-10-04 23:42:27 +00:00
Kurt Zeilenga
9fbcc90bd5 Add "entry" ACL checks for add/delete/rename ops 2002-10-04 23:26:28 +00:00
Kurt Zeilenga
33248a02e1 Code cleanup (no functional changes) 2002-10-01 04:07:55 +00:00
Howard Chu
104f8cc409 Simpler fix for NO_THREADS 2002-09-19 06:34:53 +00:00
Howard Chu
ff9e580d33 Updated BDB_HIER for current API 2002-09-19 06:08:12 +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
a1da292989 Wrap csn filter frees with sync mode check. 2002-09-15 22:42:50 +00:00
Kurt Zeilenga
0ad91236fd Add LDAP_CONTROL_CLIENT_UPDATE to list of supported controls 2002-09-15 22:28:38 +00:00
Kurt Zeilenga
2a9783bd5e Fix typos in last commit 2002-09-15 22:13:25 +00:00
Kurt Zeilenga
629a0219f2 Cleanup up LDAP_CLIENT_UPDATE code... including some bug fixing. 2002-09-15 21:08:34 +00:00
Jong Hyuk Choi
1509e321de LCUP Response Control Code 2002-09-14 00:29:06 +00:00
Howard Chu
3e61f0630d Fix ITS#2082, bdb_idl_intersection 2002-09-13 20:19:56 +00:00
Howard Chu
7e493b87be Fix debug messages 2002-09-13 20:19:15 +00:00
Howard Chu
a8297e6d22 Fix test of uninit'd rc at LOCK_ID 2002-09-13 12:32:08 +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
Kurt Zeilenga
e6fdfd4cee only optimize objectClass filters when (objectClass=*) is
presented... avoids (&(objectClass=*)(objectClass=foo)) problems.
2002-09-09 23:25:22 +00:00
Howard Chu
9953574b47 Fix: if slapadd was used with an un-ordered LDIF file, we can't rely on
entries having ascending entry IDs. Always start from the beginning of
the candidate list. (This should be fine in the general case as well,
since the subtree index will also have refined the candidates.)
2002-09-09 04:24:38 +00:00
Kurt Zeilenga
37d9880495 Some LCUP clean up 2002-09-06 00:29:20 +00:00
Kurt Zeilenga
ab80b03057 back_attribute() should use ACL_AUTH not ACL_READ (at
least for current callers, may need to pass it the
permission level)
2002-09-05 02:37:10 +00:00
Jong Hyuk Choi
4b48c05a8e LDAP Client Update Protocol - non-persistent update (TODO: response control ...) 2002-09-04 02:00:42 +00:00
Pierangelo Masarati
966dd1bdca definitely fix NOOP in back-bdb 2002-08-31 17:03:42 +00:00
Pierangelo Masarati
0d5fe062e2 improved support for NOOP; add is fine, the other write funcs still need work 2002-08-31 12:00:39 +00:00
Pierangelo Masarati
aea52e5bc9 define macros for appropriate sizing of lutil buffers 2002-08-31 10:48:02 +00:00
Howard Chu
0614b5fdbf Fix unindent commit 2002-08-30 11:48:47 +00:00
Howard Chu
4a3a557827 Use DB_NODUPDATA when adding IDs. Silence log for DB_NOTFOUND in delete_key,
let caller log it if they care.
2002-08-30 11:37:43 +00:00
Howard Chu
9d4f5e13e8 Unindented a level. Fixed logging of keys. 2002-08-30 11:21:20 +00:00
Howard Chu
f32803e738 Don't mask DB_KEYEXIST errors in bdb_idl_insert_key, let dn2id see them.
Ignore DB_KEYEXIST and DB_NOTFOUND errors in key_change.
2002-08-30 10:41:46 +00:00
Pierangelo Masarati
82cb585d32 trim unused var 2002-08-29 12:41:07 +00:00
Pierangelo Masarati
c38f1a63b0 this test is useless, since noop is masked SLAP_CTRL_UPDATE 2002-08-29 12:17:28 +00:00
Pierangelo Masarati
fbc11bd16a - added the capability to filter based on hasSubordinate attribute
to back-bdb, back-ldbm and back-sql (the latter with limitations);
- added handling of ":dn" attributes to extended rfc2254 filters
  and to matched value filter
- altered the behavior of get_mra() when a matching rule is given:
  now it checks whether it is compatible with the attribute syntax
  and, in case it is, the given mr is used.  In case of no type,
  the check is delayed when filtering
2002-08-29 10:55:48 +00:00
Pierangelo Masarati
f4c5362955 add bdb_hasSubordinates() helper 2002-08-29 10:50:53 +00:00
Howard Chu
9fa8eded08 ITS#2040 - in bdb_idl_fetch_key() use a large enough buffer to get the
entire IDL at once, to avoid triggering BDB resource leaks.
2002-08-27 15:11:04 +00:00
Kurt Zeilenga
fb7ac08ada cleanup 2002-08-26 19:13:44 +00:00
Howard Chu
53b194fa32 Fix oc_filter, it could exit early before counting the full depth of the
filter tree. Also, only give special treatment to objectclass=*.
2002-08-26 12:04:53 +00:00
Howard Chu
5ff509f2d3 Fix previous commit, BDB_REUSE_LOCKERS was inside a BDB version #ifdef
but is not version-dependent.
2002-08-25 11:06:35 +00:00
Howard Chu
1524f86778 Fix ITS#2044 duplicate search results due to broken bdb_idl_union 2002-08-25 10:18:01 +00:00