summaryrefslogtreecommitdiffstats
path: root/ldap/servers/slapd
diff options
context:
space:
mode:
authorRich Megginson <rmeggins@redhat.com>2010-09-17 08:18:29 -0600
committerRich Megginson <rmeggins@redhat.com>2010-10-01 17:02:53 -0600
commit32e2b04dd1d98d96d90fdfaa3841524b3003dcdb (patch)
tree5cf8dfd0a10441354b4ba9d3c7b514270839ef66 /ldap/servers/slapd
parent4f410d762b008da8e2e43e29100c2c04ff332fbb (diff)
downloadds-32e2b04dd1d98d96d90fdfaa3841524b3003dcdb.tar.gz
ds-32e2b04dd1d98d96d90fdfaa3841524b3003dcdb.tar.xz
ds-32e2b04dd1d98d96d90fdfaa3841524b3003dcdb.zip
add the account policy plugin and related server code, schema, and config
Add the account policy plugin and related server code, schema, and config A new switch to configure has been added --enable-acctpolicy - this is enabled by default - so the plugin and the schema will be built and installed by default the plugin will be in dse.ldif, but will be disabled by default The original contribution had some minor problems with the schema and config entries - these have been cleaned up The original contribution had a few memory leaks - these have been cleaned up
Diffstat (limited to 'ldap/servers/slapd')
-rw-r--r--ldap/servers/slapd/mapping_tree.c3
-rw-r--r--ldap/servers/slapd/slapi-plugin.h1
2 files changed, 3 insertions, 1 deletions
diff --git a/ldap/servers/slapd/mapping_tree.c b/ldap/servers/slapd/mapping_tree.c
index 813c6049..0f635609 100644
--- a/ldap/servers/slapd/mapping_tree.c
+++ b/ldap/servers/slapd/mapping_tree.c
@@ -2509,7 +2509,8 @@ static int mtn_get_be(mapping_tree_node *target_node, Slapi_PBlock *pb,
((cid != NULL) && (pw_get_componentID() != NULL) && (pw_get_componentID() == cid)) ||
operation_is_flag_set(op, OP_FLAG_LEGACY_REPLICATION_DN) || /* 4.0 lgacy update */
operation_is_flag_set(op, OP_FLAG_REPLICATED) || /* 5.0 replication update */
- operation_is_flag_set(op, OP_FLAG_TOMBSTONE_ENTRY); /* 5.1 fix to enable tombstone delete on a R-O consumer */
+ operation_is_flag_set(op, OP_FLAG_TOMBSTONE_ENTRY) || /* 5.1 fix to enable tombstone delete on a R-O consumer */
+ operation_is_flag_set(op, SLAPI_OP_FLAG_BYPASS_REFERRALS); /* 6.1 fix to allow internal updates from plugins on R-O consumer */
if ((target_node->mtn_state == MTN_BACKEND) ||
(target_node->mtn_state == MTN_CONTAINER ) ||
((target_node->mtn_state == MTN_REFERRAL_ON_UPDATE) &&
diff --git a/ldap/servers/slapd/slapi-plugin.h b/ldap/servers/slapd/slapi-plugin.h
index 893359c9..8ef2ef8d 100644
--- a/ldap/servers/slapd/slapi-plugin.h
+++ b/ldap/servers/slapd/slapi-plugin.h
@@ -173,6 +173,7 @@ NSPR_API(PRUint32) PR_fprintf(struct PRFileDesc* fd, const char *fmt, ...)
#define SLAPI_OP_FLAG_INTERNAL 0x00020 /* An operation generated by the core server or a plugin. */
#define SLAPI_OP_FLAG_NEVER_CHAIN 0x00800 /* Do not chain the operation */
#define SLAPI_OP_FLAG_NO_ACCESS_CHECK 0x10000 /* Do not check for access control - bypass them */
+#define SLAPI_OP_FLAG_BYPASS_REFERRALS 0x40000 /* Useful for performing internal operations on read-only replica */
#define SLAPI_OC_FLAG_REQUIRED 0x0001
#define SLAPI_OC_FLAG_ALLOWED 0x0002