(flags, l) = struct.unpack('!BB', wire[current : current + 2])
current += 2
tag = wire[current : current + l].decode('latin_1')
- value = wire[current + l:].decode('latin_1')
+ value = wire[current + l:current + rdlen - 2].decode('latin_1')
return cls(rdclass, rdtype, flags, tag, value)
# OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
import binascii
+import io
import unittest
import dns.rdata
b"", 0, 0)
self.assertTrue(rdata == rdata2)
+ def test_CAA_from_wire(self):
+ rdata = dns.rdata.from_text(dns.rdataclass.IN, dns.rdatatype.CAA,
+ '0 issue "ca.example.net"');
+ f = io.BytesIO()
+ rdata.to_wire(f)
+ wire = f.getvalue()
+ rdlen = len(wire)
+ wire += b"trailing garbage"
+ rdata2 = dns.rdata.from_wire(dns.rdataclass.IN, dns.rdatatype.CAA,
+ wire, 0, rdlen)
+ self.failUnless(rdata == rdata2)
if __name__ == '__main__':
unittest.main()