import ipa-4.9.8-8.module+el8.6.0+16878+6c033536
This commit is contained in:
parent
dc93cf38a4
commit
46b3f6f720
@ -0,0 +1,62 @@
|
|||||||
|
From 109cd579e3b089b7fad4c92bf25594eba1af8a21 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Alexander Bokovoy <abokovoy@redhat.com>
|
||||||
|
Date: Tue, 23 Aug 2022 16:58:07 +0300
|
||||||
|
Subject: [PATCH] fix canonicalization issue in Web UI
|
||||||
|
|
||||||
|
When Kerberos principal alias is used to login to a Web UI, we end up
|
||||||
|
with a request that is authenticated by a ticket issued in the alias
|
||||||
|
name but metadata processed for the canonical user name. This confuses
|
||||||
|
RPC layer of Web UI code and causes infinite loop to reload the page.
|
||||||
|
|
||||||
|
Fix it by doing two things:
|
||||||
|
|
||||||
|
- force use of canonicalization of an enterprise principal on server
|
||||||
|
side, not just specifying that the principal is an enterprise one;
|
||||||
|
|
||||||
|
- recognize that a principal in the whoami()-returned object can have
|
||||||
|
aliases and the principal returned by the server in the JSON response
|
||||||
|
may be one of those aliases.
|
||||||
|
|
||||||
|
Fixes: https://pagure.io/freeipa/issue/9226
|
||||||
|
|
||||||
|
Signed-off-by: Alexander Bokovoy <abokovoy@redhat.com>
|
||||||
|
Reviewed-By: Armando Neto <abiagion@redhat.com>
|
||||||
|
---
|
||||||
|
install/ui/src/freeipa/ipa.js | 8 +++++++-
|
||||||
|
ipaserver/rpcserver.py | 1 +
|
||||||
|
2 files changed, 8 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/install/ui/src/freeipa/ipa.js b/install/ui/src/freeipa/ipa.js
|
||||||
|
index 758db1b00..a08d632e9 100644
|
||||||
|
--- a/install/ui/src/freeipa/ipa.js
|
||||||
|
+++ b/install/ui/src/freeipa/ipa.js
|
||||||
|
@@ -271,7 +271,13 @@ var IPA = function () {
|
||||||
|
var cn = that.whoami.data.krbcanonicalname;
|
||||||
|
if (cn) that.principal = cn[0];
|
||||||
|
if (!that.principal) {
|
||||||
|
- that.principal = that.whoami.data.krbprincipalname[0];
|
||||||
|
+ var principal = data.principal;
|
||||||
|
+ var idx = that.whoami.data.krbprincipalname.indexOf(principal);
|
||||||
|
+ if (idx > -1) {
|
||||||
|
+ that.principal = principal;
|
||||||
|
+ } else {
|
||||||
|
+ that.principal = that.whoami.data.krbprincipalname[0];
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
} else if (entity === 'idoverrideuser') {
|
||||||
|
that.principal = that.whoami.data.ipaoriginaluid[0];
|
||||||
|
diff --git a/ipaserver/rpcserver.py b/ipaserver/rpcserver.py
|
||||||
|
index 1f85e9898..4e8a08b66 100644
|
||||||
|
--- a/ipaserver/rpcserver.py
|
||||||
|
+++ b/ipaserver/rpcserver.py
|
||||||
|
@@ -1109,6 +1109,7 @@ class login_password(Backend, KerberosSession):
|
||||||
|
ccache_name,
|
||||||
|
armor_ccache_name=armor_path,
|
||||||
|
enterprise=True,
|
||||||
|
+ canonicalize=True,
|
||||||
|
lifetime=self.api.env.kinit_lifetime)
|
||||||
|
|
||||||
|
if armor_path:
|
||||||
|
--
|
||||||
|
2.37.3
|
||||||
|
|
@ -191,7 +191,7 @@
|
|||||||
|
|
||||||
Name: %{package_name}
|
Name: %{package_name}
|
||||||
Version: %{IPA_VERSION}
|
Version: %{IPA_VERSION}
|
||||||
Release: 7%{?rc_version:.%rc_version}%{?dist}
|
Release: 8%{?rc_version:.%rc_version}%{?dist}
|
||||||
Summary: The Identity, Policy and Audit system
|
Summary: The Identity, Policy and Audit system
|
||||||
|
|
||||||
License: GPLv3+
|
License: GPLv3+
|
||||||
@ -224,6 +224,7 @@ Patch0010: 0010-ipatests-remove-additional-check-for-failed-units_rhbz#2053
|
|||||||
Patch0011: 0011-ipa_cldap-fix-memory-leak_rhbz#2032738.patch
|
Patch0011: 0011-ipa_cldap-fix-memory-leak_rhbz#2032738.patch
|
||||||
Patch0012: 0012-ipatests-fix-TestOTPToken-test_check_otpd_after_idle_timeout_rhbz#2053024.patch
|
Patch0012: 0012-ipatests-fix-TestOTPToken-test_check_otpd_after_idle_timeout_rhbz#2053024.patch
|
||||||
Patch0013: 0013-Backport_test_fixes_in_python3_ipatests_rhbz#2057505.patch
|
Patch0013: 0013-Backport_test_fixes_in_python3_ipatests_rhbz#2057505.patch
|
||||||
|
Patch0014: 0014-fix-canonicalization-issue-in-Web-UI_rhbz#2133051.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
|
||||||
@ -1714,6 +1715,10 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Oct 7 2022 Rafael Jeffman <rjeffman@redhat.com> - 4.9.8-8
|
||||||
|
- Fix canonicalization issue in Web UI
|
||||||
|
Resolves: RHBZ#2133051
|
||||||
|
|
||||||
* Thu Feb 24 2022 Rafael Jeffman <rjeffman@redhat.com> - 4.9.8-7
|
* Thu Feb 24 2022 Rafael Jeffman <rjeffman@redhat.com> - 4.9.8-7
|
||||||
- ipatests: Backport test fixes in python3-ipatests.
|
- ipatests: Backport test fixes in python3-ipatests.
|
||||||
Resolves: RHBZ#2057505
|
Resolves: RHBZ#2057505
|
||||||
|
Loading…
Reference in New Issue
Block a user