Commit Graph

757 Commits

Author SHA1 Message Date
Pierangelo Masarati
45cda82eb1 allow load_extop to replace an existing handler (not by default, though) 2006-01-06 17:08:54 +00:00
Kurt Zeilenga
acbb5cf689 Happy new year! 2006-01-03 23:11:52 +00:00
Pierangelo Masarati
8e7e8c4d04 allow modules to register callbacks for dynamic data in root DSE 2006-01-02 08:57:56 +00:00
Luke Howard
b6fffd1417 Add orr_modlist member to request structure, containing a list of
modifications to be applied by the backend atomically with a modify
RDN request.

Handle updating of RDN values in frontend.

Code that calls a backend's be_modrdn should call slap_modrdn2mods(op, rs)
before invoking the backend and cleanup with slap_mods_free( op->orr_modlist, 1 ).
See do_modrdn() for an example.
2006-01-01 09:23:24 +00:00
Pierangelo Masarati
4a86a767ab more unparsing buffer overflow cleanup 2005-12-20 15:33:50 +00:00
Pierangelo Masarati
81bafb9935 fix potential overflow in syncrepl_unbind() and related helpers 2005-12-20 14:31:16 +00:00
Pierangelo Masarati
3517bdf260 revert previous commit(s); clarify usage of "-s" in slapd(8). 2005-12-20 08:20:16 +00:00
Pierangelo Masarati
662cb94e06 helper to destroy modrdn modifications... 2005-12-06 22:54:51 +00:00
Howard Chu
bb1984eb3e Fix mod delete by ordered index 2005-12-05 11:46:56 +00:00
Pierangelo Masarati
84bb488ec2 allow to register (and expose) a supported feature 2005-11-27 23:17:57 +00:00
Pierangelo Masarati
f86543c770 cleanup filter escaping 2005-11-25 12:16:27 +00:00
Pierangelo Masarati
429a6f5353 fix wrong response tags (ITS4182; consequence of fixing ITS#4173) 2005-11-17 23:52:56 +00:00
Pierangelo Masarati
4537065ffc further isolation and cleanup of ACI code 2005-11-10 00:52:43 +00:00
Pierangelo Masarati
fc2912ba92 move bindconf_[un]parse() into generic API 2005-11-06 23:28:54 +00:00
Howard Chu
c5b44f3660 ITS#4128 use backend_db_init to init the private backend 2005-11-03 20:31:11 +00:00
Pierangelo Masarati
183b696e76 address ITS#4127 (please review) 2005-10-31 16:00:51 +00:00
Howard Chu
4bb234bac8 ITS#4108 Cleanup accept/close race conditions. 2005-10-29 04:17:56 +00:00
Howard Chu
fc621a1c78 Add tool-threads config keyword, init thread pool in tool mode. 2005-10-27 09:29:42 +00:00
Howard Chu
37e58a73a4 Revert prev commit, use -g option to disable glue instead 2005-10-15 21:52:01 +00:00
Howard Chu
10a696bd15 ITS#4089 use slapcat -n XX to specify just the superior of a glued tree 2005-10-15 20:08:56 +00:00
Pierangelo Masarati
bd5706d8e5 complete fix of slapd-monitor log modify (ITS#4091) 2005-10-15 17:37:18 +00:00
Kurt Zeilenga
9bc19c5232 Revised lightweight dispatcher -- writers moved into worker threads
Presently spawns operations in separate thread to ease clr_read/wake handling.
Seems to perform reasonable well...
2005-10-15 06:54:55 +00:00
Kurt Zeilenga
577bfc477e More cleanup 2005-10-14 22:04:03 +00:00
Hallvard Furuseth
78873370c8 constify berval arg to load_extop(), to match usage 2005-10-14 12:57:07 +00:00
Howard Chu
7dcb68f6fa Move CSN invocations to backends 2005-10-13 11:58:44 +00:00
Kurt Zeilenga
6db7e605ee Align Operation buffers using LBER_ALIGNED_BUFFER 2005-10-12 23:17:28 +00:00
Howard Chu
12733ab92f ITS#3996 fix glue/syncprov interaction 2005-09-27 15:10:57 +00:00
Howard Chu
9b1d798ad2 Change slap_ad_undef_remove() to slap_ad_undef_promote().
AttributeDescriptions must never be freed in a running slapd.
2005-09-14 06:17:59 +00:00
Pierangelo Masarati
9129a2f7ee silence warnings 2005-09-10 18:59:35 +00:00
Pierangelo Masarati
ec532ce885 disable pagedResults or reject 2005-09-04 20:08:35 +00:00
Howard Chu
4a1eabf257 Moving glue overlay back into slapd core, returning to 2.2 config syntax 2005-09-01 11:45:04 +00:00
Pierangelo Masarati
6cb8b14435 allow undefined attrs to be "proxied" (ITS#3959) 2005-08-25 21:14:26 +00:00
Pierangelo Masarati
4bc8197dcb further ACI factoring out & confinement 2005-08-22 16:03:35 +00:00
Pierangelo Masarati
de90dbbc52 mutex-protect "undefined" attribute descriptions/objectClasses addition (ITS#3958) 2005-08-22 09:46:17 +00:00
Pierangelo Masarati
00b5d8c1bc allow objectClass checking including sups 2005-08-20 19:01:53 +00:00
Luke Howard
2ff5c27f63 Check for NULL in be_match()
Use be_match() in backend.c operational processing
2005-08-18 04:34:04 +00:00
Luke Howard
6cf14a777a Add be_match() macro: one cannot always compare BackendDB pointer
values in order to test equivalence, because the overlay engine
may have reset the backend pointer to a temporary copy on the stack.

So, we test pointer equivalence of the BackendDB itself, then of
be_nsuffix -- this macro can be updated if necessary.
2005-08-18 04:12:04 +00:00
Pierangelo Masarati
ec49990d51 ACIs almost entirely factored out of slapd
Added OpenLDAPaciSyntax based on ITS#3877 by Nikita Shulga
aci_mask() doesn't exploit the normalized value yet (next step)
The case #define SLAPD_ACI_ENABLED / #undef SLAP_DYNACL should
be removed
2005-08-17 17:14:57 +00:00
Hallvard Furuseth
9873eb7ab0 Add missing Statslog() statements (loglevel stats/stats2):
"ABANDON", "STARTTLS", "CANCEL", "WHOAMI", "PASSMOD", "EXT", "INTERM",
  "TLS established", SASL and Extended Response "RESULT".
In Statslog output "conn=xx fd=yy closed", append the reason in
  "()" unless client or server closed the connection after Unbind.
Still missing Statslog output from a number of failed requests.
2005-08-14 00:14:58 +00:00
Pierangelo Masarati
d10250d9f6 add authzSyntax for authzTo/authzFrom attributes; add X-ORDERED 'VALUES' if support for ordered_value_{validate,pretty,normalize} is present; exploit normalization in slap_parseURI (only #ifdef LDAP_DEVEL) 2005-08-11 23:52:17 +00:00
Pierangelo Masarati
2b93e9b376 wrap validate/pretty/normalize for ordered values (only #ifdef LDAP_DEVEL) 2005-08-11 23:35:15 +00:00
Pierangelo Masarati
cccf35c749 allow textual log levels in command line 2005-08-08 14:01:40 +00:00
Howard Chu
9365649dad ITS#3922 fix syncrepl ctxcsn leak 2005-08-08 12:38:19 +00:00
Pierangelo Masarati
e549e4463a free replica info as appropriate 2005-08-07 15:01:13 +00:00
Luke Howard
12d006d17d Add o_no_schema_check to operation structure
entry_schema_check() nows takes Operation instead of Backend as first
argument, allows it to check o_no_schema_check
2005-08-01 15:26:13 +00:00
Luke Howard
71d76fbeba slap_mods2entry() should not zero pointers into the modifications
list because checking is performed on these, rather than the entry.

slap_mods_free() now takes an extra argument indicating whether to
free the values or not.
2005-08-01 02:16:02 +00:00
Luke Howard
6f0edd6c22 Call slap_mods2entry() in do_add(), so that global overlays (including
global SLAPI plugins) have access to op->ora_e.

Note that slap_mods2entry() is still called in fe_op_add() in order to
add any operational attributes.
2005-07-31 04:56:27 +00:00
Pierangelo Masarati
0de20c028f destroy limits at exit 2005-07-25 20:50:03 +00:00
Pierangelo Masarati
4c1339cf22 add infrastructure to register verbmasks; allow to register loglevels programmatically; cleanup glue protos 2005-07-23 11:32:10 +00:00
Luke Howard
9e4ea429e5 Add fe_access_allowed(), should allow global ACL overlays to work 2005-07-23 04:18:48 +00:00
Luke Howard
6da978d5a0 Support for global ACL overlays, corresponding SLAPI support 2005-07-22 05:01:09 +00:00
Luke Howard
6ae5ce5b66 Cleaner version of previous patch (keep operational attr code in backend.c) 2005-07-22 03:44:04 +00:00
Howard Chu
ddf6c7b298 Plug more memleaks 2005-07-21 23:26:40 +00:00
Luke Howard
857543c1f8 add prototype for overlay_op_walk() 2005-07-21 13:35:59 +00:00
Pierangelo Masarati
a27a32ccc4 fix arbitrary precision number display when no big number library is available 2005-07-19 21:56:15 +00:00
Pierangelo Masarati
499906f464 use appropriate format when no arbitrary precision library is available 2005-07-19 19:31:24 +00:00
Luke Howard
2007c4b8b9 Add slap_parse_ctrl() API for parsing already decoded controls; needed
for SLAPI internal operations to use controls
2005-07-19 08:38:46 +00:00
Hallvard Furuseth
62b653fa85 Declare component matching functions 2005-07-11 19:06:10 +00:00
Hallvard Furuseth
a1e27aae40 Format fix: Make style_strings[] global for debug output in dynacl_aci_parse() 2005-07-04 06:25:02 +00:00
Howard Chu
f84fc983fd ITS#3774 delete backend/overlay structures after a failed add 2005-06-13 22:49:01 +00:00
Howard Chu
cd15432de6 More accesslog updates 2005-06-10 11:41:57 +00:00
Howard Chu
21b8be393a Add slap_timestamp(), use mutex in slap_get_csn() 2005-06-07 04:12:14 +00:00
Pierangelo Masarati
00c6709896 expose macro(s) to produce string representations of arbitrary precision counters 2005-05-28 14:30:43 +00:00
Pierangelo Masarati
672c39024e further fixing of back-ldap config; added enum_to_verb call to ease mapping enumerations to strings... 2005-05-23 14:14:34 +00:00
Kurt Zeilenga
18c3f9e093 Add manage obsolete attributes capability. 2005-05-13 23:51:43 +00:00
Kurt Zeilenga
feeeabcd68 manageDIT framework and obsolete objectclasses/DIT-content-rule override 2005-05-13 19:07:31 +00:00
Kurt Zeilenga
002f7ca062 finish global_schemacheck removal 2005-05-13 17:35:36 +00:00
Kurt Zeilenga
c83f7539ae Mostly remove global_schemacheck. More cleanup needed in
bconfig.c and back-sql.
2005-05-11 22:24:18 +00:00
Howard Chu
f82e2cbf39 Make entry_encode/decode independent of slapd structure sizes 2005-05-06 21:24:49 +00:00
Pierangelo Masarati
f0122ce3fc move discover function to frontend 2005-05-05 00:22:43 +00:00
Howard Chu
8f78d064ee Isolate syncrepl stuff in syncrepl.c 2005-04-22 14:38:35 +00:00
Howard Chu
3f542e1868 Fixes for ordered deletes 2005-04-19 18:37:39 +00:00
Howard Chu
b5ef8ea6f4 More modify support. ACL editing works. 2005-04-19 16:39:48 +00:00
Howard Chu
d882ce511d Generic ordered value support 2005-04-14 10:31:51 +00:00
Pierangelo Masarati
a85603c10b more on ITS#3652 2005-04-12 22:38:54 +00:00
Pierangelo Masarati
d2dd3a616c hide changes behind specific #ifdef, conditioned by LDAP_DEBUG; always allow access on back-dnssrv 2005-04-12 01:07:30 +00:00
Howard Chu
119cbcaba4 Schema unparsing support 2005-03-21 08:31:48 +00:00
Howard Chu
fba9235d0f Add HARDCODE schema flags 2005-03-21 00:22:54 +00:00
Howard Chu
2da2336ac6 Reorganiza SLAPD_CRYPT and SLAPD_SPASSWD support for better reentrancy 2005-03-18 06:06:38 +00:00
Howard Chu
bc4564cac4 More back-config / back-ldif integration, added config_generic_wrapper,
added -F option to specify config directory
2005-03-15 08:57:34 +00:00
Howard Chu
74e38c0ad4 More verbmasks cleanup, added index unparsing 2005-03-02 16:35:59 +00:00
Howard Chu
530e93f96e Cleanup verb/mask processing 2005-03-02 14:49:54 +00:00
Howard Chu
58865ccb38 Added general limits retrieval 2005-03-01 23:01:47 +00:00
Howard Chu
58939adc36 Added limits_unparse_one 2005-03-01 21:25:32 +00:00
Howard Chu
5acd0c574b Added authz-regexp, slapi plugin retrieval 2005-03-01 20:08:36 +00:00
Howard Chu
21aa0d0f9f Added oidm retrieval 2005-03-01 18:05:23 +00:00
Howard Chu
89210b7100 Added ldap_pvt_sasl_secprops_unparse, slap_sasl_secprops_unparse 2005-03-01 11:42:31 +00:00
Howard Chu
c54cd8b7f1 Added replica retrieval 2005-02-23 12:03:14 +00:00
Howard Chu
e0ca6e386e Added acl_unparse, slap_sasl_getpolicy 2005-02-22 12:02:34 +00:00
Howard Chu
dfb6f870f6 Rearrange, merge sasl config back into main config 2005-02-20 06:47:54 +00:00
Pierangelo Masarati
7cd731ec56 "ultimate" fix of glued databases controls checking; other minor fixes 2005-01-30 22:02:37 +00:00
Pierangelo Masarati
cd797f8089 avoid cycling twice in the control list 2005-01-29 18:16:38 +00:00
Kurt Zeilenga
e826914a88 Less kludgy willing-to-perform check for recognized and appropriate
global controls
2005-01-27 06:45:20 +00:00
Pierangelo Masarati
2c801d9c2a move compare to frontend (disabled by default, only invoked if backend doesn't provide hook); honor ITS#3472 (disclose access check); fix ITS#3521 as well (check access to hasSubordinates); fix a problem in backend_attribute() with operational attrs; add backend_access() helper 2005-01-26 23:30:57 +00:00
Pierangelo Masarati
5b193c218f fix dynamically registered controls check; NOTE: controls registered by global overlays don't work yet; better leave Kurt's kludge in place right now 2005-01-25 19:39:56 +00:00
Howard Chu
fcf787dc0f Rewritten str2entry, added str2entry2 2005-01-24 03:41:51 +00:00
Howard Chu
47e7948007 Schema caching for slaptools 2005-01-22 20:18:38 +00:00
Howard Chu
93c56951ed Use a single sessionlog per context, delete sid 2005-01-13 19:51:01 +00:00
Howard Chu
bf27ba977b Deleted syncrepl updatedn 2005-01-13 18:51:29 +00:00
Kurt Zeilenga
7dc0b02fc9 Replace backend.h with backends.c, generated by config.status. 2005-01-09 08:42:44 +00:00
Pierangelo Masarati
6f2ffa30ed fix ACL value checking for bind (ITS#3446) 2005-01-07 13:50:38 +00:00
Kurt Zeilenga
dc0eacd40b Happy New Year! 2005-01-01 20:49:32 +00:00
Sang Seok Lim
28a967584d Component Indexing support for BDB
- only for equality matching
- only components of ASN.1 types used in an X.509 certificate can be indexed
(composite types except for RDN and DN are not supported yet)
- how to use
index [attribute name].[component reference] eq
Ex)
index userCertificate eq
index userCertificate.toBeSigned.issuer.rdnSequence eq
index userCertificate.toBeSigned.serialNumber eq
index userCertificate.toBeSigned.version eq
2004-12-20 03:31:44 +00:00
Jong Hyuk Choi
5162c4477b adaptive caching code 2004-12-14 17:25:35 +00:00
Sang Seok Lim
3492452a5b 1) <select> and <content> type component reference support
2) attribute aliasing support
- x509CertificateIssuer
- x509CertificateSerial
- x509CertificateIssuerAndIssuer
3) AuthorityKeyIdentifier support(one of certificate extension)
4) Misc. improvement
- integrate OID and its decoder mapping table
- normalize and validate the values of both component asserions and
  extracted components
5) Misc. bug fix
2004-12-13 16:26:58 +00:00
Pierangelo Masarati
2f5e17d056 improve usability of global ovrlays for write operations; may need to anticipate SLAPI accordingly. More work needed for add (overlays need to understand they're global and call slap_mods2entry() explicitly) 2004-12-11 17:48:15 +00:00
Howard Chu
423c53d267 Add fe_op_abandon, call it in connection_abandon() 2004-12-09 21:17:29 +00:00
Pierangelo Masarati
af7079d32b declare oc_bvfind_undef() 2004-12-08 19:06:10 +00:00
Howard Chu
99f2d0b49b Let slap_get_commit_csn return the current CSN as well 2004-12-08 00:46:14 +00:00
Kurt Zeilenga
d616bd4ff8 cleanup 2004-12-07 18:40:47 +00:00
Howard Chu
dfb8c86dc3 Deleted subordinate keyword in favor of glue overlay 2004-12-04 20:08:56 +00:00
Howard Chu
5c8fd8bf11 Rename syncrepl_rq to slapd_rq, move to daemon.c 2004-12-03 16:49:23 +00:00
Sang Seok Lim
decfd7217f 1) <all> type component reference support
2) nibble type memory support when decoding
3) description type object identifier support
4) OPTIONAL, DEFAULT support in certificate decoder/extractor/matching
5) Misc bug fix
2004-11-29 20:21:38 +00:00
Howard Chu
a88c78d64e Remove syncinfo si_UUID_dn, make consumer use modify/modrdn instead of
just deleting and adding modified entries.
2004-11-29 05:56:51 +00:00
Howard Chu
b4eceddb52 Add slap_find_control_id 2004-11-27 11:45:07 +00:00
Howard Chu
5f99f7c991 More migration of syncrepl from frontend to syncprov overlay
define OPERATION_BUFFER_SIZE for dummy Operations
2004-11-27 00:57:37 +00:00
Howard Chu
c2b339d456 More syncprov fixes. test019 now passes. 2004-11-26 09:40:22 +00:00
Pierangelo Masarati
e891dbcdc4 fix dynacl compile 2004-11-26 00:34:48 +00:00
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