diff --git a/5486.patch b/5486.patch new file mode 100644 index 0000000..c8b6e3d --- /dev/null +++ b/5486.patch @@ -0,0 +1,44 @@ +From 7abc9608afe37e28221d12afb5c2078518febf9f Mon Sep 17 00:00:00 2001 +From: Dominik Wombacher +Date: May 27 2024 18:52:55 +0000 +Subject: [PATCH 1/2] fix(oidc): Edge case, avoid 'KeyError' after pagure update if a cached session is used + + +--- + +diff --git a/pagure/ui/oidc_login.py b/pagure/ui/oidc_login.py +index 2495387..225646b 100644 +--- a/pagure/ui/oidc_login.py ++++ b/pagure/ui/oidc_login.py +@@ -34,6 +34,8 @@ _log = logging.getLogger(__name__) + def fas_user_from_oidc(): + if "oidc_cached_userdata" in flask.session: + flask.g.fas_user = munch.Munch(**flask.session["oidc_cached_userdata"]) ++ # Edge case, avoid 'KeyError' after pagure update if a cached session is used ++ flask.g.fas_user.can_create = flask.g.fas_user.get("can_create", False) + elif oidc.user_loggedin and "oidc_logintime" in flask.session: + email_key, fulln_key, usern_key, ssh_key, groups_key = [ + pagure_config["OIDC_PAGURE_EMAIL"], + +From 6ff9732cb86b305ebcc32cdb0e7ff578171f4dd1 Mon Sep 17 00:00:00 2001 +From: Dominik Wombacher +Date: May 27 2024 18:54:54 +0000 +Subject: [PATCH 2/2] fix(5.14.x): Use '==' instead of 'is' in template if condition because of old Jinja2 version on EL8 + + +--- + +diff --git a/pagure/templates/master.html b/pagure/templates/master.html +index 4e2bc55..fa23194 100644 +--- a/pagure/templates/master.html ++++ b/pagure/templates/master.html +@@ -40,7 +40,7 @@ + {% if (config.get('ENABLE_NEW_PROJECTS', True) and config.get('ENABLE_UI_NEW_PROJECTS', True)) + or config.get('ENABLE_GROUP_MNGT', False) %} + {#can_create is only defined if using OIDC so assume we cancreate #} +- {% if (g.fas_user.can_create is not defined) or (g.fas_user.can_create is true)%} ++ {% if (g.fas_user.can_create is not defined) or (g.fas_user.can_create == true)%} +