|
@@ -54,13 +54,6 @@ default_answers = [soa_rrset]
|
|
class XfrinTestException(Exception):
|
|
class XfrinTestException(Exception):
|
|
pass
|
|
pass
|
|
|
|
|
|
-def strip_mutable_tsig_data(data):
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- return data[0:-32] + data[-26:-22] + data[-6:]
|
|
|
|
-
|
|
|
|
class MockXfrin(Xfrin):
|
|
class MockXfrin(Xfrin):
|
|
|
|
|
|
|
|
|
|
@@ -217,6 +210,15 @@ class TestXfrinConnection(unittest.TestCase):
|
|
query_question = Question(Name("example.com."), RRClass.IN(), query_type)
|
|
query_question = Question(Name("example.com."), RRClass.IN(), query_type)
|
|
msg.add_question(query_question)
|
|
msg.add_question(query_question)
|
|
return msg
|
|
return msg
|
|
|
|
+
|
|
|
|
+ def message_has_tsig(data):
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ msg = Message(Message.PARSE)
|
|
|
|
+ msg.from_wire(data)
|
|
|
|
+ return msg.get_tsig_record() is not None
|
|
|
|
+
|
|
self.conn._create_query = create_msg
|
|
self.conn._create_query = create_msg
|
|
|
|
|
|
self.conn._send_query(RRType.SOA())
|
|
self.conn._send_query(RRType.SOA())
|
|
@@ -228,13 +230,11 @@ class TestXfrinConnection(unittest.TestCase):
|
|
|
|
|
|
self.conn._tsig_ctx = MockTSIGContext(TSIG_KEY)
|
|
self.conn._tsig_ctx = MockTSIGContext(TSIG_KEY)
|
|
self.conn._send_query(RRType.SOA())
|
|
self.conn._send_query(RRType.SOA())
|
|
- tsig_soa_data = strip_mutable_tsig_data(self.conn.query_data)
|
|
+ self.assertTrue(message_has_tsig(self.conn.query_data[2:]))
|
|
- self.assertEqual(tsig_soa_data, b'\x00n\x105\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x07example\x03com\x00\x00\x06\x00\x01\x07example\x03com\x00\x00\xfa\x00\xff\x00\x00\x00\x00\x00:\x08hmac-md5\x07sig-alg\x03reg\x03int\x00\x01,\x00\x10\x105\x00\x00\x00\x00')
|
|
|
|
|
|
|
|
|
|
|
|
self.conn._send_query(RRType.AXFR())
|
|
self.conn._send_query(RRType.AXFR())
|
|
- tsig_axfr_data = strip_mutable_tsig_data(self.conn.query_data)
|
|
+ self.assertTrue(message_has_tsig(self.conn.query_data[2:]))
|
|
- self.assertEqual(tsig_axfr_data, b'\x00n\x105\x00\x00\x00\x01\x00\x00\x00\x00\x00\x01\x07example\x03com\x00\x00\xfc\x00\x01\x07example\x03com\x00\x00\xfa\x00\xff\x00\x00\x00\x00\x00:\x08hmac-md5\x07sig-alg\x03reg\x03int\x00\x01,\x00\x10\x105\x00\x00\x00\x00')
|
|
|
|
|
|
|
|
def test_response_with_invalid_msg(self):
|
|
def test_response_with_invalid_msg(self):
|
|
self.conn.reply_data = b'aaaxxxx'
|
|
self.conn.reply_data = b'aaaxxxx'
|