Skip to content

Commit d17ae00

Browse files
author
Florian Schaal
committed
Hide DNSSEC from SOA if DNS-Mirrors are available (prevents broken DNSSEC-Implementaion on Multiserver-Setups)
1 parent c33ec08 commit d17ae00

File tree

2 files changed

+30
-2
lines changed

2 files changed

+30
-2
lines changed

interface/web/dns/dns_soa_edit.php

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,18 @@ function onShowEnd() {
8585
$app->uses('ini_parser,getconf');
8686
$settings = $app->getconf->get_global_config('domains');
8787

88+
//* TODO: store dnssec-keys in the database - see below for non-admin-users
89+
//* hide dnssec if we found dns-mirror-servers
90+
if($this->id > 0) {
91+
$sql = "SELECT count(*) AS count FROM server WHERE mirror_server_id = ?";
92+
$rec=$app->db->queryOneRecord($sql, $this->dataRecord['server_id']);
93+
} else {
94+
$sql = "SELECT count(*) AS count FROM server WHERE mirror_server_id > 0 and dns_server = 1";
95+
$rec=$app->db->queryOneRecord($sql);
96+
}
97+
$show_dnssec=@($rec['count'] > 0)?0:1;
98+
$app->tpl->setVar('show_dnssec', $show_dnssec);
99+
88100
/*
89101
* Now we have to check, if we should use the domain-module to select the domain
90102
* or not
@@ -135,6 +147,20 @@ function onShowEnd() {
135147
$client_group_id = $_SESSION["s"]["user"]["default_group"];
136148
$client_dns = $app->db->queryOneRecord("SELECT dns_servers FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = ?", $client_group_id);
137149

150+
//* TODO: store dnssec-keys in the database
151+
//* hide dnssec if we found dns-mirror-servers
152+
$temp_rec=explode(",", $client_dns['dns_servers']);
153+
$sql = "SELECT count(*) AS count FROM server WHERE mirror_server_id = ?";
154+
foreach($temp_rec as $temp) {
155+
$rec=$app->db->queryOneRecord($sql, $temp);
156+
if ($rec['count'] > 0) {
157+
break;
158+
}
159+
}
160+
$show_dnssec=@($rec['count'] > 0)?0:1;
161+
$app->tpl->setVar('show_dnssec', $show_dnssec);
162+
163+
138164
$client_dns['dns_servers_ids'] = explode(',', $client_dns['dns_servers']);
139165

140166
$only_one_server = count($client_dns['dns_servers_ids']) === 1;

interface/web/dns/templates/dns_soa_edit.htm

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ <h1><tmpl_var name="list_head_txt"></h1>
125125
</div>
126126
</div>
127127

128+
<tmpl_if name="show_dnssec">
128129
<div class="form-group">
129130
<label class="col-sm-3 control-label">{tmpl_var name='dnssec_wanted_txt'}</label>
130131
<div class="col-sm-9">
@@ -135,7 +136,8 @@ <h1><tmpl_var name="list_head_txt"></h1>
135136
<label for="update_acl" class="col-sm-3 control-label">{tmpl_var name='dnssec_info_txt'}</label>
136137
<div class="col-sm-9"><textarea readonly="true" rows="5" id="dnssec_info" name="dnssec_info" class="form-control">{tmpl_var name='dnssec_info'}</textarea></div>
137138
</div>
138-
139+
</tmpl_if>
140+
139141
<input type="hidden" name="id" value="{tmpl_var name='id'}">
140142
<input name="serial" type="hidden" value="{tmpl_var name='serial'}">
141143

@@ -170,4 +172,4 @@ <h1><tmpl_var name="list_head_txt"></h1>
170172
searchFieldWatermark: '',
171173
resultBoxPosition: ''
172174
});
173-
</script>
175+
</script>

0 commit comments

Comments
 (0)