python:tests: Add ndrdump test for GMSA Managed Password blobs
authorJoseph Sutton <josephsutton@catalyst.net.nz>
Mon, 20 Nov 2023 03:05:13 +0000 (16:05 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Mon, 20 Nov 2023 22:51:17 +0000 (22:51 +0000)
Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Mon Nov 20 22:51:17 UTC 2023 on atb-devel-224

python/samba/tests/blackbox/ndrdump.py
source4/librpc/tests/gmsa_MANAGEDPASSWORD_BLOB.txt [new file with mode: 0644]

index b7bdae68ee99f148d4bc42233a0ae131ba095ef6..99aa7c181f2826a98d6df2670536d643d4982a4c 100644 (file)
@@ -537,3 +537,27 @@ dump OK
             self.fail(e)
 
         self.assertEqual(actual, expected)
+
+    def test_ndrdump_gmsa_MANAGEDPASSWORD_BLOB(self):
+        with open(self.data_path('gmsa_MANAGEDPASSWORD_BLOB.txt'), 'rb') as f:
+            expected = f.read()
+
+        try:
+            actual = self.check_output(
+                'ndrdump gmsa MANAGEDPASSWORD_BLOB struct '
+                '--debug-stdout --validate --hex-input --input '
+                '01000000220100001000000012011a01678657a1136e547f46ee7988c808'
+                'd904ed0e4b0592f89eb82bd292685867c3119dd6eaaef5810a1aa4e08e49'
+                '7cc31163b2e799e6ea66e3022c100bf59585a3464274ebad2488fc28acbd'
+                '10a9b44dde436a6d35fff0e95ae7903609e825220ad30db6a86bb544fa34'
+                '0f864d2d3895193d4007df72478d71ce3f789bb139c4c1cffd6d39948c0a'
+                'fa6a65e3f5f8f90d8c70f7272ce65a3f632793eb0e4697e576c21f36ac55'
+                'f4167a22b4ebb2593c2d22dc4ac8d4ca455f299a182b8d4d8dd1232dde1e'
+                'fe3acaf14b137453195f45455f5d48a0c441913b80f94d4696b171379b5a'
+                'c3b02c501cf8e16b43beaca52263411d5cf772e763e8d29a70a1293e7218'
+                'a1e300007495016980170000743731b67f170000'
+            )
+        except BlackboxProcessError as e:
+            self.fail(e)
+
+        self.assertEqual(actual, expected)
diff --git a/source4/librpc/tests/gmsa_MANAGEDPASSWORD_BLOB.txt b/source4/librpc/tests/gmsa_MANAGEDPASSWORD_BLOB.txt
new file mode 100644 (file)
index 0000000..b77d0e3
--- /dev/null
@@ -0,0 +1,28 @@
+pull returned Success
+    MANAGEDPASSWORD_BLOB: struct MANAGEDPASSWORD_BLOB
+        version                  : 0x0001 (1)
+        reserved                 : 0x0000 (0)
+        length                   : 0x00000122 (290)
+        passwords: struct MANAGEDPASSWORD_BLOB_PASSWORDS
+            current                  : *
+                current: ARRAY(256): <REDACTED SECRET VALUES>
+            previous                 : NULL
+            query_interval           : *
+                query_interval           : 0x0000178069019574 (25840284964212)
+            unchanged_interval       : *
+                unchanged_interval       : 0x0000177fb6313774 (25837284964212)
+push returned Success
+pull returned Success
+    MANAGEDPASSWORD_BLOB: struct MANAGEDPASSWORD_BLOB
+        version                  : 0x0001 (1)
+        reserved                 : 0x0000 (0)
+        length                   : 0x00000122 (290)
+        passwords: struct MANAGEDPASSWORD_BLOB_PASSWORDS
+            current                  : *
+                current: ARRAY(256): <REDACTED SECRET VALUES>
+            previous                 : NULL
+            query_interval           : *
+                query_interval           : 0x0000178069019574 (25840284964212)
+            unchanged_interval       : *
+                unchanged_interval       : 0x0000177fb6313774 (25837284964212)
+dump OK