From: Michael Tremer Date: Wed, 17 Dec 2025 11:47:46 +0000 (+0000) Subject: export: Write the everything zone X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0afb9a0618bee67625cc44ee6953b835e06b393e;p=location%2Flibloc.git export: Write the everything zone Signed-off-by: Michael Tremer --- diff --git a/src/python/location/export.py b/src/python/location/export.py index d4178a5..ce97fdc 100644 --- a/src/python/location/export.py +++ b/src/python/location/export.py @@ -410,10 +410,47 @@ class ZoneExporter(object): for network in self.db.networks: self._write_network(f, network, "TXT", "\"%s\"" % network) + # Everything + + def _write_everything(self, f): + flags = { + _location.NETWORK_FLAG_ANONYMOUS_PROXY : "is-anonymous-proxy", + _location.NETWORK_FLAG_SATELLITE_PROVIDER : "is-satellite-provider", + _location.NETWORK_FLAG_ANYCAST : "is-anycast", + _location.NETWORK_FLAG_DROP : "is-drop", + } + + # Write all networks + for network in self.db.networks: + # List the network + self._write_network(f, network, "A", "127.0.0.2") + + # Write the prefix + self._write_network(f, network, "TXT", "\"prefix=%s\"" % network) + + # Write the country code + if network.country_code: + self._write_network(f, network, "TXT", "\"cc=%s\"" % network.country_code) + + # Write the ASN + if network.asn: + self._write_network(f, network, "TXT", "\"as-number=%s\"" % network.asn) + + # Write the AS name + asn = self.db.get_as(network.asn) + if asn: + self._write_network(f, network, "TXT", "\"as-name=%s\"" % asn.name) + + # Write flags + for flag in flags: + if network.has_flag(flag): + self._write_network(f, network, "TXT", "\"%s=yes\"" % flags[flag]) + formats = { - "asn" : _write_asn, - "cc" : _write_cc, - "bogons" : _write_bogons, - "origin" : _write_origin, - "prefix" : _write_prefix, + "asn" : _write_asn, + "cc" : _write_cc, + "bogons" : _write_bogons, + "origin" : _write_origin, + "prefix" : _write_prefix, + "everything" : _write_everything, }