From: Michael Tremer Date: Sun, 21 Dec 2025 11:07:55 +0000 (+0000) Subject: exporters: Use an appropriate prefix for the zones X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8dc0f11e9f1d2c74c0c3d9d4563d28c2c21653b7;p=dbl.git exporters: Use an appropriate prefix for the zones Signed-off-by: Michael Tremer --- diff --git a/src/dnsbl/exporters.py b/src/dnsbl/exporters.py index dfc6ddf..5f579c0 100644 --- a/src/dnsbl/exporters.py +++ b/src/dnsbl/exporters.py @@ -155,11 +155,14 @@ class ZoneExporter(TextExporter): # Write the header self.write_header(f, ";") + # Fetch the zone's origin + origin = self.list.zone(prefix=self.prefix) + # Make the serial serial = self.list.updated_at.strftime("%s") # Write $ORIGIN - f.write("$ORIGIN %s\n" % self.list.zone) + f.write("$ORIGIN %s\n" % origin) # Set the TTL f.write("$TTL %s\n" % ttl) @@ -191,6 +194,7 @@ class BlocklistExporter(ZoneExporter): """ Exports the list as a regular DNSBL zone file """ + prefix = "dnsbl" type = "A" content = "127.0.0.2" @@ -199,6 +203,7 @@ class RPZExporter(ZoneExporter): """ Exports the list as a RPZ zone file """ + prefix = "rpz" type = "CNAME" content = "." diff --git a/src/dnsbl/lists.py b/src/dnsbl/lists.py index 79ea476..24001da 100644 --- a/src/dnsbl/lists.py +++ b/src/dnsbl/lists.py @@ -202,9 +202,13 @@ class List(sqlmodel.SQLModel, database.BackendMixin, table=True): sa_column_kwargs = {"server_default" : sqlmodel.text("CURRENT_TIMESTAMP")} ) - @functools.cached_property - def zone(self): - return "%s.dnsbl.ipfire.org." % self.slug + def zone(self, prefix=None): + s = ( + self.slug, prefix, "ipfire.org.", + ) + + # Join it all together + return ".".join(e for e in s if e) @property def domains(self):