]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
python:tests/krb5: set_pac_claims with claims=[] should be an empty blob
authorStefan Metzmacher <metze@samba.org>
Thu, 6 Feb 2025 15:46:44 +0000 (16:46 +0100)
committerRalph Boehme <slow@samba.org>
Mon, 24 Feb 2025 09:27:38 +0000 (09:27 +0000)
Review with: git show -w

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
python/samba/tests/krb5/kdc_base_test.py

index 8caa635c9adc4e106ac52cc4d91253d7d280a0fb..23d2b4b799aeb9b9138c881495fcba13621cacbd 100644 (file)
@@ -2295,26 +2295,31 @@ class KDCBaseTest(TestCaseInTempDir, RawKerberosTest):
 
             claims_arrays.append(claims_array)
 
-        claims_set = claims.CLAIMS_SET()
-        claims_set.claims_arrays = claims_arrays
-        claims_set.claims_array_count = len(claims_arrays)
+        if len(claims_arrays) != 0:
+            claims_set = claims.CLAIMS_SET()
+            claims_set.claims_arrays = claims_arrays
+            claims_set.claims_array_count = len(claims_arrays)
 
-        claims_ctr = claims.CLAIMS_SET_CTR()
-        claims_ctr.claims = claims_set
+            claims_ctr = claims.CLAIMS_SET_CTR()
+            claims_ctr.claims = claims_set
 
-        claims_ndr = claims.CLAIMS_SET_NDR()
-        claims_ndr.claims = claims_ctr
+            claims_ndr = claims.CLAIMS_SET_NDR()
+            claims_ndr.claims = claims_ctr
 
-        metadata = claims.CLAIMS_SET_METADATA()
-        metadata.claims_set = claims_ndr
-        metadata.compression_format = (
-            claims.CLAIMS_COMPRESSION_FORMAT_XPRESS_HUFF)
+            metadata = claims.CLAIMS_SET_METADATA()
+            metadata.claims_set = claims_ndr
+            metadata.compression_format = (
+                claims.CLAIMS_COMPRESSION_FORMAT_XPRESS_HUFF)
 
-        metadata_ctr = claims.CLAIMS_SET_METADATA_CTR()
-        metadata_ctr.metadata = metadata
+            metadata_ctr = claims.CLAIMS_SET_METADATA_CTR()
+            metadata_ctr.metadata = metadata
 
-        metadata_ndr = claims.CLAIMS_SET_METADATA_NDR()
-        metadata_ndr.claims = metadata_ctr
+            metadata_ndr = claims.CLAIMS_SET_METADATA_NDR()
+            metadata_ndr.claims = metadata_ctr
+
+            claims_buffer = ndr_pack(metadata_ndr)
+        else:
+            claims_buffer = b''
 
         pac_buffers = pac.buffers
         for pac_buffer in pac_buffers:
@@ -2327,7 +2332,7 @@ class KDCBaseTest(TestCaseInTempDir, RawKerberosTest):
 
             pac_buffers.append(pac_buffer)
 
-        pac_buffer.info.remaining = ndr_pack(metadata_ndr)
+        pac_buffer.info.remaining = claims_buffer
 
         pac.buffers = pac_buffers
         pac.num_buffers = len(pac_buffers)