Lines Matching refs:qstate
45 def inform_super(id, qstate, superqstate, qdata):
48 def setTTL(qstate, ttl):
50 if qstate.return_msg:
51 qstate.return_msg.rep.ttl = ttl
52 if (qstate.return_msg.rep):
53 for i in range(0,qstate.return_msg.rep.rrset_count):
54 d = qstate.return_msg.rep.rrsets[i].entry.data
76 def printReturnMsg(qstate):
77 print "Return MSG rep :: flags: %04X, QDcount: %d, Security:%d, TTL=%d" % (qstate.return_msg.rep.flags, qstate.return_msg.rep.qdcount,qstate.return_msg.rep.security, qstate.return_msg.rep.ttl)
78 print " qinfo :: qname:",qstate.return_msg.qinfo.qname_list, qstate.return_msg.qinfo.qname_str, "type:",qstate.return_msg.qinfo.qtype_str, "class:",qstate.return_msg.qinfo.qclass_str
79 if (qstate.return_msg.rep):
80 print "RRSets:",qstate.return_msg.rep.rrset_count
82 for i in range(0,qstate.return_msg.rep.rrset_count):
83 r = qstate.return_msg.rep.rrsets[i]
95 def operate(id, event, qstate, qdata):
99 print "Query:", ''.join(map(lambda x:chr(max(32,ord(x))),qstate.qinfo.qname)), qstate.qinfo.qname_list, qstate.qinfo.qname_str,
100 print "Type:",qstate.qinfo.qtype_str,"(%d)" % qstate.qinfo.qtype,
101 print "Class:",qstate.qinfo.qclass_str,"(%d)" % qstate.qinfo.qclass
105 if (event == MODULE_EVENT_NEW) and (qstate.qinfo.qname_str.endswith(".seznam.cz.")): #pokud mame "python validator iterator"
106 print qstate.qinfo.qname_str
108 qstate.ext_state[id] = MODULE_FINISHED
110 msg = DNSMessage(qstate.qinfo.qname_str, RR_TYPE_A, RR_CLASS_IN, PKT_QR | PKT_RA | PKT_AA) #, 300)
114 if qstate.qinfo.qtype == RR_TYPE_A:
115 msg.answer.append("%s 10 IN A 192.168.1.1" % qstate.qinfo.qname_str)
116 if (qstate.qinfo.qtype == RR_TYPE_SRV) or (qstate.qinfo.qtype == RR_TYPE_ANY):
117 msg.answer.append("%s 10 IN SRV 0 0 80 neinfo.example.com." % qstate.qinfo.qname_str)
118 if (qstate.qinfo.qtype == RR_TYPE_TXT) or (qstate.qinfo.qtype == RR_TYPE_ANY):
119 msg.answer.append("%s 10 IN TXT path=/" % qstate.qinfo.qname_str)
121 if not msg.set_return_msg(qstate):
122 qstate.ext_state[id] = MODULE_ERROR
125 #qstate.return_msg.rep.security = 2 #pokud nebude nasledovat validator, je zapotrebi nastavit security, aby nebyl paket zahozen v mesh_send_reply
126 printReturnMsg(qstate)
129 #if (not storeQueryInCache(qstate, qstate.return_msg.qinfo, qstate.return_msg.rep, 0)):
131 # qstate.ext_state[id] = MODULE_ERROR
135 qstate.return_rcode = RCODE_NOERROR
139 qstate.ext_state[id] = MODULE_WAIT_MODULE
144 qstate.ext_state[id] = MODULE_FINISHED
149 qstate.ext_state[id] = MODULE_WAIT_MODULE
153 qstate.ext_state[id] = MODULE_ERROR