Commit Graph

161 Commits

Author SHA1 Message Date
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
Mark Valence
78f24c1d89 Fix memory leak in new schema code. 2000-06-06 05:21:14 +00:00
Mark Valence
bd7c946ccc Update to work with schemas (SLAPD_SCHEMA_NOT_COMPAT=1) 2000-06-04 23:02:19 +00:00
Kurt Zeilenga
a5c2403eb1 const'ification 2000-05-22 03:55:03 +00:00
Kurt Zeilenga
7a0b0b2bbf In preparation for adding dn_rewrite()...
s/dn_normalize/dn_validate/
s/dn_normalize_case/dn_normalize/
1999-09-24 01:46:37 +00:00
Howard Chu
f991ef04e6 Added mixed-case as well as up-cased DN argument. The behavior of back-bdb2
and back-ldbm are preserved, they only use the up-cased DNs. back-passwd
uses the mixed-case DN. All others are using mixed-case DN, may need more
fixing.
1999-09-18 23:40:03 +00:00