Commit Graph

270 Commits

Author SHA1 Message Date
Luke Howard
6cdaa19b96 Remove bogus SLAPI code path which special-cased modlist == NULL
This had the effect of setting the result code to LDAP_SUCCESS for modlist == NULL
even on a replica when an update-ref might be set. This was causing a plugin (that
implements the commit phase in a post-op plugin) to write to "read-only" replica.
2004-08-27 19:34:14 +00:00
Luke Howard
8c764e8d63 Fix a SLAPI bug where slapd could crash if a preop plugin changed the mods
list and a subsequent plugin aborted the operation -- regardless of the
preop result the frontend must refetch the array of LDAPMods
2004-08-27 17:12:01 +00:00
Pierangelo Masarati
cd9a9c628d frontend stuff moved into a database structure, essentially to allow overlays to be processed before database selection; passes all tests (ITS#3080) 2004-07-26 21:26:34 +00:00
Pierangelo Masarati
4c16e67094 minor cleanup 2004-07-19 21:43:03 +00:00
Pierangelo Masarati
af842eb734 fix comment 2004-04-26 17:50:39 +00:00
Kurt Zeilenga
cd84c58d4a Fix: ldapadd with undefined objectclass causes assertion failure (ITS#3097) 2004-04-19 19:27:51 +00:00
Kurt Zeilenga
b217659088 ITS#3066: properly detect duplicates 2004-04-08 06:44:50 +00:00
Kurt Zeilenga
49e378af07 cleanup 2004-04-08 02:43:52 +00:00
Jong Hyuk Choi
1c1b2bb6ee updatedn fix for syncrepl 2004-04-07 17:32:37 +00:00
Kurt Zeilenga
44725e7303 use BER_BVNULL 2004-04-07 04:11:43 +00:00
Pierangelo Masarati
a11dc61e05 rework be_isupdate accordingly to be_isroot 2004-04-06 09:42:40 +00:00
Kurt Zeilenga
37ef5350bd Rework return of update referrals 2004-04-06 00:47:21 +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
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
d31230f859 Fix replog sequencing - assign sequence numbers at beginning of operation,
instead of getting a timestamp at the end. This makes it possible for
slurpd to sort the log later.
2003-12-23 18:48:36 +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
399b57eada Use gmtime_r() if HAVE_GMTIME_R is defined (need to add autoconf check) 2003-12-06 05:37:00 +00:00
Kurt Zeilenga
4e15a84452 Updated notices 2003-11-27 01:17:14 +00:00
Jong Hyuk Choi
1fdda703e6 Support multiple sync replication at the consumer :
1) simultaneous operation of multiple active sync replication threads
2) cookie management for individual sync replication thread
   (include rid=%3d to the slapd cookie command line option (-c))
2003-11-26 19:49:47 +00:00
Howard Chu
ccf224a759 ITS#2808 fix UUIDNormalize, use it. 2003-11-03 08:22:13 +00:00
Kurt Zeilenga
80fa73bf8c Update entryUUID to latest draft specification 2003-10-31 17:41:31 +00:00
Howard Chu
01f7a7466b SLAPI fix - no-op when slapi_plugins_used == 0 2003-10-24 05:58:42 +00:00
Kurt Zeilenga
ce4b199485 Syncrepl code cleanup (namely prefix struct field names) 2003-10-22 05:19:30 +00:00
Kurt Zeilenga
aa225c2c70 Explicitly mark attribute/assertion syntax of values to be normalized 2003-10-18 06:18:05 +00:00
Kurt Zeilenga
e3a0148328 Fix modify attrs= overflow bug 2003-10-18 02:33:15 +00:00
Howard Chu
370fd22870 Add comment about normalized values in mods vs entry attributes 2003-09-13 09:51:28 +00:00
Jong Hyuk Choi
7f882daf15 Schema checking option for LDAP Sync replication 2003-09-03 21:42:52 +00:00
Jong Hyuk Choi
090ac0a772 unifdef LDAP_SYNC and LDAP_SYNCREPL 2003-08-27 22:16:04 +00:00
Jong Hyuk Choi
3be0b77c88 Context CSN Patch (2)
- BDB context csn codes moved to a separate function in back-bdb/ctxcsn.c
2003-08-25 19:15:04 +00:00
Jong Hyuk Choi
660617ae66 Context CSN patch (1)
- currenty works for refreshOnly mode of LDAP Sync
- Context CSN for add / modify is implemented
- code for delete / modrdn / refreshAndPersist will be soon committed
2003-08-23 02:51:33 +00:00
Kurt Zeilenga
b54780f940 Add initial support for modify/increment. No over/under flow detection.
Currently discovered via a "feature", but should use a control.
Start of a control made, but needs to be better integrated (with
auto use in ldapmodify(1)).
2003-08-07 16:42:40 +00:00
Jong Hyuk Choi
2b803b0459 SyncRepl is changed to share the following routnines :
slap_mods_opattrs(), slap_mods_check(), slap_mods2entry()
2003-07-11 01:01:27 +00:00
Luke Howard
d29ed4407c Always call modification postoperation plugins even if a
preoperation plugin has removed all modifications and
thus there are none to pass to the backend.

