Commit Graph

328 Commits

Author SHA1 Message Date
Luke Howard
5eda803bc1 Add slapi_x_filter_set_attribute_type() API 2005-07-19 06:55:56 +00:00
Luke Howard
9e9c4b5397 Implement more of SLAPI 5.x - all SLAPI internal operations now take pblocks
as the canonical argument (wrappers for old APIs are provided)
2005-07-19 06:48:45 +00:00
Luke Howard
07ffdd8893 Associate global plugins with frontendDB
When unparsing plugin configuration, don't crash if no arguments
(dynamically registered plugins such as computed attributes don't
have arg vectors)
2005-07-19 06:47:43 +00:00
Hallvard Furuseth
81ecb0b153 assert expects int. (int)<nonnull ptr/long> can be 0. Use assert(arg!=0/NULL). 2005-07-18 06:22:33 +00:00
Hallvard Furuseth
d449c9d08b Silence "unused variable" warnings 2005-07-14 19:18:55 +00:00
Hallvard Furuseth
f841c364eb Format fixes (%d<->%lu etc) 2005-07-06 05:53:02 +00:00
Howard Chu
8f58409749 Add SLAP_MOD_INTERNAL flag to Modifications, allow internal ops to bypass
ACL checks when modifying user-modifiable attributes as non-root user.
2005-06-04 09:44:39 +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
Pierangelo Masarati
4abbf9c610 implement add/delete granularity in write access (ITS#3631) 2005-04-08 00:18:24 +00:00
Howard Chu
5a2333573c Fix prev commit 2005-03-01 21:16:44 +00:00
Howard Chu
5acd0c574b Added authz-regexp, slapi plugin retrieval 2005-03-01 20:08:36 +00:00
Luke Howard
0cf2e8746e ITS#3556 (SLAPI does not work on 64-bit platforms) 2005-02-20 02:13:14 +00:00
Luke Howard
4b1d72ab2f Add slapi_x_backend_get_flags() API 2005-01-28 08:33:29 +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
Luke Howard
82d3c103e9 Support LDAP_MOD_INCREMENT in slapi_modify_internal() 2005-01-27 06:20:31 +00:00
Pierangelo Masarati
28b18b1869 minor cleanup 2005-01-09 21:25:12 +00:00
Kurt Zeilenga
dc0eacd40b Happy New Year! 2005-01-01 20:49:32 +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
916e931065 Always exclude subordinates from top-level ops so glue overlay can
intercept. Now a single syncprov works over the entire glued context.
2004-12-04 19:26:22 +00:00
Howard Chu
dbe5e00929 Use SLAP_CONTROL_* constants 2004-11-23 16:02:07 +00:00
Howard Chu
47dd8d8732 Dynamic control management 2004-11-23 13:08:45 +00:00
Howard Chu
7e87f54716 Revert ITS#3353 patch, it needs to be reworked. 2004-10-06 05:51:38 +00:00
Pierangelo Masarati
bf8e890ea7 fix global configuration patch (ITS#3353) 2004-10-04 20:57:14 +00:00
Howard Chu
fda3d6260e ITS#3353 consolidate slapd globals into a single struct 2004-10-01 07:33:16 +00:00
Pierangelo Masarati
761f287943 multiple precision with BIGNUM/gmp/ulong 2004-09-26 22:58:47 +00:00
Jong Hyuk Choi
98dc97bcb9 memory leak fixes 2004-09-11 02:02:09 +00:00
Luke Howard
410ca3d1a9 Allow mods to be NULL in slapi_int_ldapmods2modifications() 2004-08-27 17:27:09 +00:00
Luke Howard
815efedff5 Fix "FIXME" in slapi_attr_add_value() - store normalized value as well as
real value
2004-08-26 05:02:21 +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
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
Luke Howard
253f66041f Harmonize bvptr2obj_copy() with values2obj_copy() - ie. don't fail if NULL
is passed in.
2004-08-23 03:59:07 +00:00
Pierangelo Masarati
b94d5e17e2 rework op/rs structures to deal with opeartional attributes 2004-07-18 21:44:29 +00:00
Pierangelo Masarati
e779235391 cleanup 2004-06-30 01:17:05 +00:00
Luke Howard
4eaef6a37d Do not crash if computed attribute has no values - necessary for range retrieval
support
2004-06-20 18:04:01 +00:00
Pierangelo Masarati
a689d81536 typo? 2004-06-19 10:02:53 +00:00
Pierangelo Masarati
d1b692ceb4 clarify no limits in (internal) searches 2004-06-12 11:33:21 +00:00
Kurt Zeilenga
b438e6b533 ITS#3166: correct slapi_entry_attr_get_* return types
patch provided by Martin Evans
2004-06-01 22:07:57 +00:00
Luke Howard
ab48d0295d slapi_ldap_init() / slapi_ldap_unbind() 2004-05-24 05:28:43 +00:00
Luke Howard
ba686c399b slight optimization - use ldap_bv2dn() 2004-05-24 03:43:53 +00:00
Luke Howard
f9b719f56e Implement slapi_entry_{get,set}_uniqueid 2004-05-23 16:04:27 +00:00
Luke Howard
e932093f47 Fix breakage 2004-05-23 15:51:58 +00:00
Luke Howard
4c2e3eeda4 Add slapi_entry_add_rdn_values(), slapi_entry_rdn_values_present(), slapi_entry_schema_check() API 2004-05-23 15:47:23 +00:00
Luke Howard
71d473f09f Implement slapi_rdn2typeval and slapi_dn_plus_rdn 2004-05-23 12:43:59 +00:00
Luke Howard
f62d1aac4e Implement slapi_entry_size() 2004-05-23 12:12:43 +00:00
Luke Howard
13e657ffa8 Implement slapi_entry_has_children() 2004-05-23 12:06:47 +00:00
Luke Howard
b047ba6f7e Fix warning 2004-04-15 02:35:39 +00:00
Kurt Zeilenga
4834e626ff Fix overaggressive s/bvalues/values/ changes of previous commit(s) 2004-04-12 17:35:12 +00:00
Kurt Zeilenga
07fc395816 s/bvalues/values/ 2004-04-09 20:56:46 +00:00
Pierangelo Masarati
a886172472 blind fix of mod_values cleanup 2004-04-08 14:42:02 +00:00
Kurt Zeilenga
c7f0438044 bvalue cleanup 2004-04-08 06:49:17 +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
c7e89d57be swap be_isroot and be_isroot_dn symbols 2004-04-06 01:06:20 +00:00
Pierangelo Masarati
e516247068 exploit new isroot_dn helper 2004-04-05 17:31:27 +00:00
Pierangelo Masarati
adb152972f fix previous commit 2004-03-17 11:58:59 +00:00
Pierangelo Masarati
ec6a663820 reset SlapReply flags 2004-03-17 11:50:15 +00:00
Pierangelo Masarati
82019df71a cleanup 2004-03-09 14:33:23 +00:00
Howard Chu
1b98cd6262 Fix SLAPI_ADD_RESCONTROLS 2004-03-02 20:31:37 +00:00
Luke Howard
3102602002 Fix previous commit 2004-01-02 06:34:50 +00:00
Luke Howard
53002fc3ce Wrap slapi_entry_attr_get_charptr() around slapi_value_get_string() 2004-01-02 06:10:51 +00:00
Luke Howard
cc9101d980 Check value is a C string in slapi_value_get_string() 2004-01-02 06:07:22 +00:00
Kurt Zeilenga
3c598e89fb Happy new year 2004-01-01 19:15:16 +00:00
Luke Howard
b0416d1140 Cleanup SLAPI namespace 2003-12-28 04:14:19 +00:00
Luke Howard
71dfd57e75 Initialize terminating bv_len in slapi_int_ldapmods2modifications 2003-12-27 08:43:02 +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
120adb6b1b Fix slapi_modify_internal() to deal with just the modification type of
a mod operation
2003-12-19 10:10:59 +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
0bcddbc908 Don't leak SLAPI_RESCONTROLS when free'ing parameter block - these
are allocated by the plugin
2003-12-16 05:59:50 +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
Howard Chu
32752fb396 ITS#2836 add SLAPI_ADD_RESCONTROL support, fix SLAPI_RES_CONTROLS def 2003-12-04 00:52:03 +00:00
Kurt Zeilenga
62e6779e4c Cleanup rcsid comments 2003-11-29 18:03:43 +00:00
Pierangelo Masarati
43f7494a5d remove /* in comments 2003-11-29 17:52:05 +00:00
Kurt Zeilenga
f6b9ac1338 Update notices and acknowledgements 2003-11-26 16:05:06 +00:00
Kurt Zeilenga
e3a4c4ec9c Notice/Acknowledge updates 2003-11-26 02:58:56 +00:00
Kurt Zeilenga
31f34d6985 Misc Update 2003-11-20 06:14:04 +00:00
Kurt Zeilenga
35dc15ad66 Normalize to IBM's OPL notice (with permission). 2003-11-20 05:11:37 +00:00
Kurt Zeilenga
986aabae01 Update to basic notice. 2003-11-20 04:59:01 +00:00
Howard Chu
102d8159a7 ITS#2779, cache group ACLs per operation instead of per-connection 2003-10-23 01:23:45 +00:00
Luke Howard
7a1c94acd3 Add entry_dup(); make slapi_entry_dup() use it 2003-10-08 00:48:33 +00:00
Luke Howard
6c25cb17d5 Use slapi_entry_dup() instead of converting entry to string and back 2003-10-07 16:09:40 +00:00
Luke Howard
abaddd1c70 Cleanup SLAPI logging
Remove _SPARC hostname special case - gethostname() should work
2003-09-27 05:03:16 +00:00
Luke Howard
613f493cae Add slapi_dn_beparent, slapi_dn_parent and slapi_dn_isparent API. 2003-09-27 03:29:05 +00:00
Luke Howard
a57956ac0f Implementation of slapi_send_ldap_search_reference() 2003-09-26 17:10:03 +00:00
Howard Chu
7fd47cedb7 ITS#2735 - plug memory leaks 2003-09-24 00:32:27 +00:00
Howard Chu
28d466ba66 ITS#2526 Fix slapi builds
note that -lltdl is added redundantly if --enable-modules was specified.
It seems to me that --enable-slapi should have implied --enable-modules
from the beginning.
2003-09-23 06:11:38 +00:00
Luke Howard
b299d7e067 Modifications must be copied before calling slap_mods_check() because
the pretty function may replace values which are owned by the SLAPI plugin

slapi_entry_dup() optimization - avoid string re-encoding

Fix slapi_add_internal() logic errors (was this ever tested?)

Don't attempt to free entries that have been cached; see new internal
slapi_add_entry_internal_locked() API
2003-09-15 06:53:54 +00:00
Luke Howard
da56275a2c Support per-backend ACL plugins 2003-09-01 08:49:22 +00:00
Luke Howard
0edb270b9e Support for ACL plugins 2003-08-31 08:17:21 +00:00
Luke Howard
a08fb7de7e Expose SASL context to SLAPI plugins (SLAPI_X_CONN_SASL_CONTEXT)
Useful for plugins that may wish to collude with the SASL library to,
for example, retrieve a user's authorization data from a Kerberos ticket
for access control purposes
2003-08-30 17:29:14 +00:00
Luke Howard
281627d81d Do not attempt to map positive error codes returned by plugins to
negative error codes.

Plugins should never return positive error codes except in the case
of bind pre-operation plugins, where they should return SLAPI_BIND_XXX.

This should fix ITS #2616 ...
2003-08-11 09:55:45 +00:00
Luke Howard
1251d801c1 Allow SLAPI plug-ins to override OpenLDAP extended operations
(please review)
2003-08-01 03:40:11 +00:00
Luke Howard
e01031b357 Set AttributeDescription in slapi_acl_check_mods() 2003-07-15 12:10:19 +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
Luke Howard
c9e134f0f7 Support for SLAPI plugin extensions API.
This API allows a plugin to associate arbitrary context with an
internal server object such as a connection or operation.

Some documentation is at:

http://enterprise.netscape.com/docs/directory/602/plugin/function.htm#1104211
2003-07-03 19:04:18 +00:00
Luke Howard
9936694960 Expose SSF to plugin 2003-07-03 19:01:13 +00:00
Luke Howard
0af6508632 s/forms/form in PADL copyright 2003-05-25 04:48:49 +00:00
Luke Howard
4cee2467be s/forms/form in PADL copyright 2003-05-25 02:59:09 +00:00
Kurt Zeilenga
4b3545cd2e Update IBM copyrights
Kurt Zeilenga, IBM Corporation
2003-05-25 02:03:07 +00:00
Luke Howard
9184d038ea Build without HAVE_TLS 2003-05-20 02:59:19 +00:00
Luke Howard
8fd23795f8 Don't crash slapi_filter_get_subfilt() if no "any" filter 2003-05-05 10:23:33 +00:00
Luke Howard
13f0acfb6a Don't crash if no attributes in slapi_attr_value_find() 2003-05-04 16:59:10 +00:00
Luke Howard
83cb1037a4 Fix slapi_filter_join() behavioural bug.
Fix slapi_filter_dup() crasher.

Add slapi_x_filter_append(), as a replacement for slapi_filter_join() that
can create compound filters containing multiple filters. Will propose API
to Sun DS team; until then it should likely be marked LDAP_DEVEL (if SLAPI
is not entirely marked as such already).
2003-05-03 04:15:35 +00:00
Kurt Zeilenga
a82a6d8403 Junk 2003-05-02 22:14:09 +00:00
Kurt Zeilenga
d2840928c6 Remove junk 2003-05-02 22:12:07 +00:00
Luke Howard
bb9d3ff304 Fix build breakage 2003-05-01 10:13:46 +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
Luke Howard
231a7cacf6 Remove unused variables in slapi_filter_test() 2003-04-26 03:28:48 +00:00
Luke Howard
b0e2fd5a8b Don't crash in slapi_send_ldap_search_entry if no attributes specified 2003-04-26 03:28:12 +00:00
Howard Chu
e4f1c459c2 ITS#2464 don't strdup NULL DN 2003-04-25 12:44:19 +00:00
Luke Howard
b1b8d9d651 slapi_dn_normalize() should pretty DN; slapi_dn_normalize_case() should normalize it
(appears to be correct based on iPlanet documentation)
2003-04-23 11:29:11 +00:00
Luke Howard
4a51d2457a Use attr_merge_normalize() instead of attr_mergeit()
(Seems to me that attr_mergeit() can be deprecated in favour of the
former -- Howard?)
2003-04-23 09:50:41 +00:00
Luke Howard
ebe2c10994 Fix incorrect usage of slapi_ch_free() 2003-04-23 07:01:56 +00:00
Luke Howard
d4a9e0ece0 Fix crasher when duplicating substring assertions 2003-04-18 08:21:12 +00:00
Luke Howard
c734eaf68a Improve error checking 2003-04-18 07:29:45 +00:00
Howard Chu
3aabc4ed43 doPlugins return code fix 2003-04-14 00:07:48 +00:00
Howard Chu
5821fb5251 Change doPluginFNs to return 1 when no plugins were invoked 2003-04-12 12:40:50 +00:00
Howard Chu
a6a6946a67 New ldap_pvt_thread_pool_context() 2003-04-12 04:01:40 +00:00
Howard Chu
75141e9c2f Fix VPATH builds 2003-04-11 03:39:48 +00:00
Howard Chu
ece7452b05 More memory context tweaks 2003-04-11 01:29:28 +00:00
Howard Chu
7287c0ff01 Init op->tmpmfuncs. 2003-04-09 23:37:24 +00:00
Kurt Zeilenga
c75be97ae9 #ifdef -DSLAP_NVALUES 2003-04-05 03:35:16 +00:00
Luke Howard
c4382a2b3b Don't set SLAPI_NENTRIES in internal_result_v3; seems to clobber it
(Howard, can you take a look at this?)
2003-04-01 18:21:26 +00:00
Luke Howard
92ac90c1e3 Handle plugin returning no modifications in slapi_x_ldapmods2modifications() 2003-04-01 17:33:37 +00:00
Luke Howard
3b5f98723c Fix crasher in slapi_dn_issuffix() when malformed DNs are passed 2003-04-01 17:16:56 +00:00
Luke Howard
97aaebd20f Fixed crasher due to op->o_conn not being initialized in internal
SLAPI connections (the new internal API highlighted this)
2003-04-01 11:46:43 +00:00
Luke Howard
6e01d4ebe8 Fix compile breakage from nentries fix 2003-04-01 11:19:20 +00:00
Luke Howard
a099c25089 Update for new internal API: set op backend 2003-04-01 11:17:03 +00:00
Howard Chu
9355dca9af Consolidated slap_callbacks into one function. Removed send_search_result. 2003-04-01 04:12:18 +00:00
Luke Howard
fc4d4e2f95 Cleanup to use new internal API 2003-03-31 17:10:55 +00:00
Luke Howard
2fdbc55374 SLAPI cleanup 2003-03-31 06:41:30 +00:00
Howard Chu
f80114af02 Fix previous commit 2003-03-31 06:27:16 +00:00
Luke Howard
5004ec3f01 SLAPI fixes 2003-03-31 04:58:41 +00:00
Luke Howard
6c2f47ecd5 SLAPI fixes 2003-03-31 04:56:17 +00:00
Pierangelo Masarati
a26cca88dd blind fix of value_match when SLAP_NVALUES is set 2003-03-24 22:23:18 +00:00
Howard Chu
1d772b3df6 ITS#2364 fix unterminated AttributeName array 2003-03-23 16:00:20 +00:00
Pierangelo Masarati
1277616c40 use an "unknown" listener name/url when faking connections 2003-03-11 18:25:51 +00:00
Pierangelo Masarati
74960cc52f initialize var 2003-03-03 21:31:47 +00:00
Kurt Zeilenga
c981ebcb61 Don't return LDAP_OPERATIONS_ERROR for internal errors 2003-03-01 20:17:52 +00:00
Luke Howard
2c98342192 Fix typo 2003-02-28 12:55:01 +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
Luke Howard
9eb008ab16 Implemented slapi_dup_control(). 2003-02-27 13:00:25 +00:00
Pierangelo Masarati
df57840626 more hacks/comments for SLAP_NVALUES 2003-02-27 09:52:47 +00:00
Pierangelo Masarati
dd6870515b quick fix to allow -DSLAP_NVALUES with -DLDAP_SLAPI 2003-02-27 00:41:46 +00:00
Pierangelo Masarati
216bcd948e more SLAP_NVALUES cleanup 2003-02-26 22:58:46 +00:00
Kurt Zeilenga
8f82e9f772 ITS#2117: remove suffixalias support until someone fixes it 2003-02-09 07:20:03 +00:00