expected_head)
self.assertTrue(actual.endswith(expected_tail))
+ # Confirm parsing of dnsProperty records
+ def test_ndrdump_dnsp_DnssrvRpcRecord(self):
+
+ expected = open(self.data_path("dnsp-DnssrvRpcRecord.txt")).read().encode('utf8')
+ try:
+ actual = self.check_output(
+ "ndrdump dnsp dnsp_DnssrvRpcRecord struct " +\
+ "--input BQAPAAXwAAC3AAAAAAADhAAAAAAAAAAAAAoBAAA= "+\
+ "--base64-input --validate")
+ except BlackboxProcessError as e:
+ self.fail(e)
+
+ self.assertEqual(actual, expected)
+
# Test a --validate push of a NULL union pointer
def test_ndrdump_fuzzed_NULL_union_PAC_BUFFER(self):
expected = b'''pull returned Success
--- /dev/null
+pull returned Success
+ dnsp_DnssrvRpcRecord: struct dnsp_DnssrvRpcRecord
+ wDataLength : 0x0005 (5)
+ wType : DNS_TYPE_MX (15)
+ version : 0x05 (5)
+ rank : DNS_RANK_ZONE (240)
+ flags : 0x0000 (0)
+ dwSerial : 0x000000b7 (183)
+ dwTtlSeconds : 0x00000384 (900)
+ dwReserved : 0x00000000 (0)
+ dwTimeStamp : 0x00000000 (0)
+ data : union dnsRecordData(case 15)
+ mx: struct dnsp_mx
+ wPriority : 0x000a (10)
+ nameTarget :
+push returned Success
+pull returned Success
+ dnsp_DnssrvRpcRecord: struct dnsp_DnssrvRpcRecord
+ wDataLength : 0x0005 (5)
+ wType : DNS_TYPE_MX (15)
+ version : 0x05 (5)
+ rank : DNS_RANK_ZONE (240)
+ flags : 0x0000 (0)
+ dwSerial : 0x000000b7 (183)
+ dwTtlSeconds : 0x00000384 (900)
+ dwReserved : 0x00000000 (0)
+ dwTimeStamp : 0x00000000 (0)
+ data : union dnsRecordData(case 15)
+ mx: struct dnsp_mx
+ wPriority : 0x000a (10)
+ nameTarget :
+dump OK