summaryrefslogtreecommitdiffstats
path: root/src/format.h
diff options
context:
space:
mode:
authorNalin Dahyabhai <nalin@dahyabhai.net>2013-09-19 11:51:41 -0400
committerNalin Dahyabhai <nalin@dahyabhai.net>2013-09-19 11:51:41 -0400
commit0e560c77761e581c7bcfeb728f28ba1045ff1597 (patch)
tree54447145e520b483f261d22712f0f03ece6af100 /src/format.h
parentabed694a1856101a80eee1575eb5c8b96e7c8fca (diff)
downloadslapi-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.h4
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,