Commit Graph

252 Commits

Author SHA1 Message Date
Jong Hyuk Choi
d5be4896a3 add bdb_get_commit_csn() for use in bdb_search 2003-09-10 17:03:01 +00:00
Jong Hyuk Choi
7357caac90 memory mgmt cleanup 2003-09-03 23:47:37 +00:00
Jong Hyuk Choi
853c03e38d more patches for ITS#2692 (Thanks Luke!) 2003-08-29 17:02:53 +00:00
Jong Hyuk Choi
090ac0a772 unifdef LDAP_SYNC and LDAP_SYNCREPL 2003-08-27 22:16:04 +00:00
Jong Hyuk Choi
4559aa06aa cleanup 2003-08-27 20:51:04 +00:00
Jong Hyuk Choi
81a53a9a5c LDAP Sync protocol extension
- do not send updates in state mode when
  syncCookie >= contextCSN (or omitCSN if changelog is used)
2003-08-26 22:49:44 +00:00
Jong Hyuk Choi
79b04b12a2 Context CSN Patch (5)
- persistent search patch
- cascading search patch
2003-08-26 00:35:27 +00:00
Jong Hyuk Choi
3be0b77c88 Context CSN Patch (2)
- BDB context csn codes moved to a separate function in back-bdb/ctxcsn.c
2003-08-25 19:15:04 +00:00
Jong Hyuk Choi
d53c90dc29 Context CSN patch (1) - cleanup
- serialize search_candidates() with the read of search_context_csn
2003-08-25 17:10:18 +00:00
Jong Hyuk Choi
660617ae66 Context CSN patch (1)
- currenty works for refreshOnly mode of LDAP Sync
- Context CSN for add / modify is implemented
- code for delete / modrdn / refreshAndPersist will be soon committed
2003-08-23 02:51:33 +00:00
Jong Hyuk Choi
6659cf3ea1 LDAP Sync protocol change : state mode (add+present) and log mode (add+delete) 2003-08-14 16:27:36 +00:00
Jong Hyuk Choi
aaa66d254e Various udpates for SyncRepl 2003-07-15 00:43:39 +00:00
Jong Hyuk Choi
262f8bf11f LCUP primitive routines removed 2003-06-27 17:39:48 +00:00
Jong Hyuk Choi
5d203d0cc5 not returning glue entries unless manageDSAit is set 2003-06-25 16:22:08 +00:00
Kurt Zeilenga
a8e859a401 Add server side assert control support. 2003-06-10 04:44:41 +00:00
Kurt Zeilenga
12304f64e5 Merge partial and intermediate responses 2003-05-31 05:01:49 +00:00
Jong Hyuk Choi
732f5501a9 base entry checking for refreshAndPersist as well 2003-05-30 21:47:15 +00:00
Howard Chu
4a3748b6cf Restructured to avoid direct use of sl_malloc functions. Minimizes impact
of #ifdef USE_SL_MALLOC...
2003-05-25 00:53:08 +00:00
Jong Hyuk Choi
a0faa93683 If the sync mode is refreshAndPersist,
search does not return error when base entry is not found
2003-05-21 23:44:10 +00:00
Jong Hyuk Choi
7e7429267e persistent search updates with recent changes 2003-05-20 20:21:39 +00:00
Howard Chu
fb52e37e06 ITS#2506 - fix prev patch, don't ignore undefined filters. treat as False,
test_filter will never match them anyway.
2003-05-13 01:16:26 +00:00
Howard Chu
759996c6e9 Fix HDB search_aliases crash, cleanup search scope processing: call dn2idl
directly instead of going thru filter_candidates. Use hdb_ function prefix
in dn2id.c to avoid ambiguities...
2003-05-01 11:59:08 +00:00
Howard Chu
7e1a91340c Use computed filters to pass in search scope. 2003-04-30 07:46:01 +00:00
Jong Hyuk Choi
b10f1c5780 - manageDSAit is implicitly assumed for LCUP / SYNC
- LCUP / SYNC search both entries and subentries at the same time
2003-04-30 02:04:23 +00:00
Howard Chu
6f461690c1 Function renaming, make internal funcs static, etc. 2003-04-23 06:34:55 +00:00
Howard Chu
7c39a5e726 filter_candidate tweaks, search_stack tweaks 2003-04-22 18:22:51 +00:00
Howard Chu
89127c93d0 Mem context tweaks for bdb_dn2idl 2003-04-22 06:29:13 +00:00
Howard Chu
6002ad5233 Minor fixes 2003-04-18 07:43:07 +00:00
Howard Chu
8d8a52f9d2 ITS#2453, Fix filter candidate generation 2003-04-18 03:36:52 +00:00
Howard Chu
c754980045 Use EntryInfo navigation for search scope checks 2003-04-17 11:03:21 +00:00
Howard Chu
ec13a69220 Finish alias scope support 2003-04-17 09:23:53 +00:00
Howard Chu
377bccbc6c Hierarchical cache management. 2003-04-16 16:23:36 +00:00
Howard Chu
ece7452b05 More memory context tweaks 2003-04-11 01:29:28 +00:00
Howard Chu
d01d31e54f Better detection of new search scopes 2003-04-08 11:17:20 +00:00
Pierangelo Masarati
b2075ea932 cleanup & more 2003-04-05 09:57:21 +00:00
Howard Chu
3814b5f1a1 Range check cleanup, added alias processing comments 2003-04-05 09:46:54 +00:00
Howard Chu
fbc6a7e8ac Fix cursor initialization, scope IDs 2003-04-05 08:54:24 +00:00
Kurt Zeilenga
c866e28049 Cleanup 2003-04-05 08:40:07 +00:00
Howard Chu
cb92eaf96c Fix locking etc. in prev commit 2003-04-05 07:50:01 +00:00
Howard Chu
48a9cf3416 Added code for BDB_ALIASES. Please test. 2003-04-05 06:35:16 +00:00
Howard Chu
9355dca9af Consolidated slap_callbacks into one function. Removed send_search_result. 2003-04-01 04:12:18 +00:00
Howard Chu
8188bd1752 Fix typo in prev commit 2003-03-30 18:49:25 +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
Kurt Zeilenga
6c7a1194c3 reorder to statements for debugging purposes 2003-03-16 18:48:44 +00:00
Pierangelo Masarati
498f8a7454 init var 2003-03-03 21:33: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
00837465c4 Don't need TXN/opinfo support in read-only operations 2003-02-26 11:45:30 +00:00
Jong Hyuk Choi
71ca4d51f1 log message fix 2003-02-25 21:15:26 +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
Jong Hyuk Choi
886179fbca cleanup 2003-02-07 20:16:09 +00:00
Jong Hyuk Choi
55cf8bbd88 use of pre-assigned locker in bdb_group() / bdb_attribute() 2003-02-07 15:47:32 +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
Jong Hyuk Choi
0c43007e55 LDAP cancel operation 2003-01-25 00:36:50 +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
Howard Chu
89ab02479d Use ber_flatten2 2002-12-18 19:17:15 +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
Julius Enarusai
9b5ec8f43b Fixed minor compile errors in LDAP_LOG debug statements. 2002-12-03 17:06:58 +00:00
Kurt Zeilenga
8754c8f2a3 #unifdef paged results, remove lint 2002-11-28 04:38:41 +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
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
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
Kurt Zeilenga
a1da292989 Wrap csn filter frees with sync mode check. 2002-09-15 22:42:50 +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
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
Jong Hyuk Choi
4b48c05a8e LDAP Client Update Protocol - non-persistent update (TODO: response control ...) 2002-09-04 02:00:42 +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
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
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
Howard Chu
44ac8a3564 Plug config leaks 2002-08-07 08:43:52 +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
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
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
Pierangelo Masarati
d3058532c9 honor limits if below soft limit 2002-04-29 10:12:50 +00:00
Jong Hyuk Choi
60b1ee1ba9 Patch for ITS# 1643 2002-04-19 21:41:32 +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
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
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
93a45a02aa Update handling of AND/OR indexing where element is undefined. 2002-03-04 22:32:33 +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
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
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
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
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
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
f52cc9bab5 Change struct berval ** to BVarray 2002-01-02 11:00:36 +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
68daf5bee9 Misc cleanup 2001-12-29 05:44:37 +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
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
Howard Chu
d0add35348 Changed get_limits to struct berval* 2001-12-26 15:28:01 +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
Kurt Zeilenga
2dd27b0786 More struct berval DNs 2001-12-25 19:48:26 +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
30831a4012 misc cleanup 2001-12-09 18:57:46 +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
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
Kurt Zeilenga
d5d801d152 Misc code cleanup 2001-11-27 03:41:03 +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
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
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
0ebba25d99 hack to make '' base work; please check side-effects 2001-11-14 17:27:24 +00:00
Pierangelo Masarati
afd0037eda Fixes ITS#1433 2001-11-12 17:12:43 +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
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
Pierangelo Masarati
8a3768276a candidate check using new macro from Kurt 2001-10-02 19:15:05 +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
Kurt Zeilenga
bee0650d9c Work in progress codes. !UNTESTED! 2001-06-15 07:08:37 +00:00
Kurt Zeilenga
67a595b328 fix up bdb_entry_return() calls 2000-09-28 02:27:49 +00:00
Kurt Zeilenga
ce01b5d755 Don't complain about non-existance IDL "range" candidates 2000-09-28 00:10:41 +00:00
Kurt Zeilenga
ddb1124e42 Rough in extended ops, modify, and modrdn.
General code cleanup.
2000-09-27 22:28:59 +00:00
Kurt Zeilenga
cb2734eef0 Fix cursor logic 2000-09-26 22:28:12 +00:00
Kurt Zeilenga
077c47c2a6 replace ALLIDS with RANGE IDLs 2000-09-26 22:22:42 +00:00
Kurt Zeilenga
fdeffe84e1 Add kludge to get working tests add/populate. 2000-09-26 20:31:34 +00:00
Kurt Zeilenga
dccdd30497 Got base entry... 2000-09-26 19:26:08 +00:00
Kurt Zeilenga
63df7da68e include external.h 2000-09-26 05:33:37 +00:00
Kurt Zeilenga
c182511f91 Add bdb_bind, clean up init, s/Backend/BackendDB/ 2000-09-25 23:41:16 +00:00