class ZoneExporter(object):
def __init__(self, db, format, origin, ttl=None):
self.db = db
+ self.format = format
self.origin = origin
self.ttl = ttl
if self.ttl:
f.write("$TTL %s" % self.ttl)
+ if self.format == "bogons":
+ networks = self.db.list_bogons()
+ else:
+ networks = self.db.networks
+
# Write all networks
- for network in self.db.networks:
+ for network in networks:
self.write(f, network)
def write(self, f, network):
f.write("%s IN %s %s\n" % (rp, self.type, content))
+ # DNSBL
+
+ def _format_dnsbl(self, network):
+ return "127.0.0.2"
+
+ # ASN
+
def _format_asn(self, network):
# Skip the network if it does not belong to an AS
if network.asn is None:
return "\"%s\"" % asn
formats = {
- "asn" : ("TXT", _format_asn),
+ "asn" : ("TXT", _format_asn),
+ "bogons" : ("A", _format_dnsbl),
}