Exemplo n.º 1
0
 def canonical_l1(self, ttl):
     rdata = bytearray()
     for part in self.address.split('.'):
         rdata.append(int(part))
     return DNSRR(self.name.lower(),
                  dns_type_to_int(self.typ),
                  dns_class_to_int('IN'),
                  ttl,
                  4,
                  rdata,
                  None,
                  None)
Exemplo n.º 2
0
 def canonical_l1(self, ttl):
     rdata = bytearray()
     rdata.extend(pack('! H B B',
                       self.keytag,
                       dnssec_algorithm_to_int(self.algorithm),
                       dnssec_digest_type_to_int(self.digest_type)))
     rdata.extend(self.digest)
     return DNSRR(self.name.lower(),
                  dns_type_to_int(self.typ),
                  dns_class_to_int('IN'),
                  ttl,
                  len(rdata),
                  rdata,
                  None,
                  None)
Exemplo n.º 3
0
 def canonical_l1(self, ttl):
     rdata = bytearray()
     rdata.extend(pack('! H B B',
                       self.flags,
                       3,
                       dnssec_algorithm_to_int(self.algorithm)))
     rdata.extend(self.public_key)
     return DNSRR(self.name.lower(),
                  dns_type_to_int(self.typ),
                  dns_class_to_int('IN'),
                  ttl,
                  len(rdata),
                  rdata,
                  None,
                  None)
Exemplo n.º 4
0
 def to_rr(self):
     b = bytearray()
     b.extend(pack('! H B B',
                   self.keytag,
                   dnssec_algorithm_to_int(self.algorithm),
                   dnssec_digest_type_to_int(self.digest_type)))
     b.extend(self.digest)
     return DNSRR(self.name,
                  dns_type_to_int(self.typ),
                  dns_class_to_int(self.clas),
                  self.ttl,
                  len(b),
                  b,
                  None,
                  None)
Exemplo n.º 5
0
 def canonical_l1(self, ttl):
     rdata = bytearray()
     rdata.extend(encode_name(self.mname))
     rdata.extend(encode_name(self.rname))
     rdata.extend(pack('! I I I I I',
                       self.serial,
                       self.refresh,
                       self.retry,
                       self.expire,
                       self.minimum))
     return DNSRR(self.name.lower(),
                  dns_type_to_int(self.typ),
                  dns_class_to_int('IN'),
                  ttl,
                  len(rdata),
                  rdata,
                  None,
                  None)
Exemplo n.º 6
0
def make_query_message(qname,
                       qtype,
                       qclass,
                       rd,
                       cd,
                       udp_payload_size,
                       dnssec_ok=False):
    msgid = random_dns_message_id()
    qrr = DNSQuestionRR(qname, dns_type_to_int(qtype),
                        dns_class_to_int(qclass))
    if udp_payload_size is not None:
        opt_rr = DNSOptRR(udp_payload_size, 0, 0, dnssec_ok, [])
    else:
        opt_rr = None
    dns_message = DNSMessage(
        DNSHeader(msgid,
                  DNSFlags(False, 0, False, False, rd, False, False, cd, 0), 1,
                  0, 0, 1 if opt_rr else 0), [qrr], [], [],
        [opt_rr] if opt_rr is not None else [])
    return dns_message