Skip to content

Commit 7fd2e53

Browse files
authored
Fix issues with DNSSEC (hestiacp#3001)
* Fix rebuild + icon in list_dns * Prevent master="ip" overwritten multiple times * Add option to add / edit DS key * Fix issue when value is empty
1 parent ca58793 commit 7fd2e53

File tree

5 files changed

+20
-17
lines changed

5 files changed

+20
-17
lines changed

bin/v-add-remote-dns-domain

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ source_conf "$HESTIA/conf/hestia.conf"
3333
check_args '2' "$#" 'USER DOMAIN [FLUSH]'
3434
is_format_valid 'user' 'domain'
3535
if [ -n "$flush" ]; then
36-
is_type_valid "records yes no" "$flush"
36+
is_type_valid "records yes no" "$flush"
3737
fi
3838
is_system_enabled "$DNS_CLUSTER" 'DNS_CLUSTER'
3939
is_procces_running
@@ -56,46 +56,47 @@ if [ -z "$str" ]; then
5656
fi
5757
exit
5858
fi
59+
if [ "$DNS_CLUSTER_SYSTEM" = "zone" ]; then
60+
str=$(echo "$str" | sed "s/SLAVE='no'/SLAVE='yes'/g");
61+
str=$(echo "$str" | sed "s/SLAVE=''/SLAVE='yes'/g");
62+
ip=$($BIN/v-list-sys-ips plain | cut -f1);
63+
str=$(echo "$str" | sed "s/MASTER=''/MASTER='$ip'/g");
64+
fi
5965

6066
IFS=$'\n'
6167
for cluster in $(grep "SUSPENDED='no'" $HESTIA/conf/dns-cluster.conf); do
62-
6368
# Reset user, password and hash vars
6469
clear_dns_cluster_settings
65-
70+
6671
# Parsing remote dns host parameters
6772
parse_object_kv_list "$cluster"
6873

6974
# Parsing domain parameters
7075
parse_object_kv_list "$str"
7176

7277
if [ "$DNS_CLUSTER_SYSTEM" = "zone" ]; then
73-
str=$(echo "$str" | sed "s/SLAVE='no'/SLAVE='yes'/g");
74-
ip=$($BIN/v-list-sys-ips plain | cut -f1);
75-
str=$(echo "$str" | sed "s/MASTER='*'/MASTER='$ip'/g");
76-
7778
# Syncing domain data
7879
cluster_cmd v-insert-dns-domain $DNS_USER "$str" $HOSTNAME $flush 'no'
7980
check_result $? "$HOST connection failed" "$E_CONNECT"
80-
81+
8182
cluster_cmd v-rebuild-dns-domain $DNS_USER $domain 'yes' 'no'
8283
check_result $? "$HOST connection failed" "$E_CONNECT"
83-
84+
8485
rndc notify $domain > /dev/null 2>&1
8586
else
8687
# Syncing domain data
8788
cluster_cmd v-insert-dns-domain $DNS_USER "$str" $HOSTNAME $flush 'no'
8889
check_result $? "$HOST connection failed" "$E_CONNECT"
89-
90+
9091
# Syncing domain records
9192
tmp_file="/tmp/vst-sync.$DOMAIN"
9293
cluster_file $USER_DATA/dns/$DOMAIN.conf $tmp_file
9394
check_result $? "$HOST connection failed" "$E_CONNECT"
94-
95+
9596
# Inserting synced records
9697
cluster_cmd v-insert-dns-records $DNS_USER $DOMAIN $tmp_file 'no'
9798
check_result $? "$HOST connection failed" "$E_CONNECT"
98-
99+
99100
# Rebuilding dns zone
100101
cluster_cmd v-rebuild-dns-domain $DNS_USER $domain 'yes' 'no'
101102
check_result $? "$HOST connection failed" "$E_CONNECT"

install/upgrade/versions/1.7.0.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,18 @@
1818
upgrade_config_set_value 'UPGRADE_UPDATE_WEB_TEMPLATES' 'no'
1919
upgrade_config_set_value 'UPGRADE_UPDATE_DNS_TEMPLATES' 'no'
2020
upgrade_config_set_value 'UPGRADE_UPDATE_MAIL_TEMPLATES' 'no'
21-
upgrade_config_set_value 'UPGRADE_REBUILD_USERS' 'no'
21+
upgrade_config_set_value 'UPGRADE_REBUILD_USERS' 'yes'
2222
upgrade_config_set_value 'UPGRADE_UPDATE_FILEMANAGER_CONFIG' 'false'
2323

2424
# Make sure to sync install quoteshell arg
25-
if [ "$FILE_MANAGER" = "true" ]; then
25+
if [ "$FILE_MANAGER" = "true" ]; then
2626
$HESTIA/bin/v-delete-sys-filemanager quiet
27-
$HESTIA/bin/v-add-sys-filemanager quiet
27+
$HESTIA/bin/v-add-sys-filemanager quiet
2828
fi
2929

3030
packages=$(ls --sort=time $HESTIA/data/packages |grep .pkg)
3131
for package in $packages; do
3232
if [ -z "$(grep -e 'RATE_LIMIT' $HESTIA/data/packages/$package)" ]; then
3333
echo "RATE_LIMIT='200'" >> $HESTIA/data/packages/$package
3434
fi
35-
done
35+
done

web/templates/pages/add_dns_rec.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ <h1 class="page-title"><?=_('Adding DNS Record');?></h1>
4141
<option value="CAA" <?php if ($v_type == 'CAA') echo "selected"; ?>>CAA</option>
4242
<option value="CNAME" <?php if ($v_type == 'CNAME') echo "selected"; ?>>CNAME</option>
4343
<option value="DNSKEY" <?php if ($v_type == 'DNSKEY') echo "selected"; ?>>DNSKEY</option>
44+
<option value="DS" <?php if ($v_type == 'DS') echo "selected"; ?>>DS</option>
4445
<option value="IPSECKEY" <?php if ($v_type == 'IPSECKEY') echo "selected"; ?>>IPSECKEY</option>
4546
<option value="KEY" <?php if ($v_type == 'KEY') echo "selected"; ?>>KEY</option>
4647
<option value="MX" <?php if ($v_type == 'MX') echo "selected"; ?>>MX</option>

web/templates/pages/edit_dns_rec.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ <h1 class="page-title"><?=_('Editing DNS Record');?></h1>
4242
<option value="CAA" <?php if ($v_type == 'CAA') echo "selected"; ?>>CAA</option>
4343
<option value="CNAME" <?php if ($v_type == 'CNAME') echo "selected"; ?>>CNAME</option>
4444
<option value="DNSKEY" <?php if ($v_type == 'DNSKEY') echo "selected"; ?>>DNSKEY</option>
45+
<option value="DS" <?php if ($v_type == 'DS') echo "selected"; ?>>DS</option>
4546
<option value="IPSECKEY" <?php if ($v_type == 'IPSECKEY') echo "selected"; ?>>IPSECKEY</option>
4647
<option value="KEY" <?php if ($v_type == 'KEY') echo "selected"; ?>>KEY</option>
4748
<option value="MX" <?php if ($v_type == 'MX') echo "selected"; ?>>MX</option>

web/templates/pages/list_dns.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@
9292
$spnd_icon = 'fa-pause';
9393
$spnd_confirmation = _('SUSPEND_DOMAIN_CONFIRMATION');
9494
}
95-
if ($data[$key]['DNSSEC'] == 'no') {
95+
if ($data[$key]['DNSSEC'] !== 'yes') {
9696
$dnssec_icon = 'fa-times-circle';
9797
} else {
9898
$dnssec_icon = 'fa-check-circle';

0 commit comments

Comments
 (0)