]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
tests/krb5: Add create_ccache_with_ticket()
authorJoseph Sutton <josephsutton@catalyst.net.nz>
Fri, 6 May 2022 03:21:20 +0000 (15:21 +1200)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 5 Oct 2022 04:23:32 +0000 (04:23 +0000)
This function returns a ccache containing a previously obtained ticket.

Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
python/samba/tests/krb5/kdc_base_test.py

index 9df3bf94574c6a83e46953c202fdfde590101e65..6943a3cf5110c5e34a36e62cc5b582ba19504567 100644 (file)
@@ -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)