示例#1
0
文件: daneldnsx.py 项目: mithro/sshfp
	def add_nameserver(self,ns):
		""" Add a nameserver, IPv4/IPv6/name.

		"""
		if isValidIP(ns) == 4:
			address = ldns.ldns_rdf_new_frm_str(ldns.LDNS_RDF_TYPE_A,ns)
			self._ldns_resolver.push_nameserver(address)
		elif isValidIP(ns) == 6:
			address = ldns.ldns_rdf_new_frm_str(ldns.LDNS_RDF_TYPE_AAAA,ns)
			self._ldns_resolver.push_nameserver(address)
		else:
			resolver = ldns.ldns_resolver.new_frm_file("/etc/resolv.conf")
			#address = resolver.get_addr_by_name(ns)
			address = resolver.get_addr_by_name(ldns.ldns_dname(ns))
			if not address:
				address = resolver.get_addr_by_name(ldns.ldns_dname(ns))
				if not address:
					raise Exception("Failed to resolve address for %s" % ns)
			for rr in address.rrs():
				self._ldns_resolver.push_nameserver_rr(rr)
示例#2
0
    def add_nameserver(self, ns):
        """ Add a nameserver, IPv4/IPv6/name.

		"""
        if isValidIP(ns) == 4:
            address = ldns.ldns_rdf_new_frm_str(ldns.LDNS_RDF_TYPE_A, ns)
            self._ldns_resolver.push_nameserver(address)
        elif isValidIP(ns) == 6:
            address = ldns.ldns_rdf_new_frm_str(ldns.LDNS_RDF_TYPE_AAAA, ns)
            self._ldns_resolver.push_nameserver(address)
        else:
            resolver = ldns.ldns_resolver.new_frm_file("/etc/resolv.conf")
            #address = resolver.get_addr_by_name(ns)
            address = resolver.get_addr_by_name(ldns.ldns_dname(ns))
            if not address:
                address = resolver.get_addr_by_name(ldns.ldns_dname(ns))
                if not address:
                    raise Exception("Failed to resolve address for %s" % ns)
            for rr in address.rrs():
                self._ldns_resolver.push_nameserver_rr(rr)
示例#3
0
def set_error():
    """
        Writes an error message and sets error flag.
    """
    global class_name
    global method_name
    global error_detected
    error_detected = True
    sys.stderr.write("(line %d): malfunctioning method %s.\n" % \
       (inspect.currentframe().f_back.f_lineno, method_name))


#if not error_detected:
if True:
    method_name = class_name + ".__init__()"
    rdf1 = ldns.ldns_rdf_new_frm_str(ldns.LDNS_RDF_TYPE_DNAME, "test.nic.cz.")
    rdf2 = ldns.ldns_rdf_new_frm_str(ldns.LDNS_RDF_TYPE_A, "217.31.205.50")
    try:
        dname = ldns.ldns_dname("www.nic.cz.")
        if not isinstance(dname, ldns.ldns_dname):
            set_error()
    except:
        set_error()
    #
    # Error when printing a dname wich was created fron an empty string.
    # Must find out why.
    #
    try:
        dname = ldns.ldns_dname(rdf1)
        if not isinstance(dname, ldns.ldns_dname):
            set_error()
示例#4
0
if True:
    method_name = "ldns_rdf_new()"
    sys.stderr.write("%s not tested.\n" % (method_name))


#if not error_detected:
if True:
    method_name = "ldns_rdf_new_frm_data()"
    sys.stderr.write("%s not tested.\n" % (method_name))


#if not error_detected:
if True:
    method_name = "ldns_rdf_new_frm_str()"
    try:
        rdf = ldns.ldns_rdf_new_frm_str(ldns.LDNS_RDF_TYPE_DNAME, "www.nic.cz")
    except:
        set_error()
    try:
        rdf = ldns.ldns_rdf_new_frm_str("", "www.nic.cz")
        et_error()
    except TypeError:
        pass
    except:
        set_error()
    try:
        rdf = ldns.ldns_rdf_new_frm_str(ldns.LDNS_RDF_TYPE_DNAME, 1)
    except TypeError:
        pass
    except:
        set_error()
示例#5
0
#if not error_detected:
if True:
    method_name = "ldns_rdf_new()"
    sys.stderr.write("%s not tested.\n" % (method_name))

#if not error_detected:
if True:
    method_name = "ldns_rdf_new_frm_data()"
    sys.stderr.write("%s not tested.\n" % (method_name))

#if not error_detected:
if True:
    method_name = "ldns_rdf_new_frm_str()"
    try:
        rdf = ldns.ldns_rdf_new_frm_str(ldns.LDNS_RDF_TYPE_DNAME, "www.nic.cz")
    except:
        set_error()
    try:
        rdf = ldns.ldns_rdf_new_frm_str("", "www.nic.cz")
        et_error()
    except TypeError:
        pass
    except:
        set_error()
    try:
        rdf = ldns.ldns_rdf_new_frm_str(ldns.LDNS_RDF_TYPE_DNAME, 1)
    except TypeError:
        pass
    except:
        set_error()
示例#6
0
            set_error()
    except:
        set_error()


#if not error_detected:
if True:
    method_name = class_name + ".new_query()"
    dname = ldns.ldns_dname("test.nic.cz.")
    try:
        pkt = ldns.ldns_pkt.new_query(dname, ldns.LDNS_RR_TYPE_A, ldns.LDNS_RR_CLASS_IN, ldns.LDNS_QR | ldns.LDNS_RD)
        if not isinstance(pkt, ldns.ldns_pkt):
            set_error()
    except:
        set_error()
    rdf = ldns.ldns_rdf_new_frm_str(ldns.LDNS_RDF_TYPE_DNAME, "test.nic.cz.")
    try:
        pkt = ldns.ldns_pkt.new_query(rdf, ldns.LDNS_RR_TYPE_A, ldns.LDNS_RR_CLASS_IN, ldns.LDNS_QR | ldns.LDNS_RD)
        if not isinstance(pkt, ldns.ldns_pkt):
            set_error()
    except:
        set_error()
    try:
        pkt = ldns.ldns_pkt.new_query("bad argument", ldns.LDNS_RR_TYPE_A, ldns.LDNS_RR_CLASS_IN, ldns.LDNS_QR | ldns.LDNS_RD)
        set_error()
    except TypeError as e:
        pass
    except:
        set_error()
    try:
        pkt = ldns.ldns_pkt.new_query(dname, "bad argument", ldns.LDNS_RR_CLASS_IN, ldns.LDNS_QR | ldns.LDNS_RD)
示例#7
0
def set_error():
    """
        Writes an error message and sets error flag.
    """
    global class_name
    global method_name
    global error_detected
    error_detected = True
    sys.stderr.write("(line %d): malfunctioning method %s.\n" % \
       (inspect.currentframe().f_back.f_lineno, method_name))


#if not error_detected:
if True:
    method_name = class_name + ".__init__()"
    rdf1 = ldns.ldns_rdf_new_frm_str(ldns.LDNS_RDF_TYPE_DNAME, "test.nic.cz.")
    rdf2 = ldns.ldns_rdf_new_frm_str(ldns.LDNS_RDF_TYPE_A, "217.31.205.50")
    try:
        dname = ldns.ldns_dname("www.nic.cz.")
        if not isinstance(dname, ldns.ldns_dname):
            set_error()
    except:
        set_error()
    #
    # Error when printing a dname wich was created fron an empty string.
    # Must find out why.
    #
    try:
        dname = ldns.ldns_dname(rdf1)
        if not isinstance(dname, ldns.ldns_dname):
            set_error()