outsource some dns functions to own files; allow opening of dns-editor only for domains that belong to the user (or the user has permission to edit as admin/reseller)
Signed-off-by: Michael Kaufmann (d00p) <d00p@froxlor.org>
This commit is contained in:
@@ -278,77 +278,6 @@ function addRequiredEntry($record = '@', $type = 'A', &$required)
|
||||
$required[$type][md5($record)] = $record;
|
||||
}
|
||||
|
||||
function generateDkimEntries($domain)
|
||||
{
|
||||
$zone_dkim = array();
|
||||
|
||||
if (Settings::Get('dkim.use_dkim') == '1' && $domain['dkim'] == '1' && $domain['dkim_pubkey'] != '') {
|
||||
// start
|
||||
$dkim_txt = 'v=DKIM1;';
|
||||
|
||||
// algorithm
|
||||
$algorithm = explode(',', Settings::Get('dkim.dkim_algorithm'));
|
||||
$alg = '';
|
||||
foreach ($algorithm as $a) {
|
||||
if ($a == 'all') {
|
||||
break;
|
||||
} else {
|
||||
$alg .= $a . ':';
|
||||
}
|
||||
}
|
||||
|
||||
if ($alg != '') {
|
||||
$alg = substr($alg, 0, - 1);
|
||||
$dkim_txt .= 'h=' . $alg . ';';
|
||||
}
|
||||
|
||||
// notes
|
||||
if (trim(Settings::Get('dkim.dkim_notes') != '')) {
|
||||
$dkim_txt .= 'n=' . trim(Settings::Get('dkim.dkim_notes')) . ';';
|
||||
}
|
||||
|
||||
// key
|
||||
$dkim_txt .= 'k=rsa;p=' . trim(preg_replace('/-----BEGIN PUBLIC KEY-----(.+)-----END PUBLIC KEY-----/s', '$1', str_replace("\n", '', $domain['dkim_pubkey']))) . ';';
|
||||
|
||||
// service-type
|
||||
if (Settings::Get('dkim.dkim_servicetype') == '1') {
|
||||
$dkim_txt .= 's=email;';
|
||||
}
|
||||
|
||||
// end-part
|
||||
$dkim_txt .= 't=s';
|
||||
|
||||
// split if necessary
|
||||
$txt_record_split = '';
|
||||
$lbr = 50;
|
||||
for ($pos = 0; $pos <= strlen($dkim_txt) - 1; $pos += $lbr) {
|
||||
$txt_record_split .= (($pos == 0) ? '("' : "\t\t\t\t\t \"") . substr($dkim_txt, $pos, $lbr) . (($pos >= strlen($dkim_txt) - $lbr) ? '")' : '"') . "\n";
|
||||
}
|
||||
|
||||
// dkim-entry
|
||||
$zone_dkim[] = $txt_record_split;
|
||||
|
||||
// adsp-entry
|
||||
if (Settings::Get('dkim.dkim_add_adsp') == "1") {
|
||||
$adsp = '"dkim=';
|
||||
switch ((int) Settings::Get('dkim.dkim_add_adsppolicy')) {
|
||||
case 0:
|
||||
$adsp .= 'unknown"';
|
||||
break;
|
||||
case 1:
|
||||
$adsp .= 'all"';
|
||||
break;
|
||||
case 2:
|
||||
$adsp .= 'discardable"';
|
||||
break;
|
||||
}
|
||||
$zone_dkim[] = $adsp;
|
||||
}
|
||||
}
|
||||
|
||||
return $zone_dkim;
|
||||
}
|
||||
|
||||
function encloseTXTContent($txt_content, $isMultiLine = false)
|
||||
{
|
||||
// check that TXT content is enclosed in " "
|
||||
|
||||
Reference in New Issue
Block a user