/ awktest.py
awktest.py
1 # Copyright (c) 2024 Anoduck 2 # 3 # This software is released under the MIT License. 4 # https://opensource.org/licenses/MIT 5 6 def std_TXT_qry(msg): 7 qs = msg.question 8 print str(len(qs)) + ' questions.' 9 iparpa = qs[0].to_text().split(' ', 1)[0] 10 print 'Host: ' + iparpa 11 resp = make_response(qry=msg) 12 13 host = iparpa[:-1] 14 punto = host.find(".") 15 dominio = host[punto:] 16 host = "."+host 17 spfresponse = '' 18 if (dominio in dominios) or (host in dominios): 19 ttl = 1 20 DEBUGLOG('Alert domain! (TXT) ID: ' + host) 21 # Here the HANDLE! 22 #os.popen("python /yowsup/yowsup-cli -c /yowsup/config -s <number> \"Host %s\nIP %s\" > /dev/null &"%(id,prov_ip)); 23 save_req(LOGALERTFILE, 'Alert domain! (TXT) ID: ' + host+ '\n') 24 if host in dominios: spfresponse = "v=spf1 a:mail%s/24 mx -all "%host 25 if dominio in dominios: spfresponse = "v=spf1 a:mail%s/24 mx -all "%dominio 26 DEBUGLOG('Responding with SPF = ' + spfresponse) 27 rrset = dns.rrset.from_text(iparpa, ttl, dns.rdataclass.IN, dns.rdatatype.TXT, spfresponse) 28 resp.answer.append(rrset) 29 return resp 30 31 32 hosts = respuestas(iparpa[:-1], 'TXT') 33 if isinstance(hosts, numbers.Integral): 34 print 'No host....' 35 resp = make_response(qry=msg, RCODE=3) # RCODE = 3 NXDOMAIN 36 return resp 37 38 for host in hosts: 39 print 'Adding ' + host.to_text() 40 rrset = dns.rrset.from_text(iparpa, 1000, dns.rdataclass.IN, dns.rdatatype.TXT, host.to_text()) 41 resp.answer.append(rrset)