From: Joseph Sutton Date: Fri, 6 May 2022 03:21:20 +0000 (+1200) Subject: tests/krb5: Add create_ccache_with_ticket() X-Git-Tag: talloc-2.4.0~764 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ccbce565ebfa2048bbecbe51925be32561def6a6;p=thirdparty%2Fsamba.git tests/krb5: Add create_ccache_with_ticket() This function returns a ccache containing a previously obtained ticket. Signed-off-by: Joseph Sutton Reviewed-by: Andrew Bartlett --- diff --git a/python/samba/tests/krb5/kdc_base_test.py b/python/samba/tests/krb5/kdc_base_test.py index 9df3bf94574..6943a3cf511 100644 --- a/python/samba/tests/krb5/kdc_base_test.py +++ b/python/samba/tests/krb5/kdc_base_test.py @@ -2169,10 +2169,8 @@ class KDCBaseTest(RawKerberosTest): return cachefile - def create_ccache_with_user(self, user_credentials, mach_credentials, - service="host", target_name=None, pac=True): - # Obtain a service ticket authorising the user and place it into a - # newly created credentials cache file. + def create_ccache_with_ticket(self, user_credentials, ticket, pac=True): + # Place the ticket into a newly created credentials cache file. user_name = user_credentials.get_username() realm = user_credentials.get_realm() @@ -2180,13 +2178,6 @@ class KDCBaseTest(RawKerberosTest): cname = self.PrincipalName_create(name_type=NT_PRINCIPAL, names=[user_name]) - tgt = self.get_tgt(user_credentials) - - # Request a ticket to the host service on the machine account - ticket = self.get_service_ticket(tgt, mach_credentials, - service=service, - target_name=target_name) - if not pac: ticket = self.modified_ticket(ticket, exclude_pac=True) @@ -2204,3 +2195,17 @@ class KDCBaseTest(RawKerberosTest): # Return the credentials along with the cache file. return (creds, cachefile) + + def create_ccache_with_user(self, user_credentials, mach_credentials, + service="host", target_name=None, pac=True): + # Obtain a service ticket authorising the user and place it into a + # newly created credentials cache file. + + tgt = self.get_tgt(user_credentials) + + ticket = self.get_service_ticket(tgt, mach_credentials, + service=service, + target_name=target_name) + + return self.create_ccache_with_ticket(user_credentials, ticket, + pac=pac)