Coverage for ipapython/dnsclient : 66%
 
         
         
Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
| # # Copyright 2001, 2005 Red Hat, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. 
 
 
 
 
 
 
 
 self.dns_id, (self.dns_rd & 1) | (self.dns_tc & 1) << 1 | (self.dns_aa & 1) << 2 | (self.dns_opcode & 15) << 3 | (self.dns_qr & 1) << 7, (self.dns_rcode & 15) | (self.dns_z & 7) << 4 | (self.dns_ra & 1) << 7, self.dns_qdcount, self.dns_ancount, self.dns_nscount, self.dns_arcount) 
 self.dns_nscount, self.dns_arcount) = struct.unpack(DNSQueryHeader.FORMAT, data[0:self.size()]) 
 
 
 
 self.dns_rlength) = struct.unpack(DNSResult.FORMAT, data[0:self.size()]) 
 
 
 
 
 #typedef struct dns_rr_a { # u_int32_t address; #} dns_rr_a_t; # #typedef struct dns_rr_aaaa { # unsigned char address[16]; #} dns_rr_aaaa_t; # #typedef struct dns_rr_cname { # const char *cname; #} dns_rr_cname_t; # #typedef struct dns_rr_hinfo { # const char *cpu, *os; #} dns_rr_hinfo_t; # #typedef struct dns_rr_mx { # u_int16_t preference; # const char *exchange; #} dns_rr_mx_t; # #typedef struct dns_rr_null { # unsigned const char *data; #} dns_rr_null_t; # #typedef struct dns_rr_ns { # const char *nsdname; #} dns_rr_ns_t; # #typedef struct dns_rr_ptr { # const char *ptrdname; #} dns_rr_ptr_t; # #typedef struct dns_rr_soa { # const char *mname; # const char *rname; # u_int32_t serial; # int32_t refresh; # int32_t retry; # int32_t expire; # int32_t minimum; #} dns_rr_soa_t; # #typedef struct dns_rr_txt { # const char *data; #} dns_rr_txt_t; # #typedef struct dns_rr_srv { # const char *server; # u_int16_t priority; # u_int16_t weight; # u_int16_t port; #} dns_rr_srv_t; 
 
 
 
 return "" 
 
 
 # returns (output, rest) return ("", None) 
 
 except IndexError: return ("", None) 
 rdata.address = 0 return None 
 
 print "A = %d.%d.%d.%d." % (ord(data[0]), ord(data[1]), ord(data[2]), ord(data[3])) 
 rdata = DNSRData() if len(data) < 16: rdata.address = 0 return None 
 rdata.address = list(struct.unpack('!16B', data)) if DEBUG_DNSCLIENT: print socket.inet_ntop(socket.AF_INET6, struct.pack('!16B', *rdata.address)) return rdata 
 if len(data) < 1: return ("", None) tlen = ord(data[0]) if len(data) < tlen + 1: return ("", None) return (data[tlen+1:], data[1:tlen+1]) 
 print "NS DNAME = \"%s\"." % (rdata.nsdname) 
 rdata = DNSRData() (rest, rdata.cname) = dnsParseLabel(data, base) if DEBUG_DNSCLIENT: print "CNAME = \"%s\"." % (rdata.cname) return rdata 
 rdata = DNSRData() format = "!IIIII" 
 (rest, rdata.mname) = dnsParseLabel(data, base) if rdata.mname is None: return None (rest, rdata.rname) = dnsParseLabel(rest, base) if rdata.rname is None: return None if len(rest) < struct.calcsize(format): return None 
 (rdata.serial, rdata.refresh, rdata.retry, rdata.expire, rdata.minimum) = struct.unpack(format, rest[:struct.calcsize(format)]) 
 if DEBUG_DNSCLIENT: print "SOA(mname) = \"%s\"." % rdata.mname print "SOA(rname) = \"%s\"." % rdata.rname print "SOA(serial) = %d." % rdata.serial print "SOA(refresh) = %d." % rdata.refresh print "SOA(retry) = %d." % rdata.retry print "SOA(expire) = %d." % rdata.expire print "SOA(minimum) = %d." % rdata.minimum return rdata 
 # um, yeah return None 
 return None 
 rdata = DNSRData() (rest, rdata.cpu) = dnsParseText(data) if rest: (rest, rdata.os) = dnsParseText(rest) if DEBUG_DNSCLIENT: print "HINFO(cpu) = \"%s\"." % rdata.cpu print "HINFO(os) = \"%s\"." % rdata.os return rdata 
 rdata = DNSRData() if len(data) < 2: return None rdata.preference = (ord(data[0]) << 8) | ord(data[1]) (rest, rdata.exchange) = dnsParseLabel(data[2:], base) if DEBUG_DNSCLIENT: print "MX(exchanger) = \"%s\"." % rdata.exchange print "MX(preference) = %d." % rdata.preference return rdata 
 rdata = DNSRData() (rest, rdata.data) = dnsParseText(data) if DEBUG_DNSCLIENT: print "TXT = \"%s\"." % rdata.data return rdata 
 rdata = DNSRData() (rest, rdata.ptrdname) = dnsParseLabel(data, base) if DEBUG_DNSCLIENT: print "PTR = \"%s\"." % rdata.ptrdname return rdata 
 return None 
 print "SRV(server) = \"%s\"." % rdata.server print "SRV(weight) = %d." % rdata.weight print "SRV(priority) = %d." % rdata.priority print "SRV(port) = %d." % rdata.port 
 except struct.error: return [] 
 return [] 
 
 
 
 return [] 
 
 return [] 
 return [] 
 
 
 print "Queried for '%s', class = %d, type = %d." % (label, qq.dns_class, qq.dns_type) 
 (header.dns_nscount, DNS_S_AUTHORITY), (header.dns_arcount, DNS_S_ADDITIONAL)): return [] 
 
 
 return [] 
 
 
 print "Answer %d for '%s', class = %d, type = %d, ttl = %d." % (i, rr.dns_name, rr.dns_class, rr.dns_type, rr.dns_ttl) 
 if DEBUG_DNSCLIENT: print "Answer too short." return [] 
 DNS_T_CNAME: dnsParseCNAME, DNS_T_SOA: dnsParseSOA, DNS_T_NULL: dnsParseNULL, DNS_T_WKS: dnsParseWKS, DNS_T_PTR: dnsParsePTR, DNS_T_HINFO: dnsParseHINFO, DNS_T_MX: dnsParseMX, DNS_T_TXT: dnsParseTXT, DNS_T_AAAA : dnsParseAAAA, DNS_T_SRV: dnsParseSRV} 
 if DEBUG_DNSCLIENT: print "Don't know how to parse RR type %d!" % rr.dns_type else: 
 
 
 return [] return [] 
 DEBUG_DNSCLIENT = True print "Sending query." rr = query(len(sys.argv) > 1 and sys.argv[1] or "devserv.devel.redhat.com.", DNS_C_IN, DNS_T_ANY) sys.exit(0) |