Commit Graph

633 Commits

Author SHA1 Message Date
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
Howard Chu
5d9479a3e8 Add debug if bdb_cache_entry_db_lock fails to get a lock
to assist in diagnosing ITS#1986
2002-08-24 19:23:30 +00:00
Howard Chu
d6449b1d57 Experimental code that uses one locker ID per thread. Seems to work OK,
is enabled by default. #undef BDB_REUSE_LOCKERS in back-bdb.h to disable.
Probably needs to be disabled when built with NO_THREADS.
2002-08-24 08:11:08 +00:00
Kurt Zeilenga
23efa07a99 use ldap_charray_*() instead of charray_*() 2002-08-24 00:55:24 +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
Kurt Zeilenga
e1536926b7 Quick check of LOCK_ID() return. Likely should retry... but not forever. 2002-08-20 03:10:08 +00:00
Kurt Zeilenga
9fc4a749dc More places where LOCK_ID() calls need to be checked. 2002-08-20 02:57:06 +00:00
Pierangelo Masarati
b95ab4ac64 add function slap_modrdn2mods that prepares modifications list for delete/add old/new rdn values 2002-08-16 16:35:16 +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
f7859e9913 ITS#2015 give correct index key back to presence_candidates 2002-08-08 17:27:50 +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
d01375b200 Fix bdb_idl_union of range and list (related to ITS#1969 2002-07-31 23:43:56 +00:00
Kurt Zeilenga
838643d5ad operationsError != Internal Error
hence, s/LDAP_OPERATIONS_ERROR/LDAP_OTHER/
2002-07-31 22:49:02 +00:00
Howard Chu
5a01db28e3 Moved slap_strcopy, slap_strncopy to lutil_strcopy, lutil_strncopy 2002-07-27 00:24:02 +00:00
Howard Chu
aab953ba3f Change list->range conversion again, avoid extra c_put. 2002-07-19 23:19:53 +00:00
Jong Hyuk Choi
db490b4cef change in the IDL conversion from a list to a range 2002-07-18 15:34:51 +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
7e8c77c5de Fix dynamic module linking 2002-06-21 01:34:53 +00:00
Jong Hyuk Choi
09a2a8fbce DB_RMW flag to dn2id and id2entry 2002-06-10 19:02:25 +00:00
Howard Chu
3304d125c4 ITS#1837, one-level searches on leaf entries 2002-06-06 11:27:52 +00:00
Jong Hyuk Choi
976fb2265f remove dbenv->lock_put() call from transaction-protected operations 2002-06-06 10:14:14 +00:00
Kurt Zeilenga
26649fb164 Minor cleanup 2002-06-01 20:21:59 +00:00
Kurt Zeilenga
d6d18049dc reference scope checks 2002-06-01 20:01:32 +00:00
Jong Hyuk Choi
7341dc5db6 redesign of back-bdb locking :
cache entry is locked by Berkeley DB lock primitives.
2002-05-31 20:49:19 +00:00
Kurt Zeilenga
02fb60d3da Delete extranous assert() 2002-05-23 03:17:58 +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
Howard Chu
a352bcaa16 Fix DN freeing in BDB_HIER case. (BDB_HIER is still broken, seems to have
a bad interaction with the entry cache.)
2002-05-03 14:47:29 +00:00
Pierangelo Masarati
033631f30a s/LDAP_UNWILLING_TO_PERFORM/LDAP_ADMINLIMIT_EXCEEDED/ when search candidates exceed unckecked limit 2002-05-03 10:27:37 +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
5291b41336 pointer initialization 2002-04-29 16:42:41 +00:00
Pierangelo Masarati
d3058532c9 honor limits if below soft limit 2002-04-29 10:12:50 +00:00
Howard Chu
43167d0fa6 Fix ITS#1774, BDB keys need ulen and flags to be initialized because BDB
tries to retrieve both the key and the data.
2002-04-25 05:16:15 +00:00
Jong Hyuk Choi
60b1ee1ba9 Patch for ITS# 1643 2002-04-19 21:41:32 +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
Jong Hyuk Choi
737aee17b0 fix: changing bdb_cache_return_entry_w() to bdb_cache_return_entry_r() 2002-04-11 23:17:36 +00:00
Howard Chu
efecf4e121 ITS#1733 eliminate o_abandonmutex 2002-04-11 08:03:40 +00:00
Pierangelo Masarati
4a8ab5dbf2 Mostly based on patches provided by Hallvard B. Furuseth
ITS#1677 - cast away const warnings
ITS#1678 - unsigned char args to ctype funcs
ITS#1682 - don't redefine ldap_debug
ITS#1683 - uninitialized vars
ITS#1703 - ldo_debug initialization
ITS#1705 - unsigned testing
ITS#1706 - socklen_t args
ITS#1719 - back-tcl update (other cleanups/fixes/improvements; yet untested)
ITS#1724 - integerNormalize/integerFilter/integerIndexer bugs
ITS#1725 - libdes not required

Implement back-null (/dev/null style backend)
Cleanup some misc warnings ("%lu" format, unused/uninitialized vars,
        ambiguous operator precedence)

Kurt, please regenerate configure
2002-04-08 09:43:22 +00:00
Howard Chu
ca4cbc4a49 ITS#1709 j was logged uninitialized 2002-04-05 06:55:25 +00:00
Howard Chu
11bbd076a8 ITS#1711 txn was uninitialized 2002-04-05 06:54:39 +00:00
Howard Chu
ba5a584729 ITS#1716 is_entry_subentr/ies/y/ 2002-04-05 06:28:52 +00:00
Howard Chu
380806eebe ITS#1726, always use bdb_db_hash(). 2002-04-05 05:59:04 +00:00
Kurt Zeilenga
b0b8546f05 Patch: More format bugs (ITS#1702)
================
Written by Hallvard B. Furuseth and placed into the public domain.
This software is not subject to any license of the University of Oslo.
2002-04-02 18:56:26 +00:00
Pierangelo Masarati
031991e0b4 do not return a pointer to an automatic variable in case of success 2002-03-30 08:44:29 +00:00
Kurt Zeilenga
111b464642 move ldap_int_put_filter to ldap_pvt_put_filter
and other cleanup
2002-03-30 00:42:40 +00:00
Julius Enarusai
5f154f2e57 Added LDAP_LOG messages 2002-03-26 22:40:31 +00:00
Julius Enarusai
82cd035505 Added LDAP_LOG messages 2002-03-26 22:17:08 +00:00
Julius Enarusai
73fcfa6e59 Added LDAP_LOG messages to operational.c and fixed compile error in dn2id.c 2002-03-26 21:34:03 +00:00
Julius Enarusai
7b05699803 Added LDAP_LOG messages 2002-03-26 21:14:23 +00:00
Julius Enarusai
437bf1ba70 Added LDAP_LOG messages 2002-03-26 20:04:30 +00:00
Julius Enarusai
5f466ae128 Added LDAP_LOG messages 2002-03-26 18:52:36 +00:00
Julius Enarusai
bb38d574ac Added LDAP_LOG messages 2002-03-26 18:01:58 +00:00
Julius Enarusai
d881efa172 Added LDAP_LOG messages 2002-03-26 17:47:52 +00:00
Julius Enarusai
2027e7322a Added LDAP_LOG messages 2002-03-26 17:34:57 +00:00
Julius Enarusai
4d501cacd9 Added LDAP_LOG messages 2002-03-26 17:00:14 +00:00
Kurt Zeilenga
4216f19ed1 cleanup 2002-03-24 02:14:00 +00:00
Pierangelo Masarati
50baa90139 port hasSubordinates handling to back-bdb 2002-03-23 11:04:09 +00:00
Howard Chu
780d427fa6 In bdb_idl_fetch_key, the DB_MULTIPLE buffer must be a multiple of 1024
bytes in size.
2002-03-20 01:27:08 +00:00
Howard Chu
9a154f89b0 Rewrote bdb_idl_insert_key and bdb_idl_delete_key for BDB_IDL_MULTI,
parses range IDLs directly to correctly handle changes to the range
boundaries. (bdb_idl_insert_key used to call bdb_idl_fetch_key to
handle ranges; bdb_idl_delete_key never handled ranges before.)
2002-03-20 00:51:34 +00:00
Julius Enarusai
5af8610ba0 Added LDAP_LOG messages 2002-03-19 17:44:11 +00:00
Howard Chu
cc21d814b3 Use a single malloc'd block for all the temporary IDL storage in the
filter processing, to avoid runtime stack blowout. Also removes the
need for gigantic thread stacks.
2002-03-18 11:40:58 +00:00
Howard Chu
7e68108d4a Fix previous commit, missing semicolon 2002-03-18 08:55:21 +00:00
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