Luke Howard
ef81368404
Don't return frontend as SLAPI_BACKEND, return actual backend instead
...
for compat with 2.2 plugins
Add a couple of backend SLAPI APIs
2005-08-08 09:33:02 +00:00
Luke Howard
0dd503a339
Add missing break statement in switch for SLAPI_SEARCH_ATTRS handler
2005-08-08 03:39:00 +00:00
Luke Howard
bba3f62bdc
Always restore op->o_callback in SLAPI overlay - was spinning indefinitely
2005-08-07 03:13:57 +00:00
Luke Howard
6911e0022b
Plug some leaks in SLAPI modifications handling
2005-08-06 14:58:25 +00:00
Luke Howard
b620a0e23c
slapi/slapi_utils.c rev 1.172 removed the 'dup' parameter to
...
slapi_int_ldapmods2modifications(), but a 'dup' test remains in the
function body. Should always evaluate to TRUE.
2005-08-02 16:12:09 +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
b1f478f161
Add slapi_dn_isbesuffix()
...
Fix slapi_dn_beparent() logic
Fix slapi_int_ldapmods2modifications() memory management, values
always need to be duplicated because of prettying in slap_mods_check()
2005-08-01 15:24:46 +00:00
Luke Howard
9a45f87ede
Fix crasher in SLAPI_SEARCH_ATTRS handler
...
Add SLAPI_X_OPERATION_NO_SCHEMA_CHECK, SLAPI_X_MANAGEDIT
Fix modlist memory management
2005-08-01 15:24:02 +00:00
Luke Howard
65ac57bcac
Plug leaks
2005-08-01 15:23:12 +00:00
Luke Howard
e70ab8655c
Centralize SLAPI initialization into slapi_over_config()
2005-08-01 15:22:56 +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
2b5cf310e6
Fix slapi_dn_beparent() behaviour (again)
2005-07-31 14:17:36 +00:00
Luke Howard
f0101fe5a7
Fix slapi_dn_beparent() logic
2005-07-31 06:45:39 +00:00
Luke Howard
040a0956ac
Support SLAPI_X_OPERATION_DELETE_GLUE_PARENT
2005-07-31 05:42:51 +00:00
Luke Howard
1a2f3b5f2d
Restore 2.2 SLAPI behaviour: target DN is not normalized
...
(actually, in 2.2 the target DN was not even prettied, but this
will do)
2005-07-31 05:23:56 +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
Hallvard Furuseth
42a9661071
Initialize i (#changes) if no mods. Simplify (*modp) to lmod.
2005-07-30 23:46:07 +00:00
Luke Howard
f5afe4fdc7
Back out previous commit, appears not to match frontend - still
...
investigating
2005-07-30 08:30:36 +00:00
Luke Howard
98e49eca60
slapi_add_internal_pb() should not set op->ora_e, this is done by frontend
2005-07-30 08:19:26 +00:00
Luke Howard
60e17c1fff
Don't instantiate SLAPI overlay in tool mode
2005-07-29 16:45:25 +00:00
Luke Howard
0582504893
Remember to NULL terminate control arrays - not sure how I managed to
...
make this error in multiple places
2005-07-28 09:56:55 +00:00
Luke Howard
f32bfe729f
pblock_add_control() needs to call slapi_dup_control()
2005-07-28 09:48:44 +00:00
Luke Howard
f1e604a3ac
Add slapi_int_dn_pretty()/slapi_int_dn_normalize() to support plugins
...
that override distinguishedName syntax and matching rule
2005-07-28 09:02:13 +00:00
Luke Howard
e4ff86c198
Add slapi_over_call_plugins() to ensure that global plugins are
...
invoked from slap_callbacks
2005-07-28 08:52:50 +00:00
Luke Howard
53ad7ffbff
Add some debugging for failed plugin loads
2005-07-28 08:35:28 +00:00
Luke Howard
06f8a27771
Add pblock_be_call() for calling against actual backend
2005-07-27 16:29:32 +00:00
Luke Howard
2ffdbf7fef
Fix memory management regressions in pblock modifications handling
...
Fix backwards logic in slapi_attr_types_equivalent()
2005-07-27 16:11:12 +00:00
Luke Howard
38f10e1f63
PBlock SlapReply needs to be a pointer into that supplied by caller
...
for overlay ops
2005-07-27 10:09:44 +00:00
Luke Howard
fe8c0553d3
Zero new superior before calling pblock_set_dn()
2005-07-27 09:26:42 +00:00
Hallvard Furuseth
f6f367fda6
pb in slapi_op_func was freed uninitialized if preop_type==0 && !internal_op
2005-07-27 09:13:30 +00:00
Luke Howard
197bc7bba9
s/op_compare/op_delete for LDAP_REQ_DELETE
2005-07-27 08:32:31 +00:00
Luke Howard
f87a07910f
Support object extensions on internal SLAPI operations
2005-07-26 09:56:18 +00:00
Luke Howard
edc575888c
slapi_op_type_to_string/slapi_op_get_type implementation
2005-07-26 04:34:23 +00:00
Luke Howard
88737d900a
more cleanups
2005-07-25 13:17:15 +00:00
Luke Howard
48c951007a
Harmonize Slapi_PBlock field nomenclature with rest of slapd
2005-07-25 11:13:15 +00:00
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
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