Commit Graph

547 Commits

Author SHA1 Message Date
Pierangelo Masarati
55bd34079c return entry controls (partially fixes ITS#4591) 2007-07-30 16:32:59 +00:00
Ralf Haferkamp
5ae46c195e Added a new parameter (ConfigArgs*) to the _db_init, _db_open, _db_close and
_db_destroy functions.
2007-07-25 17:21:05 +00:00
Howard Chu
88cbe052e0 Fallout from ITS#4986 - remove unused param of select_backend() 2007-07-13 03:18:20 +00:00
Pierangelo Masarati
639d678592 cleanup struct declarations 2007-03-20 01:07:10 +00:00
Pierangelo Masarati
a28eb7817a fix cleanup 2007-03-14 01:05:42 +00:00
Pierangelo Masarati
fd1efa13d0 fix previous commit (ITS#4861) 2007-03-09 17:24:56 +00:00
Pierangelo Masarati
6a9c44849c check consistency of referrals and result code (ITS#4861) 2007-03-08 17:57:49 +00:00
Pierangelo Masarati
18b1fd4e5f Solaris doesn't like NULL pointers in printf, which now can occur since IA5string allows the empty string 2007-02-26 20:38:20 +00:00
Pierangelo Masarati
e5ebfe6662 improve async connect handling in case of errors 2007-02-21 22:22:14 +00:00
Pierangelo Masarati
ff9b674899 cleanup back-meta according to back-ldap 2007-01-28 00:53:11 +00:00
Pierangelo Masarati
196fd6308d do not allow back-meta with no targets 2007-01-26 23:03:46 +00:00
Pierangelo Masarati
6155d91143 don't return adminLimitExceeded unless LDAPv3; use largest among candidates timeouts 2007-01-26 01:59:30 +00:00
Pierangelo Masarati
cf226fb029 implement search timeout when the remote server does not respond in the specified timeout 2007-01-26 01:39:05 +00:00
Pierangelo Masarati
814b8a1438 don't bail out if all targets are too lazy... 2007-01-18 01:13:39 +00:00
Pierangelo Masarati
02af23c4c1 allow modules to muck with connection tree and so 2007-01-18 00:02:29 +00:00
Pierangelo Masarati
dfff749f04 fix dumb overparanoid test 2007-01-16 11:30:24 +00:00
Pierangelo Masarati
ee2370bf42 one more round of cached connections fixes/improvements 2007-01-13 11:51:28 +00:00
Pierangelo Masarati
3042c57ac0 allow forcing abandon of search operations on a connection basis 2007-01-09 12:19:04 +00:00
Pierangelo Masarati
7bcca30623 better handling of critical conditions 2007-01-08 21:37:45 +00:00
Pierangelo Masarati
3c012a606b fix response code mapping 2007-01-08 00:13:28 +00:00
Pierangelo Masarati
671330a051 better async connection and partial error handling 2007-01-07 22:06:13 +00:00
Pierangelo Masarati
3284f54ec0 silence warnings 2007-01-03 21:34:49 +00:00
Kurt Zeilenga
da6d9eb046 happy new year 2007-01-02 20:00:42 +00:00
Pierangelo Masarati
7e8242d50d pool privileged connections (ITS#4791) 2006-12-24 18:23:36 +00:00
Pierangelo Masarati
4e11af075f - add support for "use-temporary-conn" much like back-ldap
- fix various connection creation/setup concurrency issues
- use shared connection when always idasserting (similar to ITS#4781)
- reduce the impact of schema mapping when not used (tnx to gprof)
- fix temporary/tainted connection leak in abnormal conditions
2006-12-17 23:52:23 +00:00
Pierangelo Masarati
c89d0db64f fix deadlock in case of bind error; propagate error as appropriate 2006-12-02 17:09:20 +00:00
Pierangelo Masarati
8326ac21b1 add "report" to "onerr" modes: continue a search in case one target returns an error, and only propagate the error at the end 2006-11-23 23:50:36 +00:00
Pierangelo Masarati
14e1feed1f fix leak when 'rebind-as-user' is set (and client searches without prior bind) 2006-11-18 18:02:46 +00:00
Pierangelo Masarati
efb04832bd rework compare
fix several minor issues with using dangling pointers and uninitialized data
fix caching of privileged connections
fix issues with unresponsive target failures during search
2006-11-05 12:05:47 +00:00
Pierangelo Masarati
71bcd4a4b6 s/ldap_int_discard/ldap_pvt_discard/ 2006-10-28 18:13:12 +00:00
Pierangelo Masarati
07abb0eb3a fix concurrency issue when binding before a search; rework and cleanup data structures (remove unused members) 2006-10-28 16:20:59 +00:00
Pierangelo Masarati
6416d83372 add ldap_int_discard(); use it in proxies (ITS#4717) 2006-10-22 20:31:41 +00:00
Pierangelo Masarati
0aebe8af08 rework timeout strategy a little bit 2006-10-21 18:57:27 +00:00
Pierangelo Masarati
f449ee6500 cleanup and streamline response handling 2006-10-14 17:12:05 +00:00
Pierangelo Masarati
968da1cb14 add LDAP_OPT_DIAGNOSTIC_MESSAGE; replace deprecated option names 2006-10-14 17:04:17 +00:00
Pierangelo Masarati
b1a2be99c6 don't mix return codes (ITS#4711) 2006-10-14 09:26:22 +00:00
Pierangelo Masarati
f8d1a61866 more on clarification of special proxy identities and resilience to connection failure 2006-10-07 18:07:56 +00:00
Pierangelo Masarati
b769f44619 fix ITS#4686 (retry with idassert) 2006-09-26 15:12:07 +00:00
Pierangelo Masarati
7fd11ad679 minor cleanup 2006-09-17 16:44:40 +00:00
Pierangelo Masarati
8eb455e7b2 add sb_version to slap_bindconf;
rework slap_client_connect() and slap_discover_feature() accordingly
2006-09-11 00:52:43 +00:00
Pierangelo Masarati
0e13519191 ld may legitimately be NULL if another operation freed it because of a failure while binding 2006-09-09 17:01:28 +00:00
Pierangelo Masarati
84d6a04c91 improve timeout support (ITS#4157, ITS#4663) 2006-09-04 08:26:09 +00:00
Pierangelo Masarati
8129f7e2f2 fix arg format; better trace logging... 2006-09-03 11:14:37 +00:00
Pierangelo Masarati
906ff0d51a don't abandon binds in progress; rather unbind (ITS#4663).
Better logging for tracing
2006-09-03 11:04:27 +00:00
Howard Chu
78172aa0cf Entry/Attribute struct caching, to minimize malloc fragmentation
Note: this breaks LDAP_COMP_MATCH and SLAP_ZONE_MALLOC. But they
were probably broken already anyway.
2006-08-29 01:43:23 +00:00
Pierangelo Masarati
828d55be4d invalidate idle connection if a candidate target does not respond for the duration of time limit... 2006-08-26 15:24:49 +00:00
Kurt Zeilenga
d3e288dffe s/managedit/relax/
#unifdef -DSLAP_RELAX
2006-08-22 23:31:46 +00:00
Pierangelo Masarati
9c52a2c4ff give slapd a chance to play callback cleanup handlers when a search operation is abandoned (ITS#4645) 2006-08-17 19:47:25 +00:00
Kurt Zeilenga
4ba9bc1c2d Use LDAP_OTHER to indicate internal error 2006-08-12 21:46:29 +00:00
Pierangelo Masarati
fb11017d64 refine previous commit 2006-07-08 15:04:50 +00:00
Pierangelo Masarati
d16c9aacd7 count candidate unavailable (quarantined) targets 2006-07-08 12:42:09 +00:00
Pierangelo Masarati
5dcb4828d7 use bound credentials, if any 2006-07-01 16:45:07 +00:00
Pierangelo Masarati
aec9afc4e3 move retry into response handling (fix ITS#4594; partially addresses ITS#4591 as well) 2006-06-17 12:37:45 +00:00
Pierangelo Masarati
a5b520477c more cleanup for previous commit 2006-06-15 23:43:09 +00:00
Pierangelo Masarati
3ebb40c4dd port identity assertion to back-meta; share as much code as possible with back-ldap; misc cleanup 2006-06-15 23:12:38 +00:00
Pierangelo Masarati
20542a045f fix previous commit 2006-06-10 19:47:31 +00:00
Pierangelo Masarati
33d79d1541 fix error mapping 2006-06-10 18:11:52 +00:00
Pierangelo Masarati
bed74c02cc improve logging 2006-06-10 17:41:55 +00:00
Pierangelo Masarati
ca0184c309 centralize and cleanup bind response handling 2006-06-10 16:33:55 +00:00
Pierangelo Masarati
6bd9aa3755 remove unnecessary locks and resource cleanup 2006-06-10 15:30:24 +00:00
Pierangelo Masarati
50c6a95a62 make sure heavy concurrency doesn't cause quarantine loops 2006-06-10 01:08:45 +00:00
Pierangelo Masarati
942ca17669 cleanup resource release 2006-06-08 23:41:02 +00:00
Pierangelo Masarati
5466628e81 more about previous commit 2006-06-07 23:36:38 +00:00
Pierangelo Masarati
740f196548 rework quarantine locking and so 2006-06-07 23:25:38 +00:00
Pierangelo Masarati
53175f7ba6 more concurrency cleanup 2006-06-07 21:54:37 +00:00
Pierangelo Masarati
9aecc6c7e0 cleanup 2006-06-07 14:48:10 +00:00
Pierangelo Masarati
63d5a939b3 refine (and fix) back-meta handling of search initialization (ITS#4519) 2006-06-02 17:30:15 +00:00
Pierangelo Masarati
a2b7fd279f cleanup 2006-06-02 15:43:47 +00:00
Pierangelo Masarati
9b7dc0aa36 trap an issue that occurred in odd conditions 2006-05-31 14:37:05 +00:00
Pierangelo Masarati
759638db20 misc cleanup 2006-05-31 14:11:07 +00:00
Pierangelo Masarati
85c9a7b4c5 further cleanop of previous commits 2006-05-30 00:40:39 +00:00
Pierangelo Masarati
f5fcd2c169 cleanup previous commit 2006-05-30 00:12:23 +00:00
Pierangelo Masarati
a6406de871 make room for plugins that deal with quarantine end 2006-05-29 21:43:20 +00:00
Pierangelo Masarati
795841b5a4 implement proxy quarantine (ITS#4569) 2006-05-27 19:54:27 +00:00
Pierangelo Masarati
e5c173691d add cancel strategies (ITS#4560) 2006-05-20 14:29:01 +00:00
Pierangelo Masarati
9b388e5328 fix cleanup concurrency 2006-05-17 01:34:46 +00:00
Pierangelo Masarati
3b7084c170 reset the conn field in the cached connection if the bound DN is privileged (ITS#4547) 2006-05-15 01:42:05 +00:00
Pierangelo Masarati
1c16fa382a line up back-meta to ITS#4546 2006-05-14 18:10:23 +00:00
Pierangelo Masarati
6910b36df8 more checks 2006-05-14 16:29:49 +00:00
Pierangelo Masarati
3393b15594 cleanup resource release 2006-05-14 15:11:53 +00:00
Pierangelo Masarati
93b88e0bbf make sure realloc'd memory is reset 2006-05-13 02:06:10 +00:00
Pierangelo Masarati
87ba3eb8b0 refine previous commits (don't leave bindings around) 2006-05-12 19:25:31 +00:00
Howard Chu
ed25c75d60 plug leak 2006-05-10 12:53:36 +00:00
Pierangelo Masarati
c2369771f8 cleanup 2006-05-06 17:22:59 +00:00
Pierangelo Masarati
373ded8d24 add URI list resorting feature (ITS#4524) 2006-05-06 16:15:25 +00:00
Pierangelo Masarati
af5b506e37 fix previous commit 2006-05-06 11:53:54 +00:00
Pierangelo Masarati
470fda7744 cleanup version parsing 2006-05-06 10:42:29 +00:00
Pierangelo Masarati
2110880be1 refine previous commit 2006-05-06 03:16:45 +00:00
Pierangelo Masarati
a9b7f3612b parallelize dobind/search (ITS#4519) 2006-05-06 02:25:53 +00:00
Pierangelo Masarati
23c766bbfd make sure NULL pointers are not dereferenced 2006-05-04 22:07:35 +00:00
Pierangelo Masarati
9447b9fff4 gracefully handle server down while initiating a search (ITS#4518) 2006-05-04 08:37:31 +00:00
Pierangelo Masarati
45b378c753 don't muck with freed memory (spotted by valgrind) 2006-05-03 18:54:04 +00:00
Pierangelo Masarati
e01743193d more coverity issues 2006-04-14 00:17:27 +00:00
Hallvard Furuseth
d60b89c148 meta_back_db_config: lutil_atou(version,) -> lutil_atoi 2006-04-13 22:23:03 +00:00
Pierangelo Masarati
bd8514fb1e address protocol version issues (ITS#4488) 2006-04-13 16:20:00 +00:00
Pierangelo Masarati
8c1b8d3f7b actually, if a connection is already in the AVL tree, use it if not binding; otherwise use a tainted one; taint connections that must be freed when refcnt goes to zero 2006-04-07 01:28:56 +00:00
Pierangelo Masarati
0f1023b6c7 pedantic cleanup 2006-04-06 23:55:09 +00:00
Pierangelo Masarati
674c98fa7d honor stop on error 2006-04-04 19:48:22 +00:00
Pierangelo Masarati
e21f57cf05 complete previous commit (protect binds) 2006-04-04 18:45:59 +00:00
Pierangelo Masarati
543396c804 make sure only on bind at a time occurs; release resources only when appropriate 2006-04-04 17:41:50 +00:00
Pierangelo Masarati
2e9f2995ec only wait if no entry was returned 2006-04-04 17:41:13 +00:00
Pierangelo Masarati
79df3e9c3c don't add unnecessary message 2006-04-03 22:06:12 +00:00
Pierangelo Masarati
14cbf4bc3e make sure an invalid connection is always released as appropriate 2006-04-03 21:56:30 +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
Pierangelo Masarati
3160c03dab cleanup previous commit 2006-03-23 23:01:14 +00:00
Pierangelo Masarati
3437406a0b honor "chase-referrals no" (ITS#4447) 2006-03-23 21:01:19 +00:00
Pierangelo Masarati
a3f4f0b2db map result codes as required (ITS#4419) 2006-03-02 00:35:12 +00:00
Pierangelo Masarati
41f963644c be conservative in reading subtree-exclude 2006-02-16 23:37:42 +00:00
Pierangelo Masarati
af0d2b1d2a add support for "subtree-exclude" 2006-02-16 01:26:39 +00:00
Kurt Zeilenga
cbc11c9233 unifdef -DLDAP_NULL_IS_NULL 2006-02-14 23:18:12 +00:00
Pierangelo Masarati
53c40fac27 rework connection handling on multiple binds with the same connection 2006-02-11 17:40:28 +00:00
Pierangelo Masarati
6275c6ecdc make sure no invalid candidate gets used (had a core for i == META_TARGET_MULTIPLE) 2006-02-07 18:51:47 +00:00
Pierangelo Masarati
54aefe30f7 implement proxy long-lived connection TTL 2006-02-01 23:10:12 +00:00
Kurt Zeilenga
f5b9ff7940 unifdef -DSLAPD_CONF_UNKNOWN_BAILOUT -DSLAPD_CONF_UNKNOWN_IGNORED=""
-DSLAPD_DEBUG_CONFIG_ERROR=LDAP_DEBUG_ANY
2006-01-24 04:40:01 +00:00
Pierangelo Masarati
d168b49464 make back-meta conform with man page 2006-01-14 15:28:28 +00:00
Pierangelo Masarati
9795721f7a improve back-meta retry capabilities (ITS#4328) 2006-01-11 19:33:44 +00:00
Pierangelo Masarati
543c588772 don't send error with back-meta 2006-01-09 15:13:29 +00:00
Pierangelo Masarati
6995603a3d refine fix to ITS#4315; apply it to back-meta as well 2006-01-09 14:20:37 +00:00
Pierangelo Masarati
090945b89e allow proxying of dynamic objects (irrespective of the support provided to dynamic objects); but back-meta does not support extended ops yet... 2006-01-06 17:08:06 +00:00
Kurt Zeilenga
acbb5cf689 Happy new year! 2006-01-03 23:11:52 +00:00
Pierangelo Masarati
8d4418b044 fix handling of bind-timeout 2005-12-21 17:28:27 +00:00
Pierangelo Masarati
8346de462b silence warning 2005-12-20 20:36:05 +00:00
Pierangelo Masarati
fcda57e90f use macros instead of numbers... 2005-12-13 20:11:26 +00:00
Pierangelo Masarati
bd975514de add (and document) customizable bind-timeout 2005-12-12 15:57:58 +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
Pierangelo Masarati
1b42fde372 implement (per-target) per-conn proxy-side idle-timeout (ITS#4115); revitalize (per-target) network-timeout in back-meta; fix issue with connection initialization error in ldap_back_retry(); cleanup configuration of back-ldap 2005-12-07 17:35:02 +00:00
Pierangelo Masarati
5f8f4554ff cleanup 2005-12-05 15:21:49 +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
ce367bcc25 use friendly form for timeouts 2005-11-24 21:21:27 +00:00
Pierangelo Masarati
d34fffcaf9 use lutil_ato*() whenever appropriate 2005-11-24 01:10:05 +00:00
Pierangelo Masarati
0fd295a321 first round of number/time parsing fixes 2005-11-23 17:29:16 +00:00
Pierangelo Masarati
e83f0f900b set the berval length\! (ITS#4196) 2005-11-22 12:13:07 +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
7fa4b159bf fix dangling resources issue in slapd-ldap; completely rework slapo-chain to fix the resource leak/concurrency issue; add support for multiple well-known URIs to set credentials for, and deal with unknown URIs anonymously; similar reworking and cleanup for slapd-meta 2005-11-19 15:00:50 +00:00
Pierangelo Masarati
af23be3675 silence warnings... 2005-11-14 21:47:17 +00:00
Pierangelo Masarati
1145840994 remove from AVL before freeing... 2005-11-09 03:28:55 +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
0207dcd3f9 import leak plug from slapo-rwm 2005-11-03 15:20:33 +00:00
Pierangelo Masarati
ac6b3e1415 don't leak massaged referral DN 2005-11-03 14:06:26 +00:00
Pierangelo Masarati
3cb2bc0c56 various cleanup 2005-11-01 16:36:17 +00:00
Pierangelo Masarati
cedb88c373 eat up values of removed attrs 2005-11-01 13:42:51 +00:00
Pierangelo Masarati
d3f33d8139 better fix: in case of error during bind, just bail out (very conservative, though) 2005-11-01 11:00:55 +00:00