mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-01-11 00:31:56 -06:00
Fix nsslapdPlugin object class after initial replication.
This is a workaround for <https://fedorahosted.org/389/ticket/47490>. https://fedorahosted.org/freeipa/ticket/3915
This commit is contained in:
parent
a70b08e9ae
commit
e380acdc1c
@ -68,6 +68,7 @@ app_DATA = \
|
|||||||
copy-schema-to-ca.py \
|
copy-schema-to-ca.py \
|
||||||
upload-cacert.ldif \
|
upload-cacert.ldif \
|
||||||
sasl-mapping-fallback.ldif \
|
sasl-mapping-fallback.ldif \
|
||||||
|
schema-update.ldif \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
EXTRA_DIST = \
|
EXTRA_DIST = \
|
||||||
|
7
install/share/schema-update.ldif
Normal file
7
install/share/schema-update.ldif
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# FIXME: https://fedorahosted.org/389/ticket/47490
|
||||||
|
|
||||||
|
dn: cn=schema
|
||||||
|
changetype: modify
|
||||||
|
add: objectClasses
|
||||||
|
objectClasses: ( 2.16.840.1.113730.3.2.41 NAME 'nsslapdPlugin' DESC 'Netscape defined objectclass' SUP top MUST ( cn $ nsslapd-pluginPath $ nsslapd-pluginInitFunc $ nsslapd-pluginType $ nsslapd-pluginId $ nsslapd-pluginVersion $ nsslapd-pluginVendor $ nsslapd-pluginDescription $ nsslapd-pluginEnabled ) MAY ( nsslapd-pluginConfigArea $ nsslapd-plugin-depends-on-type ) X-ORIGIN 'Netscape Directory Server' )
|
||||||
|
objectClasses: ( 2.16.840.1.113730.3.2.317 NAME 'nsSaslMapping' DESC 'Netscape defined objectclass' SUP top MUST ( cn $ nsSaslMapRegexString $ nsSaslMapBaseDNTemplate $ nsSaslMapFilterTemplate ) MAY ( nsSaslMapPriority ) X-ORIGIN 'Netscape Directory Server' )
|
@ -346,6 +346,7 @@ class DsInstance(service.Service):
|
|||||||
self.__common_setup(True)
|
self.__common_setup(True)
|
||||||
|
|
||||||
self.step("setting up initial replication", self.__setup_replica)
|
self.step("setting up initial replication", self.__setup_replica)
|
||||||
|
self.step("updating schema", self.__update_schema)
|
||||||
# See LDIFs for automember configuration during replica install
|
# See LDIFs for automember configuration during replica install
|
||||||
self.step("setting Auto Member configuration", self.__add_replica_automember_config)
|
self.step("setting Auto Member configuration", self.__add_replica_automember_config)
|
||||||
self.step("enabling S4U2Proxy delegation", self.__setup_s4u2proxy)
|
self.step("enabling S4U2Proxy delegation", self.__setup_s4u2proxy)
|
||||||
@ -368,6 +369,10 @@ class DsInstance(service.Service):
|
|||||||
r_bindpw=self.dm_password)
|
r_bindpw=self.dm_password)
|
||||||
self.run_init_memberof = repl.needs_memberof_fixup()
|
self.run_init_memberof = repl.needs_memberof_fixup()
|
||||||
|
|
||||||
|
def __update_schema(self):
|
||||||
|
# FIXME: https://fedorahosted.org/389/ticket/47490
|
||||||
|
self._ldap_mod("schema-update.ldif")
|
||||||
|
|
||||||
def __enable(self):
|
def __enable(self):
|
||||||
self.backup_state("enabled", self.is_enabled())
|
self.backup_state("enabled", self.is_enabled())
|
||||||
# At the end of the installation ipa-server-install will enable the
|
# At the end of the installation ipa-server-install will enable the
|
||||||
|
@ -252,17 +252,6 @@ class KrbInstance(service.Service):
|
|||||||
# we need to remove any existing SASL mappings in the directory as otherwise they
|
# we need to remove any existing SASL mappings in the directory as otherwise they
|
||||||
# they may conflict.
|
# they may conflict.
|
||||||
|
|
||||||
# FIXME: https://fedorahosted.org/389/ticket/47490
|
|
||||||
entry = self.admin_conn.get_entry(
|
|
||||||
DN(('cn', 'schema')), ['objectClasses'])
|
|
||||||
entry['objectClasses'].append(
|
|
||||||
"( 2.16.840.1.113730.3.2.317 NAME 'nsSaslMapping' "
|
|
||||||
"DESC 'Netscape defined objectclass' SUP top "
|
|
||||||
"MUST ( cn $ nsSaslMapRegexString $ nsSaslMapBaseDNTemplate $ "
|
|
||||||
"nsSaslMapFilterTemplate ) MAY ( nsSaslMapPriority ) "
|
|
||||||
"X-ORIGIN 'Netscape Directory Server' )")
|
|
||||||
self.admin_conn.update_entry(entry)
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
res = self.admin_conn.get_entries(
|
res = self.admin_conn.get_entries(
|
||||||
DN(('cn', 'mapping'), ('cn', 'sasl'), ('cn', 'config')),
|
DN(('cn', 'mapping'), ('cn', 'sasl'), ('cn', 'config')),
|
||||||
|
Loading…
Reference in New Issue
Block a user