ipa-4.9.6-4
- Use new method in check to prevent removal of last KRA (#1985072) - ipatests: NAMED_CRYPTO_POLICY_FILE not defined for RHEL (#1982952) - Fix index definition for memberOf (#1952028) Resolves: #1985072, #1982952, #1952028
This commit is contained in:
parent
5a5afdbc6f
commit
d7b02057af
@ -0,0 +1,58 @@
|
|||||||
|
From 0b9adf1d8d5efb48e734650e4101e8816b01e1d3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rob Crittenden <rcritten@redhat.com>
|
||||||
|
Date: Mon, 19 Jul 2021 17:51:44 -0400
|
||||||
|
Subject: [PATCH] Use new method in check to prevent removal of last KRA
|
||||||
|
|
||||||
|
It previously used a vault connection to determine if any
|
||||||
|
KRA servers were installed. This would fail if the last KRA
|
||||||
|
was not available.
|
||||||
|
|
||||||
|
Use server roles instead to determine if the last KRA server
|
||||||
|
is to be removed.
|
||||||
|
|
||||||
|
https://pagure.io/freeipa/issue/8397
|
||||||
|
|
||||||
|
Signed-off-by: Rob Crittenden <rcritten@redhat.com>
|
||||||
|
Reviewed-By: Francois Cami <fcami@redhat.com>
|
||||||
|
---
|
||||||
|
ipaserver/plugins/server.py | 24 +++++++++++++-----------
|
||||||
|
1 file changed, 13 insertions(+), 11 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/ipaserver/plugins/server.py b/ipaserver/plugins/server.py
|
||||||
|
index b3dda8469..5fa7a58bd 100644
|
||||||
|
--- a/ipaserver/plugins/server.py
|
||||||
|
+++ b/ipaserver/plugins/server.py
|
||||||
|
@@ -508,17 +508,19 @@ class server_del(LDAPDelete):
|
||||||
|
|
||||||
|
if self.api.Command.ca_is_enabled()['result']:
|
||||||
|
try:
|
||||||
|
- vault_config = self.api.Command.vaultconfig_show()['result']
|
||||||
|
- kra_servers = vault_config.get('kra_server_server', [])
|
||||||
|
- except errors.InvocationError:
|
||||||
|
- # KRA is not configured
|
||||||
|
- pass
|
||||||
|
- else:
|
||||||
|
- if kra_servers == [hostname]:
|
||||||
|
- handler(
|
||||||
|
- _("Deleting this server is not allowed as it would "
|
||||||
|
- "leave your installation without a KRA."),
|
||||||
|
- ignore_last_of_role)
|
||||||
|
+ roles = self.api.Command.server_role_find(
|
||||||
|
+ server_server=hostname,
|
||||||
|
+ role_servrole='KRA server',
|
||||||
|
+ status='enabled',
|
||||||
|
+ include_master=True,
|
||||||
|
+ )['result']
|
||||||
|
+ except errors.NotFound:
|
||||||
|
+ roles = ()
|
||||||
|
+ if len(roles) == 1 and roles[0]['server_server'] == hostname:
|
||||||
|
+ handler(
|
||||||
|
+ _("Deleting this server is not allowed as it would "
|
||||||
|
+ "leave your installation without a KRA."),
|
||||||
|
+ ignore_last_of_role)
|
||||||
|
|
||||||
|
ca_servers = ipa_config.get('ca_server_server', [])
|
||||||
|
ca_renewal_master = ipa_config.get(
|
||||||
|
--
|
||||||
|
2.26.3
|
||||||
|
|
@ -0,0 +1,49 @@
|
|||||||
|
From 8ea8f8b68b5a7217518f68065a5fc1df16126314 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Rob Crittenden <rcritten@redhat.com>
|
||||||
|
Date: Mon, 19 Jul 2021 21:54:22 -0400
|
||||||
|
Subject: [PATCH] ipatests: test removing last KRA when it is not running
|
||||||
|
|
||||||
|
Use the new role-based mechanism, one that doesn't rely
|
||||||
|
on direct communication to the server, to determine whether
|
||||||
|
the server being removed by `ipa server-del` contains the
|
||||||
|
last KRA server.
|
||||||
|
|
||||||
|
https://pagure.io/freeipa/issue/8397
|
||||||
|
|
||||||
|
Signed-off-by: Rob Crittenden <rcritten@redhat.com>
|
||||||
|
Reviewed-By: Francois Cami <fcami@redhat.com>
|
||||||
|
---
|
||||||
|
ipatests/test_integration/test_server_del.py | 17 +++++++++++++++++
|
||||||
|
1 file changed, 17 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/ipatests/test_integration/test_server_del.py b/ipatests/test_integration/test_server_del.py
|
||||||
|
index 5e627d5db..9d7f5ef7a 100644
|
||||||
|
--- a/ipatests/test_integration/test_server_del.py
|
||||||
|
+++ b/ipatests/test_integration/test_server_del.py
|
||||||
|
@@ -302,6 +302,23 @@ class TestLastServices(ServerDelBase):
|
||||||
|
1
|
||||||
|
)
|
||||||
|
|
||||||
|
+ def test_removal_of_server_raises_error_about_last_kra(self):
|
||||||
|
+ """
|
||||||
|
+ test that removal of server fails on the last KRA
|
||||||
|
+
|
||||||
|
+ We shut it down to verify that it can be removed if it failed.
|
||||||
|
+ """
|
||||||
|
+ tasks.install_kra(self.master)
|
||||||
|
+ self.master.run_command(['ipactl', 'stop'])
|
||||||
|
+ tasks.assert_error(
|
||||||
|
+ tasks.run_server_del(self.replicas[0], self.master.hostname),
|
||||||
|
+ "Deleting this server is not allowed as it would leave your "
|
||||||
|
+ "installation without a KRA.",
|
||||||
|
+ 1
|
||||||
|
+ )
|
||||||
|
+ # Restarting the server we stopped is not necessary as it will
|
||||||
|
+ # be removed in the next test.
|
||||||
|
+
|
||||||
|
def test_forced_removal_of_master(self):
|
||||||
|
"""
|
||||||
|
Tests that we can still force remove the master using
|
||||||
|
--
|
||||||
|
2.26.3
|
||||||
|
|
30
0019-rhel-platform-add-a-named-crypto-policy-support.patch
Normal file
30
0019-rhel-platform-add-a-named-crypto-policy-support.patch
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
From 1a5159b216455070eb51b6a11ceaf0033fc8ce4c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Alexander Bokovoy <abokovoy@redhat.com>
|
||||||
|
Date: Fri, 16 Jul 2021 09:20:33 +0300
|
||||||
|
Subject: [PATCH] rhel platform: add a named crypto-policy support
|
||||||
|
|
||||||
|
RHEL 8+ provides bind system-wide crypto policy support, enable it.
|
||||||
|
|
||||||
|
Fixes: https://pagure.io/freeipa/issue/8925
|
||||||
|
Signed-off-by: Alexander Bokovoy <abokovoy@redhat.com>
|
||||||
|
Reviewed-By: Florence Blanc-Renaud <flo@redhat.com>
|
||||||
|
Reviewed-By: Anuja More <amore@redhat.com>
|
||||||
|
---
|
||||||
|
ipaplatform/rhel/paths.py | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/ipaplatform/rhel/paths.py b/ipaplatform/rhel/paths.py
|
||||||
|
index c081ada32..3631550eb 100644
|
||||||
|
--- a/ipaplatform/rhel/paths.py
|
||||||
|
+++ b/ipaplatform/rhel/paths.py
|
||||||
|
@@ -30,6 +30,7 @@ from ipaplatform.rhel.constants import HAS_NFS_CONF
|
||||||
|
|
||||||
|
|
||||||
|
class RHELPathNamespace(RedHatPathNamespace):
|
||||||
|
+ NAMED_CRYPTO_POLICY_FILE = "/etc/crypto-policies/back-ends/bind.config"
|
||||||
|
if HAS_NFS_CONF:
|
||||||
|
SYSCONFIG_NFS = '/etc/nfs.conf'
|
||||||
|
|
||||||
|
--
|
||||||
|
2.26.3
|
||||||
|
|
40
0020-Index-Fix-definition-for-memberOf.patch
Normal file
40
0020-Index-Fix-definition-for-memberOf.patch
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
From b132956e42a88ab39bb8d6a854e7c5d28d544a11 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Florence Blanc-Renaud <flo@redhat.com>
|
||||||
|
Date: Fri, 16 Jul 2021 09:43:54 +0200
|
||||||
|
Subject: [PATCH] Index: Fix definition for memberOf
|
||||||
|
|
||||||
|
The index definition for memberOf is inconsistent:
|
||||||
|
|
||||||
|
dn: cn=memberOf,cn=index,cn=userRoot,cn=ldbm database,cn=plugins,cn=config
|
||||||
|
cn: member
|
||||||
|
nsIndexType: eq
|
||||||
|
nsIndexType: sub
|
||||||
|
nsSystemIndex: false
|
||||||
|
objectClass: top
|
||||||
|
objectClass: nsIndex
|
||||||
|
|
||||||
|
The cn attribute should be memberOf, not member. Fix the definition.
|
||||||
|
|
||||||
|
Fixes: https://pagure.io/freeipa/issue/8920
|
||||||
|
Signed-off-by: Florence Blanc-Renaud <flo@redhat.com>
|
||||||
|
Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
|
||||||
|
---
|
||||||
|
install/updates/20-indices.update | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/install/updates/20-indices.update b/install/updates/20-indices.update
|
||||||
|
index d6df5b37d..cb1a11dd5 100644
|
||||||
|
--- a/install/updates/20-indices.update
|
||||||
|
+++ b/install/updates/20-indices.update
|
||||||
|
@@ -434,7 +434,7 @@ add:nsIndexType: eq
|
||||||
|
add:nsIndexType: pres
|
||||||
|
|
||||||
|
dn: cn=memberOf,cn=index,cn=userRoot,cn=ldbm database,cn=plugins,cn=config
|
||||||
|
-only:cn: member
|
||||||
|
+only:cn: memberOf
|
||||||
|
add:nsIndexType: sub
|
||||||
|
|
||||||
|
dn: cn=memberPrincipal,cn=index,cn=userRoot,cn=ldbm database,cn=plugins,cn=config
|
||||||
|
--
|
||||||
|
2.26.3
|
||||||
|
|
12
freeipa.spec
12
freeipa.spec
@ -196,7 +196,7 @@
|
|||||||
|
|
||||||
Name: %{package_name}
|
Name: %{package_name}
|
||||||
Version: %{IPA_VERSION}
|
Version: %{IPA_VERSION}
|
||||||
Release: 3%{?rc_version:.%rc_version}%{?dist}
|
Release: 4%{?rc_version:.%rc_version}%{?dist}
|
||||||
Summary: The Identity, Policy and Audit system
|
Summary: The Identity, Policy and Audit system
|
||||||
|
|
||||||
License: GPLv3+
|
License: GPLv3+
|
||||||
@ -232,6 +232,11 @@ Patch0013: 0013-WebUI-Improve-subordinate-ids-user-workflow.patch
|
|||||||
Patch0014: 0014-Test-DNA-plugin-configuration.patch
|
Patch0014: 0014-Test-DNA-plugin-configuration.patch
|
||||||
Patch0015: 0015-Fall-back-to-krbprincipalname-when-validating-host-a.patch
|
Patch0015: 0015-Fall-back-to-krbprincipalname-when-validating-host-a.patch
|
||||||
Patch0016: 0016-spec-file-Trust-controller-role-should-pull-sssd-win.patch
|
Patch0016: 0016-spec-file-Trust-controller-role-should-pull-sssd-win.patch
|
||||||
|
Patch0017: 0017-Use-new-method-in-check-to-prevent-removal-of-last-K.patch
|
||||||
|
Patch0018: 0018-ipatests-test-removing-last-KRA-when-it-is-not-runni.patch
|
||||||
|
Patch0019: 0019-rhel-platform-add-a-named-crypto-policy-support.patch
|
||||||
|
Patch0020: 0020-Index-Fix-definition-for-memberOf.patch
|
||||||
|
|
||||||
Patch1001: 1001-Change-branding-to-IPA-and-Identity-Management.patch
|
Patch1001: 1001-Change-branding-to-IPA-and-Identity-Management.patch
|
||||||
%endif
|
%endif
|
||||||
%endif
|
%endif
|
||||||
@ -1712,6 +1717,11 @@ fi
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Jul 23 2021 Rob Crittenden <rcritten@redhat.com> - 4.9.6-4
|
||||||
|
- Use new method in check to prevent removal of last KRA (#1985072)
|
||||||
|
- ipatests: NAMED_CRYPTO_POLICY_FILE not defined for RHEL (#1982952)
|
||||||
|
- Fix index definition for memberOf (#1952028)
|
||||||
|
|
||||||
* Thu Jul 15 2021 Florence Blanc-Renaud <frenaud@redhat.com> - 4.9.6-3
|
* Thu Jul 15 2021 Florence Blanc-Renaud <frenaud@redhat.com> - 4.9.6-3
|
||||||
- Resolves: rhbz#1979629 Add checks to prevent assigning authentication indicators to internal IPA services
|
- Resolves: rhbz#1979629 Add checks to prevent assigning authentication indicators to internal IPA services
|
||||||
- Resolves: rhbz#1982212 ipa-trust-add fails with "not enough quota"
|
- Resolves: rhbz#1982212 ipa-trust-add fails with "not enough quota"
|
||||||
|
Loading…
Reference in New Issue
Block a user