| 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.
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
| |
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()
|
| |
|
|
|
|
| |
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 the nis plugin register two types of internal plugins,
since it can't just be a postop plugin any more
|
|
|
|
| |
tracking multi-hop backreferences
|
| |
|
| |
|
|
|
|
|
| |
- warn if a map is going to be empty, because it usually signals a
misconfiguration of some kind
|
|
|
|
| |
- if a search was initiated by us, don't bother (and also don't deadlock)
|
| |
|
|
|
|
|
| |
just expect the specific backend to return a filter when checking if an entry
is is a set configuration
|
| |
|
| |
|
|
|
|
| |
at a time
|
|
|
|
| |
drop accessors for reading the shared parts
|
| |
|
| |
|
| |
|
|
|
|
|
| |
rather than the map cache, in case we're in the middle of building it
- (format) referred: indicate how many bytes of data we stored
|
|
|
|
| |
- handle format_get_data taking a domain and map now
|
|
|
|
|
| |
- license text in source files
- elaborate on what's still to be done
|
|
|
|
| |
- remove some more NSPRisms in cases when XDRisms are even more portable
|
|
|
|
|
| |
- read the name of the master for a map from "cn=config"'s nsslapd-localhost
attribute, which is a virtual attribute
|
|
|
|
|
|
|
|
| |
- rename visited lists to related lists
- handle NULL related ID lists
- fix map semantics so that it won't try to take ownership of key/value data
- set up map backend data
- start doing proper adds/removes in post-op callbacks
|
|
|
|
|
| |
- switch to using the plugin's entry for locating maps in preference to the
hard-coded location
|
|
|