Commit Graph

739 Commits

Author SHA1 Message Date
Howard Chu
90cc409325 Split Operation into Opheader and op 2004-11-25 22:59:00 +00:00
Jong Hyuk Choi
83fd442ded Omitted from the original buddy allocator commit 2004-11-24 17:27:25 +00:00
Howard Chu
50ed4465fb slap_known_controls is now an array. (control.c r1.117) 2004-11-23 14:45:36 +00:00
Howard Chu
47dd8d8732 Dynamic control management 2004-11-23 13:08:45 +00:00
Howard Chu
c8f49d0337 Add SLAP_EXOP_WRITES flag, expose flags in Operation,
add exop_is_write() macro for detecting exops that modify a target entry
2004-11-19 22:19:13 +00:00
Pierangelo Masarati
db4f223c66 improve overlay helpers 2004-11-13 17:20:24 +00:00
Howard Chu
1d35c8f8ec ITS#3376 Fix prev commit, handling of replogfile 2004-11-05 07:10:44 +00:00
Sang Seok Lim
71e78dd7f9 Component Matching module
See "contrib/slapd-modules/comp_match/README" to understand
what's the purpose of  this patch is and how to use it.
2004-10-27 19:37:02 +00:00
Jong Hyuk Choi
4efd705cc3 syncrepl consistency patch 2004-10-09 09:26:16 +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
Howard Chu
bf7c7a22d6 ITS#2661: configurable substring index lengths
ITS#2588: use subany to help long subinitial/subfinal matches
2004-09-28 02:51:00 +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
Luke Howard
eb9720c802 Add register_certificate_map_function() native plugin API for registering
alternate X.509 peer normalization function
2004-09-20 03:52:39 +00:00
Jong Hyuk Choi
ffbb5d4ed2 *oc support in attr list 2004-09-18 02:07:41 +00:00
Pierangelo Masarati
a637926bf2 use GMP for multiple precision in counters 2004-09-11 16:15:53 +00:00
Pierangelo Masarati
7dc5a0bb83 fix negative counters; prepare for imrpved count of sent data 2004-09-11 11:05:41 +00:00
Jong Hyuk Choi
98dc97bcb9 memory leak fixes 2004-09-11 02:02:09 +00:00
Kurt Zeilenga
3869e3b84d Add localSSF slapd.conf(5) directive to set SSF associated
with ldapi:// sessions.
2004-09-10 22:35:24 +00:00
Kurt Zeilenga
741f9ea383 Add initial dnSubtreeMatch.
Should reuse other DN routines.
Need to add various other DN matching rule functions.
This commit, combined with entryDN and slapcat -a, should
fully address ITS#3112.
2004-09-09 02:07:27 +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
Sang Seok Lim
2af6457771 This patch is for a component filter. please refer ITS#3260 for detail
and "implementing GSER and Component Matching" in ODD 2004.
All codes are #ifdef'd with LDAP_COMP_MATCH.
test031-component-filter works correctly only when the LDAP_COMP_MATCH macro is set.
To disable it, set AC_WITH_COMP_MATCH "no" in "openldap_src/tests/run.in".
2004-08-26 00:06:39 +00:00
Luke Howard
ea6f5bad65 This patch fixes some subtle interactions between SLAPI and syncrepl. Due to
SLAPI always assigning connection and operation IDs of zero for internal
operations, such operations would cause a stale contextCSN to be returned from
slap_get_commit_csn(). As a result, SLAPI internal updates would be invisible
to replicas until an external update was made. Also, SLAPI internal operations
never called slap_graduate_commit_csn() which leaked pending CSNs.

Also included in this patch is a general cleanup of some of the SLAPI code.

