Commit Graph

328 Commits

Author SHA1 Message Date
Luke Howard
ba8acc0c4a However, SLAPI_PLUGIN_VERSION is treated as an opaque type 2005-07-25 10:55:37 +00:00
Luke Howard
4836f2a5c5 Heads up: fix for SLAPI compliance: when calling slapi_pblock_set() with
an integer or long integer parameter, the value argument is a pointer to
the integeral value rather than the value itself.
2005-07-25 10:53:45 +00:00
Luke Howard
93540e339a Use SLAPI_LOG_OPERATION instead of private flag 2005-07-25 10:24:02 +00:00
Luke Howard
7a69353aac Even more SLAPI cleanups 2005-07-25 10:10:58 +00:00
Luke Howard
ddbbbe2348 more SLAPI cleanups 2005-07-25 10:06:03 +00:00
Luke Howard
1254419f16 More SLAPI cleanups 2005-07-25 09:54:13 +00:00
Luke Howard
bb04c4eb9d Fix pblock_delete_param(), this function never worked 2005-07-25 05:38:31 +00:00
Luke Howard
43ec05a45a use slapi_pblock_delete_param() 2005-07-25 05:03:09 +00:00
Luke Howard
8d48005d83 Careful not to disturb result codes 2005-07-25 04:43:07 +00:00
Luke Howard
4c513d05f7 plug leak 2005-07-25 04:39:58 +00:00
Luke Howard
eec4651913 Don't discard plugin status code 2005-07-25 04:31:16 +00:00
Luke Howard
48d1046a35 Make slapi_pblock directly overlaid on operation/connection/slapreply
structures

This removes a lot of copying. It's still a bit tricky where the internal
slapd data types are different to those exposed via SLAPI (eg. modifications)
or the internal values are not allocated on the heap (eg. controls). Some
copying is necessary in these cases.
2005-07-25 04:19:33 +00:00
Luke Howard
69230b2b9f more slapi cleanup 2005-07-23 13:21:28 +00:00
Luke Howard
35942c40ae update for new backend types 2005-07-23 13:14:13 +00:00
Luke Howard
92df34238a Cleanup of SLAPI internal operation code; use frontendDB rather than
duplicating frontend code, and o->o_callback rather than overriding
entry send clalbacks.

Support for SLAPI internal operation plugins.
2005-07-23 12:03:13 +00:00
Pierangelo Masarati
02870e815b renamed slapi_int_init_connection => slapi_int_connection_init for consistency; blind fix to ITS#3879 2005-07-22 16:57:20 +00:00
Luke Howard
1c6124019f remove redundant variable 2005-07-22 09:40:22 +00:00
Luke Howard
645923b273 Remove redundant ACL check in operational attributes overlay 2005-07-22 09:39:36 +00:00
Luke Howard
db3cc3ea22 Cleanup SLAPI headers 2005-07-22 09:35:27 +00:00
Luke Howard
a8980ffe9e Do not cache group evaluation if result is SLAP_CB_CONTINUE 2005-07-22 08:27:51 +00:00
Luke Howard
3e47ba5aef Fix bug in control merging (this probably still isn't right...) 2005-07-22 08:26:20 +00:00
Luke Howard
77ced839c0 Add caching to slapi_over_acl_group(); performance is terrible otherwise 2005-07-22 08:23:33 +00:00
Luke Howard
e6ed981ab9 Don't fail if no group plugins 2005-07-22 07:55:45 +00:00
Luke Howard
cb786e3330 Remove SLAPI pblock from operation structure 2005-07-22 07:54:17 +00:00
Luke Howard
0799e6a246 more cleanups 2005-07-22 06:46:07 +00:00
Luke Howard
95b0b26ad5 cleanup SLAPI overlay 2005-07-22 06:24:39 +00:00
Luke Howard
f5e67edb79 Fix dangling mutex in SLAPI bind preop handler 2005-07-22 06:16:03 +00:00
Luke Howard
0b631c0d2f fix error in previous commit 2005-07-22 05:38:32 +00:00
Luke Howard
44bb946436 More use of SLAPI accessor macros 2005-07-22 05:33:47 +00:00
Luke Howard
de10624dc3 Use accessor macros for SLAPI parameter blocks, should make it
easier to move into overlay private data
2005-07-22 05:26:15 +00:00
Luke Howard
c477ad064f Set SLAPI_REQUESTOR_ISROOT for internal operations 2005-07-22 05:14:42 +00:00
Luke Howard
6da978d5a0 Support for global ACL overlays, corresponding SLAPI support 2005-07-22 05:01:09 +00:00
Luke Howard
27adb43cbf Move backend_operational() implementation into frontend so global
overlays can be called
2005-07-22 03:40:06 +00:00
Luke Howard
a253fbdab4 terminate function array in slapi_int_get_plugins() 2005-07-22 03:24:09 +00:00
Luke Howard
acae40faa0 SLAPI plugins are no longer global; global SLAPI plugins should be
associated with the frontend
2005-07-22 03:17:36 +00:00
Luke Howard
24f0ee316e function rename 2005-07-22 02:51:55 +00:00
Luke Howard
746bb6033a cleanup 2005-07-21 19:02:56 +00:00
Luke Howard
4f851f3ddb Fix typo 2005-07-21 18:58:49 +00:00
Luke Howard
e2853c98f8 more cleanups 2005-07-21 18:17:57 +00:00
Luke Howard
f9633806da more cleanups 2005-07-21 18:16:32 +00:00
Luke Howard
001754eb65 remove SLAPI cruft 2005-07-21 18:07:16 +00:00
Luke Howard
ee770389d1 Fix some SLAPI bugs 2005-07-21 17:34:16 +00:00
Luke Howard
b8f86c4f28 Add support for post-result SLAPI plugins
Use overlay_op_walk again - needed to match 2.2 SLAPI behaviour
2005-07-21 17:15:44 +00:00
Luke Howard
ffe20229dc Move most of SLAPI frontend into overlay 2005-07-21 16:35:20 +00:00
Luke Howard
7129f9ef91 Factor out common code in SLAPI internal ops
Allow internal operation pblock to forward connection/operation parameters
2005-07-21 08:34:25 +00:00
Luke Howard
d6d202693d Fix order of statements in SLAPI internal modrdn implementation 2005-07-20 08:19:22 +00:00
Luke Howard
f12103f36b Fix regression in SLAPI ACL plugins owing to accidental commit
Support ACL_WADD/ACL_WDEL in SLAPI ACL evaluation/plugins
2005-07-20 08:00:24 +00:00
Luke Howard
25ae11ccd9 Unset intop callback parameters before they go out of scope 2005-07-20 04:24:02 +00:00
Luke Howard
c8ef1e1861 Always set sml_desc when converting from LDAPMods 2005-07-19 09:37:36 +00:00
Luke Howard
4832af0a50 Fix callback API for cast safety
Copy controls returned by backend to pblock before they go out of scope
2005-07-19 08:39:56 +00:00
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