Implement general CAA DNS records for all issuers

This commit is contained in:
Marc-André Kolly
2019-07-28 16:28:29 +02:00
parent d4e5e32c14
commit 64fe300e42
9 changed files with 51 additions and 52 deletions

View File

@@ -131,9 +131,15 @@ class Dns
}
// additional required records for CAA if activated
if ($domain['caa'] == '1') {
if (!is_null($domain['caa'])) {
// check for CAA content later
self::addRequiredEntry('@', 'CAA', $required_entries);
// additional required records by subdomain setting
if ($domain['iswildcarddomain'] == '1') {
self::addRequiredEntry('*', 'CAA', $required_entries);
} elseif ($domain['wwwserveralias'] == '1') {
self::addRequiredEntry('www', 'CAA', $required_entries);
}
}
// additional required records for SPF and DKIM if activated
@@ -287,7 +293,16 @@ class Dns
// CAA
if (array_key_exists("CAA", $required_entries)) {
$zonerecords[] = new DnsEntry('@', 'CAA', '0 issue "letsencrypt.org"');
foreach ($required_entries as $type => $records) {
if ($type == 'CAA') {
foreach ($records as $record) {
$caa_entries = explode(PHP_EOL, $domain['caa']);
foreach ($caa_entries as $entry) {
$zonerecords[] = new DnsEntry($record, 'CAA', self::encloseTXTContent($entry));
}
}
}
}
}
}