Hallvard Furuseth
93fbb87545
Give OperationBuffer normal struct members instead of using
...
LBER_ALIGNED_BUFFER(OPERATION_BUFFER_SIZE), as discussed in ITS#4078.
Add a corresponding SyncOperationBuffer in overlays/syncprov.c.
2007-05-18 23:54:26 +00:00
Kurt Zeilenga
da6d9eb046
happy new year
2007-01-02 20:00:42 +00:00
Howard Chu
45fbb173b7
Pass op to slap_mods_check()
2006-12-24 06:55:02 +00:00
Kurt Zeilenga
acbb5cf689
Happy new year!
2006-01-03 23:11:52 +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
Luke Howard
d4c9c3b60e
Use local SSF for internal SLAPI operations (probably need to do same
...
in connection_fake_init()) too)
2005-12-24 13:16:48 +00:00
Howard Chu
7dcb68f6fa
Move CSN invocations to backends
2005-10-13 11:58:44 +00:00
Luke Howard
65ac57bcac
Plug leaks
2005-08-01 15:23:12 +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
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
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
f87a07910f
Support object extensions on internal SLAPI operations
2005-07-26 09:56:18 +00:00
Luke Howard
48c951007a
Harmonize Slapi_PBlock field nomenclature with rest of slapd
2005-07-25 11:13:15 +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
ddbbbe2348
more SLAPI cleanups
2005-07-25 10:06:03 +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
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
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
cb786e3330
Remove SLAPI pblock from operation structure
2005-07-22 07:54:17 +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
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
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
25ae11ccd9
Unset intop callback parameters before they go out of scope
2005-07-20 04:24:02 +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
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
Hallvard Furuseth
d449c9d08b
Silence "unused variable" warnings
2005-07-14 19:18:55 +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
Luke Howard
82d3c103e9
Support LDAP_MOD_INCREMENT in slapi_modify_internal()
2005-01-27 06:20:31 +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
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
Jong Hyuk Choi
98dc97bcb9
memory leak fixes
2004-09-11 02:02:09 +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