DNS Diagnostics - Allow for domain administrator

Signed-off-by: Kristián Feldsam <feldsam@gmail.com>
This commit is contained in:
Kristián Feldsam 2018-01-16 00:06:01 +01:00
parent 9fa20e229c
commit 9f258df883
1 changed files with 70 additions and 67 deletions

View File

@ -7,7 +7,7 @@ define('state_missing', '<span class="glyphicon glyphicon-remove text-danger"></
define('state_nomatch', "?"); define('state_nomatch', "?");
define('state_optional', " <sup>2</sup>"); define('state_optional', " <sup>2</sup>");
if (isset($_SESSION['mailcow_cc_role']) && $_SESSION['mailcow_cc_role'] == "admin") { if (isset($_SESSION['mailcow_cc_role']) && ($_SESSION['mailcow_cc_role'] == "admin"|| $_SESSION['mailcow_cc_role'] == "domainadmin")) {
$domains = mailbox('get', 'domains'); $domains = mailbox('get', 'domains');
foreach(mailbox('get', 'domains') as $dn) { foreach(mailbox('get', 'domains') as $dn) {
@ -77,17 +77,19 @@ $spf_link = '<a href="http://www.openspf.org/SPF_Record_Syntax" target="_blank">
$dmarc_link = '<a href="http://www.kitterman.com/dmarc/assistant.html" target="_blank">DMARC Assistant</a>'; $dmarc_link = '<a href="http://www.kitterman.com/dmarc/assistant.html" target="_blank">DMARC Assistant</a>';
$records = array(); $records = array();
$records[] = array( if($_SESSION['mailcow_cc_role'] == "admin")
{
$records[] = array(
$mailcow_hostname, $mailcow_hostname,
'A', 'A',
$ip $ip
); );
$records[] = array( $records[] = array(
$ptr, $ptr,
'PTR', 'PTR',
$mailcow_hostname $mailcow_hostname
); );
if (!empty($ip6)) { if (!empty($ip6)) {
$records[] = array( $records[] = array(
$mailcow_hostname, $mailcow_hostname,
'AAAA', 'AAAA',
@ -98,52 +100,53 @@ if (!empty($ip6)) {
'PTR', 'PTR',
$mailcow_hostname $mailcow_hostname
); );
} }
$records[] = array( $records[] = array(
'_25._tcp.' . $autodiscover_config['smtp']['server'], '_25._tcp.' . $autodiscover_config['smtp']['server'],
'TLSA', 'TLSA',
generate_tlsa_digest($autodiscover_config['smtp']['server'], 25, 1) generate_tlsa_digest($autodiscover_config['smtp']['server'], 25, 1)
); );
$records[] = array( $records[] = array(
'_' . $https_port . '._tcp.' . $mailcow_hostname, '_' . $https_port . '._tcp.' . $mailcow_hostname,
'TLSA', 'TLSA',
generate_tlsa_digest($mailcow_hostname, $https_port) generate_tlsa_digest($mailcow_hostname, $https_port)
); );
$records[] = array( $records[] = array(
'_' . $autodiscover_config['pop3']['tlsport'] . '._tcp.' . $autodiscover_config['pop3']['server'], '_' . $autodiscover_config['pop3']['tlsport'] . '._tcp.' . $autodiscover_config['pop3']['server'],
'TLSA', 'TLSA',
generate_tlsa_digest($autodiscover_config['pop3']['server'], $autodiscover_config['pop3']['tlsport'], 1) generate_tlsa_digest($autodiscover_config['pop3']['server'], $autodiscover_config['pop3']['tlsport'], 1)
); );
$records[] = array( $records[] = array(
'_' . $autodiscover_config['imap']['tlsport'] . '._tcp.' . $autodiscover_config['imap']['server'], '_' . $autodiscover_config['imap']['tlsport'] . '._tcp.' . $autodiscover_config['imap']['server'],
'TLSA', 'TLSA',
generate_tlsa_digest($autodiscover_config['imap']['server'], $autodiscover_config['imap']['tlsport'], 1) generate_tlsa_digest($autodiscover_config['imap']['server'], $autodiscover_config['imap']['tlsport'], 1)
); );
$records[] = array( $records[] = array(
'_' . $autodiscover_config['smtp']['port'] . '._tcp.' . $autodiscover_config['smtp']['server'], '_' . $autodiscover_config['smtp']['port'] . '._tcp.' . $autodiscover_config['smtp']['server'],
'TLSA', 'TLSA',
generate_tlsa_digest($autodiscover_config['smtp']['server'], $autodiscover_config['smtp']['port']) generate_tlsa_digest($autodiscover_config['smtp']['server'], $autodiscover_config['smtp']['port'])
); );
$records[] = array( $records[] = array(
'_' . $autodiscover_config['smtp']['tlsport'] . '._tcp.' . $autodiscover_config['smtp']['server'], '_' . $autodiscover_config['smtp']['tlsport'] . '._tcp.' . $autodiscover_config['smtp']['server'],
'TLSA', 'TLSA',
generate_tlsa_digest($autodiscover_config['smtp']['server'], $autodiscover_config['smtp']['tlsport'], 1) generate_tlsa_digest($autodiscover_config['smtp']['server'], $autodiscover_config['smtp']['tlsport'], 1)
); );
$records[] = array( $records[] = array(
'_' . $autodiscover_config['imap']['port'] . '._tcp.' . $autodiscover_config['imap']['server'], '_' . $autodiscover_config['imap']['port'] . '._tcp.' . $autodiscover_config['imap']['server'],
'TLSA', 'TLSA',
generate_tlsa_digest($autodiscover_config['imap']['server'], $autodiscover_config['imap']['port']) generate_tlsa_digest($autodiscover_config['imap']['server'], $autodiscover_config['imap']['port'])
); );
$records[] = array( $records[] = array(
'_' . $autodiscover_config['pop3']['port'] . '._tcp.' . $autodiscover_config['pop3']['server'], '_' . $autodiscover_config['pop3']['port'] . '._tcp.' . $autodiscover_config['pop3']['server'],
'TLSA', 'TLSA',
generate_tlsa_digest($autodiscover_config['pop3']['server'], $autodiscover_config['pop3']['port']) generate_tlsa_digest($autodiscover_config['pop3']['server'], $autodiscover_config['pop3']['port'])
); );
$records[] = array( $records[] = array(
'_' . $autodiscover_config['sieve']['port'] . '._tcp.' . $autodiscover_config['sieve']['server'], '_' . $autodiscover_config['sieve']['port'] . '._tcp.' . $autodiscover_config['sieve']['server'],
'TLSA', 'TLSA',
generate_tlsa_digest($autodiscover_config['sieve']['server'], $autodiscover_config['sieve']['port'], 1) generate_tlsa_digest($autodiscover_config['sieve']['server'], $autodiscover_config['sieve']['port'], 1)
); );
}
$records[] = array( $records[] = array(
$domain, $domain,
'MX', 'MX',