|
|
483b06 |
From f0bd45fb0c1071006887dc10abac233d2756d951 Mon Sep 17 00:00:00 2001
|
|
|
483b06 |
From: Stanislav Laznicka <slaznick@redhat.com>
|
|
|
483b06 |
Date: Thu, 13 Apr 2017 09:15:47 +0200
|
|
|
483b06 |
Subject: [PATCH] Move the compat plugin setup at the end of install
|
|
|
483b06 |
|
|
|
483b06 |
The compat plugin was causing deadlocks with the topology plugin. Move
|
|
|
483b06 |
its setup at the end of the installation and remove the
|
|
|
483b06 |
cn=topology,cn=ipa,cn=etc subtree from its scope.
|
|
|
483b06 |
|
|
|
483b06 |
https://pagure.io/freeipa/issue/6821
|
|
|
483b06 |
|
|
|
483b06 |
Reviewed-By: Martin Basti <mbasti@redhat.com>
|
|
|
483b06 |
---
|
|
|
483b06 |
install/share/Makefile.am | 1 -
|
|
|
483b06 |
install/updates/10-schema_compat.update | 93 ---------------------
|
|
|
483b06 |
.../80-schema_compat.update} | 96 +++++++++++++++++++++-
|
|
|
483b06 |
install/updates/Makefile.am | 2 +-
|
|
|
483b06 |
ipaplatform/base/paths.py | 3 +-
|
|
|
483b06 |
ipaserver/install/dsinstance.py | 9 --
|
|
|
483b06 |
6 files changed, 98 insertions(+), 106 deletions(-)
|
|
|
483b06 |
delete mode 100644 install/updates/10-schema_compat.update
|
|
|
483b06 |
rename install/{share/schema_compat.uldif => updates/80-schema_compat.update} (55%)
|
|
|
483b06 |
|
|
|
483b06 |
diff --git a/install/share/Makefile.am b/install/share/Makefile.am
|
|
|
483b06 |
index 9e539a3f30c2979de26575ba66bbb23fecd03a88..b27861da37153d77d693ce6e46340525bbd50173 100644
|
|
|
483b06 |
--- a/install/share/Makefile.am
|
|
|
483b06 |
+++ b/install/share/Makefile.am
|
|
|
483b06 |
@@ -65,7 +65,6 @@ dist_app_DATA = \
|
|
|
483b06 |
opendnssec_conf.template \
|
|
|
483b06 |
opendnssec_kasp.template \
|
|
|
483b06 |
unique-attributes.ldif \
|
|
|
483b06 |
- schema_compat.uldif \
|
|
|
483b06 |
ldapi.ldif \
|
|
|
483b06 |
wsgi.py \
|
|
|
483b06 |
repoint-managed-entries.ldif \
|
|
|
483b06 |
diff --git a/install/updates/10-schema_compat.update b/install/updates/10-schema_compat.update
|
|
|
483b06 |
deleted file mode 100644
|
|
|
483b06 |
index fbe8703407aacd75baf160630c20835a1b4ddc65..0000000000000000000000000000000000000000
|
|
|
483b06 |
--- a/install/updates/10-schema_compat.update
|
|
|
483b06 |
+++ /dev/null
|
|
|
483b06 |
@@ -1,93 +0,0 @@
|
|
|
483b06 |
-dn: cn=sudoers,cn=Schema Compatibility,cn=plugins,cn=config
|
|
|
483b06 |
-only:schema-compat-entry-rdn:%ifeq("ipaEnabledFlag", "FALSE", "DISABLED", "cn=%{cn}")
|
|
|
483b06 |
-add:schema-compat-entry-attribute: sudoHost=%ifeq("hostCategory","all","ALL","%{hostMask}")
|
|
|
483b06 |
-add:schema-compat-entry-attribute: sudoRunAsUser=%%%{ipaSudoRunAsExtUserGroup}
|
|
|
483b06 |
-# Fix for #4324 (regression of #1309)
|
|
|
483b06 |
-remove:schema-compat-entry-attribute:sudoRunAsGroup=%deref("ipaSudoRunAs","cn")
|
|
|
483b06 |
-remove:schema-compat-entry-attribute:sudoRunAsUser=%{ipaSudoRunAsExtUser}
|
|
|
483b06 |
-remove:schema-compat-entry-attribute:sudoRunAsUser=%%%{ipaSudoRunAsExtUserGroup}
|
|
|
483b06 |
-remove:schema-compat-entry-attribute:sudoRunAsUser=%deref("ipaSudoRunAs","uid")
|
|
|
483b06 |
-remove:schema-compat-entry-attribute:sudoRunAsGroup=%{ipaSudoRunAsExtGroup}
|
|
|
483b06 |
-remove:schema-compat-entry-attribute:sudoRunAsGroup=%deref_f("ipaSudoRunAsGroup","(objectclass=posixGroup)","cn")
|
|
|
483b06 |
-
|
|
|
483b06 |
-# We need to add the value in a separate transaction
|
|
|
483b06 |
-dn: cn=sudoers,cn=Schema Compatibility,cn=plugins,cn=config
|
|
|
483b06 |
-add: schema-compat-entry-attribute: sudoRunAsGroup=%deref_f("ipaSudoRunAsGroup","(objectclass=posixGroup)","cn")
|
|
|
483b06 |
-add: schema-compat-entry-attribute: sudoRunAsUser=%ifeq("ipaSudoRunAsUserCategory","all","ALL","%{ipaSudoRunAsExtUser}")
|
|
|
483b06 |
-add: schema-compat-entry-attribute: sudoRunAsUser=%ifeq("ipaSudoRunAsUserCategory","all","ALL","%%%{ipaSudoRunAsExtUserGroup}")
|
|
|
483b06 |
-add: schema-compat-entry-attribute: sudoRunAsUser=%ifeq("ipaSudoRunAsUserCategory","all","ALL","%deref_f(\"ipaSudoRunAs\",\"(objectclass=posixAccount)\",\"uid\")")
|
|
|
483b06 |
-add: schema-compat-entry-attribute: sudoRunAsGroup=%ifeq("ipaSudoRunAsGroupCategory","all","ALL","%{ipaSudoRunAsExtGroup}")
|
|
|
483b06 |
-add: schema-compat-entry-attribute: sudoRunAsGroup=%ifeq("ipaSudoRunAsGroupCategory","all","ALL","%deref_f(\"ipaSudoRunAsGroup\",\"(objectclass=posixGroup)\",\"cn\")")
|
|
|
483b06 |
-remove: schema-compat-ignore-subtree: cn=changelog
|
|
|
483b06 |
-remove: schema-compat-ignore-subtree: o=ipaca
|
|
|
483b06 |
-add: schema-compat-restrict-subtree: $SUFFIX
|
|
|
483b06 |
-add: schema-compat-restrict-subtree: cn=Schema Compatibility,cn=plugins,cn=config
|
|
|
483b06 |
-add: schema-compat-ignore-subtree: cn=dna,cn=ipa,cn=etc,$SUFFIX
|
|
|
483b06 |
-
|
|
|
483b06 |
-# Change padding for host and userCategory so the pad returns the same value
|
|
|
483b06 |
-# as the original, '' or -.
|
|
|
483b06 |
-dn: cn=ng,cn=Schema Compatibility,cn=plugins,cn=config
|
|
|
483b06 |
-replace: schema-compat-entry-attribute:nisNetgroupTriple=(%link("%ifeq(\"hostCategory\",\"all\",\"\",\"%collect(\\\"%{externalHost}\\\",\\\"%deref(\\\\\\\"memberHost\\\\\\\",\\\\\\\"fqdn\\\\\\\")\\\",\\\"%deref_r(\\\\\\\"member\\\\\\\",\\\\\\\"fqdn\\\\\\\")\\\",\\\"%deref_r(\\\\\\\"memberHost\\\\\\\",\\\\\\\"member\\\\\\\",\\\\\\\"fqdn\\\\\\\")\\\")\")","-",",","%ifeq(\"userCategory\",\"all\",\"\",\"%collect(\\\"%deref(\\\\\\\"memberUser\\\\\\\",\\\\\\\"uid\\\\\\\")\\\",\\\"%deref_r(\\\\\\\"member\\\\\\\",\\\\\\\"uid\\\\\\\")\\\",\\\"%deref_r(\\\\\\\"memberUser\\\\\\\",\\\\\\\"member\\\\\\\",\\\\\\\"uid\\\\\\\")\\\")\")","-"),%{nisDomainName:-})::nisNetgroupTriple=(%link("%ifeq(\"hostCategory\",\"all\",\"\",\"%collect(\\\"%{externalHost}\\\",\\\"%deref(\\\\\\\"memberHost\\\\\\\",\\\\\\\"fqdn\\\\\\\")\\\",\\\"%deref_r(\\\\\\\"member\\\\\\\",\\\\\\\"fqdn\\\\\\\")\\\",\\\"%deref_r(\\\\\\\"memberHost\\\\\\\",\\\\\\\"member\\\\\\\",\\\\\\\"fqdn\\\\\\\")\\\")\")","%ifeq(\"hostCategory\",\"all\",\"\",\"-\")",",","%ifeq(\"userCategory\",\"all\",\"\",\"%collect(\\\"%deref(\\\\\\\"memberUser\\\\\\\",\\\\\\\"uid\\\\\\\")\\\",\\\"%deref_r(\\\\\\\"member\\\\\\\",\\\\\\\"uid\\\\\\\")\\\",\\\"%deref_r(\\\\\\\"memberUser\\\\\\\",\\\\\\\"member\\\\\\\",\\\\\\\"uid\\\\\\\")\\\")\")","%ifeq(\"userCategory\",\"all\",\"\",\"-\")"),%{nisDomainName:-})
|
|
|
483b06 |
-remove: schema-compat-ignore-subtree: cn=changelog
|
|
|
483b06 |
-remove: schema-compat-ignore-subtree: o=ipaca
|
|
|
483b06 |
-add: schema-compat-restrict-subtree: $SUFFIX
|
|
|
483b06 |
-add: schema-compat-restrict-subtree: cn=Schema Compatibility,cn=plugins,cn=config
|
|
|
483b06 |
-add: schema-compat-ignore-subtree: cn=dna,cn=ipa,cn=etc,$SUFFIX
|
|
|
483b06 |
-
|
|
|
483b06 |
-dn: cn=computers, cn=Schema Compatibility, cn=plugins, cn=config
|
|
|
483b06 |
-default:objectClass: top
|
|
|
483b06 |
-default:objectClass: extensibleObject
|
|
|
483b06 |
-default:cn: computers
|
|
|
483b06 |
-default:schema-compat-container-group: cn=compat, $SUFFIX
|
|
|
483b06 |
-default:schema-compat-container-rdn: cn=computers
|
|
|
483b06 |
-default:schema-compat-search-base: cn=computers, cn=accounts, $SUFFIX
|
|
|
483b06 |
-default:schema-compat-search-filter: (&(macAddress=*)(fqdn=*)(objectClass=ipaHost))
|
|
|
483b06 |
-default:schema-compat-entry-rdn: cn=%first("%{fqdn}")
|
|
|
483b06 |
-default:schema-compat-entry-attribute: objectclass=device
|
|
|
483b06 |
-default:schema-compat-entry-attribute: objectclass=ieee802Device
|
|
|
483b06 |
-default:schema-compat-entry-attribute: cn=%{fqdn}
|
|
|
483b06 |
-default:schema-compat-entry-attribute: macAddress=%{macAddress}
|
|
|
483b06 |
-remove: schema-compat-ignore-subtree: cn=changelog
|
|
|
483b06 |
-remove: schema-compat-ignore-subtree: o=ipaca
|
|
|
483b06 |
-add: schema-compat-restrict-subtree: $SUFFIX
|
|
|
483b06 |
-add: schema-compat-restrict-subtree: cn=Schema Compatibility,cn=plugins,cn=config
|
|
|
483b06 |
-add: schema-compat-ignore-subtree: cn=dna,cn=ipa,cn=etc,$SUFFIX
|
|
|
483b06 |
-
|
|
|
483b06 |
-dn: cn=sudoers,cn=Schema Compatibility,cn=plugins,cn=config
|
|
|
483b06 |
-add:schema-compat-entry-attribute: sudoOrder=%{sudoOrder}
|
|
|
483b06 |
-
|
|
|
483b06 |
-dn: cn=users,cn=Schema Compatibility,cn=plugins,cn=config
|
|
|
483b06 |
-remove: schema-compat-ignore-subtree: cn=changelog
|
|
|
483b06 |
-remove: schema-compat-ignore-subtree: o=ipaca
|
|
|
483b06 |
-add: schema-compat-restrict-subtree: $SUFFIX
|
|
|
483b06 |
-add: schema-compat-restrict-subtree: cn=Schema Compatibility,cn=plugins,cn=config
|
|
|
483b06 |
-add: schema-compat-ignore-subtree: cn=dna,cn=ipa,cn=etc,$SUFFIX
|
|
|
483b06 |
-
|
|
|
483b06 |
-dn: cn=groups,cn=Schema Compatibility,cn=plugins,cn=config
|
|
|
483b06 |
-remove: schema-compat-ignore-subtree: cn=changelog
|
|
|
483b06 |
-remove: schema-compat-ignore-subtree: o=ipaca
|
|
|
483b06 |
-add: schema-compat-restrict-subtree: $SUFFIX
|
|
|
483b06 |
-add: schema-compat-restrict-subtree: cn=Schema Compatibility,cn=plugins,cn=config
|
|
|
483b06 |
-add: schema-compat-ignore-subtree: cn=dna,cn=ipa,cn=etc,$SUFFIX
|
|
|
483b06 |
-
|
|
|
483b06 |
-dn: cn=Schema Compatibility,cn=plugins,cn=config
|
|
|
483b06 |
-# We need to run schema-compat pre-bind callback before
|
|
|
483b06 |
-# other IPA pre-bind callbacks to make sure bind DN is
|
|
|
483b06 |
-# rewritten to the original entry if needed
|
|
|
483b06 |
-add:nsslapd-pluginprecedence: 40
|
|
|
483b06 |
-
|
|
|
483b06 |
-dn: cn=users,cn=Schema Compatibility,cn=plugins,cn=config
|
|
|
483b06 |
-add:schema-compat-entry-attribute: %ifeq("ipauniqueid","%{ipauniqueid}","objectclass=ipaOverrideTarget","")
|
|
|
483b06 |
-add:schema-compat-entry-attribute: %ifeq("ipauniqueid","%{ipauniqueid}","ipaanchoruuid=:IPA:$DOMAIN:%{ipauniqueid}","")
|
|
|
483b06 |
-add:schema-compat-entry-attribute: ipaanchoruuid=%{ipaanchoruuid}
|
|
|
483b06 |
-add:schema-compat-entry-attribute: %ifeq("ipaanchoruuid","%{ipaanchoruuid}","objectclass=ipaOverrideTarget","")
|
|
|
483b06 |
-
|
|
|
483b06 |
-dn: cn=groups,cn=Schema Compatibility,cn=plugins,cn=config
|
|
|
483b06 |
-add:schema-compat-entry-attribute: %ifeq("ipauniqueid","%{ipauniqueid}","objectclass=ipaOverrideTarget","")
|
|
|
483b06 |
-add:schema-compat-entry-attribute: %ifeq("ipauniqueid","%{ipauniqueid}","ipaanchoruuid=:IPA:$DOMAIN:%{ipauniqueid}","")
|
|
|
483b06 |
-add:schema-compat-entry-attribute: ipaanchoruuid=%{ipaanchoruuid}
|
|
|
483b06 |
-add:schema-compat-entry-attribute: %ifeq("ipaanchoruuid","%{ipaanchoruuid}","objectclass=ipaOverrideTarget","")
|
|
|
483b06 |
-
|
|
|
483b06 |
-dn: cn=users,cn=Schema Compatibility,cn=plugins,cn=config
|
|
|
483b06 |
-add:schema-compat-entry-attribute: uid=%{uid}
|
|
|
483b06 |
-replace:schema-compat-entry-rdn: uid=%{uid}::uid=%first("%{uid}")
|
|
|
483b06 |
diff --git a/install/share/schema_compat.uldif b/install/updates/80-schema_compat.update
|
|
|
483b06 |
similarity index 55%
|
|
|
483b06 |
rename from install/share/schema_compat.uldif
|
|
|
483b06 |
rename to install/updates/80-schema_compat.update
|
|
|
483b06 |
index 66f8ea1c31bc534b3ee134c6df6132f4318c81fc..06cbcab8ad809d95a907c161044ff91df827ebf3 100644
|
|
|
483b06 |
--- a/install/share/schema_compat.uldif
|
|
|
483b06 |
+++ b/install/updates/80-schema_compat.update
|
|
|
483b06 |
@@ -1,5 +1,6 @@
|
|
|
483b06 |
#
|
|
|
483b06 |
-# Enable the Schema Compatibility plugin provided by slapi-nis.
|
|
|
483b06 |
+# Setup the Schema Compatibility plugin provided by slapi-nis.
|
|
|
483b06 |
+# This should be done after all other updates have been applied
|
|
|
483b06 |
#
|
|
|
483b06 |
# http://slapi-nis.fedorahosted.org/
|
|
|
483b06 |
#
|
|
|
483b06 |
@@ -126,3 +127,96 @@ default:schema-compat-entry-attribute: macAddress=%{macAddress}
|
|
|
483b06 |
dn: oid=2.16.840.1.113730.3.4.9,cn=features,cn=config
|
|
|
483b06 |
only:aci: (targetattr !="aci")(version 3.0; acl "VLV Request Control"; allow (read, search, compare, proxy) userdn = "ldap:///anyone"; )
|
|
|
483b06 |
|
|
|
483b06 |
+dn: cn=sudoers,cn=Schema Compatibility,cn=plugins,cn=config
|
|
|
483b06 |
+only:schema-compat-entry-rdn:%ifeq("ipaEnabledFlag", "FALSE", "DISABLED", "cn=%{cn}")
|
|
|
483b06 |
+add:schema-compat-entry-attribute: sudoHost=%ifeq("hostCategory","all","ALL","%{hostMask}")
|
|
|
483b06 |
+add:schema-compat-entry-attribute: sudoRunAsUser=%%%{ipaSudoRunAsExtUserGroup}
|
|
|
483b06 |
+# Fix for #4324 (regression of #1309)
|
|
|
483b06 |
+remove:schema-compat-entry-attribute:sudoRunAsGroup=%deref("ipaSudoRunAs","cn")
|
|
|
483b06 |
+remove:schema-compat-entry-attribute:sudoRunAsUser=%{ipaSudoRunAsExtUser}
|
|
|
483b06 |
+remove:schema-compat-entry-attribute:sudoRunAsUser=%%%{ipaSudoRunAsExtUserGroup}
|
|
|
483b06 |
+remove:schema-compat-entry-attribute:sudoRunAsUser=%deref("ipaSudoRunAs","uid")
|
|
|
483b06 |
+remove:schema-compat-entry-attribute:sudoRunAsGroup=%{ipaSudoRunAsExtGroup}
|
|
|
483b06 |
+remove:schema-compat-entry-attribute:sudoRunAsGroup=%deref_f("ipaSudoRunAsGroup","(objectclass=posixGroup)","cn")
|
|
|
483b06 |
+
|
|
|
483b06 |
+# We need to add the value in a separate transaction
|
|
|
483b06 |
+dn: cn=sudoers,cn=Schema Compatibility,cn=plugins,cn=config
|
|
|
483b06 |
+add: schema-compat-entry-attribute: sudoRunAsGroup=%deref_f("ipaSudoRunAsGroup","(objectclass=posixGroup)","cn")
|
|
|
483b06 |
+add: schema-compat-entry-attribute: sudoRunAsUser=%ifeq("ipaSudoRunAsUserCategory","all","ALL","%{ipaSudoRunAsExtUser}")
|
|
|
483b06 |
+add: schema-compat-entry-attribute: sudoRunAsUser=%ifeq("ipaSudoRunAsUserCategory","all","ALL","%%%{ipaSudoRunAsExtUserGroup}")
|
|
|
483b06 |
+add: schema-compat-entry-attribute: sudoRunAsUser=%ifeq("ipaSudoRunAsUserCategory","all","ALL","%deref_f(\"ipaSudoRunAs\",\"(objectclass=posixAccount)\",\"uid\")")
|
|
|
483b06 |
+add: schema-compat-entry-attribute: sudoRunAsGroup=%ifeq("ipaSudoRunAsGroupCategory","all","ALL","%{ipaSudoRunAsExtGroup}")
|
|
|
483b06 |
+add: schema-compat-entry-attribute: sudoRunAsGroup=%ifeq("ipaSudoRunAsGroupCategory","all","ALL","%deref_f(\"ipaSudoRunAsGroup\",\"(objectclass=posixGroup)\",\"cn\")")
|
|
|
483b06 |
+remove: schema-compat-ignore-subtree: cn=changelog
|
|
|
483b06 |
+remove: schema-compat-ignore-subtree: o=ipaca
|
|
|
483b06 |
+add: schema-compat-restrict-subtree: $SUFFIX
|
|
|
483b06 |
+add: schema-compat-restrict-subtree: cn=Schema Compatibility,cn=plugins,cn=config
|
|
|
483b06 |
+add: schema-compat-ignore-subtree: cn=dna,cn=ipa,cn=etc,$SUFFIX
|
|
|
483b06 |
+
|
|
|
483b06 |
+# Change padding for host and userCategory so the pad returns the same value
|
|
|
483b06 |
+# as the original, '' or -.
|
|
|
483b06 |
+dn: cn=ng,cn=Schema Compatibility,cn=plugins,cn=config
|
|
|
483b06 |
+replace: schema-compat-entry-attribute:nisNetgroupTriple=(%link("%ifeq(\"hostCategory\",\"all\",\"\",\"%collect(\\\"%{externalHost}\\\",\\\"%deref(\\\\\\\"memberHost\\\\\\\",\\\\\\\"fqdn\\\\\\\")\\\",\\\"%deref_r(\\\\\\\"member\\\\\\\",\\\\\\\"fqdn\\\\\\\")\\\",\\\"%deref_r(\\\\\\\"memberHost\\\\\\\",\\\\\\\"member\\\\\\\",\\\\\\\"fqdn\\\\\\\")\\\")\")","-",",","%ifeq(\"userCategory\",\"all\",\"\",\"%collect(\\\"%deref(\\\\\\\"memberUser\\\\\\\",\\\\\\\"uid\\\\\\\")\\\",\\\"%deref_r(\\\\\\\"member\\\\\\\",\\\\\\\"uid\\\\\\\")\\\",\\\"%deref_r(\\\\\\\"memberUser\\\\\\\",\\\\\\\"member\\\\\\\",\\\\\\\"uid\\\\\\\")\\\")\")","-"),%{nisDomainName:-})::nisNetgroupTriple=(%link("%ifeq(\"hostCategory\",\"all\",\"\",\"%collect(\\\"%{externalHost}\\\",\\\"%deref(\\\\\\\"memberHost\\\\\\\",\\\\\\\"fqdn\\\\\\\")\\\",\\\"%deref_r(\\\\\\\"member\\\\\\\",\\\\\\\"fqdn\\\\\\\")\\\",\\\"%deref_r(\\\\\\\"memberHost\\\\\\\",\\\\\\\"member\\\\\\\",\\\\\\\"fqdn\\\\\\\")\\\")\")","%ifeq(\"hostCategory\",\"all\",\"\",\"-\")",",","%ifeq(\"userCategory\",\"all\",\"\",\"%collect(\\\"%deref(\\\\\\\"memberUser\\\\\\\",\\\\\\\"uid\\\\\\\")\\\",\\\"%deref_r(\\\\\\\"member\\\\\\\",\\\\\\\"uid\\\\\\\")\\\",\\\"%deref_r(\\\\\\\"memberUser\\\\\\\",\\\\\\\"member\\\\\\\",\\\\\\\"uid\\\\\\\")\\\")\")","%ifeq(\"userCategory\",\"all\",\"\",\"-\")"),%{nisDomainName:-})
|
|
|
483b06 |
+remove: schema-compat-ignore-subtree: cn=changelog
|
|
|
483b06 |
+remove: schema-compat-ignore-subtree: o=ipaca
|
|
|
483b06 |
+add: schema-compat-restrict-subtree: $SUFFIX
|
|
|
483b06 |
+add: schema-compat-restrict-subtree: cn=Schema Compatibility,cn=plugins,cn=config
|
|
|
483b06 |
+add: schema-compat-ignore-subtree: cn=dna,cn=ipa,cn=etc,$SUFFIX
|
|
|
483b06 |
+
|
|
|
483b06 |
+dn: cn=computers, cn=Schema Compatibility, cn=plugins, cn=config
|
|
|
483b06 |
+default:objectClass: top
|
|
|
483b06 |
+default:objectClass: extensibleObject
|
|
|
483b06 |
+default:cn: computers
|
|
|
483b06 |
+default:schema-compat-container-group: cn=compat, $SUFFIX
|
|
|
483b06 |
+default:schema-compat-container-rdn: cn=computers
|
|
|
483b06 |
+default:schema-compat-search-base: cn=computers, cn=accounts, $SUFFIX
|
|
|
483b06 |
+default:schema-compat-search-filter: (&(macAddress=*)(fqdn=*)(objectClass=ipaHost))
|
|
|
483b06 |
+default:schema-compat-entry-rdn: cn=%first("%{fqdn}")
|
|
|
483b06 |
+default:schema-compat-entry-attribute: objectclass=device
|
|
|
483b06 |
+default:schema-compat-entry-attribute: objectclass=ieee802Device
|
|
|
483b06 |
+default:schema-compat-entry-attribute: cn=%{fqdn}
|
|
|
483b06 |
+default:schema-compat-entry-attribute: macAddress=%{macAddress}
|
|
|
483b06 |
+remove: schema-compat-ignore-subtree: cn=changelog
|
|
|
483b06 |
+remove: schema-compat-ignore-subtree: o=ipaca
|
|
|
483b06 |
+add: schema-compat-restrict-subtree: $SUFFIX
|
|
|
483b06 |
+add: schema-compat-restrict-subtree: cn=Schema Compatibility,cn=plugins,cn=config
|
|
|
483b06 |
+add: schema-compat-ignore-subtree: cn=dna,cn=ipa,cn=etc,$SUFFIX
|
|
|
483b06 |
+
|
|
|
483b06 |
+dn: cn=sudoers,cn=Schema Compatibility,cn=plugins,cn=config
|
|
|
483b06 |
+add:schema-compat-entry-attribute: sudoOrder=%{sudoOrder}
|
|
|
483b06 |
+
|
|
|
483b06 |
+dn: cn=users,cn=Schema Compatibility,cn=plugins,cn=config
|
|
|
483b06 |
+remove: schema-compat-ignore-subtree: cn=changelog
|
|
|
483b06 |
+remove: schema-compat-ignore-subtree: o=ipaca
|
|
|
483b06 |
+add: schema-compat-restrict-subtree: $SUFFIX
|
|
|
483b06 |
+add: schema-compat-restrict-subtree: cn=Schema Compatibility,cn=plugins,cn=config
|
|
|
483b06 |
+add: schema-compat-ignore-subtree: cn=dna,cn=ipa,cn=etc,$SUFFIX
|
|
|
483b06 |
+
|
|
|
483b06 |
+dn: cn=groups,cn=Schema Compatibility,cn=plugins,cn=config
|
|
|
483b06 |
+remove: schema-compat-ignore-subtree: cn=changelog
|
|
|
483b06 |
+remove: schema-compat-ignore-subtree: o=ipaca
|
|
|
483b06 |
+add: schema-compat-restrict-subtree: $SUFFIX
|
|
|
483b06 |
+add: schema-compat-restrict-subtree: cn=Schema Compatibility,cn=plugins,cn=config
|
|
|
483b06 |
+add: schema-compat-ignore-subtree: cn=dna,cn=ipa,cn=etc,$SUFFIX
|
|
|
483b06 |
+
|
|
|
483b06 |
+dn: cn=Schema Compatibility,cn=plugins,cn=config
|
|
|
483b06 |
+# We need to run schema-compat pre-bind callback before
|
|
|
483b06 |
+# other IPA pre-bind callbacks to make sure bind DN is
|
|
|
483b06 |
+# rewritten to the original entry if needed
|
|
|
483b06 |
+add:nsslapd-pluginprecedence: 40
|
|
|
483b06 |
+
|
|
|
483b06 |
+dn: cn=users,cn=Schema Compatibility,cn=plugins,cn=config
|
|
|
483b06 |
+add:schema-compat-entry-attribute: %ifeq("ipauniqueid","%{ipauniqueid}","objectclass=ipaOverrideTarget","")
|
|
|
483b06 |
+add:schema-compat-entry-attribute: %ifeq("ipauniqueid","%{ipauniqueid}","ipaanchoruuid=:IPA:$DOMAIN:%{ipauniqueid}","")
|
|
|
483b06 |
+add:schema-compat-entry-attribute: ipaanchoruuid=%{ipaanchoruuid}
|
|
|
483b06 |
+add:schema-compat-entry-attribute: %ifeq("ipaanchoruuid","%{ipaanchoruuid}","objectclass=ipaOverrideTarget","")
|
|
|
483b06 |
+
|
|
|
483b06 |
+dn: cn=groups,cn=Schema Compatibility,cn=plugins,cn=config
|
|
|
483b06 |
+add:schema-compat-entry-attribute: %ifeq("ipauniqueid","%{ipauniqueid}","objectclass=ipaOverrideTarget","")
|
|
|
483b06 |
+add:schema-compat-entry-attribute: %ifeq("ipauniqueid","%{ipauniqueid}","ipaanchoruuid=:IPA:$DOMAIN:%{ipauniqueid}","")
|
|
|
483b06 |
+add:schema-compat-entry-attribute: ipaanchoruuid=%{ipaanchoruuid}
|
|
|
483b06 |
+add:schema-compat-entry-attribute: %ifeq("ipaanchoruuid","%{ipaanchoruuid}","objectclass=ipaOverrideTarget","")
|
|
|
483b06 |
+
|
|
|
483b06 |
+dn: cn=users,cn=Schema Compatibility,cn=plugins,cn=config
|
|
|
483b06 |
+add:schema-compat-entry-attribute: uid=%{uid}
|
|
|
483b06 |
+replace:schema-compat-entry-rdn: uid=%{uid}::uid=%first("%{uid}")
|
|
|
483b06 |
diff --git a/install/updates/Makefile.am b/install/updates/Makefile.am
|
|
|
483b06 |
index 0ff0edb93abf4c4656b7504bd9ce8f774918fc2d..e18d01127b592a6c7941729d6160d10fb2d3e76c 100644
|
|
|
483b06 |
--- a/install/updates/Makefile.am
|
|
|
483b06 |
+++ b/install/updates/Makefile.am
|
|
|
483b06 |
@@ -9,7 +9,6 @@ app_DATA = \
|
|
|
483b06 |
10-selinuxusermap.update \
|
|
|
483b06 |
10-rootdse.update \
|
|
|
483b06 |
10-uniqueness.update \
|
|
|
483b06 |
- 10-schema_compat.update \
|
|
|
483b06 |
19-managed-entries.update \
|
|
|
483b06 |
20-aci.update \
|
|
|
483b06 |
20-dna.update \
|
|
|
483b06 |
@@ -62,6 +61,7 @@ app_DATA = \
|
|
|
483b06 |
73-custodia.update \
|
|
|
483b06 |
73-winsync.update \
|
|
|
483b06 |
73-certmap.update \
|
|
|
483b06 |
+ 80-schema_compat.update \
|
|
|
483b06 |
90-post_upgrade_plugins.update \
|
|
|
483b06 |
$(NULL)
|
|
|
483b06 |
|
|
|
483b06 |
diff --git a/ipaplatform/base/paths.py b/ipaplatform/base/paths.py
|
|
|
483b06 |
index 9cf160fac483157b508dedac7a5fc26cb12c63a4..dbdd71ed0b4d69c1101db4aeb7d93152ab8aa730 100644
|
|
|
483b06 |
--- a/ipaplatform/base/paths.py
|
|
|
483b06 |
+++ b/ipaplatform/base/paths.py
|
|
|
483b06 |
@@ -236,7 +236,8 @@ class BasePathNamespace(object):
|
|
|
483b06 |
HTML_KRBREALM_CON = "/usr/share/ipa/html/krbrealm.con"
|
|
|
483b06 |
NIS_ULDIF = "/usr/share/ipa/nis.uldif"
|
|
|
483b06 |
NIS_UPDATE_ULDIF = "/usr/share/ipa/nis-update.uldif"
|
|
|
483b06 |
- SCHEMA_COMPAT_ULDIF = "/usr/share/ipa/schema_compat.uldif"
|
|
|
483b06 |
+ SCHEMA_COMPAT_ULDIF = "/usr/share/ipa/updates/91-schema_compat.update"
|
|
|
483b06 |
+ SCHEMA_COMPAT_POST_ULDIF = "/usr/share/ipa/schema_compat_post.uldif"
|
|
|
483b06 |
IPA_JS_PLUGINS_DIR = "/usr/share/ipa/ui/js/plugins"
|
|
|
483b06 |
UPDATES_DIR = "/usr/share/ipa/updates/"
|
|
|
483b06 |
DICT_WORDS = "/usr/share/dict/words"
|
|
|
483b06 |
diff --git a/ipaserver/install/dsinstance.py b/ipaserver/install/dsinstance.py
|
|
|
483b06 |
index 99a1781ca4475805e9bf3b2bac3f26b5fb107a43..403fe8489fdd9e0dbf40dd4df3794b51185d45b9 100644
|
|
|
483b06 |
--- a/ipaserver/install/dsinstance.py
|
|
|
483b06 |
+++ b/ipaserver/install/dsinstance.py
|
|
|
483b06 |
@@ -38,7 +38,6 @@ from ipapython import dogtag
|
|
|
483b06 |
from ipaserver.install import service
|
|
|
483b06 |
from ipaserver.install import installutils
|
|
|
483b06 |
from ipaserver.install import certs
|
|
|
483b06 |
-from ipaserver.install import ldapupdate
|
|
|
483b06 |
from ipaserver.install import replication
|
|
|
483b06 |
from ipaserver.install import sysupgrade
|
|
|
483b06 |
from ipaserver.install import upgradeinstance
|
|
|
483b06 |
@@ -281,8 +280,6 @@ class DsInstance(service.Service):
|
|
|
483b06 |
self.step("configuring Posix uid/gid generation",
|
|
|
483b06 |
self.__config_uidgid_gen)
|
|
|
483b06 |
self.step("adding replication acis", self.__add_replication_acis)
|
|
|
483b06 |
- self.step("enabling compatibility plugin",
|
|
|
483b06 |
- self.__enable_compat_plugin)
|
|
|
483b06 |
self.step("activating sidgen plugin", self._add_sidgen_plugin)
|
|
|
483b06 |
self.step("activating extdom plugin", self._add_extdom_plugin)
|
|
|
483b06 |
self.step("tuning directory server", self.__tuning)
|
|
|
483b06 |
@@ -706,12 +703,6 @@ class DsInstance(service.Service):
|
|
|
483b06 |
def __add_winsync_module(self):
|
|
|
483b06 |
self._ldap_mod("ipa-winsync-conf.ldif")
|
|
|
483b06 |
|
|
|
483b06 |
- def __enable_compat_plugin(self):
|
|
|
483b06 |
- ld = ldapupdate.LDAPUpdate(dm_password=self.dm_password, sub_dict=self.sub_dict)
|
|
|
483b06 |
- rv = ld.update([paths.SCHEMA_COMPAT_ULDIF])
|
|
|
483b06 |
- if not rv:
|
|
|
483b06 |
- raise RuntimeError("Enabling compatibility plugin failed")
|
|
|
483b06 |
-
|
|
|
483b06 |
def __config_version_module(self):
|
|
|
483b06 |
self._ldap_mod("version-conf.ldif")
|
|
|
483b06 |
|
|
|
483b06 |
--
|
|
|
483b06 |
2.12.2
|
|
|
483b06 |
|