From: Bob Halley Date: Sun, 18 Dec 2016 19:22:18 +0000 (-0800) Subject: add example of receiving notify messages X-Git-Tag: v1.16.0~116 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=59f63a7a708dfeca234945118e4f0d33809d9d7e;p=thirdparty%2Fdnspython.git add example of receiving notify messages --- diff --git a/examples/receive_notify.py b/examples/receive_notify.py new file mode 100644 index 00000000..76976f71 --- /dev/null +++ b/examples/receive_notify.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python3 + +import socket + +import dns.flags +import dns.message +import dns.rdataclass +import dns.rdatatype + +address = '127.0.0.1' +port = 53535 + +s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) +s.bind((address, port)) +while True: + (wire, address) = s.recvfrom(512) + notify = dns.message.from_wire(wire) + soa = notify.find_rrset(notify.answer, notify.question[0].name, + dns.rdataclass.IN, dns.rdatatype.SOA) + + # Do something with the SOA RR here + print('The serial number for', soa.name, 'is', soa[0].serial) + + response = dns.message.make_response(notify) + response.flags |= dns.flags.AA + wire = response.to_wire(response) + s.sendto(wire, address)