def from_wire_parser(cls, rdclass, rdtype, parser, origin=None):
(version, size, hprec, vprec, latitude, longitude, altitude) = \
parser.get_struct("!BBBBIII")
+ if version != 0:
+ raise dns.exception.FormError("LOC version not zero")
if latitude < _MIN_LATITUDE or latitude > _MAX_LATITUDE:
raise dns.exception.FormError("bad latitude")
if latitude > 0x80000000:
t[3], t[4], t[5])
dns.rdata.from_wire(dns.rdataclass.IN, dns.rdatatype.LOC,
wire, 0, len(wire))
+ with self.assertRaises(dns.exception.FormError):
+ wire = b'\x01'
+ dns.rdata.from_wire(dns.rdataclass.IN, dns.rdatatype.LOC,
+ wire, 0, len(wire))
def equal_wks(self, a, b):
rda = dns.rdata.from_text(dns.rdataclass.IN, dns.rdatatype.WKS, a)