Accept SSF as a valid parameter block value.

Fix completely broken slapi_access_allowed()
2003-07-03 23:17:54 +00:00
Jong Hyuk Choi
cc6f31782d - partial attribute replication tested ok
- conf file processing udpate
- misc updates
2003-07-02 14:51:23 +00:00
Jong Hyuk Choi
7087a8f58d ITS#2618 fix 2003-06-27 20:29:32 +00:00
Jong Hyuk Choi
86196e11a0 - syncrepl uses LDAP URL only 2003-06-23 14:15:28 +00:00
Jong Hyuk Choi
e8cd5c2386 - LDAP_SYNCREPL defined in include/ldap.h
- add "updatedn" to the replication specification
- return referral to update to the slave server
2003-05-01 23:39: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
Kurt Zeilenga
7bbc903201 fix up nvalues code so that pretty routines work properly
re-add objectClass pretty routines
2003-04-25 02:28:06 +00:00
Kurt Zeilenga
af5f617d2a cleanup 2003-04-25 00:14:54 +00:00
Pierangelo Masarati
b5e9378d4f improve previous commit 2003-04-17 22:19:14 +00:00
Pierangelo Masarati
9f7c48ab54 don't return referral if cannot compute one (should fix ITS#2435) 2003-04-17 21:48:57 +00:00
Howard Chu
4739b58f99 Fix previous commit 2003-04-14 11:14:07 +00:00
Howard Chu
3aabc4ed43 doPlugins return code fix 2003-04-14 00:07:48 +00:00
Howard Chu
130f6e1b7d Memory context tweaks for other ops 2003-04-12 10:47:11 +00:00
Howard Chu
ece7452b05 More memory context tweaks 2003-04-11 01:29:28 +00:00
Kurt Zeilenga
c75be97ae9 #ifdef -DSLAP_NVALUES 2003-04-05 03:35:16 +00:00
Luke Howard
d2b6e8d56c Handle the case where slapi_x_ldapmods2modifications() returns NULL; the
modify request becomes a NOOP for the front-end in this case.
2003-04-01 17:38:02 +00:00
Luke Howard
8429210bed Fix SLAPI crasher 2003-04-01 16:43:04 +00:00
Luke Howard
9da00ad42d Fix SLAPI crasher 2003-04-01 16:42:24 +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
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
bbad1de8e1 Added lutil_passwd_init, _destroy, _add for dynamically adding passwd
schemes. Declarations in lutil.h require lutil.h never be included before
lber.h, always after.
2003-03-11 05:58:53 +00:00
Howard Chu
3955eaede2 Fix LDAP_DEBUG/LDAP_SYSLOG test 2003-03-05 02:22:58 +00:00
Kurt Zeilenga
840f3644f4 SLAP_NVALUES: a couple of basic normalizers... but not working yet. 2003-02-28 05:13:29 +00:00
Kurt Zeilenga
152829be87 SLAP_NVALUES:
schema engine updated (but not schema routines so things don't run yet)
	nvalues mostly populated, enough for tests 0-2 to pass
	schema routines needs lots of work
	modify/mods codes needs lots of work
2003-02-27 01:54:43 +00:00
Howard Chu
284ef10e6e In slap_mods_check, must null-terminate sm_nvalues array 2003-02-26 09:24:01 +00:00
Kurt Zeilenga
dd66e6e929 SLAP_NVALUES, round 3 2003-02-26 07:39:30 +00:00
Kurt Zeilenga
46a2616b83 Fix -USLAP_NVALUES 2003-02-26 03:12:02 +00:00
Kurt Zeilenga
2cdbd25a60 SLAP_NVALUES mostly populated now 2003-02-26 01:41:22 +00:00
Kurt Zeilenga
6390e947b0 SLAP_NVALUES, round 2 2003-02-25 22:49:41 +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
Kurt Zeilenga
2fccb8d68e really put SLAPI behind its #ifdef 2003-02-07 19:06:15 +00:00
Pierangelo Masarati
c3847a6136 slapi header cleanup 2003-01-27 21:53:23 +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
293c765c11 Added slapi_access_allowed() and slapi_acl_check_mods() API for Sun ONE
DS 5.x compat
This required exposing the mods array conversion functions so they
are now in slapi/slapi_utils.[ch]
2003-01-22 09:00:06 +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
8ab0c4d401 fix SLAPI_MODIFY_MODS pointer error 2003-01-21 05:56:46 +00:00
Luke Howard
84918362df Allow a modify preoperation plugin to insert additional modifications to
be applied by the backend.
2003-01-21 05:30:14 +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
6d1ca4c747 Remove values match v. filter struct field macro overloads
Use LDAP_SLISTs instead of per-struct list management for schema structs
misc cleanup and lint removal
2003-01-20 20:21:17 +00:00
Luke Howard
d3292b83fa Style consistency in new SLAPI_MODIFY_MODS code 2003-01-19 22:49:21 +00:00
Luke Howard
fe4cd099c8 FreeLDAPMods() should be static 2003-01-19 22:45:10 +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
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
Hallvard Furuseth
486eaa69b6 Rename "lang(uage)" to "tag(s)". (Cleanup after attribute options patch.) 2002-12-13 19:15:20 +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
Kurt Zeilenga
f5e6d1db41 #unifdef -DSCHEMA_DN 2002-09-29 04:30:38 +00:00
Pierangelo Masarati
aea52e5bc9 define macros for appropriate sizing of lutil buffers 2002-08-31 10:48:02 +00:00
Kurt Zeilenga
11236eae56 Clean up some structuralObject checks to improve readability.
Functionality not changed (excepting one error message).
2002-08-27 01:55:09 +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
Howard Chu
b6620f3d25 Use lutil_gentime 2002-07-27 02:10:43 +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
0a2a381d07 Fix for "no structuralObjectClass" when lastmod is off (ITS#1904) 2002-06-25 01:04:54 +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
d88f1757ef Fix pointer initialization bug 2002-02-12 19:18:39 +00:00
Kurt Zeilenga
8057b1a0a8 Language Tag and Range Support <draft-zeilenga-ldap-rfc2596-xx.txt>
Based upon code submitted by Steve Omrani <somrani@us.ibm.com> (ITS#1525)
2002-01-26 23:14:51 +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
Kurt Zeilenga
55501e886f Rework backend (lastmod + glue + system schema) flags 2002-01-10 22:34:11 +00:00
Howard Chu
ec46a2f33a Use 'm' ber_scanf format where convenient 2002-01-06 06:11:01 +00:00
Kurt Zeilenga
0e2af54a3f Update copyright statements 2002-01-04 21:17:25 +00:00
Howard Chu
ee98e6938c Fix memory leak of Mod.sml_type 2002-01-02 12:34:35 +00:00