From cf847a6267d36fe31b90e758024c87406388c322 Mon Sep 17 00:00:00 2001 From: Frank Buettner Date: Feb 10 2023 11:35:01 +0000 Subject: [PATCH 1/2] Let "--principal=" works for users using multiple TGT's fix for https://pagure.io/koji/issue/3680 --- diff --git a/cli/koji_cli/lib.py b/cli/koji_cli/lib.py index 02c0cb9..f334bc5 100644 --- a/cli/koji_cli/lib.py +++ b/cli/koji_cli/lib.py @@ -760,6 +760,8 @@ def activate_session(session, options): if getattr(options, 'keytab', None) and getattr(options, 'principal', None): session.gssapi_login(principal=options.principal, keytab=options.keytab, proxyuser=runas) + elif getattr(options, 'principal', None): + session.gssapi_login(principal=options.principal,proxyuser=runas) else: session.gssapi_login(proxyuser=runas) except socket.error as e: From 017a77f23aa7c8a1d7e0a5846ff9655b93bfb78e Mon Sep 17 00:00:00 2001 From: Tomas Kopecek Date: Feb 13 2023 13:13:09 +0000 Subject: [PATCH 2/2] unify kwargs for gssapi_login --- diff --git a/cli/koji_cli/lib.py b/cli/koji_cli/lib.py index f334bc5..15252f2 100644 --- a/cli/koji_cli/lib.py +++ b/cli/koji_cli/lib.py @@ -757,13 +757,12 @@ def activate_session(session, options): session.login() elif options.authtype == "kerberos" or options.authtype is None: try: - if getattr(options, 'keytab', None) and getattr(options, 'principal', None): - session.gssapi_login(principal=options.principal, keytab=options.keytab, - proxyuser=runas) - elif getattr(options, 'principal', None): - session.gssapi_login(principal=options.principal,proxyuser=runas) - else: - session.gssapi_login(proxyuser=runas) + kwargs = {'proxyuser': runas} + if getattr(options, 'principal', None): + kwargs['principal'] = options.principal + if getattr(options, 'keytab', None): + kwargs['keytab'] = options.keytab + session.gssapi_login(**kwargs) except socket.error as e: warn("Could not connect to Kerberos authentication service: %s" % e.args[1]) if not noauth and not session.logged_in: