def sendReply(self, protocol, message, address): """ Send a response C{message} to a given C{address} via the supplied C{protocol}. Message payload will be logged if C{DNSServerFactory.verbose} is C{>1}. @param protocol: The DNS protocol instance to which to send the message. @type protocol: L{dns.DNSDatagramProtocol} or L{dns.DNSProtocol} @param message: The DNS message to be sent. @type message: L{dns.Message} @param address: The address to which the message will be sent or L{None} if C{protocol} is a stream protocol. @type address: L{tuple} or L{None} """ if self.verbose > 1: s = " ".join([str(a.payload) for a in message.answers]) auth = " ".join([str(a.payload) for a in message.authority]) add = " ".join([str(a.payload) for a in message.additional]) if not s: log.msg("Replying with no answers") else: log.msg("Answers are " + s) log.msg("Authority is " + auth) log.msg("Additional is " + add) if address is None: protocol.writeMessage(message) else: protocol.writeMessage(message, address) self._verboseLog("Processed query in %0.3f seconds" % (time.time() - message.timeReceived))
def sendReply(self, protocol, message, address): if self.verbose > 1: s = ' '.join([str(a.payload) for a in message.answers]) auth = ' '.join([str(a.payload) for a in message.authority]) add = ' '.join([str(a.payload) for a in message.additional]) if not s: log.msg("Replying with no answers") else: log.msg("Answers are " + s) log.msg("Authority is " + auth) log.msg("Additional is " + add) if address is None: protocol.writeMessage(message) else: protocol.writeMessage(message, address)
def sendReply(self, protocol, message, address): if self.verbose > 1: s = ' '.join([str(a.payload) for a in message.answers]) auth = ' '.join([str(a.payload) for a in message.authority]) add = ' '.join([str(a.payload) for a in message.additional]) if not s: log.msg("Replying with no answers") else: log.msg("Answers are " + s) log.msg("Authority is " + auth) log.msg("Additional is " + add) if address is None: protocol.writeMessage(message) else: protocol.writeMessage(message, address) if self.verbose > 1: log.msg("Processed query in %0.3f seconds" % (time.time() - message.timeReceived))
def sendReply(self, protocol, message, address): """ Send a response C{message} to a given C{address} via the supplied C{protocol}. Message payload will be logged if C{DNSServerFactory.verbose} is C{>1}. @param protocol: The DNS protocol instance to which to send the message. @type protocol: L{dns.DNSDatagramProtocol} or L{dns.DNSProtocol} @param message: The DNS message to be sent. @type message: L{dns.Message} @param address: The address to which the message will be sent or L{None} if C{protocol} is a stream protocol. @type address: L{tuple} or L{None} """ if self.verbose > 1: s = ' '.join([str(a.payload) for a in message.answers]) auth = ' '.join([str(a.payload) for a in message.authority]) add = ' '.join([str(a.payload) for a in message.additional]) if not s: log.msg("Replying with no answers") else: log.msg("Answers are " + s) log.msg("Authority is " + auth) log.msg("Additional is " + add) if address is None: protocol.writeMessage(message) else: protocol.writeMessage(message, address) self._verboseLog( "Processed query in %0.3f seconds" % ( time.time() - message.timeReceived))
def connectionMade(self, protocol): # dig saids recursion-desired to 0, so I will too message = dns.Message(protocol.pickID(), recDes=0) message.queries = [dns.Query(self.name, dns.AXFR, dns.IN)] protocol.writeMessage(message)