From fdfce5ca6da790de03622fbbf5356602c64009fd Mon Sep 17 00:00:00 2001 From: Adrian Helle Reichelt Date: Wed, 20 May 2026 23:06:01 +0200 Subject: [PATCH] feat(bind): add support for SPF per host --- mdb/admin.py | 1 + mdb/models.py | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/mdb/admin.py b/mdb/admin.py index 2a3a1fa..e27c544 100644 --- a/mdb/admin.py +++ b/mdb/admin.py @@ -84,6 +84,7 @@ class HostAdmin(admin.ModelAdmin): ("brand", "model"), "serial_number", ("operating_system", "virtual"), + "allow_email", ) }, ), diff --git a/mdb/models.py b/mdb/models.py index b46e86d..4cb39b9 100644 --- a/mdb/models.py +++ b/mdb/models.py @@ -116,12 +116,16 @@ class Domain(models.Model): host.hostname, interface.ip4address.address, ) + for ipv6addr in interface.ip6address_set.all(): content += "%-20s\tIN\tAAAA\t%s\n" % ( host.hostname, ipv6addr.full_address(), ) + if host.allow_email: + content += f'{host.hostname}\tTXT\t"v=spf1 mx -all"\n' + return content @@ -508,6 +512,7 @@ class Host(models.Model): created_date = models.DateTimeField(auto_now_add=True) host_type = models.ForeignKey(HostType, models.CASCADE) # FIXME: SET_NULL? virtual = models.BooleanField(default=False) + allow_email = models.BooleanField(default=False) operating_system = models.ForeignKey( OperatingSystem, models.CASCADE ) # FIXME: SET_NULL?