Enable transactions by default, make password and modrdn TXN-aware

The password and modrdn plugins needed to be made transaction aware
for the pre and post operations.

Remove the reverse member hoop jumping. Just fetch the entry once
and all the memberof data is there (plus objectclass).

Fix some unit tests that are failing because we actually get the data
now due to transactions.

Add small bit of code in user plugin to retrieve the user again
ala wait_for_attr but in the case of transactions we need do it only
once.

Deprecate wait_for_attr code.

Add a memberof fixup task for roles.

https://fedorahosted.org/freeipa/ticket/1263
https://fedorahosted.org/freeipa/ticket/1891
https://fedorahosted.org/freeipa/ticket/2056
https://fedorahosted.org/freeipa/ticket/3043
https://fedorahosted.org/freeipa/ticket/3191
https://fedorahosted.org/freeipa/ticket/3046
This commit is contained in:
Rob Crittenden
2012-11-21 14:55:12 +01:00
committed by Martin Kosek
parent 2093007d4d
commit f1f1b4e7f2
27 changed files with 186 additions and 116 deletions
-37
View File
@@ -1,37 +0,0 @@
# Disable transactions in 389-ds-base
dn: cn=7-bit check,cn=plugins,cn=config
only: nsslapd-pluginType: preoperation
dn: cn=attribute uniqueness,cn=plugins,cn=config
only: nsslapd-pluginType: preoperation
dn: cn=Auto Membership Plugin,cn=plugins,cn=config
only: nsslapd-pluginType: preoperation
dn: cn=Linked Attributes,cn=plugins,cn=config
only: nsslapd-pluginType: preoperation
dn: cn=Managed Entries,cn=plugins,cn=config
only: nsslapd-pluginType: preoperation
dn: cn=MemberOf Plugin,cn=plugins,cn=config
only: nsslapd-pluginType: postoperation
dn: cn=Multimaster Replication Plugin,cn=plugins,cn=config
only: nsslapd-pluginbetxn: off
dn: cn=PAM Pass Through Auth,cn=plugins,cn=config
only: nsslapd-pluginType: preoperation
dn: cn=referential integrity postoperation,cn=plugins,cn=config
only: nsslapd-pluginType: postoperation
dn: cn=Roles Plugin,cn=plugins,cn=config
only: nsslapd-pluginbetxn: off
dn: cn=State Change Plugin,cn=plugins,cn=config
only: nsslapd-pluginType: postoperation
dn: cn=USN,cn=plugins,cn=config
only: nsslapd-pluginbetxn: off
+49
View File
@@ -0,0 +1,49 @@
# Enable transactions in 389-ds-base
dn: cn=7-bit check,cn=plugins,cn=config
only: nsslapd-pluginType: betxnpreoperation
dn: cn=attribute uniqueness,cn=plugins,cn=config
only: nsslapd-pluginType: betxnpreoperation
dn: cn=Auto Membership Plugin,cn=plugins,cn=config
only: nsslapd-pluginType: betxnpreoperation
dn: cn=Linked Attributes,cn=plugins,cn=config
only: nsslapd-pluginType: betxnpreoperation
dn: cn=Managed Entries,cn=plugins,cn=config
only: nsslapd-pluginType: betxnpreoperation
dn: cn=MemberOf Plugin,cn=plugins,cn=config
only: nsslapd-pluginType: betxnpostoperation
dn: cn=Multimaster Replication Plugin,cn=plugins,cn=config
only: nsslapd-pluginbetxn: on
dn: cn=PAM Pass Through Auth,cn=plugins,cn=config
only: nsslapd-pluginType: betxnpreoperation
dn: cn=referential integrity postoperation,cn=plugins,cn=config
only: nsslapd-pluginType: betxnpostoperation
dn: cn=Roles Plugin,cn=plugins,cn=config
only: nsslapd-pluginbetxn: on
dn: cn=State Change Plugin,cn=plugins,cn=config
only: nsslapd-pluginType: betxnpostoperation
dn: cn=USN,cn=plugins,cn=config
only: nsslapd-pluginbetxn: on
dn: cn=IPA MODRDN,cn=plugins,cn=config
only: nsslapd-plugintype: betxnpostoperation
dn: cn=ipa_pwd_extop,cn=plugins,cn=config
only: nsslapd-pluginbetxn: on
dn: cn=Schema Compatibility, cn=plugins, cn=config
onlyifexist: nsslapd-pluginbetxn: on
dn: cn=NIS Server, cn=plugins, cn=config
onlyifexist: nsslapd-pluginbetxn: on
+8
View File
@@ -8,3 +8,11 @@ add: cn: IPA PBAC memberOf $TIME
add: basedn: 'cn=privileges,cn=pbac,$SUFFIX'
add: filter: (objectclass=*)
add: ttl: 10
dn: cn=Update Role memberOf $TIME, cn=memberof task, cn=tasks, cn=config
add: objectClass: top
add: objectClass: extensibleObject
add: cn: Update Role memberOf $TIME
add: basedn: 'cn=roles,cn=accounts,$SUFFIX'
add: filter: (objectclass=*)
add: ttl: 10
+1 -1
View File
@@ -7,7 +7,7 @@ app_DATA = \
10-RFC2307bis.update \
10-RFC4876.update \
10-config.update \
10-disable-betxn.update \
10-enable-betxn.update \
10-selinuxusermap.update \
10-sudo.update \
10-ssh.update \