| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add {nis,schema-compat}-ignore-subtree (subtrees under which we ignore
contents and updates )and {nis,schema-compat}-restrict-subtree (subtrees
out of which we ignore contents and updates, if set) settings, and
default the former to "cn=tasks,cn=config".
This should avoid cases where we're looking through the ldbm backend for
entries which have a dangling reference to a newly-added task (which,
because it's in the DSE, means we acquire an ldbm lock after acquiring
our internal lock) while also updating a compat entry after its source
entry is modified (for example, by the memberOf plugin, which results in
us attempting to acquire our lock while the ldbm lock is already held).
|
|
|
|
|
|
|
|
|
|
| |
Add a schema-compat-relevant-subtree configuration option, listing the
only parts of the DIT that we should ever look at, either as source
entries or as other entries which contain data which might be pulled in
as part of computing the contents of compat entries.
This is more or less the whitelist to schema-compat-ignore-subtree's
blacklist.
|
|
|
|
|
|
|
| |
Add a schema-compat-ignore-subtree configuration option, listing parts
of the DIT that we should never look at, neither as source entries nor
as random other entries which contain data which might be pulled in as
part of computing the contents of compat entries.
|
|
|
|
|
|
| |
When we fail to write-lock our cache, cancel our update attempt. We'll
fall out of sync with the real data, but for now at least, that's better
than completely hosing the cache by updating it without the lock.
|
| |
|
|
|
|
|
|
| |
Check for SLAPI_PLUGIN_OPRETURN values before we do anything, in case
there's an error from the backend operation, where the server calls the
postop plugins anyway.
|
|
|
|
|
|
| |
When checking if we can skip processing for a given change, pay
attention to whether or not the changes cause the entry to need to be
added or removed from a map (#912673).
|
| |
|
|
|
|
|
|
|
|
|
| |
* Check for BETXN support at build-time, provide options for disabling
or requiring that it be available for build to succeed.
* Track whether or not BETXN support is enabled in the plugin-local
state.
* Skip processing in post/internalpost callbacks if BETXN support is enabled.
* Skip work in betxnpost callbacks if BETXN support is disabled.
|
|
|
|
|
|
|
|
|
|
| |
When NIS Plugin and Schema Compatibility Plugin config entries include
nsslapd-pluginbetxn: on
(the value could be yes, true or 1, too),
the plugins' update callbacks (add, delete, modify, and modrdn) are
called at the betxn pre/postop timing. By default, the value of
nsslapd-pluginbetxn is off.
(See also https://fedorahosted.org/389/ticket/351)
|
|
|
|
|
|
|
| |
Transaction support the way we added it is an all-or-nothing proposition
for a server installation, which turned out to be problematic, so 389 is
going to pursue another strategy for that. The new way requires that we
not register as a betxn plugin, ever.
|
|
|
|
|
| |
We assumed that slapi_mods_add_smod() took ownership of the smod that we
pass in, when it really just keeps the contents.
|
| |
|
| |
|
| |
|
|
|
|
| |
official mods list already narrows down the work needed to get the results we're interested in seeing
|
|
|
|
| |
this was causing tests to fail when even the modification time wasn't changing, and we later mistook the NULL array of mods to mean that we hadn't worked them out, which caused us to do the work unnecessarily
|
|
|
|
|
| |
into doing completely unnecessary work for other plugins that modify
an entry to give it the same contents that it already has
|
|
|
|
| |
before and won't be part of this map
|
| |
|
|
|
|
| |
transaction ID, just return, and have faith that we'll be called again in the transaction post
|
|
|
|
| |
answering
|
|
|
|
|
|
| |
already have, so that we can pass the transaction ID around; this
includes additional parameters for a number of functions and a new
callback data type for backend_set_config_entry_add_cb()
|
|
|
|
|
|
| |
allocates internal state each time but doesn't clean up any that's
aready there if you reuse the block
- correctly free values we use when constructing compat entries
|
|
|
|
| |
slapi_search_internal_callback_pb()
|
|
|
|
| |
failure
|
| |
|
| |
|
|
|
|
|
|
| |
misleading debug message
- set IPV6_V6ONLY to avoid logging an expected EADDRINUSE error
|
|
|
|
| |
passing the TXN ID around, which means we deadlock if we actually do it
|
|
|
|
| |
data, and when we're later called for a modify request which doesn't modify any of those attributes, skip recalculating the entry contents (should make a dent in #771493).
|
| |
|
|
|
|
|
| |
- make SDN lists/queues also have a sorted companion which we can use
for presence testing
|
| |
|
|
|
|
| |
#10107)
|
| |
|
|
|
|
| |
entries as direct subordinates of the group entry
|
|
|
|
|
| |
- where we were applying a filter test after retrieving an entry, just
let the retrieval function do it
|
|
|
|
| |
optionally handling filters at each step of the way
|
| |
|
| |
|
|
|
|
|
|
| |
say we should do
- use whether or not the plugin_base is initialized as in indicator of
whether the plugin's been started or not
|
| |
|
|
|
|
| |
same map deserve to be updated, too
|
| |
|
|
|
|
| |
attrribute used in %referred() needs other things to be updated
|
|
|
|
| |
registration to it, let callback registration return error codes
|
| |
|