Commit Graph

364 Commits

Author SHA1 Message Date
Luke Howard
ffe20229dc Move most of SLAPI frontend into overlay 2005-07-21 16:35:20 +00:00
Luke Howard
0bf8a366a5 SLAPI cleanups 2005-07-21 08:39:37 +00:00
Luke Howard
8d600eca08 Enable SLAPI pre-entry plugins (we really need to move SLAPI into an
overlay...)
2005-07-21 04:01:54 +00:00
Luke Howard
7bd627d491 Reenable pre-result plugins, these were supported in OpenLDAP 2.2
Pre-entry and pre-referral plugins will be enabled after testing
2005-07-19 15:39:25 +00:00
Luke Howard
2d7a2144dc result.c 2005-07-19 15:35:00 +00:00
Luke Howard
6f5dde0734 Fix pointer error in readback control 2005-07-19 08:39:05 +00:00
Luke Howard
ed424c55ee Support for pre-entry, pre-result, pre-referral SLAPI plugins (not
enabled yet; behind #ifdef notdef)
2005-07-19 06:46:53 +00:00
Hallvard Furuseth
03c85cc68d send_ldap_controls() returns int, so fix return LBER_ERROR to -1. 2005-07-18 06:28:28 +00:00
Hallvard Furuseth
81ecb0b153 assert expects int. (int)<nonnull ptr/long> can be 0. Use assert(arg!=0/NULL). 2005-07-18 06:22:33 +00:00
Pierangelo Masarati
b30b82a65a do not return spurious result codes 2005-05-30 12:36:21 +00:00
Pierangelo Masarati
8ff019ad83 minor cleanup 2005-05-21 15:01:44 +00:00
Howard Chu
f82e2cbf39 Make entry_encode/decode independent of slapd structure sizes 2005-05-06 21:24:49 +00:00
Howard Chu
b33098b962 Propagate SLAPD_ABANDON results to to allow cleanup callbacks to run 2005-04-28 18:49:24 +00:00
Howard Chu
b92387bb1c ITS#3671 add REP_ENTRY_MUSTRELEASE flag, release the entry before
attempting to write the response on the network. (This should probably
be the default behavior anyway, since network hangs of this sort can
cause problems for any backend that has entry locks.)
2005-04-24 22:21:57 +00:00
Kurt Zeilenga
af866c3b44 Added a conformant sortedResults support which is unable to sort anything. 2005-04-01 02:40:29 +00:00
Kurt Zeilenga
3b3c521083 slapi glue fix 2005-03-15 02:47:27 +00:00
Howard Chu
902494b432 Cleanup prev commit 2005-03-14 19:46:14 +00:00
Howard Chu
b508cca217 ITS#3596 partial fix - fix sc_cleanup processing 2005-03-14 00:39:49 +00:00
Pierangelo Masarati
b3c00deb3d counter cleanup 2005-01-30 22:07:32 +00:00
Kurt Zeilenga
dc0eacd40b Happy New Year! 2005-01-01 20:49:32 +00:00
Jong Hyuk Choi
62febe5dff fix slap_sl_free() calls in pre / post read controls 2004-11-10 21:38:41 +00:00
Kurt Zeilenga
30fdb0e0ca Fix LDAP Intermediate Response tag values.
with code to accept old values.
2004-10-20 21:47:40 +00:00
Howard Chu
7e87f54716 Revert ITS#3353 patch, it needs to be reworked. 2004-10-06 05:51:38 +00:00
Howard Chu
fda3d6260e ITS#3353 consolidate slapd globals into a single struct 2004-10-01 07:33:16 +00:00
Pierangelo Masarati
d026e2c9f7 preformat "conn=%lu op=%lu" 2004-09-26 23:00:00 +00:00
Pierangelo Masarati
761f287943 multiple precision with BIGNUM/gmp/ulong 2004-09-26 22:58:47 +00:00
Pierangelo Masarati
a637926bf2 use GMP for multiple precision in counters 2004-09-11 16:15:53 +00:00
Kurt Zeilenga
094bc99b83 Initial entryDN implementation.
Need to implement filter support (for entryDN and subschemaSubentry).
Fixed hasSubordinate assert() bug in entry filters
2004-09-07 05:00:33 +00:00
Kurt Zeilenga
d611a4b49a unifdef -UNEW_LOGGING 2004-09-04 04:54:28 +00:00
Pierangelo Masarati
05b81e623d cleanup attr flags; provide a helper 2004-08-06 17:29:59 +00:00
Pierangelo Masarati
9dcdeef319 don't recompute userattrs 2004-07-30 17:34:47 +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
b94d5e17e2 rework op/rs structures to deal with opeartional attributes 2004-07-18 21:44:29 +00:00
Pierangelo Masarati
dc5f95cd3e uninitialized var 2004-07-14 08:18:26 +00:00
Pierangelo Masarati
02c5b51717 cleanup; fix loop 2004-07-14 01:34:46 +00:00
Pierangelo Masarati
922a7e4488 cleanup; plug potential leak? 2004-07-14 01:10:35 +00:00
Pierangelo Masarati
d02a8cab65 revert previous change; anticipate backend_operational before overlays callbacks (thanks, Howard); rework overlays cycle to allow callbacks to free themselves (thanks Howard) 2004-07-14 00:42:23 +00:00
Pierangelo Masarati
3b8111f1c4 use a separate field for a modified entry in SlapReply 2004-07-13 22:52:54 +00:00
Pierangelo Masarati
d58055b7de swap overlay and internal cleanup 2004-07-13 22:00:28 +00:00
Kurt Zeilenga
36e75e10af reverse last commit 2004-07-05 21:45:01 +00:00
Kurt Zeilenga
35cbe6fe84 fix typos in last commit 2004-07-05 21:44:12 +00:00
Pierangelo Masarati
b72657acf0 typo in comment 2004-07-03 11:16:22 +00:00
Pierangelo Masarati
8f6cce3296 improve logging... 2004-06-29 18:04:30 +00:00
Kurt Zeilenga
8bca3b42f9 Rework pre/post read controls to handle retry conditions...
(and plug leaks)
2004-06-23 06:56:23 +00:00
Kurt Zeilenga
e5a37f2125 SLAPD_DISCONNECT v -1 cleanup
misc other cleanup
2004-06-23 01:04:52 +00:00
Kurt Zeilenga
1372965d89 ITS#3092: Rename sl_free() and friends to slap_sl_free() 2004-04-20 03:44:57 +00:00
Kurt Zeilenga
abbbbbe3bb cleanup 2004-04-07 03:32:37 +00:00
Kurt Zeilenga
f7d8d55d84 cleanup 2004-04-06 19:42:37 +00:00
Kurt Zeilenga
37ef5350bd Rework return of update referrals 2004-04-06 00:47:21 +00:00
Pierangelo Masarati
f6126f7db1 move API 2 protocol error mapping to frontend 2004-04-05 17:29:06 +00:00
Howard Chu
cac30b1855 ITS#3008 fix value-based ACLs 2004-03-10 02:59:03 +00:00
Kurt Zeilenga
733c3c5f87 Remove now redundant error check 2004-01-30 05:33:27 +00:00
Howard Chu
89812424f4 Skip spurious Statslog's for callback-intercepted responses. 2004-01-22 01:20:15 +00:00
Kurt Zeilenga
3c598e89fb Happy new year 2004-01-01 19:15:16 +00:00
Kurt Zeilenga
2775c8d4a8 Update no-op control to return LDAP_NO_OPERATION instead of LDAP_SUCCESS.
(back-sql needs to be updated)
2003-12-29 23:31:39 +00:00
Luke Howard
0549d46adf Don't require slapi to be in the path - always include slapi/slapi.h 2003-12-28 04:17:48 +00:00
Luke Howard
b0416d1140 Cleanup SLAPI namespace 2003-12-28 04:14:19 +00:00
Howard Chu
e933f076cc Better fix for ITS#2512. Use callback to invoke replog before sending
result to client.
2003-12-25 15:01:53 +00:00
Howard Chu
c7da63df3d ITS#2887 fix slapi crash 2003-12-23 18:40:56 +00:00
Howard Chu
9777dc2114 ITS#2883 initialize rc before running callbacks 2003-12-18 03:50:09 +00:00
Pierangelo Masarati
f2a9089e4d cleanup most of the -pedantic warnings (ITS#2884) and other small fixes 2003-12-17 20:55:46 +00:00
Luke Howard
516fd0ff50 First round of SLAPI cleanups - use slapi_int_XXX for internal functions
(slapi_x_XXX is still reserved for exported functions that are not part
of the SLAPI specification)
2003-12-16 15:49:31 +00:00
Luke Howard
c8f62b12d3 Honour any controls that are sent by a SLAPI plugin 2003-12-16 11:17:54 +00:00
Howard Chu
be1a728c5b Added sc_next and sc_cleanup to slap_callback 2003-12-07 08:51:23 +00:00
Howard Chu
b0b3eff457 ITS#2864 don't use sl_mark/release. 2003-12-07 03:41:10 +00:00
Pierangelo Masarati
723bc044e0 changes required to use rwm overlay 2003-12-06 10:54:10 +00:00
Howard Chu
42d8c0a39d Added slap_null_cb 2003-12-01 12:03:20 +00:00
Kurt Zeilenga
4e15a84452 Updated notices 2003-11-27 01:17:14 +00:00
Howard Chu
01f7a7466b SLAPI fix - no-op when slapi_plugins_used == 0 2003-10-24 05:58:42 +00:00
Kurt Zeilenga
767cf365ea Initial fix for berbuf alignment bug (ITS#2760)
Needs to be applied to other stack allocated berbufs.
2003-10-12 04:45:09 +00:00
Luke Howard
ce17fd5f04 Don't leak SLAPI_RESULT_MATCHED
Call SLAPI_PLUGIN_PRE_RESULT_FN plugins
2003-09-27 03:59:40 +00:00
Howard Chu
25e145f8c8 Plug SLAPI leak 2003-09-25 11:28:31 +00:00
Kurt Zeilenga
99f968b597 Initial support for pre/post read controls.
TODO:
	Fix transactional consistency
	Add client response control handling
2003-09-16 18:56:04 +00:00
Howard Chu
2ff82a82c5 Tweaks to callback processing; callbacks can return SLAP_CB_CONTINUE to
fall into the regular send_ldap_* functionality instead of calling into
those functions explicitly. Nested callbacks still aren't handled as
cleanly as they might be.
2003-08-19 03:22:07 +00:00
Kurt Zeilenga
0db73d9d15 code clean before adding readback hacks 2003-06-11 00:59:10 +00:00
Kurt Zeilenga
0b3f6e364c vrFilter -> o_vrFilter 2003-06-10 03:32:33 +00:00
Kurt Zeilenga
11f990a641 Fix intermediate responses 2003-05-31 05:32:57 +00:00
Kurt Zeilenga
12304f64e5 Merge partial and intermediate responses 2003-05-31 05:01:49 +00:00
Howard Chu
5d0ba372e5 Fix LBER_OPT_MEMCTX behavior 2003-05-28 22:17:08 +00:00
Julius Enarusai
5094d6abda Fixed minor compile errors 2003-04-15 20:40:02 +00:00
Howard Chu
130f6e1b7d Memory context tweaks for other ops 2003-04-12 10:47:11 +00:00
Howard Chu
374d919fc0 More memory context tweaks 2003-04-10 06:21:53 +00:00
Howard Chu
8db24ce9e8 Fix backglue crash 2003-04-07 03:43:12 +00:00
Kurt Zeilenga
1626f722c5 abort if result code is negative 2003-04-02 21:05:06 +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
fa9bf23501 Minor cleanup 2003-03-31 07:49:34 +00:00
Luke Howard
6c2f47ecd5 SLAPI fixes 2003-03-31 04:56:17 +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
65b85d83ea Revert previous commit 2003-03-26 19:22:33 +00:00
Howard Chu
546d5cb3a0 ITS#2389 - stop reading requests on a connection when we are blocked
writing responses. This may not be the right fix.
2003-03-20 11:54:17 +00:00
Howard Chu
0423ec0bd6 Fix ITS#2335, RFC1798 sequence layout was wrong. 2003-02-28 13:04:16 +00:00
Howard Chu
507781eeb3 Partial fix of ITS#2335, restore proper CLDAP msg format for LDAPv2 2003-02-28 08:34:31 +00:00
Kurt Zeilenga
aaf253318b Move include <slapi.h> behind #ifdef 2003-02-10 02:09:00 +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
e1bf8cc437 Intermediate Response 2003-02-03 17:28:19 +00:00
Luke Howard
dfc7d338a6 Add sendreference callback 2003-02-01 07:04:13 +00:00
Luke Howard
eec370af52 LDAPv3 over UDP disposition is now compatible with Active Directory
Stubs for PermitModify/NoReferrals controls; implementation coming soon
2003-01-23 15:12:53 +00:00
Luke Howard
2bc4da9378 SLAPI fixes (better documentation) 2003-01-22 13:38:38 +00:00
Luke Howard
faf8d43a6f First pass at replacing proprietary OpenLDAP virtual attribute API
(which existed briefly for a day!) with Sun ONE DS 5.x computed
attribute API
2003-01-22 13:06:46 +00:00
Luke Howard
97b9eb2e55 Set opattr plugin-specific pblock parameters to NULL after coalescing
returned attributes
2003-01-21 14:06:22 +00:00
Luke Howard
0edb0803d2 Add support for virtual operational attribute plugin type 2003-01-21 14:00:25 +00:00
Luke Howard
8e8b4093f5 Mark Sun ONE 5.x SLAPI plugin types to avoid collisions
Rename internal slapi_XXX API to slapi_x_XXX
Always set result code/matched/error text in operation parameter block
to make available to postoperation plugins
2003-01-21 02:46:55 +00:00
Luke Howard
d484a9781c Conform SLAPI to Netscape, iPlanet and Sun ONE Directory Server
behaviour:

1. Plugins never return LDAP result codes, instead they return a
   small integer (0 or -1, others for special cases)
2. Preoperation plugins can abort processing by returning a non-
   zero value to the frontend
3. Postoperation plugins never abort processing (all are called)
   and their return values are ignored
2003-01-20 23:18:11 +00:00
Kurt Zeilenga
6939c53170 Happy new year 2003-01-03 20:20:47 +00:00
Pierangelo Masarati
1b70e16448 SLAPI - Netscape plugin API for slapd - based on patch contributed by Steve Omrani <somrani@us.ibm.com> as ITS#2073 2002-12-07 17:19:29 +00:00
Howard Chu
827ea96e16 ITS#1523 enhanced ACL caching 2002-12-04 02:35:00 +00:00
Kurt Zeilenga
da76c1951e First-cut proxy authorization support. 2002-12-03 06:11:32 +00:00
Julius Enarusai
6e9c21cff8 Converted ch_malloc, ch_calloc and ch_realloc calls to SLAP_MALLOC,
SLAP_CALLOC and SLAP_REALLOC respectively.
2002-11-08 17:13:20 +00:00
Julius Enarusai
2d98b19bf7 Converted ch_malloc, ch_calloc and ch_realloc calls to SLAP_MALLOC and
SLAP_CALLOC in add_value/add_value_one functions and propagated errors to
all functions that use these functions.
2002-11-01 18:59:52 +00:00
Kurt Zeilenga
6d199506bb ber_write error message cleanup 2002-10-25 05:47:08 +00:00
Kurt Zeilenga
3a17376dfd s/256/LBER_ELEMENT_SIZEOF/
set LBER_ELEMENT_SIZEOF to 256
maybe this should be set to N*sizeof(size_t) or something
2002-10-07 21:01:47 +00:00
Kurt Zeilenga
3eb21d8a6c Misc cleanup 2002-09-16 21:50:55 +00:00
Kurt Zeilenga
1d0e916c6f Misc CLIENT_UPDATE cleanups 2002-09-15 22:22:51 +00:00
Jong Hyuk Choi
1509e321de LCUP Response Control Code 2002-09-14 00:29:06 +00:00
Kurt Zeilenga
132506e13c Add NOOP search support. 2002-09-02 17:38:17 +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
e7d2d0a9f5 avoid zero size ch_malloc() when no attributes are present in vrFilter 2002-08-29 13:32: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
Pierangelo Masarati
f1eb3e39ec use appropriate attr list when matching value of operational attrs 2002-08-29 10:45:48 +00:00
Pierangelo Masarati
a038ef68e6 added attr_merge/value_add functions that dela with single attribute; bervals for '*', '+' and '1.1' made available 2002-08-23 08:49:19 +00:00
Kurt Zeilenga
f8f1321760 Add support for response controls 2002-08-12 20:50:20 +00:00
Howard Chu
13d13baeda In backend_operational don't add subschemaSubentry unless it was
requested. In send_search_entry don't malloc vrFilter flags unless
a matchedValue filter was given; malloc 1 contiguous block instead
of multiple sub-arrays.
2002-08-07 05:31:03 +00:00
Kurt Zeilenga
8a3d02bf6b misc cleanup 2002-07-23 18:35:12 +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
fffd84ff9f Fix matched values zero allocation bug (ITS#1931) 2002-07-09 00:20:30 +00:00
Kurt Zeilenga
35749a2520 make curlies match 2002-06-18 22:41:03 +00:00
Howard Chu
cf61e03cb8 ITS#1891, debug msg in send_search_entry 2002-06-18 00:37:45 +00:00
Kurt Zeilenga
5c5b5455fb VLV updates 2002-06-03 16:45:09 +00:00
Pierangelo Masarati
bffa43e743 fix formats 2002-05-04 11:07:28 +00:00
Kurt Zeilenga
9d39e1e672 fix uninitialized counter in matched values 2002-05-03 19:00:52 +00:00
Kurt Zeilenga
8c152396b9 Matched Values implementation (ITS#1776) based upon submission
form Mikhail Sahalaev <M.Sahalayev@pgr.salford.ac.uk>.
Further work needed:
	add testxxx-matchedvalues
	rework ldapsearch(1) portion of patch to generalize use of options
---
Copyright 2001, Mikhail Sahalaev, All rights reserved.
This software is not subject to any license of University Of
Salford.

Redistribution and use in source and binary forms are permitted
without restriction or fee of any kind as long as this notice
is preserved.
2002-05-02 18:56:56 +00:00
Howard Chu
ababc07479 Add "nentries" to send_search_result() Statslog message. Suggested
by ITS#1360.
2002-04-16 04:58:41 +00:00
Howard Chu
efecf4e121 ITS#1733 eliminate o_abandonmutex 2002-04-11 08:03:40 +00:00
Kurt Zeilenga
32fb8b0bff Add ACL state recording to avoid multiple evaluation of
value-independent access controls.
2002-02-09 05:14:17 +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
af862f8c6b Reworked callback layout, added send_search_entry callback 2002-01-13 16:40:37 +00:00
Kurt Zeilenga
ce2d8ebc7e Misc cleanup, lint removal, and minor optimizations 2002-01-13 05:00: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
Pierangelo Masarati
7d12cbe341 my compiler complains ... 2001-12-31 16:10:39 +00:00
Howard Chu
743c402265 Changed search attrs from struct berval ** to AttributeName * 2001-12-31 11:35:52 +00:00
Howard Chu
9383bf3265 Use ber_free_buf 2001-12-31 06:02:35 +00:00
Kurt Zeilenga
ef7a99ff99 Additional struct berval DN changes... 2001-12-26 23:26:55 +00:00
Kurt Zeilenga
21288fbb21 Misc cleanup and dn_normalize() zapping
Fix nameAndOptionalIdentifer syntax.
2001-12-26 16:42:35 +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
Pierangelo Masarati
e36bde9180 added backend-side support for on-the-fly operational attributes; added hasSubordinates to schema and back-ldbm 2001-12-22 11:50:16 +00:00
Kurt Zeilenga
abd9be4def Remove lint and misc MSVC updates 2001-12-09 02:34:45 +00:00
Howard Chu
584d58e8d1 Added callbacks for send_ldap_response and send_search_result. 2001-12-08 15:21:20 +00:00
Kurt Zeilenga
3f1ab56fa9 Fix reference scope. 2001-12-07 22:28:46 +00:00