Commit Graph

387 Commits

Author SHA1 Message Date
Howard Chu
fc9b1b7aca Delete unused be_context_csn, cleanup pending csn entry 2004-12-06 23:17:58 +00:00
Howard Chu
30a6f4d24d Better fix for ITS#3365, manage back-bdb's read locks so frontend/etc.
don't need to worry about them.
2004-12-05 02:00:19 +00:00
Howard Chu
5c8fd8bf11 Rename syncrepl_rq to slapd_rq, move to daemon.c 2004-12-03 16:49:23 +00:00
Howard Chu
f83b55b2a2 Avoid segfault if backend_destroy is called before frontendDB is created 2004-12-02 08:59:02 +00:00
Howard Chu
d3ced75fe7 Add SLAP_DBFLAG_OVERLAY 2004-11-27 11:45:54 +00:00
Howard Chu
584d5355b8 Fix overlay aux_operational, add contextCSN as operational attribute
of suffix entry
2004-11-27 08:30:44 +00:00
Pierangelo Masarati
91f2a8bc46 remove backed-out code from previous commit 2004-11-11 09:43:15 +00:00
Pierangelo Masarati
79f744f30b rework static backend initialization 2004-11-11 00:39:19 +00:00
Pierangelo Masarati
0e83717e80 fix return code; fix test (please review) 2004-11-11 00:32:47 +00:00
Howard Chu
0c9c90a3e9 ITS#3365 - fix leaking bdb locks when evaluating dynamic groups 2004-10-27 14:52:18 +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
c2c27c6839 fix csne destroy 2004-09-27 08:11:04 +00:00
Jong Hyuk Choi
292c568f36 a fix to prev commit 2004-09-25 03:21:30 +00:00
Jong Hyuk Choi
e4d199d7bb A follow-on commit to the previous @oc support change to use anlist 2004-09-23 19:23:17 +00:00
Jong Hyuk Choi
5c0581b184 Modified @oc supprot code to the share anlist routines; Revised anlist routines 2004-09-23 02:48:14 +00:00
Jong Hyuk Choi
98dc97bcb9 memory leak fixes 2004-09-11 02:02:09 +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
a469dc6741 fix previous commit 2004-08-30 07:30:01 +00:00
Kurt Zeilenga
429be3c137 Add FIXME comment regarding improper return of unavailableCriticalExtension
Misc Clean.
2004-08-28 13:45:53 +00:00
Luke Howard
400458c9c5 Don't use SLAPI_TARGET_DN for group plugins - it is required elsewhere 2004-08-26 10:04:08 +00:00
Luke Howard
563f73b81d backend_compute_output_attr() should use actual computed attribute type
returned by the plugin, rather than that requested by backend_attribute(),
for ACL checking.

