Commit Graph

246 Commits

Author SHA1 Message Date
Pierangelo Masarati
674c98fa7d honor stop on error 2006-04-04 19:48:22 +00:00
Pierangelo Masarati
2e9f2995ec only wait if no entry was returned 2006-04-04 17:41:13 +00:00
Pierangelo Masarati
aecfb85793 immediately return sizelimitExceeded if appropriate 2006-04-03 21:14:14 +00:00
Pierangelo Masarati
c853ba1f0e more on recovery (ITS#4429) 2006-04-03 00:32:59 +00:00
Pierangelo Masarati
46cb141185 seems to fix the equivalent of ITS#4429 in back-meta; had to give up per-target conn-ttl and idle-timeout 2006-04-01 18:56:39 +00:00
Kurt Zeilenga
cbc11c9233 unifdef -DLDAP_NULL_IS_NULL 2006-02-14 23:18:12 +00:00
Kurt Zeilenga
acbb5cf689 Happy new year! 2006-01-03 23:11:52 +00:00
Pierangelo Masarati
fcda57e90f use macros instead of numbers... 2005-12-13 20:11:26 +00:00
Pierangelo Masarati
361a97108b minor cleanup 2005-12-12 14:33:34 +00:00
Pierangelo Masarati
e113e18bb6 more about sizelimit disclose issue in back-meta (ITS#4213) 2005-12-11 23:39:09 +00:00
Kurt Zeilenga
48cb85865d Remove some unnecessary #ifdefs 2005-11-26 07:38:18 +00:00
Pierangelo Masarati
b3c8a976ec use LDAP_SIZELIMIT_EXCEEDED; rework the return values of slap_send_search_entry(); silence a few warnings 2005-11-25 22:17:24 +00:00
Pierangelo Masarati
ea83f6a669 check sizelimit in frontend (ITS#4213) 2005-11-25 00:28:33 +00:00
Pierangelo Masarati
133a673e65 don't return matchedDN in the case described in ITS#4195 2005-11-22 11:13:14 +00:00
Pierangelo Masarati
4852bf8a58 don't care about empty matched/text #ifdef LDAP_NULL_IS_NULL 2005-11-20 01:59:26 +00:00
Pierangelo Masarati
4cab386d13 backport write operation timeouts from back-meta to back-ldap; minor cleanup & silence warnings 2005-11-06 23:29:10 +00:00
Pierangelo Masarati
852e4e3109 allow per-target retry in searches; taint invalid connections; don't massage the pseudorootdn (ITS#4150) 2005-11-05 14:44:43 +00:00
Pierangelo Masarati
acb17be789 fix size/time limit (ITS#4145) 2005-11-04 12:42:39 +00:00
Pierangelo Masarati
cedb88c373 eat up values of removed attrs 2005-11-01 13:42:51 +00:00
Pierangelo Masarati
cfa2eefe3c fix previous commit 2005-10-25 14:50:05 +00:00
Pierangelo Masarati
8a5a1ab39f fix handling of invalid DN-valued attrs (ITS#4107) 2005-10-24 20:22:08 +00:00
Hallvard Furuseth
05f5c7525b Fix snprintf() format 2005-09-26 04:39:51 +00:00
Pierangelo Masarati
112be0118e cleanup states/timeout handling in back-ldap/meta; add connection pooling and defer of pseudoroot bind to back-meta 2005-09-24 18:39:26 +00:00
Pierangelo Masarati
e2c9c843e1 fix previous commit; cleanup few 64 bit issues 2005-09-24 17:09:19 +00:00
Pierangelo Masarati
ae0b39e3cc use result of validation (ITS#4028) 2005-09-19 09:06:29 +00:00
Pierangelo Masarati
a1ff59f436 pretty the DN as well 2005-09-06 17:19:36 +00:00
Pierangelo Masarati
a2ea1edb48 save target errors for later evaluation 2005-08-31 01:55:34 +00:00
Pierangelo Masarati
39998dfe8d prettify matchedDN; fix memory handling 2005-08-27 19:21:43 +00:00
Pierangelo Masarati
6cb8b14435 allow undefined attrs to be "proxied" (ITS#3959) 2005-08-25 21:14:26 +00:00
Pierangelo Masarati
e5d302e84f normalize/pretty attributes when possible 2005-08-20 11:31:07 +00:00
Pierangelo Masarati
9c02a32b7c more about matchedDN in back-meta (ITS#3944) 2005-08-18 14:55:28 +00:00
Pierangelo Masarati
11211d0dae strip entryDN from search entries; frontend will reattach it :( 2005-08-18 11:26:29 +00:00
Pierangelo Masarati
99ea177e05 implement overlapping targets enhancement (ITS#3711) 2005-08-17 08:34:49 +00:00
Pierangelo Masarati
76f52279ef fix "matched" return and return code (ITS#3944) 2005-08-17 08:25:48 +00:00
Pierangelo Masarati
754a059951 fix concurrency issues 2005-07-04 22:41:54 +00:00
Pierangelo Masarati
297c7933b1 add "onerr" flag 2005-06-25 15:13:44 +00:00
Pierangelo Masarati
b836fc3ea2 first round of provisions for back-config 2005-06-19 22:41:12 +00:00
Pierangelo Masarati
e12c4ca230 preemptive time limit check in proxy backends 2005-06-13 19:14:40 +00:00
Pierangelo Masarati
be53e82650 fix entry DN free 2005-05-21 14:53:05 +00:00
Pierangelo Masarati
46387a12a9 fix sizelimit interaction with glue overlay (ITS#3724) 2005-05-13 13:10:33 +00:00
Pierangelo Masarati
96773427db don't bother about slap_dummy_bv 2005-05-13 09:06:28 +00:00
Pierangelo Masarati
c4cfe03619 fix sizelimit bug (ITS#3720) 2005-05-12 22:37:56 +00:00
Pierangelo Masarati
5ad7133202 add support for "subordinate" scope 2005-05-06 10:21:00 +00:00
Pierangelo Masarati
a215fdea66 a bit more reworking and streamline; the change to the LAST_CONN test seems to eliminate the last LDAP_BUSY problems on the only machine that was showing it yet; please test 2005-05-05 17:34:11 +00:00
Pierangelo Masarati
4d9750afb5 honor T-F filters (ITS#3706) and lots of cleanup 2005-05-04 23:57:55 +00:00
Pierangelo Masarati
58a358e7b2 more cleanup in handling timeouts in ldap_result() 2005-04-26 21:48:43 +00:00
Pierangelo Masarati
06eef0c78d reset candidates when intentionally abandoning; consistently handle referrals 2005-04-25 23:54:51 +00:00
Pierangelo Masarati
41aad6e27f more on error handling reworking; should address ITS#3672 and ITS#3676 2005-04-22 21:43:52 +00:00
Pierangelo Masarati
95d3db5d25 fix previous commit 2005-04-21 22:22:43 +00:00
Pierangelo Masarati
08a6909f73 add basic support for retry; protect internal bind behind mutexes; rework search, review candidate selection; minor cleanup. Passes concurrency test036 2005-04-21 03:17:31 +00:00
Pierangelo Masarati
c3fd851a59 slightly reduce malloc overhead; minor cleanup 2005-04-20 18:52:10 +00:00
Pierangelo Masarati
410638fda1 fix memory leak (ITS#3669) 2005-04-19 14:31:07 +00:00
Pierangelo Masarati
c1b5e84e2d a) implement a new candidate selection procedure, based on target naming
context checking and multiple match resolution via an internal search
b) move the candidate listing in a persistent per-thread buffer
c) fix bind procedure
d) minor cleanup

(a) and (b) should address ITS#2935; (b) and (c) should address ITS#3171

A test is also added
2005-04-16 02:25:41 +00:00
Howard Chu
ee42df4cea Always return SLAPD_ABANDON in response to op->o_abandon being set. 2005-02-18 00:37:40 +00:00
Pierangelo Masarati
73ca57cfef import selected improvements from back-ldap: use asynchronous Start TLS exop; allow propagating TLS if used in the original connection; minor cleanup 2005-02-05 15:55:27 +00:00
Pierangelo Masarati
5427af1f62 don't play with controls at bind; rather use the ldap_*_ext API 2005-01-26 09:52:12 +00:00
Pierangelo Masarati
521100db56 fix ITS#3498; some cleanup 2005-01-20 17:44:53 +00:00
Pierangelo Masarati
8d14165274 fix ITS#3464 2005-01-08 10:59:32 +00:00
Pierangelo Masarati
5422345e55 major namespace cleanup & minor fixes 2005-01-08 09:20:54 +00:00
Kurt Zeilenga
dc0eacd40b Happy New Year! 2005-01-01 20:49:32 +00:00
Pierangelo Masarati
ba6ac023ad works now 2004-12-30 17:45:07 +00:00
Pierangelo Masarati
7198e9e4b9 fix typos leading to memory issues 2004-12-23 10:43:58 +00:00
Pierangelo Masarati
018526ff14 fix spurius noSuchObject when base=suffix 2004-11-12 12:51:16 +00:00
Pierangelo Masarati
761f287943 multiple precision with BIGNUM/gmp/ulong 2004-09-26 22:58:47 +00:00
Kurt Zeilenga
d611a4b49a unifdef -UNEW_LOGGING 2004-09-04 04:54:28 +00:00
Pierangelo Masarati
00f1c085cf move call to frontend API 2004-08-24 09:29:11 +00:00
Pierangelo Masarati
9f6f5491fe slightly rework user/operational attributes handling (including fixing a bug in the logic of the previous change to backend_operational()); cleanup; more improvements to slapo-rwm and back-relay 2004-07-25 23:16:40 +00:00
Pierangelo Masarati
40e42fcd11 res is already freed by ldap_parse_reference() (ITS#3190) 2004-06-17 18:27:51 +00:00
Pierangelo Masarati
4c685bfd1e clarify no limits in (internal) searches 2004-06-12 17:32:20 +00:00
Pierangelo Masarati
d40e5a365a fix DN_SEPARATOR() and clarify its use 2004-05-07 09:03:05 +00:00
Pierangelo Masarati
b34cf02488 more on fixing escaped semicolon in normalized DN 2004-05-07 02:18:08 +00:00
Kurt Zeilenga
44725e7303 use BER_BVNULL 2004-04-07 04:11:43 +00:00
Pierangelo Masarati
4e71b85481 exploit new frontend API 2 protocol error mapping 2004-04-05 17:32:59 +00:00
Pierangelo Masarati
ec6a663820 reset SlapReply flags 2004-03-17 11:50:15 +00:00
Pierangelo Masarati
65b49dd312 add "searchFilterAttrDN" rewrite context, and allow filterstring rewrite 2004-03-10 21:11:14 +00:00
Pierangelo Masarati
091246c6fd move limits evaluation to frontend 2004-03-08 18:12:45 +00:00
Pierangelo Masarati
abf2df7a11 initial round of fixes related to ITS#2986 2004-03-06 15:01:16 +00:00
Pierangelo Masarati
d015b9583c handle filter computed in a more granular way (ITS#2977) 2004-02-28 16:05:59 +00:00
Pierangelo Masarati
4e57108991 allow search limits based on groups (ITS#2967) 2004-02-18 16:40:36 +00:00
Kurt Zeilenga
3c598e89fb Happy new year 2004-01-01 19:15:16 +00:00
Howard Chu
b011c51390 Clean up entry initialization 2003-12-13 02:00:07 +00:00
Kurt Zeilenga
fbba83b20f notices and acknowledgements 2003-12-08 17:41:40 +00:00
Howard Chu
066a80bbbb Moved proxy caching to overlay 2003-12-06 11:12:53 +00:00
Kurt Zeilenga
a3d8cda201 notices and acknowledges 2003-11-27 06:35:14 +00:00
Pierangelo Masarati
a78c03bb4a fix a_nvals according to back-ldap implementation (ITS#2716; at least part of it) 2003-10-04 17:18:25 +00:00
Jong Hyuk Choi
9760933c20 unifdef LDAP_CACHING 2003-08-27 23:21:17 +00:00
Pierangelo Masarati
f2dfb55780 now LDAP_CACHING can be enabled again; not sure it works, though 2003-05-09 00:36:31 +00:00
Kurt Zeilenga
5cd994ed21 remove dnNormalize2
replace calls to dnNormalize2 with calls to dnNormalize
2003-04-29 18:28:14 +00:00
Luke Howard
7cb946924e Fix compilation errors (caching must still be undefined though) 2003-04-11 04:22:37 +00:00
Pierangelo Masarati
5fbdf3f3eb return 'matched' only if all the targets didn't recognize the search base 2003-04-08 11:38:38 +00:00
Pierangelo Masarati
81c616fdb2 works fine now 2003-04-07 19:01:48 +00:00
Pierangelo Masarati
6ef22ccdcb first cut at grouping rewrite/map stuff; needs work 2003-04-07 17:04:14 +00:00
Pierangelo Masarati
1bae6d28e5 silence warnings 2003-04-05 16:58:36 +00:00
Pierangelo Masarati
5804183f04 propagate selected changes to back-ldap 2003-04-05 16:53:57 +00:00
Pierangelo Masarati
dfbbd11bd3 remove more unnecessary args 2003-04-04 00:43:40 +00:00
Pierangelo Masarati
798289fd50 new API; compiles if proxy is disabled 2003-04-03 21:35:54 +00:00
Jong Hyuk Choi
6f81235386 Commit of the Proxy Cache contribution (ITS#2062)
from IBM India Research (Apurva Kumar)
Code review by Pierangelo, Kurt, and Jong.
2003-03-06 19:44:41 +00:00
Pierangelo Masarati
bf35f8e37f improved filter mapping/rewrite; improved result rewriting; improved attribute/objectclass mapping configuration 2003-03-01 11:08:53 +00:00
Pierangelo Masarati
628bcc7174 improve error handling 2003-02-10 22:34:06 +00:00
Pierangelo Masarati
1db0725502 partially fix ITS#2310 2003-02-10 21:37:30 +00:00
Pierangelo Masarati
45f4e3602b clean up mapping api 2003-01-27 16:39:56 +00:00
Pierangelo Masarati
a62249ed27 fix objectclass mapping (to nothing) 2003-01-27 16:07:10 +00:00
Pierangelo Masarati
d8756a1c98 fix ITS#2289 (don't use shared data for search state; use msgid instead) 2003-01-23 22:07:33 +00:00
Kurt Zeilenga
6939c53170 Happy new year 2003-01-03 20:20:47 +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
a9c902a7ca improve error messages 2002-11-10 18:16:43 +00:00
Pierangelo Masarati
b0dfd89e1b added referral support to back-{ldap,meta}; need to allow send_serch_reference() handle NULL entry pointer 2002-08-31 10:35:23 +00:00
Pierangelo Masarati
c4a8a3dce5 better error handling when returning results 2002-08-13 17:00:33 +00:00
Pierangelo Masarati
328046248b initialize struct timeval (fixes ITS#2014);
also, check for return value of dnNormalize2: if the returned
DN contains undefined attributes, the normalization fails.
2002-08-10 14:13:46 +00:00
Pierangelo Masarati
1abb8cb339 rework connection pool handling (reduce amount of malloc) 2002-08-09 17:15:10 +00:00
Pierangelo Masarati
540dbbe1ed fix previous commit 2002-08-02 10:00:44 +00:00
Kurt Zeilenga
838643d5ad operationsError != Internal Error
hence, s/LDAP_OPERATIONS_ERROR/LDAP_OTHER/
2002-07-31 22:49:02 +00:00
Pierangelo Masarati
437014723c fix ITS#1953 2002-07-22 14:24:32 +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
Pierangelo Masarati
d3058532c9 honor limits if below soft limit 2002-04-29 10:12:50 +00:00
Howard Chu
d4465e376f ITS#1732 signed/unsigned integers 2002-04-11 08:46:34 +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
Pierangelo Masarati
f74e81aa99 check on escaped rdn separator not needed any more 2002-01-22 08:30:32 +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
ec46a2f33a Use 'm' ber_scanf format where convenient 2002-01-06 06:11:01 +00:00
Kurt Zeilenga
0e2af54a3f Update copyright statements 2002-01-04 21:17:25 +00:00
Pierangelo Masarati
b28c3953d4 more fixes/updates 2002-01-04 19:23:10 +00:00
Pierangelo Masarati
d3dae8d1cd more cleanup; doesn't work (fails on ldap_result, select returns -1) 2002-01-04 15:26:45 +00:00
Pierangelo Masarati
db71bb1c4d lots of migration to struct berval; unfortunately it seems to be broken 2002-01-03 16:29:38 +00:00
Howard Chu
bcdfdb968f Changed AttributeName back into an array instead of a linked list.
Fixed bug in do_search eating up controls.
2002-01-03 05:38:26 +00:00
Howard Chu
743c402265 Changed search attrs from struct berval ** to AttributeName * 2001-12-31 11:35:52 +00:00
Howard Chu
975a5e9a24 Added dnPretty2/dnNormalize2 using preallocated destination berval 2001-12-29 04:48:00 +00:00
Pierangelo Masarati
02153708a0 conversion to berval DN 2001-12-27 12:17:54 +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
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
Howard Chu
0bfaa8b4ae Changed AttributeType.sat_cname from char * to struct berval.
(will fix up back-bdb next.)
2001-11-16 07:45:37 +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
Pierangelo Masarati
35c38e271d use slap_str2undef_ad for unknown attributes 2001-10-03 18:17:08 +00:00
Pierangelo Masarati
1c010c59a1 fix candidate selection based on scope 2001-10-01 22:12:23 +00:00
Pierangelo Masarati
ccef53677f fix various result returning bugs, mostly related to candidate selction that results in invalid candidates (bug detected by Markus Storm <Markus.Storm@mediaWays.net>) 2001-10-01 16:16:51 +00:00
Pierangelo Masarati
b5bb74bb02 cleanup limits stuff in back-meta 2001-08-04 11:10:08 +00:00
Pierangelo Masarati
414783058d enforces detailed search limits 2001-08-03 17:15:14 +00:00
Pierangelo Masarati
970abe2637 semicolon after colon in goto labels; no C++ style comments; unused vars removed or #ifdef'd 2001-06-03 08:55:17 +00:00
Pierangelo Masarati
90766f4d4f minor cleanup; some error handling and log fixes 2001-05-16 23:06:15 +00:00
Pierangelo Masarati
0b4c7e0181 added new logging to back-meta 2001-05-13 23:44:22 +00:00
Pierangelo Masarati
74fa239a20 This is the commit of:
- librewrite, for string rewriting; it may be used in back-ldap
    by configuring with '--enable-rewrite'. It must be used in
    back-meta. There's a text file, 'libraries/librewrite/RATIONALE',
    that explains the usage and the features. More comprehensive
    documentation will follow.
  - enhancements of back-ldap (ITS#989,ITS#998,ITS#1002,ITS#1054 and ITS#1137)
    including dn rewriting, a fix to group acl matching and so
  - back-meta: a new backend that proxies a set of remote servers
    by spawning queries. It uses portions of back-ldap and the rewrite
    capabilities of librewrite. It can be compiled by configuring
    with `--enable-ldap --enable-rewrite --enable-meta'.
    There's a text file, 'servers/slapd/back-meta/Documentation', that
    describes the main features and config statements.

Note: someone (Kurt?) should run 'autoconf' and commit 'configure' as
my autoconf version must be different: my configures contain a number
of differences and I didn't feel comfortable in adding them :)
2001-05-12 00:51:28 +00:00