Commit Graph

266 Commits

Author SHA1 Message Date
Pierangelo Masarati
8ad34dc76b fix previous commit: don't loop on undefined; return success with no data in case of undefined filter 2005-05-05 12:01:12 +00:00
Pierangelo Masarati
7f61a2739a fix support for absoluteFilters 2005-05-05 11:19:11 +00:00
Pierangelo Masarati
d30933af36 fix previous commit 2005-05-05 00:31:11 +00:00
Pierangelo Masarati
c80eb34888 honor T-F filters (ITS#3706) and some cleanup 2005-05-05 00:07:17 +00:00
Pierangelo Masarati
4199f4577a if for any reason ldap_search_ext() fails (e.g. ITS#3706) don't wait for results 2005-05-04 23:16:56 +00:00
Howard Chu
38cf26c95a Fix typo 2005-03-14 19:23:42 +00:00
Howard Chu
4e2dccf147 Fix prev commit, make sure to only send result once 2005-03-04 06:25:10 +00:00
Howard Chu
379a620217 Fix ITS#3537 (need to repeat this fix for the other operations too.) 2005-03-04 06:20:37 +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
b43fb2bdfc allow stacking of a default chaining control when chasing further referrals; fix referral return memory allocation on direct search 2005-02-06 22:12:02 +00:00
Pierangelo Masarati
8cc2aa9372 implement hook; cleanup 2005-01-30 22:05:46 +00:00
Pierangelo Masarati
4304dfc9a2 allow referrals in result (may happen); propagate chaining errors 2005-01-28 01:43:49 +00:00
Pierangelo Masarati
c6b6d2a5ec StartTLS (ITS#3507) + chain overlay fixes and improvements 2005-01-24 09:38:11 +00:00
Pierangelo Masarati
1d919d35a5 remove #ifdef's for identity assertion 2005-01-20 09:04:37 +00:00
Pierangelo Masarati
90cc75f1a1 cleanup; add proxyAuthz capability 2005-01-19 22:59:25 +00:00
Kurt Zeilenga
dc0eacd40b Happy New Year! 2005-01-01 20:49:32 +00:00
Pierangelo Masarati
8ec78171d3 trim comment 2005-01-01 16:14:40 +00:00
Pierangelo Masarati
5a920206dd more cleanup 2004-12-11 18:36:31 +00:00
Pierangelo Masarati
6e12819387 allow undefined schema items to be returned by back-ldap and remapped by the rwm overlay 2004-12-01 21:47:13 +00:00
Pierangelo Masarati
f176935a58 remove rewrite stuff -- now delegted to rwm overlay 2004-11-13 14:43:30 +00:00
Howard Chu
374cd32eb6 Add a retry for entry_get too. (oops) 2004-10-07 02:55:51 +00:00
Howard Chu
55f12a7eee Add a retry for failed connections 2004-10-01 11:16:38 +00:00
Kurt Zeilenga
d611a4b49a unifdef -UNEW_LOGGING 2004-09-04 04:54:28 +00:00
Pierangelo Masarati
809e623cd9 add paged results support to back-ldap 2004-08-24 09:19:33 +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
07f010a01f fix previous fix 2004-07-22 23:03:04 +00:00
Pierangelo Masarati
b94d5e17e2 rework op/rs structures to deal with opeartional attributes 2004-07-18 21:44:29 +00:00
Pierangelo Masarati
81d89ddd63 validate/pretty before normalizing... (ITS#3218) 2004-07-06 22:02:52 +00:00
Pierangelo Masarati
277d921945 clear shared connections when ldap_result fails with -1 (typically, remote server is down); fixes ITS#3217 2004-07-04 23:35:18 +00:00
Pierangelo Masarati
d1b692ceb4 clarify no limits in (internal) searches 2004-06-12 11:33:21 +00:00
Howard Chu
7488f557cd Fix entry_get, only check mapped attr if attr was provided 2004-05-25 04:54:32 +00:00
Pierangelo Masarati
a18e199e0d more on identity assertion 2004-05-22 17:26:02 +00:00
Howard Chu
a11553c212 Always normalize entries (ITS#3152, ITS#3144) 2004-05-19 23:19:24 +00:00
Pierangelo Masarati
66ddf62922 add idassert code (undocumented yet) 2004-05-13 20:25:53 +00:00
Kurt Zeilenga
44725e7303 use BER_BVNULL 2004-04-07 04:11:43 +00:00
Pierangelo Masarati
6a1dd9a1cd exploit new frontend API 2 protocol error mapping; use urldesc... 2004-04-05 17:36:53 +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
2b393962fc fix continuation of ITS#2999 2004-03-06 09:33:24 +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
Howard Chu
8a55795fbe ITS#2888 fix back-ldap to check result of send_search_entry.
Make sure sizelimit errors are propagated.
2004-02-13 02:44:13 +00:00
Pierangelo Masarati
d65f402058 improve fix to ITS#2923; note that suffix massaging is inherently flawed, because comperisons should always occur on Normalized DN, while massaging can also occur on Pretty DN, but there is no guarantee they have the same length or any length-based comparison can work; so in any case, we should pass the Normalized DN and, if the Pretty DN is present, massage it as well accordingly 2004-01-17 12:25:46 +00:00
Pierangelo Masarati
2c049ebb42 fix ITS#2923 2004-01-17 11:48:14 +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
c59e89de2f Clear ocflags 2003-12-06 14:39:07 +00:00
Pierangelo Masarati
cdb11fc5eb add administrative bind and proxyAuthz control to enable bound operations in distributed directories (need to manually #define LDAP_BACK_PROXY_AUTHZ and patches from ITS#2851 and ITS#2852) 2003-12-01 08:04:51 +00:00
Pierangelo Masarati
2c68cb41f6 this memory will be freed by free() 2003-12-01 08:01:31 +00:00
Kurt Zeilenga
a3d8cda201 notices and acknowledges 2003-11-27 06:35:14 +00:00
Howard Chu
20902a2be3 Fix segfault if entry_get is called with NULL attribute 2003-09-20 07:48:57 +00:00
Kurt Zeilenga
5cd994ed21 remove dnNormalize2
replace calls to dnNormalize2 with calls to dnNormalize
2003-04-29 18:28:14 +00:00
Howard Chu
ece7452b05 More memory context tweaks 2003-04-11 01:29:28 +00:00
Pierangelo Masarati
eed02aea22 need a second function because of different free() routines 2003-04-07 17:51:42 +00:00
Pierangelo Masarati
6dbd7341f9 use berval 2003-04-07 17:07:52 +00:00
Pierangelo Masarati
93abccdee3 group rewrite/map stuff in one structure and optimize more function calls 2003-04-07 16:52:59 +00:00
Pierangelo Masarati
77c4389f55 use rewrite info instead of ldapinfo for reusability in back-meta; will change soon 2003-04-07 12:53:00 +00:00
Howard Chu
c823f9a995 Use individual addAttrDN, compareAttrDN, modifyAttrDN, searchAttrDN contexts
instead of re-using other contexts.
2003-04-07 11:55:12 +00:00
Howard Chu
c4ab31ddc9 Cleanup previous 2003-04-07 11:40:23 +00:00
Howard Chu
c607ed0a6f (SLAP_NVALUES) attr->a_nvals must not be NULL, set equal to a_vals when
not normalizing.
2003-04-07 11:38:45 +00:00
Howard Chu
bb305eee0b Fix matchedDn detection 2003-04-07 10:51:57 +00:00
Howard Chu
68c5f6fa98 Cleanup ENABLE_REWRITE ifdefs, put into a new ldap_back_dn_massage().
All DN attrs are massaged, whether or not ENABLE_REWRITE is defined.
Use "dnAttr" rewriteContext for Add, Compare, & Modify.
Fixed ldap_back_compare.
2003-04-07 10:15:18 +00:00
Pierangelo Masarati
1ce560383a map attrs improvement 2003-04-05 16:53:29 +00:00
Kurt Zeilenga
c75be97ae9 #ifdef -DSLAP_NVALUES 2003-04-05 03:35:16 +00:00
Pierangelo Masarati
f8682550d7 cleanup 2003-04-05 01:25:57 +00:00
Pierangelo Masarati
cb33a9ff44 minor fixes: leaks, dangling pointers, cleaner tag skip
for subschemaSubentry; still having problems with group ACLs ...
2003-04-05 01:20:55 +00:00
Pierangelo Masarati
ab3ab80ecd more args elimination + allow specific messages when mapping client API errors to LDAP_OTHER 2003-04-04 22:20:49 +00:00
Pierangelo Masarati
172e93bfc9 normalize values only if required 2003-04-04 11:03:29 +00:00
Pierangelo Masarati
19dc49180d handle failure or missing attrs 2003-04-04 09:55:56 +00:00
Howard Chu
ba0b8d1ac9 Fix prev commit 2003-04-04 01:47:25 +00:00
Howard Chu
6e551b53f4 Mapping fixes, SLAP_NVALUES fixes 2003-04-04 01:01:28 +00:00
Pierangelo Masarati
5598add84e first cut at mapping/rewriting before search (after search it's already handled by ldap_build_entry) 2003-04-04 00:48:54 +00:00
Pierangelo Masarati
dfbbd11bd3 remove more unnecessary args 2003-04-04 00:43:40 +00:00
Howard Chu
a9339c99f6 Fix shared/private binds, fix entry_get malloc 2003-04-03 23:55:57 +00:00
Pierangelo Masarati
ebe0bb0b52 trim unnecessary args 2003-04-03 23:23:56 +00:00
Pierangelo Masarati
811929011d anyone knows a safer way to skip a tag? 2003-04-03 22:54:51 +00:00
Pierangelo Masarati
d218848b14 of course there's a better way to skip a tag :) 2003-04-03 22:48:17 +00:00
Pierangelo Masarati
bb4624c8b0 eat undesired values 2003-04-03 22:40:41 +00:00
Pierangelo Masarati
17e46d8468 cleanup and fixes 2003-04-03 21:35:27 +00:00
Howard Chu
3d0ffa1d58 Fix typos in prev commit 2003-04-02 00:40:51 +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
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
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
dfe3b4fb2f SLAP_NVALUES - quick hack, just set a->a_nvals = a->a_vals. will need to
fix this if ACLs are expected to work on the local slapd.
2003-03-24 02:59:43 +00:00
Pierangelo Masarati
fc87692576 fix ITS#2362 and other leaks/unhandled massaged DN memory 2003-03-11 18:09:38 +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
Howard Chu
9f0598034e Fix do/don't send result logic 2003-02-19 00:01:22 +00:00
Howard Chu
532eea87c9 Added passwd_exop, added matchedDN rewrite for results. 2003-02-16 09:22:44 +00:00
Howard Chu
0b6772492f Use extended async APIs to allow direct parsing of results. Otherwise
they will be interleaved in LDAP*. Avoid setting any options on the handle.
2003-02-14 05:23:45 +00:00
Howard Chu
202cf8af75 Implemented connection pooling. Requires libldap_r to allow multiple threads
to access the same LDAP* handle.
2003-02-13 23:29:56 +00:00
Howard Chu
b228caa723 Revert previous, wasn't broken. 2003-02-13 23:19:51 +00:00
Howard Chu
568829d821 Fix uninit'd timeout value 2003-02-13 10:24:32 +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
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
7e2317c842 add server side controls to back-ldap and back-meta 2002-08-29 14:39:31 +00:00
Pierangelo Masarati
c4a8a3dce5 better error handling when returning results 2002-08-13 17:00:33 +00:00
Pierangelo Masarati
b063a50891 same as for back-meta 2002-08-10 14:25:41 +00:00
Kurt Zeilenga
838643d5ad operationsError != Internal Error
hence, s/LDAP_OPERATIONS_ERROR/LDAP_OTHER/
2002-07-31 22:49:02 +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
640bc864fa Use specific msg id instead of ANY to retrieve search results 2002-05-03 14:23:55 +00:00
Pierangelo Masarati
b9d74aba5f broken berval after successful rewrite 2002-05-02 11:42:11 +00:00
Pierangelo Masarati
c030dbfefd massage dn-valued attributes also when compiled without --enable-rewrite 2002-05-01 17:53:32 +00:00
Pierangelo Masarati
c1edf76e20 use BerVarray for suffix_massaging stuff 2002-05-01 17:45:03 +00:00
Pierangelo Masarati
d3058532c9 honor limits if below soft limit 2002-04-29 10:12:50 +00:00
Howard Chu
98df4006b1 ITS#1733 eliminate o_abandonmutex 2002-04-11 08:08:42 +00:00
Howard Chu
fd810bb35e Silence a warning about ldap_debug 2002-02-11 09:38:49 +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
Pierangelo Masarati
e89d7b1280 some memory handling cleanup: check that memory is freed by who allocated it, or at least put a FIXME where not 2002-01-12 17:35:01 +00:00
Howard Chu
ec46a2f33a Use 'm' ber_scanf format where convenient 2002-01-06 06:11:01 +00:00
Pierangelo Masarati
e5beebd6a3 more cleanup 2002-01-05 18:31:38 +00:00
Kurt Zeilenga
0e2af54a3f Update copyright statements 2002-01-04 21:17:25 +00:00
Pierangelo Masarati
847f0f5b8f misc fix/improvements 2002-01-04 19:11:55 +00:00
Pierangelo Masarati
10352caec1 fix rewrite iteration 2002-01-04 17:51:46 +00:00
Howard Chu
05b2332caa struct berval fixes, fix memory leak in ldap_send_entry 2002-01-04 00:49:34 +00:00
Pierangelo Masarati
3e230c7f91 trivial fixes 2002-01-03 16:28:21 +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
Pierangelo Masarati
09348fcd85 minor fixes 2002-01-02 17:56:48 +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
Pierangelo Masarati
6d046b1681 fix rewrite stuff 2001-12-29 14:18:31 +00:00
Howard Chu
975a5e9a24 Added dnPretty2/dnNormalize2 using preallocated destination berval 2001-12-29 04:48:00 +00:00
Howard Chu
6b413395fd More struct beral conversion 2001-12-28 04:20:08 +00:00
Pierangelo Masarati
e2fdaed3c7 some char* to berval fixes 2001-12-26 20:47:41 +00:00
Howard Chu
d0add35348 Changed get_limits to struct berval* 2001-12-26 15:28:01 +00:00
Howard Chu
d00fe773ae Fix attrs handling 2001-12-26 09:19:57 +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
1eb3f8b2e4 add limits stuff to back-ldap 2001-08-04 11:10:35 +00:00
Pierangelo Masarati
5a2014b863 semicolon after colon in goto labels 2001-06-03 08:53:13 +00:00
Pierangelo Masarati
395cc1d7bb added new log; minor cleanup of rewrite stuff 2001-05-16 22:55:44 +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
Mark Valence
2c677743ad bug fix 2001-02-20 16:08:14 +00:00
Mark Valence
6e6118c6cc attribute & objectclass mapping rules 2001-02-19 19:14:12 +00:00
Howard Chu
4703fe82b2 Pierangelo Masarati's bugfixes and enhancements for suffix-massaging.
See the Changes file for detailed description.
2001-01-19 21:27:20 +00:00
Kurt Zeilenga
c55a82baa2 Mark as "altered version" 2001-01-17 07:09:22 +00:00
Kurt Zeilenga
06d63200e4 ITS#919: fix str2ad initialization bug 2001-01-17 06:32:26 +00:00
Howard Chu
99c88eace1 Fix: remap API error codes into protocol error codes before sending
back to client.
2000-10-23 13:32:14 +00:00
Kurt Zeilenga
fad62c5d1d Remove lint 2000-06-08 18:36:37 +00:00
Kurt Zeilenga
693fb9424a unifdef -DSLAPD_SCHEMA_NOT_COMPAT -USLAPD_SCHEMA_COMPAT 2000-06-06 19:43:18 +00:00