Skip to content

Commit 346212f

Browse files
author
Till Brehm
committed
Merge branch 'develop' into 'develop'
#5741 - valid DKIM record for bind on create & update mail doman See merge request ispconfig/ispconfig3!1179
2 parents 0ba284c + 3d42af0 commit 346212f

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

interface/web/mail/mail_domain_edit.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,13 @@ function onShowEnd() {
219219
$sql = "SELECT domain, dkim_private, dkim_public, dkim_selector FROM mail_domain WHERE domain_id = ?";
220220
$rec = $app->db->queryOneRecord($sql, $app->functions->intval($_GET['id']));
221221
$dns_key = str_replace(array('-----BEGIN PUBLIC KEY-----','-----END PUBLIC KEY-----',"\r","\n"),'',$rec['dkim_public']);
222-
$dns_record = $rec['dkim_selector'] . '._domainkey.' . $rec['domain'] . '. 3600 TXT v=DKIM1; t=s; p=' . $dns_key;
222+
223+
$keyparts = str_split('v=DKIM1; t=s; p=' . $dns_key, 200);
224+
array_walk($keyparts, function(&$value, $key) { $value = '"'.$value.'"'; } );
225+
$dkim_txt = implode('', $keyparts);
226+
227+
$dns_record = $rec['dkim_selector'] . '._domainkey.' . $rec['domain'] . '. 3600 IN TXT '.$dkim_txt;
228+
223229
$app->tpl->setVar('dkim_selector', $rec['dkim_selector'], true);
224230
$app->tpl->setVar('dkim_private', $rec['dkim_private'], true);
225231
$app->tpl->setVar('dkim_public', $rec['dkim_public'], true);

interface/web/mail/templates/mail_domain_edit.htm

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,9 @@
134134
dkim_selector : dkim_selector,
135135
type : "create_dkim"
136136
}, function(data) {
137-
var dns=data['dkim_selector'] + '._domainkey.' + data['domain'] + '. 3600 TXT v=DKIM1; t=s; p=' + data['dns_record'];
137+
var dkim_txt = 'v=DKIM1; t=s; p=' + data['dns_record'].replace(/(\r\n|\n|\r)/gm, "");
138+
var dns=data['dkim_selector'] + '._domainkey.' + data['domain'] + '. 3600 IN TXT ' + dkim_txt.match(new RegExp('.{1,' + '200' + '}', 'g')).map(chunk => '"' + chunk + '"').join('');
139+
138140
$("#dkim_selector").val(data.dkim_selector);
139141
$("#dkim_public").val(data.dkim_public);
140142
$("#dkim_private").val(data.dkim_private);

0 commit comments

Comments
 (0)