diff options
author | Nalin Dahyabhai <nalin@dahyabhai.net> | 2013-09-19 11:51:41 -0400 |
---|---|---|
committer | Nalin Dahyabhai <nalin@dahyabhai.net> | 2013-09-19 11:51:41 -0400 |
commit | 0e560c77761e581c7bcfeb728f28ba1045ff1597 (patch) | |
tree | 54447145e520b483f261d22712f0f03ece6af100 /src/format.h | |
parent | abed694a1856101a80eee1575eb5c8b96e7c8fca (diff) | |
download | slapi-nis-0e560c77761e581c7bcfeb728f28ba1045ff1597.tar.gz slapi-nis-0e560c77761e581c7bcfeb728f28ba1045ff1597.tar.xz slapi-nis-0e560c77761e581c7bcfeb728f28ba1045ff1597.zip |
Add ignore-subtree and restrict-subtree settings
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).
Diffstat (limited to 'src/format.h')
-rw-r--r-- | src/format.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/format.h b/src/format.h index 0aa7d20..4cde2dc 100644 --- a/src/format.h +++ b/src/format.h @@ -59,6 +59,8 @@ char *format_get_data(struct plugin_state *state, const char *domain, const char *map, const char *fmt, const char *disallowed_chars, + const struct slapi_dn **restrict_subtrees, + const struct slapi_dn **ignore_subtrees, char ***rel_attrs, char ***ref_attrs, struct format_inref_attr ***inref_attrs, @@ -71,6 +73,8 @@ char **format_get_data_set(struct plugin_state *state, const char *domain, const char *map, const char *fmt, const char *disallowed, + const struct slapi_dn **restrict_subtrees, + const struct slapi_dn **ignore_subtrees, char ***rel_attrs, char ***ref_attrs, struct format_inref_attr ***inref_attrs, |