Commit Graph

202 Commits

Author SHA1 Message Date
Pierangelo Masarati
dd1f2772a5 cleanup 2004-04-20 14:55:18 +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
44725e7303 use BER_BVNULL 2004-04-07 04:11:43 +00:00
Kurt Zeilenga
e323437c6a cleanup for release engineering 2004-03-18 01:06:39 +00:00
Pierangelo Masarati
f145457d0c move limits check and preparation in a helper function 2004-03-09 14:32:00 +00:00
Pierangelo Masarati
a4e062ca36 apply advanced peername ACL (ITS#2907) 2004-03-08 18:49:12 +00:00
Pierangelo Masarati
091246c6fd move limits evaluation to frontend 2004-03-08 18:12:45 +00:00
Kurt Zeilenga
3c598e89fb Happy new year 2004-01-01 19:15:16 +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
Kurt Zeilenga
271fff13de Sync with HEAD 2003-12-17 17:55:27 +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
Pierangelo Masarati
ee34f3fb64 add to 'val[.<style>=<value>' ACLs special match styles for DN-valued attributes; add negated objectClass to attribute name lists for ACLs and partial replication 2003-12-16 00:49:10 +00:00
Kurt Zeilenga
4e15a84452 Updated notices 2003-11-27 01:17:14 +00:00
Kurt Zeilenga
21796e671a Don't assume offsetof(foo,firstelement) is zero 2003-11-19 18:04:49 +00:00
Jong Hyuk Choi
279760a467 1. Session history support
- memory based session history to minimize sync traffic
	- when client is covered by a session history, then
      [add+delete] mode is used
	- when client cookie is not covered by the history because
      the cookie is too outdated and/or the history is truncated,
	  [add+present] mode is used
2. Sync cookie syntax : comma separated name=value pairs
	- csn=yyyymmddhh:mm:ssZ#0xSSSS#r#ssssr,sid=nnn
2003-11-10 02:44:25 +00:00
Howard Chu
01f7a7466b SLAPI fix - no-op when slapi_plugins_used == 0 2003-10-24 05:58:42 +00:00
Jong Hyuk Choi
090ac0a772 unifdef LDAP_SYNC and LDAP_SYNCREPL 2003-08-27 22:16:04 +00:00
Jong Hyuk Choi
262f8bf11f LCUP primitive routines removed 2003-06-27 17:39:48 +00:00
Hallvard Furuseth
9c0ca8d9a3 Add 'deref=' to Statslog SRCH output. 2003-06-11 16:22:29 +00:00
Luke Howard
e4779aefc1 A pre-operation plugin is not required to set SLAPI_RESULT_CODE in
order to prevent the operation from being passed to the backend. It
need only return a non-zero error code.
2003-04-30 13:37:14 +00:00
Jong Hyuk Choi
2fd73195f5 LCUP / SYNC overrides manageDSAit upon calling select_backend() 2003-04-30 02:01:03 +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
9e3e91e067 Allow search rewriter plugins to also set the search base, scope, and alias
dereference policy
2003-04-23 08:16:05 +00:00
Howard Chu
3aabc4ed43 doPlugins return code fix 2003-04-14 00:07:48 +00:00
Howard Chu
be28bf247e Added sl_context() to return the context associated with an alloc'd ptr.
Improved ch_malloc/sl_malloc compatibility.
2003-04-12 05:12:40 +00:00
Luke Howard
4f77f04a83 Don't use thread local malloc for search filter if SLAPI is enabled;
breaks API compat
2003-04-11 06:30:41 +00:00
Luke Howard
0e46e4a7af Workaround for SLAPI impedence mismatch with new thread-local malloc;
computed search rewriter plugins cannot use thread-local malloc
2003-04-11 05:27:30 +00:00
Howard Chu
ece7452b05 More memory context tweaks 2003-04-11 01:29:28 +00:00
Howard Chu
f897519d11 Minor cleanups 2003-04-09 23:37:00 +00:00
Howard Chu
813d5c8ed8 First cut at thread-local malloc. Only used by search() for now...
Needs work in normalizers, etc.
2003-04-09 16:52:03 +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
2fdbc55374 SLAPI cleanup 2003-03-31 06:41:30 +00:00
Luke Howard
4dd53084a0 SLAPI fix 2003-03-31 04:54:06 +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
Kurt Zeilenga
aaf253318b Move include <slapi.h> behind #ifdef 2003-02-10 02:09:00 +00:00
Kurt Zeilenga
8f82e9f772 ITS#2117: remove suffixalias support until someone fixes it 2003-02-09 07:20:03 +00:00
Jong Hyuk Choi
85b1783d5c LDAP Sync Operation (draft-zeilenga-ldup-sync) as a groundwork for an LDAP replication design 2003-02-05 07:37:02 +00:00
Howard Chu
6038e912dd Fix statslog of big attr names 2003-01-31 20:38:25 +00:00
Luke Howard
e86fe9ade8 doPostSearchPluginFNs() should return void for clarity; postoperation
plugins have no mechanism by which they may signal an error condition
to the client.
2003-01-29 22:42:13 +00:00
Pierangelo Masarati
c3847a6136 slapi header cleanup 2003-01-27 21:53:23 +00:00
Pierangelo Masarati
8d9629e1de fix logging and uninitialized value warning 2003-01-23 22:55:01 +00:00
Luke Howard
8621f955b2 Reference slapi_search_internal() due to linker error -- need to fix this
properly XXX
2003-01-23 11:29:52 +00:00
Luke Howard
8c18022b41 Install object type plugins 2003-01-23 09:22:32 +00:00
Luke Howard
0650e6ad52 Allow plugin to retrieve desired attribute list and state of manageDSAit control
Support search preop/rewrite/postop plugins for root DSE and subschema
2003-01-23 08:45:28 +00:00
Luke Howard
12af6de4cf Clarification regarding compute search filter rewriting: only
SLAPI_SEARCH_FILTER needs to be updated
2003-01-22 15:46:45 +00:00
Luke Howard
561ab80de0 Check for modified filter after calling search rewriter plugin 2003-01-22 14:57:35 +00:00
Luke Howard
2aeec166ff Call rewrite function after preop plugins (not before) - confirmed with Sun 2003-01-22 14:54:12 +00:00
Luke Howard
214b79e740 Call search rewriter callback before first preop search plugin 2003-01-22 13:51:27 +00:00
Luke Howard
ff263ec6a7 Return LDAP_OTHER instead of LDAP_OPERATIONS_ERROR for internal SLAPI
failure
2003-01-21 09:42:26 +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
Luke Howard
6a5f29b60a Use new SLAPI API for setting associated parameters associated with the
Connection, Operation and Backend structures.

Ensure that SLAPI_MODIFY_MODS is set to an array of LDAPMods.
2003-01-19 15:30:10 +00:00
Kurt Zeilenga
6939c53170 Happy new year 2003-01-03 20:20:47 +00:00
Pierangelo Masarati
e9a74cffba slapi used the old version of the LDAP_LOG macro (caught by Howard) 2002-12-27 14:59:01 +00:00
Howard Chu
48c8cebbe3 Fix typo in previous commit 2002-12-16 12:17:49 +00:00
Howard Chu
7c7daf8556 Statslog additions:
Added StatslogTest macro.
	Added attributes to modify and search Statslog.
	Added Statslog of SASL authcid.
2002-12-16 12:14:37 +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
Jong Hyuk Choi
8074294f1d LCUP persistent search code drop 2002-10-25 17:51:30 +00:00
Kurt Zeilenga
f5e6d1db41 #unifdef -DSCHEMA_DN 2002-09-29 04:30:38 +00:00
Pierangelo Masarati
d855f97372 cleanup 2002-08-29 10:50:12 +00:00
Howard Chu
07ebdca237 ITS#1893, use "schemadn" to configure subschemasubentry DN. (diff was
inaccessible, this is original code, not contributed.)
2002-08-10 03:10:52 +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
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
Kurt Zeilenga
1880c23029 Replace get_filter generation of fstr with filter2bv(). 2002-03-07 03:13:11 +00:00
Pierangelo Masarati
861e9a66b5 fix uninitialized pointer (ITS#1538) 2002-01-17 19:33:48 +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
8067107ed2 Added an_oc to AttributeName for caching ObjectClass lookups.
Added error checking to str2anlist; if the attr name doesn't match
any attribute or objectclass the offending attr name is displayed.
2002-01-10 09:54:14 +00:00
Kurt Zeilenga
bc1cd95149 Rework control infrastructure a bit. Add subentries visibility control. 2002-01-09 06:29:54 +00:00
Howard Chu
ec46a2f33a Use 'm' ber_scanf format where convenient 2002-01-06 06:11:01 +00:00
Kurt Zeilenga
4aae03ef24 Remove lint. 2002-01-06 00:35:41 +00:00
Kurt Zeilenga
0e2af54a3f Update copyright statements 2002-01-04 21:17:25 +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
Kurt Zeilenga
763c0de59b Rework filter code
Misc cleanup / lint removal
2002-01-02 17:06:56 +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
Howard Chu
292c575c1f Added dnPrettyNormal, do both Pretty and Normalize at once to save
some ldap_str2dn overhead.
2001-12-28 07:27:15 +00:00
Kurt Zeilenga
21cecb3831 Update referral handling to use struct berval DNs. 2001-12-26 20:59:24 +00:00
Kurt Zeilenga
bd0135ccb4 Move search, modify, and modrdn APIs to struct berval DNs.
Much clean up is needed.
2001-12-26 19:50:40 +00:00
Howard Chu
15f630545a Changed ma_rule_text to struct berval.
Changed get_filter to struct bervals
2001-12-26 13:47:10 +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
Kurt Zeilenga
3336619c80 More "char *" to struct berval DN changes 2001-12-25 02:30:01 +00:00
Howard Chu
70194f9ad6 Changed suffix_alias() to use struct berval * in-place. 2001-12-24 16:29:18 +00:00
Kurt Zeilenga
0c28b66a75 use dnPretty instead of dn_pretty 2001-12-23 00:43:57 +00:00
Kurt Zeilenga
a4a1325a6a Update BER decoding of PDU to use "o" (struct berval) instead of
"a" (char **)... another step towards BerValue DNs.
2001-12-22 21:52:58 +00:00
Pierangelo Masarati
7733169933 allegedly unnecessary selection of first database to return rootDSE or subschema entries; note that the same happens in access_allowed() 2001-12-22 14:25:54 +00:00
Howard Chu
ef0b308bea Changed backglue configuration. Added noSubordinates arg to select_backend
to deal with glued subordinates.
2001-12-10 12:09:40 +00:00
Kurt Zeilenga
82fad7d0c8 First stable an implementing latest namedref specification.
Includes rewriting of URLs where the DN of the referral object
and the DN of the ref attribute attribute are not the same.
Also, always returns explicit DN and scope.
Currently, back-ldbm only.  Needs to be ported to back-bdb.
2001-10-26 02:05:14 +00:00
Howard Chu
693a81e1db More CLDAP tweaks, to differentiate between real LDAPv2 CLDAP and "other"
LDAP/UDP messages. Slapd marks received CLDAP messages as LDAP_VERSION2.
The client library can generate CLDAP queries if -Protocol 2 is chosen,
otherwise not. LDAPv2 CLDAP cannot query the slapd rootDSE, gets no reply.
2001-10-02 01:02:23 +00:00
Pierangelo Masarati
5fdba27288 This is the skeleton of back-monitor, the slapd monitoring backend.
The old monitoring stuff has been removed; the new backend is
enabled by using --enable-monitor at configure time and requires

	database monitor

in slapd.conf to be activated.  At present it implements a subset
of the old monitoring options, and it should be extendable to
a number of different subsystems.  The search operation has been
implementd; it does not honor abandon or size/time limits, though.
The compare and the abandon operations are planned.

Copyright Pierangelo Masarati <ando@sys-net.it>; the code is provided
AS IS with NO GUARANTEE.  It can be used and distributed under the
conditions stated by the OpenLDAP Public License.
2001-07-14 17:34:24 +00:00
Kurt Zeilenga
f9a302b1f6 Revamp last commit 2001-02-03 02:32:14 +00:00
Kurt Zeilenga
8091aedc76 Add security checks to root DSE searches.
Fix checking of require statements.
2001-02-03 02:21:37 +00:00
Gary Williams
f49fd8a98e fix format 2001-01-17 16:35:53 +00:00
Gary Williams
ffcdc6d11d More new logging (Behind NEW_LOGGING) 2001-01-15 19:17:29 +00:00
Kurt Zeilenga
dbdba34972 First-cut at manageDSAit-aware backend selection. 2000-10-21 03:29:02 +00:00
Gary Williams
b9837286db example of new logging use 2000-10-12 20:12:28 +00:00
Kurt Zeilenga
5852f7188b Add 'defaultSearchBase' configuration directive to help support
brain-damaged LDAPv2 clients.
2000-09-11 21:57:14 +00:00
Kurt Zeilenga
bf3df2f7a6 restrictops, requires, disallow knobs; ssf acls; and misc other changes
man pages to follow...
2000-08-28 18:38:48 +00:00