mirror of
https://github.com/jwinterm/modoboa.git
synced 2026-10-18 05:51:26 +02:00
#1420 fix DKIM bind record
TXT records longer than 255 characters need split into chunks fixes #1420
This commit is contained in:
@@ -206,8 +206,21 @@ class Domain(AdminObject):
|
||||
@property
|
||||
def bind_format_dkim_public_key(self):
|
||||
"""Return DKIM public key using Bind format."""
|
||||
return "{}._domainkey.{}. 10800 IN TXT \"v=DKIM1; k=rsa; p={}\"".format(
|
||||
self.dkim_key_selector, self.name, self.dkim_public_key)
|
||||
record = "v=DKIM1;k=rsa;p=%s" % self.dkim_public_key
|
||||
# TXT records longer than 255 characters need split into chunks
|
||||
# split record into 74 character chunks (+2 for indent, +2 for quotes(")
|
||||
# == 78 characters) to make more readable in text editors.
|
||||
split_record = []
|
||||
while record:
|
||||
if len(record) > 74:
|
||||
split_record.append(" \"%s\"" % record[:74])
|
||||
record = record[74:]
|
||||
else:
|
||||
split_record.append(" \"%s\"" % record)
|
||||
break
|
||||
record = "\n".join(split_record)
|
||||
return "{}._domainkey.{}. 10800 IN TXT (\n{})".format(
|
||||
self.dkim_key_selector, self.name, record)
|
||||
|
||||
def add_admin(self, account):
|
||||
"""Add a new administrator to this domain.
|
||||
|
||||
Reference in New Issue
Block a user