They should of course be the same but this is the "correct" approach from
both a security and readability perspective
2004-08-26 05:18:33 +00:00
Luke Howard
102cd721ef Extend backend_attribute() to support computed attributes (SLAPI) 2004-08-26 05:02:01 +00:00
Luke Howard
5f6996c8bf Add SLAPI_X_GROUP_TARGET_ENTRY so that group plugin can use target entry 2004-08-26 04:24:29 +00:00
Luke Howard
d45b89823f Support pre-operation and post-operations for backend_group()
This allows computed attribute plugins to also provide their attributes to
the ACL engine, for example
2004-08-25 15:20:19 +00:00
Howard Chu
91033d6552 Reworked fix for ITS#3140 - add access parameter to backend_attribute 2004-08-18 17:14:22 +00:00
Howard Chu
c7313c09b4 More fixes for prev commit 2004-08-18 15:23:37 +00:00
Howard Chu
3081f2df88 Delete unused be_context_csn_mutex 2004-08-18 10:54:58 +00:00
Howard Chu
77ba70be13 Fix ITS#3288: use be_pcl_mutexp instead of be_pcl_mutex 2004-08-18 10:53:34 +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
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
Howard Chu
2954a90483 Add backend_startup_one() 2004-07-12 20:27:33 +00:00
Howard Chu
d6c68cdf48 Fix prev commit 2004-07-09 17:44:50 +00:00
Howard Chu
e5ffb0c466 Use previously unused Backend->be_context_csn 2004-07-09 17:27:23 +00:00
Kurt Zeilenga
35cbe6fe84 fix typos in last commit 2004-07-05 21:44:12 +00:00
Kurt Zeilenga
191941c2cf better ssf related error messages
cleanup
2004-07-05 21:41:10 +00:00
Howard Chu
29f24962be Fix uninit'd exopflags 2004-06-26 01:17:24 +00:00
Jong Hyuk Choi
b85ba35ba7 Patch for ITS#3133 2004-05-31 02:01:59 +00:00
Pierangelo Masarati
d40e5a365a fix DN_SEPARATOR() and clarify its use 2004-05-07 09:03:05 +00:00
Pierangelo Masarati
b34cf02488 more on fixing escaped semicolon in normalized DN 2004-05-07 02:18:08 +00:00
Pierangelo Masarati
03c64541d4 add granular op restriction 2004-05-01 17:53:37 +00:00
Pierangelo Masarati
c0c24cfec5 first round of SHADOW flags/isupdate test unification 2004-04-10 10:00:58 +00:00
Howard Chu
f2e1df3ef7 Consolidated static/dynamic backend switches 2004-04-08 05:56:23 +00:00
Jong Hyuk Choi
1c1b2bb6ee updatedn fix for syncrepl 2004-04-07 17:32:37 +00:00
Pierangelo Masarati
a11dc61e05 rework be_isupdate accordingly to be_isroot 2004-04-06 09:42:40 +00:00
Kurt Zeilenga
c7e89d57be swap be_isroot and be_isroot_dn symbols 2004-04-06 01:06:20 +00:00
Pierangelo Masarati
313821118e revert erroneous commit 2004-04-05 23:12:38 +00:00
Pierangelo Masarati
b89c894eff add new isroot_dn helper 2004-04-05 17:30:30 +00:00
Kurt Zeilenga
e323437c6a cleanup for release engineering 2004-03-18 01:06:39 +00:00
Pierangelo Masarati
ba470467af add back-relay (doesn't work yet) 2004-03-17 01:03:21 +00:00
Jong Hyuk Choi
2b77fb424c backend operations check 2004-03-09 20:43:19 +00:00
Howard Chu
fc32304934 sl_malloc tweak 2004-01-15 21:32:58 +00:00
Pierangelo Masarati
fbb72268fb warn if no suffix or no init function are present 2004-01-11 23:56:13 +00:00
Pierangelo Masarati
1a9bc6655d don't segfault if a database doesn't have the suffix 2004-01-11 23:40:33 +00:00
Kurt Zeilenga
3c598e89fb Happy new year 2004-01-01 19:15:16 +00:00
Kurt Zeilenga
d44c1d999d clarify meaning of strongAuthRequired 2003-12-30 21:09:01 +00:00
Kurt Zeilenga
fcad25da47 Misc code cleanup 2003-12-29 22:25:43 +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
Howard Chu
e85cd1e154 Fix prev commit, use c_authtype 2003-12-13 22:16:03 +00:00
Howard Chu
7fd21ada07 ITS#2764, #2781 revert backend.c patch, just catch the NULL referral
case in extended_op
2003-12-02 03:01:49 +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
01f7a7466b SLAPI fix - no-op when slapi_plugins_used == 0 2003-10-24 05:58:42 +00:00
Howard Chu
bd1356f01e ITS#2781 don't worry about missing updateref if SLAPD_MULTIMASTER 2003-10-23 01:50:12 +00:00
Howard Chu
6ad5fd16ca Use tmpmem for group cache, doesn't need cleanup 2003-10-23 01:29:56 +00:00
Howard Chu
102d8159a7 ITS#2779, cache group ACLs per operation instead of per-connection 2003-10-23 01:23:45 +00:00
Kurt Zeilenga
ce4b199485 Syncrepl code cleanup (namely prefix struct field names) 2003-10-22 05:19:30 +00:00
Howard Chu
b6835be962 ITS#2747, Reorganize syncrepl, fix some memleaks. More remain. 2003-10-18 14:13:37 +00:00
Howard Chu
16cde39daa ITS#2743 initialize rc 2003-09-29 19:54:53 +00:00
Howard Chu
bdf86d44a8 ITS#2130 glued subordinates are not referrals, ignore ManageDSAit control 2003-09-29 10:39:41 +00:00
Howard Chu
089a4852d6 ITS#2678 complain if updateref is missing on a slave database 2003-09-22 18:54:08 +00:00
Howard Chu
6da0f1e48e ITS#2573 dynamic group support
moved labeledURI into system schema
  attribute types that inherit from labeledURI may be used in dynamic
    groups e.g. access to * by group/groupOfURLs/memberURL=foo
2003-09-20 08:16:04 +00:00
Jong Hyuk Choi
090ac0a772 unifdef LDAP_SYNC and LDAP_SYNCREPL 2003-08-27 22:16: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
f07179ca61 syncrepl changes
- can handle multiple syncinfo
- ldap_sync_search() added
2003-06-11 17:03:57 +00:00
Howard Chu
ca4892d5e7 ITS#2533 remember which backend fetched the entry 2003-05-22 08:57:13 +00:00
Jong Hyuk Choi
35d1bd68b9 runqueue restructuring 2003-05-07 23:52:08 +00:00
Jong Hyuk Choi
580ae073e1 runqueue update 2003-05-07 22:29:26 +00:00
Jong Hyuk Choi
45776bff04 a runqueue for periodic thread execution (for syncrepl) 2003-05-07 02:06:01 +00:00
Howard Chu
46e2b97757 ITS#2424 use two SASL contexts per session to conform to RFC 2222 2003-05-01 04:11:57 +00:00
Howard Chu
7e2273b30e Added errmsg arg to lutil_passwd_{check,hash} functions 2003-04-30 07:52:05 +00:00
Howard Chu
350b73c2d6 Added back-hdb. Contributed by Howard Chu @ Symas Corp. 2003-04-23 06:54:36 +00:00
Jong Hyuk Choi
86a46c267a OpenLDAP synchronization based replication engine 2003-04-21 14:08:13 +00:00
Howard Chu
3aabc4ed43 doPlugins return code fix 2003-04-14 00:07:48 +00:00
Howard Chu
280fc819cf Memory context tweaks for Bind 2003-04-12 06:56:42 +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
Howard Chu
a1437d155e Init entry in be_entry_get_rw 2003-04-04 05:41:25 +00:00
Pierangelo Masarati
8f02ca49b6 cleanup? 2003-04-03 21:18:14 +00:00
Pierangelo Masarati
430077e2ed partially revert previous commit 2003-04-02 23:01:21 +00:00
Pierangelo Masarati
a67b41eb69 fix listener mod handling 2003-04-02 20:27:58 +00:00
Howard Chu
fa9bf23501 Minor cleanup 2003-03-31 07:49:34 +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
Pierangelo Masarati
11c225d40c check conn->c_listener before use (hack to fix ITS#2361; need to review this part of slapi) 2003-03-10 22:19:32 +00:00
Pierangelo Masarati
51849d6ecb fix ITS#2343 2003-03-03 22:25:28 +00:00
Howard Chu
65bf90ff73 Use struct berval for exop reqoid everywhere. Define berval constants
for the known exops.
2003-02-16 06:15:28 +00:00
Kurt Zeilenga
aaf253318b Move include <slapi.h> behind #ifdef 2003-02-10 02:09:00 +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
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
Pierangelo Masarati
49c1ba60b7 slapi header cleanup 2003-01-27 21:35:34 +00:00
Jong Hyuk Choi
0c43007e55 LDAP cancel operation 2003-01-25 00:36:50 +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
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
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
Pierangelo Masarati
69343add5a use more appropriate error code 2002-10-26 10:05:35 +00:00
Kurt Zeilenga
36569048ff Add "allow update_anon"
Fix -USLAP_X_LISTENER_MOD builds
2002-10-25 18:47:24 +00:00
Pierangelo Masarati
97e526cb2d add restrictions related to listeners in form of file permissions
(see in slapd(8) the description on how to enforce file permissions
on sockets in ldapi schema); at present, only user permissions are
used as follows: the url extension x-mod=-rwxrwxrwx is used; only
the user permisisons are considered, e.g. the first set of rwx;
	"r" means read is allowed from that listener
	"w" means write is allowed on that listener
	"x" means bind is not required on that listener
these restrictions ADD to those already present, and are actually
checked AFTER the other restrictions, but BEFORE ACLs, so they can
be used to apply gross restrictions but should not be viewed as
a replacement of ACLs. To compile this, #define SLAP_X_LISTENER_MOD
2002-10-25 16:43:44 +00:00
Kurt Zeilenga
023d0e2a5c Rework unprotected simple bind checks 2002-10-08 19:03:18 +00:00
Kurt Zeilenga
f5e6d1db41 #unifdef -DSCHEMA_DN 2002-09-29 04:30:38 +00:00
Kurt Zeilenga
bbbf2f4ca7 Fix handling of non-critical controls for backends which
support no controls.
2002-09-24 18:20:59 +00:00
Pierangelo Masarati
857d08ea21 use bvmatch() instead of ber_bvcmp() when testing for match without ordering 2002-09-02 19:39:06 +00:00
Pierangelo Masarati
e53d272b3f cleanup error check logic; don't deref be->controls when it's NULL 2002-08-29 10:43:39 +00:00
Kurt Zeilenga
23efa07a99 use ldap_charray_*() instead of charray_*() 2002-08-24 00:55:24 +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
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
eb581e43e7 Fix for:
SASL regex segmentation faults with group based acls (ITS#1978)
based, in part, by patch submitted by Simon Wilkinson <simon@sxw.org.uk>.
2002-07-28 07:27:55 +00:00
Kurt Zeilenga
e981dcbad5 use strongAuthRequired instead of operationsError to indicate
authentication required before modification.
2002-07-26 15:29:36 +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
9a38d98d37 Add option to disallow unprotected simple authentication.
Add protected simple authentication as a "strong" mechanism.
2002-06-17 22:18:27 +00:00
Howard Chu
7fae7fe155 Changed be_[n]suffix, be_[n]suffixAlias to BerVarray. No more bvec's anywhere. 2002-05-01 18:50:14 +00:00
Kurt Zeilenga
af02eee0d5 Reworking backend_check_restrictions for extensions
Should resolve ITS#1781.
2002-05-01 01:04:57 +00:00
Howard Chu
efecf4e121 ITS#1733 eliminate o_abandonmutex 2002-04-11 08:03:40 +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
Howard Chu
bad62d2167 Fix backend_attribute trying to reference a NULL be. Neither backend_group
nor backend_attribute need to worry about the noSubs parameter of
select_backend().
2002-03-18 08:59:02 +00:00
Kurt Zeilenga
20e46b27fc no need to check escaping of normalized dn 2002-02-12 04:50:40 +00:00
Kurt Zeilenga
0a31400d63 Some misc cleanup 2002-01-29 06:06:20 +00:00
Kurt Zeilenga
c0daf2aac4 Back out unintended commit 2002-01-26 23:36: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
4191f39037 Changed slap_authz_info.sai_mech to struct berval.
Changed sasl_* to use struct bervals.
2002-01-26 13:57:41 +00:00
Howard Chu
07d0f4e411 Changed be_issuffix and dnParent to take struct bervals.
Changed dn_rdnlen, assumes an already pretty/normalized DN.
Added slap_empty_bv, a zero-length non-NULL berval.
2002-01-26 05:27:28 +00:00
Kurt Zeilenga
b4df227d94 Initialize backend ssf set from global. 2002-01-25 21:35:40 +00:00
Kurt Zeilenga
dc0f90d36d Set lock detector to DEFAULT, not NORUN.
Clean up some error handling
2002-01-21 08:19:28 +00:00
Kurt Zeilenga
4468ffa9e0 Remove some lint. 2002-01-19 01:54:56 +00:00
Pierangelo Masarati
d70f117b69 first round at eliminating dn_parent ... 2002-01-17 19:05:21 +00:00
Kurt Zeilenga
d2f5d75885 Remove unused deprecated DN routines.
Only dn_validate, dn_normalize, and dn_parent remain (for now).
2002-01-16 00:16: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
Pierangelo Masarati
fafce1601e consistently use dn_match macro throughout slapd 2002-01-12 18:17:13 +00:00