Note that we need to use a separate mutex on conn_nextid to avoid a deadlock
where a post-operation plugin tries to acquire connections_mutex, having locked
the per-connection mutex, while the listener thread tries to acquire the
per-connection mutex (having locked connections_mutex). connection.c needs to
be fixed to acquire mutexes in the same order.
2004-08-25 11:52:55 +00:00
Pierangelo Masarati
00f1c085cf move call to frontend API 2004-08-24 09:29:11 +00:00
Pierangelo Masarati
6b8fd66364 split entry_free in entry_clean ... 2004-08-20 12:01:15 +00:00
Howard Chu
91033d6552 Reworked fix for ITS#3140 - add access parameter to backend_attribute 2004-08-18 17:14:22 +00:00
Pierangelo Masarati
05b81e623d cleanup attr flags; provide a helper 2004-08-06 17:29:59 +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
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
Howard Chu
2954a90483 Add backend_startup_one() 2004-07-12 20:27:33 +00:00
Sang Seok Lim
ad19032bf2 This patch provides support for rdnMatch matching rule and RDN syntax in
RFC 3687. For now, both the attribute and assertion values are considered
as RDNs. Refer to ITS#3207 to find related discussion.
2004-06-29 23:36:58 +00:00
Jong Hyuk Choi
a1308f8dfa syncrepl retry code fix for correct timing 2004-06-21 07:03:49 +00:00
Kurt Zeilenga
6e17b60648 add command line option (-S) to enable SLP registration (ITS#3132)
off by default.  Option assignment is temporary, should be replaced
with "-o slp=<ON|off>".
Based upon patch submitted by Ralf Haferkamp (SuSE).
2004-05-24 23:28:52 +00:00
Pierangelo Masarati
3eebd5bb21 expose slap_sasl_matches() to allow external matching of authz* stuff; fix backwards compatibility bug for "dn:<pat>" as a shortcut to "dn.exact:<pat>" 2004-05-13 20:22:27 +00:00
Kurt Zeilenga
05463503e8 ITS#3118: fix objectIdentifierFirstComponentMatch for schema elements 2004-04-28 20:10:21 +00:00
Howard Chu
9b38cd2572 ITS#3109 - added slap_tls_ctx 2004-04-26 01:10:49 +00:00
Pierangelo Masarati
b9dcdbb2d8 rename macro accordingly to new authz naming 2004-04-20 19:12:56 +00:00
Kurt Zeilenga
1372965d89 ITS#3092: Rename sl_free() and friends to slap_sl_free() 2004-04-20 03:44:57 +00:00
Pierangelo Masarati
7b65d46b1b add slapacl tool 2004-04-20 00:08:44 +00:00
Kurt Zeilenga
69eeb79662 Additional invalid objectClass changes (ITS#3097)
catch error in validation/pretty functions
2004-04-19 20:45:26 +00:00
Pierangelo Masarati
d7884b5853 rename macro 2004-04-14 23:23:46 +00:00
Pierangelo Masarati
629cd41f58 use librewrite for sasl-regexp (need to #define SLAP_X_SASL_REWRITE; ITS#2886); lots of cleanup 2004-04-13 16:51:25 +00:00
Pierangelo Masarati
c846d75b8b lots of cleanup 2004-04-13 16:47:23 +00:00
Pierangelo Masarati
755210c960 use librewrite for sasl-regexp (need to #define SLAP_X_SASL_REWRITE; ITS#2886); lots of cleanup 2004-04-13 16:47:04 +00:00
Pierangelo Masarati
c0c24cfec5 first round of SHADOW flags/isupdate test unification 2004-04-10 10:00:58 +00:00
Kurt Zeilenga
b217659088 ITS#3066: properly detect duplicates 2004-04-08 06:44:50 +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
f3ee96399e move API 2 protocol error mapping to frontend; add new isroot_dn helper 2004-04-05 17:30:08 +00:00
Howard Chu
2821d0bdd6 Add connection_fake_init() 2004-03-17 19:33:13 +00:00
Pierangelo Masarati
16d820ad84 add iterator on overlays 2004-03-16 21:56:40 +00:00
Howard Chu
db52f51943 Preserve old slap_passwd_hash() signature, add slap_passwd_hash_type() 2004-03-15 20:58:41 +00:00
Pierangelo Masarati
f145457d0c move limits check and preparation in a helper function 2004-03-09 14:32:00 +00:00
Howard Chu
4504b48c6b default_passwd_hash now takes a list of schemes
passwordModify exop will generate all the configured hashes
2004-03-02 22:12:23 +00:00
Jong Hyuk Choi
53d191e14d syncrepl update: 1) improve error handling 2) glueing support for non-leaf deletion (TODO : deletion of leaf glue entries in the delete / modrdn code) 2004-02-22 20:44:44 +00:00
Pierangelo Masarati
4e57108991 allow search limits based on groups (ITS#2967) 2004-02-18 16:40:36 +00:00
Howard Chu
c9d033ae30 Fix syncrepl slapd_shutdown detection, would not stop on a gentlehup. 2004-01-15 21:35:05 +00:00
Kurt Zeilenga
3c598e89fb Happy new year 2004-01-01 19:15:16 +00:00
Kurt Zeilenga
c7f1759e80 Misc cleanup 2003-12-30 01:26:38 +00:00
Kurt Zeilenga
fcad25da47 Misc code cleanup 2003-12-29 22:25:43 +00:00
Howard Chu
d8f9f4ee22 Revert prev commit, unnecessary 2003-12-25 14:57:26 +00:00
Howard Chu
329bd66d6a Use a separate mutex for the replication timestamp 2003-12-24 14:32:33 +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
Pierangelo Masarati
42d7d6d743 propagate flags to sasl-regexp functions (will need it later) 2003-12-18 18:32:45 +00:00
Kurt Zeilenga
9647ccd945 Completely untested built-in EXTERNAL implementation
Needs identity mapping and proxy authorization support
2003-12-18 06:52:39 +00:00
Pierangelo Masarati
4602c935f7 saslAuthzTo/From stuff
when comparing IDs to saslAuthzTo/From values, the saslAuthzTo
saslAuthzFrom values can take different forms:

dn[.<style>]:<pattern>

<style> ::= 	exact		; exact match
		children	; children of <pattern> match
		subtree		; <pattern> or children of <pattern> match
		regex		; <pattern> is regcomp() & regexec()
if no <style>, then exact is assumed

u[.<mech>][/<realm>]:<user>

when parsing a proxyAuthz value, only exact DN is allowed,
and no <mech> can be specified.  <user> cannot contain ':'
and <mech> cannot contain '/'.
2003-12-13 23:02:59 +00:00
Pierangelo Masarati
9c5fe98a79 declare overlays_init() 2003-12-13 10:57:13 +00:00
Howard Chu
864aea13f7 ITS#2864 removed sl_mark/sl_release code 2003-12-07 04:00:47 +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
Jong Hyuk Choi
2bb75d5469 misc cleanup 2003-12-01 17:56:36 +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
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
Jong Hyuk Choi
f97dc983ac Collective entryUUID transmission of PRESENT messages in a single PDU
(refer to draft-zeilenga-ldup-sync-04.txt)
2003-11-20 02:14:47 +00:00
Jong Hyuk Choi
91e69fc335 add slap_uuidstr_from_normalized() 2003-11-19 00:45:59 +00:00
Jong Hyuk Choi
f3586499d0 update ldapsync/syncrepl code according to the new version of
the protocol (draft-zeilenga-ldup-sync-04)
2003-11-11 20:25:19 +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
782d1be0ad Fix prev commit, don't timeout outbound connections 2003-10-25 21:14:07 +00:00
Howard Chu
08676eb49d Add support for outbound connections in main listener.
Restructure syncrepl/persist to use outbound connection manager.
2003-10-24 12:57:24 +00:00
Howard Chu
645c2bcb02 Drop unused arguments from syncrepl_add_glue 2003-10-24 08:10:16 +00:00
Howard Chu
01f7a7466b SLAPI fix - no-op when slapi_plugins_used == 0 2003-10-24 05:58:42 +00:00
Howard Chu
b6835be962 ITS#2747, Reorganize syncrepl, fix some memleaks. More remain. 2003-10-18 14:13:37 +00:00
Jong Hyuk Choi
9d59b5a41c ITS #2766 (remove slap_syncrepl_bvc & slap_syncrepl_cn_bvc from proto-slap.h) 2003-10-14 20:40:44 +00:00
Luke Howard
7a1c94acd3 Add entry_dup(); make slapi_entry_dup() use it 2003-10-08 00:48:33 +00:00
Jong Hyuk Choi
a8574a450f slaptools update : replica promotion / demotion
new slapadd options
-p       : promote : If the ldif file contains syncConsumerSubentries, convert
                     them to a single syncProviderSubentry. Its contextCSN
                     attribute has the largest value of the syncreplCookie
                     attributes of the syncConsumerSubentries.
                     syncProviderSubentry in the ldif file is retained.
-p -w    : promote : Recalculate contextCSN based on entryCSN of each entry.
           create    Existing syncConsumerSubentries and syncProviderSubentry
                     are ignored and not added to the directory.
-r       : demote  : If the ldif file contains syncProviderSubentry, convert it
                     to a syncConsumerSubentry having the default syncrepl id
                     of 0. syncConsumerSubentries in the ldif file are retained.
-r -w    : demote  : Recalculate syncreplCookie based on entryCSN of each entry.
           create    Existing syncConsumerSubentries and syncProviderSubentry
                     are ignored and not added to the directory. The default
                     syncrepl id of 0 will be used for the new
                     syncConsumerSubentry.
-r -w -i %d[,%d]*  : Using the comma separated list followed by the -i option,
                     it is possible to create multiple syncConsumerSubentries
                     having the syncrepl ids specified in the list.
                     syncreplCookie values of these sycnConsumerSubentries
                     will have the same value, either from the maximum
                     entryCSN value or from the contextCSN value of the
                     syncProviderSubentry.
2003-10-07 20:01:37 +00:00
Howard Chu
c58ac9d8f1 Add memctx param to build_new_dn(). cleanup DN leaks. 2003-09-24 04:30:41 +00:00
Howard Chu
0b23dff298 ITS#2735 - plug memory leaks, cleanup 2003-09-23 22:52:35 +00:00
Jong Hyuk Choi
537ccc3f5f fix for persistent search termination (ITS#2724)
- the consumer slapd did not terminate when the provider is alive
 - use a timeout in ldap_result() of syncrepl.c
2003-09-17 10:34:10 +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
72adc38cdf Construct ctxcsn entries directly, plug memory leaks, remove
dependency on slap_mods_check and slap_mods2entry
2003-09-12 18:52:34 +00:00
Jong Hyuk Choi
c25a892e62 misc cleanup 2003-09-04 19:48:53 +00:00
Jong Hyuk Choi
c36f32a9e4 slaptool update for LDAP Sync replication 2003-08-30 15:19:35 +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
Jong Hyuk Choi
b231c33efa export glueing code 2003-07-08 20:07:07 +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
fd13d4d50f misc cleanup 2003-07-01 15:43:25 +00:00
Jong Hyuk Choi
5bc1e1a3c9 Berkeley DB congestion avoidance 2003-07-01 11:55:18 +00:00
Jong Hyuk Choi
5d203d0cc5 not returning glue entries unless manageDSAit is set 2003-06-25 16:22:08 +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
62da6969dc Preliminary backend overlay support, based on backglue, not tested... 2003-06-11 02:27:51 +00:00
Kurt Zeilenga
2fcbaf29d9 read get_extop func 2003-06-01 00:09:32 +00:00
Kurt Zeilenga
16af7fdd4c Hide experimental controls and extended operations 2003-05-31 20:19:02 +00:00
Kurt Zeilenga
12304f64e5 Merge partial and intermediate responses 2003-05-31 05:01:49 +00:00
Howard Chu
676984e8d3 Fix slap_EXOP declarations 2003-05-29 07:18:58 +00:00
Howard Chu
9dace23dec Change slap_sasl_authorized to take an Operation instead of a Connection,
for compatibility with proxyAuthz control
2003-05-24 02:44:46 +00:00
Jong Hyuk Choi
7e7429267e persistent search updates with recent changes 2003-05-20 20:21:39 +00:00
Jong Hyuk Choi
986bcd52a9 -syncUUID search in syncrepl
-test017-syncreplication
2003-05-09 06:50:44 +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
Kurt Zeilenga
5cd994ed21 remove dnNormalize2
replace calls to dnNormalize2 with calls to dnNormalize
2003-04-29 18:28:14 +00:00
Kurt Zeilenga
eebc51b9bf remove dnPretty
rename dnPretty2 to dnPretty
2003-04-29 18:13:10 +00:00
Hallvard Furuseth
8a2bb1d1cc Declare lap_free_ctrls() and sl_mem_init(). 2003-04-29 14:53:05 +00:00
Jong Hyuk Choi
86a46c267a OpenLDAP synchronization based replication engine 2003-04-21 14:08:13 +00:00
Pierangelo Masarati
629885a269 use SLAP_PTRCMP 2003-04-18 17:16:48 +00:00
Pierangelo Masarati
3a5cd746b7 use global bervals for TRUE/FALSE 2003-04-16 19:49:00 +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
Howard Chu
ece7452b05 More memory context tweaks 2003-04-11 01:29:28 +00:00
Howard Chu
374d919fc0 More memory context tweaks 2003-04-10 06:21:53 +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
Pierangelo Masarati
43b1658160 normalize while merging values 2003-04-08 23:27:22 +00:00
Howard Chu
6f9901e9ce Moved get_alias_dn from back-ldbm to frontend 2003-04-05 06:34:20 +00:00
Kurt Zeilenga
c75be97ae9 #ifdef -DSLAP_NVALUES 2003-04-05 03:35:16 +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
Pierangelo Masarati
4325d05ebc add function prototypes 2003-03-29 11:46:02 +00:00
Howard Chu
3a71bddbc4 ITS#2389 - added conn_max_pending/auth config keywords to cap the number
of outstanding requests on a connection. Set rate limits for request
execution:
   no connection can have more than maxthreads/2 ops executing at once.
   a connection that is write-blocked will not execute any new ops.
   queued ops must drain before any new ops can execute.
If the queue exceeds the max_pending limit, the connection is closed.
...also fixed a bug where a connection was not marked active if it never
received a Bind.
2003-03-27 03:35:46 +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
1277616c40 use an "unknown" listener name/url when faking connections 2003-03-11 18:25:51 +00:00
Pierangelo Masarati
9702e837e8 fix attr_merge_one hack 2003-03-01 15:41:54 +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
Kurt Zeilenga
16c9e81c80 SLAP_NVALUES: test003 now passes (with help of a substr mr hack) 2003-03-01 00:14:32 +00:00
Luke Howard
cc39f75261 Support for dynamic registration of controls, both through native and
SLAPI plugins.
2003-02-28 12:34:35 +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
Kurt Zeilenga
f1441afbac Backout prototype rename 2003-02-26 15:53:31 +00:00
Kurt Zeilenga
dd66e6e929 SLAP_NVALUES, round 3 2003-02-26 07:39:30 +00:00
Kurt Zeilenga
2a8dec95ba SLAP_NVALUES back-monitor temporary hack 2003-02-25 21:19:42 +00:00
Kurt Zeilenga
8502301b00 Round one of SLAP_NVALUES code 2003-02-25 21:08:48 +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
8f82e9f772 ITS#2117: remove suffixalias support until someone fixes it 2003-02-09 07:20:03 +00:00
Kurt Zeilenga
c315e28779 Move RDN checks to entry_schema_check() so that it is consistently
applied (and disabled via schemacheck off).  Removed add-rdn-values flag.
2003-02-07 20:12:26 +00:00
Pierangelo Masarati
7a97f37bd4 add 'add-rdn-values {on|off}' (default off) switch 2003-02-07 15:19:58 +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
Jong Hyuk Choi
0c43007e55 LDAP cancel operation 2003-01-25 00:36:50 +00:00
Luke Howard
819d4093ae Honour PermitModify control when adding or deleting values. This code needs
review although, with the control disabled, it should not affect existing
code paths.
2003-01-24 01:43:09 +00:00
Hallvard Furuseth
e384faf927 Return 0 or 1 from is_entry_*(), to kill 'signed vs. unsigned' warnings. 2003-01-22 22:01:21 +00:00
Kurt Zeilenga
6939c53170 Happy new year 2003-01-03 20:20:47 +00:00
Hallvard Furuseth
2bcb48361d Remove casts of AVL function pointers. 2002-12-14 22:25:52 +00:00
Hallvard Furuseth
486eaa69b6 Rename "lang(uage)" to "tag(s)". (Cleanup after attribute options patch.) 2002-12-13 19:15:20 +00:00
Hallvard Furuseth
54728f367e Implement user-defined tagging attribute options and ranges 2002-12-12 13:56:05 +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
da76c1951e First-cut proxy authorization support. 2002-12-03 06:11:32 +00:00
Pierangelo Masarati
76bf91f553 remove #ifdef SLAP_FILTER_HASSUBORDINATES 2002-11-10 19:48:36 +00:00
Jong Hyuk Choi
3a9229a3e9 Use of slap_schema.si_ad_entryUUID in bdb_psearch() 2002-10-28 23:57:54 +00:00
Pierangelo Masarati
f07cabad0f need to move #define here; on by default 2002-10-26 16:32:11 +00:00
Pierangelo Masarati
7b3f889ec1 fix hasSubordinate filtering; now it can be safely turned on 2002-10-26 16:18:31 +00:00
Jong Hyuk Choi
15c5943edd Addition of servers/slapd/lcup.c and servers/slapd/back-bdb/lcup.c for persistent search 2002-10-25 17:57:03 +00:00
Jong Hyuk Choi
8074294f1d LCUP persistent search code drop 2002-10-25 17:51:30 +00:00
Pierangelo Masarati
956f1d16aa listener:
- use bervals for url and sockname
- pass connection_init() the listener struct pointer instead of each value
- don't copy them in the Connection struct 'cause they're not going to change
- define macros for legacy usage of c_listener_url and c_sockname
2002-10-24 10:03:52 +00:00
Kurt Zeilenga
acc32b9d9e Basic framework for DIT Content Rules (not yet enforced) 2002-10-09 07:11:50 +00:00
Kurt Zeilenga
f5e6d1db41 #unifdef -DSCHEMA_DN 2002-09-29 04:30:38 +00:00
Pierangelo Masarati
8758a30bf2 #undef SLAP_X_FILTER_HASSUBORDINATES while I fix the entry lock problem ... 2002-09-10 10:10:11 +00:00
Pierangelo Masarati
d3ca441ae8 /*
* The original code performs ( n ) normalizations
 * and ( n * ( n - 1 ) / 2 ) matches, which hide
 * the same number of normalizations.  The new code
 * performs the same number of normalizations ( n )
 * and ( n * ( n - 1 ) / 2 ) mem compares, far less
 * expensive than an entire match, if a match is
 * equivalent to a normalization and a mem compare ...
 *
 * This is far more memory expensive than the previous,
 * but it can heavily improve performances when big
 * chunks of data are added (typical example is a group
 * with thousands of DN-syntax members; on my system:
 * for members of 5-RDN DNs,

 members         orig            bvmatch (dirty) new
 1000            0m38.456s       0m0.553s        0m0.608s
 2000            2m33.341s       0m0.851s        0m1.003s

 * Moreover, 100 groups with 10000 members each were
 * added in 37m27.933s (an analogous LDIF file was
 * loaded into Active Directory in 38m28.682s, BTW).
 *
 * Maybe we could switch to the new algorithm when
 * the number of values overcomes a given threshold?
 */
2002-09-02 19:41:03 +00:00
Kurt Zeilenga
af183089b8 unifdef -DSLAP_X_MRA_MATCH_DNATTRS 2002-09-01 00:33:20 +00:00
Kurt Zeilenga
c6052ac8b0 Add mr_usable_with_at() routine. Use both in generation
of rule uses, but also in test_filter_mra()
2002-08-31 21:23:45 +00:00
Pierangelo Masarati
e2ec62f09f add matchingRuleUse to schema; use a berval instead of _oidlen in syntax and matching rule 2002-08-31 10:45:22 +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
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
Kurt Zeilenga
1086ffb438 Round one of subclass indexing for objectClass and structualObjectClasss.
add soc_cname to ObjectClass structure
2002-08-29 01:12:59 +00:00
Kurt Zeilenga
23efa07a99 use ldap_charray_*() instead of charray_*() 2002-08-24 00:55:24 +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
Howard Chu
505a141c75 Use search callbacks in slap_sasl_checkpass and slap_auxprop_lookup,
use ACL_AUTH for acl checks.
2002-08-20 05:32:54 +00:00
Howard Chu
e5091f5926 Updated register_syntax, register_matching_rule for more convenient
calling from other modules
2002-08-17 01:29:18 +00:00
Pierangelo Masarati
b95ab4ac64 add function slap_modrdn2mods that prepares modifications list for delete/add old/new rdn values 2002-08-16 16:35:16 +00:00
Kurt Zeilenga
1c75a7f25c Fix inverted bvmatch logic in modrdn 2002-08-12 08:45:20 +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
554311a4c8 Fix cargv leak in recursive read_config() 2002-08-07 08:22:43 +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
Howard Chu
5a01db28e3 Moved slap_strcopy, slap_strncopy to lutil_strcopy, lutil_strncopy 2002-07-27 00:24:02 +00:00
Kurt Zeilenga
0a2a381d07 Fix for "no structuralObjectClass" when lastmod is off (ITS#1904) 2002-06-25 01:04:54 +00:00
Howard Chu
07a34489c6 Added saslAuthzTo and saslAuthzFrom to system schema.
Added sasl-authz-policy config keyword to control proxy authorization.
Moved sasl-related config processing to sasl.c:slap_sasl_config().
Moved other global defs used only in saslauthz.c into saslauthz.c.
2002-06-14 08:10:14 +00:00
Kurt Zeilenga
1410b3e7d9 An almost complete slap_sasl_setpass() 2002-06-12 00:13:29 +00:00
Kurt Zeilenga
19eca33ca3 Gentile HUP shutdown from Hallvard 2002-06-03 16:47:43 +00:00
Kurt Zeilenga
5c5b5455fb VLV updates 2002-06-03 16:45:09 +00:00
Kurt Zeilenga
bdad40c696 Disallow addition of system schema via config files. 2002-05-30 05:23:37 +00:00
Howard Chu
6f47e13147 Cyrus 2 support now requires Cyrus 2.1.3. Adds support for in-directory
SASL secrets. (Only works with plaintext userpassword tho.)
2002-05-07 23:08:23 +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
Kurt Zeilenga
af02eee0d5 Reworking backend_check_restrictions for extensions
Should resolve ITS#1781.
2002-05-01 01:04:57 +00:00
Howard Chu
0f966d2fdb Changed ldap_pvt_tls_get_my_dn and ldap_pvt_tls_get_peer_dn to store result
in dn parameter and return a result code.

Changed dnX509peerNormalize as above. Added debug message on failure to
retrieve client DN.
2002-04-30 13:52:49 +00:00
Howard Chu
8a5423ea8d deleted sasl_external_x509dn_convert; X509 DNs are always converted to
normalized LDAP DNs now.

Changed dnDCEnormalize to dnX509normalize, added dnX509peerNormalize,
based on new ldap_X509dn2bv() etc.
2002-04-18 12:26:36 +00:00
Howard Chu
1bbd51da77 ITS#1712, rewritten dn_openssl2ldap(). Added dnDCEnormalize(), used by
dn_openssl2ldap() and sasl_external_x509dn_convert. Fixed realm handling
for foreign Kerberos realms embedded in usernames.
2002-04-16 08:46:25 +00:00
Pierangelo Masarati
c22f10f4ca don't count operations per request if back-monitor is not built 2002-04-08 19:13:13 +00:00
Pierangelo Masarati
51e33154b3 count initiated/completed operations divided per request 2002-04-08 18:41:15 +00:00
Pierangelo Masarati
f4dba925ff add a switch that enables/disables reverse lookups if configured with rlookups 2002-04-03 15:40:49 +00:00
Pierangelo Masarati
9bf3ccd0bf allow attribute exclusion list in selective replica 2002-03-30 08:52:20 +00:00
Kurt Zeilenga
0be4d842bc Update control framework
Misc cleanup
NT updates
2002-03-24 02:17:21 +00:00
Kurt Zeilenga
b56f7c7222 Add no-op mru_schema_info()...
Not sure how best to populate matchingRuleUses...
2002-03-11 03:06:34 +00:00
Kurt Zeilenga
c9c3a68496 Deprecate filter_print in favor of filter2bv. 2002-03-10 17:41:14 +00:00
Kurt Zeilenga
1880c23029 Replace get_filter generation of fstr with filter2bv(). 2002-03-07 03:13:11 +00:00
Kurt Zeilenga
a71cd15182 Add normalize_validate_normalize() to be use instead of value_normalize()
where value has not yet been validated.
2002-03-01 18:05:47 +00:00
Kurt Zeilenga
c0fdb1aaca Add a value_validate() function to be used by prior to value_normalize
calls as needed (compare/filters).
2002-03-01 17:36:22 +00:00
Howard Chu
81c3c311a8 Changed reqoid to struct berval 2002-02-15 16:27:31 +00:00
Kurt Zeilenga
2b71d70f2f Reverse arguments of is_object_subclass and reverse backwards calls 2002-02-09 23:55:37 +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
f50b75f0c2 Added replica attr=<attribute list> support to filter replog content 2002-02-08 06:44:33 +00:00
Kurt Zeilenga
057dda50d3 remove deadwood, e.g. slap_index2prefix() 2002-01-31 00:11:44 +00:00
Kurt Zeilenga
b6de12f552 revert constification of slap_init_user() 2002-01-29 19:01:15 +00:00
Kurt Zeilenga
0a31400d63 Some misc cleanup 2002-01-29 06:06:20 +00:00
Howard Chu
d937237987 Eliminated dn_normalize. No more migration. 2002-01-26 14:51:45 +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
6bac96b0bd Changed dnParent to void instead of int. (It always returned success...) 2002-01-26 08:44:59 +00:00
Kurt Zeilenga
309870fa9c Remove deprecated routines and a little lint. 2002-01-26 07:32:13 +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
3d8c269f2e Update collective attribute schema 2002-01-19 22:33:07 +00:00
Kurt Zeilenga
8eaaa67db0 Move {add,replace,delete}_value() routines to frontend and share.
Add error detail reporting.
2002-01-19 19:54:48 +00:00
Pierangelo Masarati
48d40fb6c3 fix ad_cmp 2002-01-19 15:42:59 +00:00
Kurt Zeilenga
2c94c7915a Modify ad_cmp() macro to support use as an ordering function. 2002-01-19 06:42:59 +00:00
Kurt Zeilenga
b713f42650 Cleanup prototypes 2002-01-19 05:13:14 +00:00
Howard Chu
e040c2dee0 Fix previous commit 2002-01-19 04:32:43 +00:00
Howard Chu
44f0efb44f Defined some ObjectClass->soc_flags values, changed is_entry_*objectclass
macros to use flags
2002-01-19 02:58:00 +00:00
Pierangelo Masarati
1ea0d20e82 publish dnParent() 2002-01-17 17:04:11 +00:00
Kurt Zeilenga
7f0289a390 Move most of the new ber_*cmp routines to lber_pvt.h to keep them private,
rework them slightly to avoid computations which might result in underflow.
Rename them for consistency with other berval routines.
Remove some utf8 lint.
2002-01-16 18:16:15 +00:00
Pierangelo Masarati
af54eed042 added ber_[mem|case]cmp() macros for fast berval comparison; extensively used in acl and in dn_match macro at present 2002-01-16 11:36:47 +00:00
Kurt Zeilenga
21c8846e64 Fix last commit 2002-01-16 05:44:21 +00:00
Kurt Zeilenga
20af643fc4 more cleanup 2002-01-16 04:40:41 +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
Kurt Zeilenga
13af7fb073 Misc. cleanup, remove lint, remove unused deprecated functions, etc. 2002-01-15 07:29:15 +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
9a3dcc376c Zap connection_internal_* 2002-01-13 18:05:16 +00:00
Pierangelo Masarati
3bddc61a2a clarify macro name: dn_match = 1 if match, 0 otherwise 2002-01-12 17:42:44 +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
Pierangelo Masarati
725e13dade slap_strncopy function 2002-01-12 16:02:51 +00:00
Kurt Zeilenga
2d09d18de5 Add collective attribute system schema support. 2002-01-11 20:28:05 +00:00
Pierangelo Masarati
619f772459 listener monitor 2002-01-11 11:43:35 +00:00
Pierangelo Masarati
5dfbf93687 need this outside for back monitor ... 2002-01-11 10:46:58 +00:00
Kurt Zeilenga
c3b62aae91 Fix the bits 2002-01-10 22:54:24 +00:00
Kurt Zeilenga
55501e886f Rework backend (lastmod + glue + system schema) flags 2002-01-10 22:34:11 +00:00
Howard Chu
54dae3d3d3 Fix str2anlist declaration, str is not const. (gets overwritten if
there is an error.)
2002-01-10 20:25:23 +00:00
Kurt Zeilenga
c816ebc225 Add Backend argument to entry_schema_check() to support system schema
checks (in addition to user application schema checks).
2002-01-10 19:37:03 +00:00
Kurt Zeilenga
6ed15e3350 Another round of operational attribute changes... more to follow. 2002-01-10 01:46:08 +00:00
Kurt Zeilenga
c80d93f2bb Start of new operational attribute framework 2002-01-10 00:17:21 +00:00