summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--freeipa.spec.in6
-rw-r--r--ipaserver/install/server/upgrade.py23
2 files changed, 26 insertions, 3 deletions
diff --git a/freeipa.spec.in b/freeipa.spec.in
index 4f08db9f6..de250d884 100644
--- a/freeipa.spec.in
+++ b/freeipa.spec.in
@@ -96,7 +96,7 @@ BuildRequires: python-backports-ssl_match_hostname
BuildRequires: softhsm-devel >= 2.0.0rc1-1
BuildRequires: openssl-devel
BuildRequires: p11-kit-devel
-BuildRequires: pki-base >= 10.2.4-1
+BuildRequires: pki-base >= 10.2.5
BuildRequires: python-pytest-multihost >= 0.5
BuildRequires: python-pytest-sourceorder
BuildRequires: python-kdcproxy >= 0.3
@@ -141,8 +141,8 @@ Requires(post): systemd-units
Requires: selinux-policy >= %{selinux_policy_version}
Requires(post): selinux-policy-base
Requires: slapi-nis >= 0.54.2-1
-Requires: pki-ca >= 10.2.4-1
-Requires: pki-kra >= 10.2.4-1
+Requires: pki-ca >= 10.2.5
+Requires: pki-kra >= 10.2.5
Requires(preun): python systemd-units
Requires(postun): python systemd-units
Requires: python-dns >= 1.11.1
diff --git a/ipaserver/install/server/upgrade.py b/ipaserver/install/server/upgrade.py
index 822f74622..4a9f0128a 100644
--- a/ipaserver/install/server/upgrade.py
+++ b/ipaserver/install/server/upgrade.py
@@ -31,6 +31,7 @@ from ipaserver.install import service
from ipaserver.install import cainstance
from ipaserver.install import certs
from ipaserver.install import otpdinstance
+from ipaserver.install import schemaupdate
from ipaserver.install import sysupgrade
from ipaserver.install import dnskeysyncinstance
from ipaserver.install.upgradeinstance import IPAUpgrade
@@ -1254,6 +1255,27 @@ def update_mod_nss_protocol(http):
sysupgrade.set_upgrade_state('nss.conf', 'protocol_updated_tls12', True)
+def ca_upgrade_schema(ca):
+ root_logger.info('[Upgrading CA schema]')
+ if not ca.is_configured():
+ root_logger.info('CA is not configured')
+ return False
+
+ schema_files=['/usr/share/pki/server/conf/schema-certProfile.ldif']
+ try:
+ modified = schemaupdate.update_schema(schema_files, ldapi=True)
+ except Exception as e:
+ root_logger.error("%s", e)
+ raise RuntimeError('CA schema upgrade failed.', 1)
+ else:
+ if modified:
+ root_logger.info('CA schema update complete')
+ return True
+ else:
+ root_logger.info('CA schema update complete (no changes)')
+ return False
+
+
def add_default_caacl(ca):
root_logger.info('[Add default CA ACL]')
@@ -1452,6 +1474,7 @@ def upgrade_configuration():
ca_restart = any([
ca_restart,
+ ca_upgrade_schema(ca),
upgrade_ca_audit_cert_validity(ca),
certificate_renewal_update(ca),
ca_enable_pkix(ca),