ソースを参照

Merge branch 'beta/1.6.0' into main

Jaap Marcus 3 年 前
コミット
384464a3ea

+ 2 - 2
.drone.yml

@@ -158,7 +158,7 @@ steps:
         port: 22
         port: 22
         command_timeout: 2m
         command_timeout: 2m
         script:
         script:
-            - freight-add ./hestia/*.deb apt/bionic apt/focal apt/stretch apt/buster apt/bullseye
+            - freight-add ./hestia/*.deb apt/bionic apt/focal apt/jammy apt/stretch apt/buster apt/bullseye
             - freight-cache
             - freight-cache
             - rm -fr ./hestia/
             - rm -fr ./hestia/
   
   
@@ -167,4 +167,4 @@ trigger:
 
 
 ---
 ---
 kind: signature
 kind: signature
-hmac: fc8c5e5e36ef990ef96ad8c03d55adb814fe8021a40e67877d7dc84a7c36a12f
+hmac: 980aea20314dab4328b0016eb35fa3ef18fdd46e5d891c7ab3809f704891e72b

+ 57 - 1
CHANGELOG.md

@@ -1,13 +1,69 @@
 # Changelog
 # Changelog
 All notable changes to this project will be documented in this file.
 All notable changes to this project will be documented in this file.
 
 
+## [1.6.0] - Major Release (Feature / Quality Update)
+
+### Breaking changes
+- Dropped support for Debian 9 for new installs (#2537)
+- Dropped support for RSSH for Debian 9 and Ubuntu 18.04 on install (#2537)
+- Dropped support for TLS1.1 and older for Dovecot (#2012 and #2538)
+- Added support for Yescrypt  (#2235 / #2499) Breaking possible restores from Debian 11 / Ubuntu 22.04 to older Operating version (Change user password to solve the issue)
+- Added support for ARGON2ID for mail accounts (#2421)  Breaking possible restores form Debian 10 and 11, Ubuntu 20.04 and 22.04 to Ubuntu 18.04 / Debian 9
+
+### Features
+
+- Added support for Ubuntu 22.04 Jammy (#2537 #2489)
+- Added support Exim rate limits for email accounts via UI (#2225 and #2523 @madito)
+- Added support to delete spam when reaching certain threshold (#2206 and #2200 @madito)
+- Added support to send mail to an unauthenticated SMTP relay (#2441 @clarkchentw)
+- Replace default MD5 encoding with ARGON2ID for Debian 10 and Ubuntu 20.04 and higher (#2421 @stsimb)
+- Added support for Yescrypt  (#2235 / #2499) 
+- Upgrade backend to PHP8.1 due to compatibility issues Jammy (#2515)
+- Introduce new api allowing users to use certain commands over API (#2535 and #1333)
+- Allow "Purge" cache button visible on templates with the name cacheing-your-template-name (#2526 #2530)
+- Add hooks to hestia-nginx and hestia-php (#2440)
+
+### Bugfixes
+
+- Fixed an issue where --hostname and --email did not validated when using --interactive no (#2532 #2531)
+- Fixed an issue with the detection if MariaDB 10.7 was running (#2536 @gOOvER)
+- Fixed an issue with downloading a backup as a standard user (#2524 #2525)
+- Remove duplicated package installer (#2520 @rfzh1996)
+- Fixed an issue with "Do not allow user to login" checkbox sync up with real settings (#2507 #2513)
+- Fixed an issue where deleting a suspended users did not decrease the suspended user counter (#2504 #2531)
+- Fixed an issue where domain with redirect enabled was not able to "request" Lets encrypt ssl (#2514 #2176)
+- Add an notice when using Blackblaze on a ARM64 based server (#2394 @zedpr0)
+- Add rsyslog as a dependency (#2505)
+- Fixed an issue when a user import a backup a let's encrypt cronjob was not created on default. (#2498 @NickCoolii)
+- Add missing translation conversions in backup list (#2501)
+- Update example in v-add-web-domain-backend (#2500 gingerbeardman)
+- Update example in v-add-letsencrypt-domain (#2442)
+- Fixed an issue in configure-server-smtp.sh by loading /etc/hestiacp/hestia.conf (#2488)
+- Update Cloudflare ips in nginx.conf (#2542 @clarkchentw)
+- Remove duplicate code in Ubuntu installer (#2542 @clarkchentw)
+- Fixed an issue in Nginx + Apache2 mail "disabled" template. Causing users unable to request an valid ssl certificate (#2550 #2549)
+- Fixed an issue with "Reject spam" option not working (#2551 #2545)
+- Fixed an issue with Editing / Adding DNS records (#2546, #2547, #2548 @DuoCZ) 
+
+### Dependencies
+- Update hestia-nginx to 1.21.6
+    - Update openssl to 3.0.2
+    - Update zlib to 1.2.12
+- Update hestia-php to 8.1.5
+
+
+## [1.5.13] - Service release
+
+### Bugfixes
+
+- Fixed an issue in add / change dns record via GUI. (#2557)
+
 ## [1.5.12] - Service release
 ## [1.5.12] - Service release
 
 
 ### Bugfixes
 ### Bugfixes
 
 
 - Fixed vulnerability with Sed [CVE-2022-1509](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-1509)
 - Fixed vulnerability with Sed [CVE-2022-1509](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-1509)
 - Remove localhost exception for invalidating sessions [SSD disclosure](https://ssd-disclosure.com/ssd-advisory-vestacp-multiple-vulnerabilities/)
 - Remove localhost exception for invalidating sessions [SSD disclosure](https://ssd-disclosure.com/ssd-advisory-vestacp-multiple-vulnerabilities/)
-- 
 
 
 ## [1.5.11] - Service release
 ## [1.5.11] - Service release
 
 

+ 5 - 6
README.md

@@ -2,7 +2,7 @@
 
 
 [Hestia Control Panel](https://www.hestiacp.com/)
 [Hestia Control Panel](https://www.hestiacp.com/)
 ==================================================
 ==================================================
-**Latest stable release:** Version 1.5.12 | [View Changelog](https://github.com/hestiacp/hestiacp/blob/release/CHANGELOG.md) | [![Build Status](https://drone.hestiacp.com/api/badges/hestiacp/hestiacp/status.svg?ref=refs/heads/main)](https://drone.hestiacp.com/hestiacp/hestiacp) <br>
+**Latest stable release:** Version 1.6.0 | [View Changelog](https://github.com/hestiacp/hestiacp/blob/release/CHANGELOG.md) | [![Build Status](https://drone.hestiacp.com/api/badges/hestiacp/hestiacp/status.svg?ref=refs/heads/main)](https://drone.hestiacp.com/hestiacp/hestiacp) <br>
 
 
 **Web:** [www.hestiacp.com](https://www.hestiacp.com/)<br>
 **Web:** [www.hestiacp.com](https://www.hestiacp.com/)<br>
 **Documentation:** [docs.hestiacp.com](https://docs.hestiacp.com/)<br>
 **Documentation:** [docs.hestiacp.com](https://docs.hestiacp.com/)<br>
@@ -34,14 +34,13 @@ Supported platforms and operating systems
 
 
 AMD (x86_64 Intel/AMD)
 AMD (x86_64 Intel/AMD)
 ----------------------------
 ----------------------------
-* **Debian:** 11, 10 or 9
-* **Ubuntu:** 20.04 LTS or 18.04 LTS
+* **Debian:** 11 or 10
+* **Ubuntu:** 22.04 LTS, 20.04 LTS or 18.04 LTS
 
 
 ARM64 (arm64)
 ARM64 (arm64)
 ----------------------------
 ----------------------------
-* **Debian:** 11, 10, 9
-* **Ubuntu:** 20.04 LTS or 18.04 LTS
-* **NOTE:** ARM 64 bit processors only! ARM 32bit (armhf) is currently not supported!
+* **Debian:** 11 or 10
+* **Ubuntu:** 22.04 LTS, 20.04 LTS or 18.04 LTS
 
 
 Installing Hestia Control Panel
 Installing Hestia Control Panel
 ============================
 ============================

+ 2 - 1
bin/v-add-web-domain

@@ -122,9 +122,10 @@ done
 chown -R $user:$user $HOMEDIR/$user/web/$domain
 chown -R $user:$user $HOMEDIR/$user/web/$domain
 chown root:$user /var/log/$WEB_SYSTEM/domains/$domain.* $conf
 chown root:$user /var/log/$WEB_SYSTEM/domains/$domain.* $conf
 chmod 640 /var/log/$WEB_SYSTEM/domains/$domain.*
 chmod 640 /var/log/$WEB_SYSTEM/domains/$domain.*
-user_exec chmod 751 $HOMEDIR/$user/web/$domain $HOMEDIR/$user/web/$domain/*
+user_exec chmod 751 $HOMEDIR/$user/web/$domain/*
 user_exec chmod 551 $HOMEDIR/$user/web/$domain/stats $HOMEDIR/$user/web/$domain/logs
 user_exec chmod 551 $HOMEDIR/$user/web/$domain/stats $HOMEDIR/$user/web/$domain/logs
 user_exec chmod 644 $HOMEDIR/$user/web/$domain/public_*html/*
 user_exec chmod 644 $HOMEDIR/$user/web/$domain/public_*html/*
+user_exec chmod 551 $HOMEDIR/$user/web/$domain
 chown --no-dereference $user:www-data $HOMEDIR/$user/web/$domain/public_*html
 chown --no-dereference $user:www-data $HOMEDIR/$user/web/$domain/public_*html
 
 
 # Adding PHP-FPM backend
 # Adding PHP-FPM backend

+ 2 - 1
install/deb/templates/mail/nginx/default_disabled.stpl

@@ -20,5 +20,6 @@ server {
     }
     }
 
 
     proxy_hide_header Upgrade;
     proxy_hide_header Upgrade;
-
+    
+    include %home%/%user%/conf/mail/%root_domain%/%proxy_system%.conf_*;
 }
 }

+ 3 - 0
install/deb/templates/mail/nginx/default_disabled.tpl

@@ -15,4 +15,7 @@ include %home%/%user%/conf/mail/%root_domain%/nginx.forcessl.conf*;
     location / {
     location / {
         proxy_pass  http://%ip%:%web_port%;
         proxy_pass  http://%ip%:%web_port%;
     }
     }
+    
+include %home%/%user%/conf/mail/%root_domain%/%proxy_system%.ssl.conf_*;
+
 }
 }

+ 1 - 1
install/hst-install-debian.sh

@@ -31,7 +31,7 @@ HESTIA_INSTALL_DIR="$HESTIA/install/deb"
 VERBOSE='no'
 VERBOSE='no'
 
 
 # Define software versions
 # Define software versions
-HESTIA_INSTALL_VER='1.6.0~alpha'
+HESTIA_INSTALL_VER='1.6.0~beta-1'
 # Dependencies
 # Dependencies
 pma_v='5.1.3'
 pma_v='5.1.3'
 rc_v="1.6.0"
 rc_v="1.6.0"

+ 2 - 1
install/hst-install-ubuntu.sh

@@ -31,7 +31,7 @@ HESTIA_INSTALL_DIR="$HESTIA/install/deb"
 VERBOSE='no'
 VERBOSE='no'
 
 
 # Define software versions
 # Define software versions
-HESTIA_INSTALL_VER='1.6.0~alpha'
+HESTIA_INSTALL_VER='1.6.0~beta-1'
 # Dependencies
 # Dependencies
 pma_v='5.1.3'
 pma_v='5.1.3'
 rc_v="1.5.2"
 rc_v="1.5.2"
@@ -1298,6 +1298,7 @@ else
         'San Francisco' 'Hestia Control Panel' 'IT' > /tmp/hst.pem
         'San Francisco' 'Hestia Control Panel' 'IT' > /tmp/hst.pem
 fi
 fi
 # Parsing certificate file
 # Parsing certificate file
+crt_end=$(grep -n "END CERTIFICATE-" /tmp/hst.pem |cut -f 1 -d:)
 if [ "$release" = "22.04" ]; then
 if [ "$release" = "22.04" ]; then
   key_start=$(grep -n "BEGIN PRIVATE KEY" /tmp/hst.pem |cut -f 1 -d:)
   key_start=$(grep -n "BEGIN PRIVATE KEY" /tmp/hst.pem |cut -f 1 -d:)
   key_end=$(grep -n  "END PRIVATE KEY" /tmp/hst.pem |cut -f 1 -d:)
   key_end=$(grep -n  "END PRIVATE KEY" /tmp/hst.pem |cut -f 1 -d:)

+ 4 - 4
install/upgrade/versions/1.6.0.sh

@@ -15,16 +15,16 @@
 ####### You can use \n within the string to create new lines.                   #######
 ####### You can use \n within the string to create new lines.                   #######
 #######################################################################################
 #######################################################################################
 
 
-upgrade_config_set_value 'UPGRADE_UPDATE_WEB_TEMPLATES' 'false'
-upgrade_config_set_value 'UPGRADE_UPDATE_DNS_TEMPLATES' 'false'
-upgrade_config_set_value 'UPGRADE_UPDATE_MAIL_TEMPLATES' 'false'
+upgrade_config_set_value 'UPGRADE_UPDATE_WEB_TEMPLATES' 'yes'
+upgrade_config_set_value 'UPGRADE_UPDATE_DNS_TEMPLATES' 'yes'
+upgrade_config_set_value 'UPGRADE_UPDATE_MAIL_TEMPLATES' 'yes'
 upgrade_config_set_value 'UPGRADE_REBUILD_USERS' 'true'
 upgrade_config_set_value 'UPGRADE_REBUILD_USERS' 'true'
 upgrade_config_set_value 'UPGRADE_UPDATE_FILEMANAGER_CONFIG' 'false'
 upgrade_config_set_value 'UPGRADE_UPDATE_FILEMANAGER_CONFIG' 'false'
 
 
 if [ "$MAIL_SYSTEM" = "exim4" ]; then 
 if [ "$MAIL_SYSTEM" = "exim4" ]; then 
     echo "[ * ] Update exim4 config to support rate limits"
     echo "[ * ] Update exim4 config to support rate limits"
     # Upgrade config exim for custom limits
     # Upgrade config exim for custom limits
-    sed -i '115,250 s/ratelimit             = 200 \/ 1h \/ $authenticated_id/          set acl_c_msg_limit = \${if exists{\/etc\/exim4\/domains\/\${lookup{\$sender_address_domain}dsearch{\/etc\/exim4\/domains\/}}\/limits} {\${extract{1}{:}{\${lookup{\$sender_address_local_part@\$sender_address_domain}lsearch{\/etc\/exim4\/domains\/\${lookup{\$sender_address_domain}dsearch{\/etc\/exim4\/domains\/}}\/limits}}}}} {\${readfile{\/etc\/exim4\/limit.conf}}} }\n ratelimit     = \$acl_c_msg_limit \/ 1h \/ strict\/ \$authenticated_idy/g' /etc/exim4/exim4.conf.template
+    sed -i '115,250 s/ratelimit             = 200 \/ 1h \/ $authenticated_id/          set acl_c_msg_limit = \${if exists{\/etc\/exim4\/domains\/\${lookup{\$sender_address_domain}dsearch{\/etc\/exim4\/domains\/}}\/limits} {\${extract{1}{:}{\${lookup{\$sender_address_local_part@\$sender_address_domain}lsearch{\/etc\/exim4\/domains\/\${lookup{\$sender_address_domain}dsearch{\/etc\/exim4\/domains\/}}\/limits}}}}} {\${readfile{\/etc\/exim4\/limit.conf}}} }\n ratelimit     = \$acl_c_msg_limit \/ 1h \/ strict\/ \$authenticated_id/g' /etc/exim4/exim4.conf.template
     sed -i '115,250 s/warn    ratelimit     = 100 \/ 1h \/ strict \/ $authenticated_id/warn    ratelimit     = ${eval:$acl_c_msg_limit \/ 2} \/ 1h \/ strict \/ $authenticated_id/g' /etc/exim4/exim4.conf.template
     sed -i '115,250 s/warn    ratelimit     = 100 \/ 1h \/ strict \/ $authenticated_id/warn    ratelimit     = ${eval:$acl_c_msg_limit \/ 2} \/ 1h \/ strict \/ $authenticated_id/g' /etc/exim4/exim4.conf.template
     # Add missing limit.conf file
     # Add missing limit.conf file
     cp $HESTIA_INSTALL_DIR/exim/limit.conf /etc/exim4/limit.conf
     cp $HESTIA_INSTALL_DIR/exim/limit.conf /etc/exim4/limit.conf

+ 1 - 1
src/deb/hestia/control

@@ -1,7 +1,7 @@
 Source: hestia
 Source: hestia
 Package: hestia
 Package: hestia
 Priority: optional
 Priority: optional
-Version: 1.6.0~alpha
+Version: 1.6.0~beta-1
 Section: admin
 Section: admin
 Maintainer: HestiaCP <info@hestiacp.com>
 Maintainer: HestiaCP <info@hestiacp.com>
 Homepage: https://www.hestiacp.com
 Homepage: https://www.hestiacp.com

+ 1 - 1
src/deb/hestia/copyright

@@ -3,7 +3,7 @@ Upstream-Name: hestia
 Source: https://www.hestiacp.com
 Source: https://www.hestiacp.com
 
 
 Files: *
 Files: *
-Copyright: 2018-2021, Hestia Control Panel <info@hestiacp.com>
+Copyright: 2018-2022, Hestia Control Panel <info@hestiacp.com>
 License: GPL-3.0+
 License: GPL-3.0+
 Remarks: Hestia Control Panel is a fork from VestaCP, special thanks to vestacp.com and Serghey Rodin
 Remarks: Hestia Control Panel is a fork from VestaCP, special thanks to vestacp.com and Serghey Rodin
 
 

+ 1 - 1
src/deb/nginx/copyright

@@ -3,7 +3,7 @@ Upstream-Name: hestia
 Source: https://www.hestiacp.com
 Source: https://www.hestiacp.com
 
 
 Files: *
 Files: *
-Copyright: 2018-2021, Hestia Control Panel <info@hestiacp.com>
+Copyright: 2018-2022, Hestia Control Panel <info@hestiacp.com>
 License: GPL-3.0+
 License: GPL-3.0+
 Remarks: Hestia is a fork from VestaCP, special thanks to vestacp.com and Serghey Rodin
 Remarks: Hestia is a fork from VestaCP, special thanks to vestacp.com and Serghey Rodin
 
 

+ 1 - 1
src/deb/php/copyright

@@ -3,7 +3,7 @@ Upstream-Name: hestia
 Source: https://www.hestiacp.com
 Source: https://www.hestiacp.com
 
 
 Files: *
 Files: *
-Copyright: 2018-2021, Hestia Control Panel <info@hestiacp.com>
+Copyright: 2018-2022, Hestia Control Panel <info@hestiacp.com>
 License: GPL-3.0+
 License: GPL-3.0+
 Remarks: Hestia is a fork from VestaCP, special thanks to vestacp.com and Serghey Rodin
 Remarks: Hestia is a fork from VestaCP, special thanks to vestacp.com and Serghey Rodin
 
 

+ 10 - 5
src/hst_autocompile.sh

@@ -50,6 +50,11 @@ download_file() {
     if [ ! -f "$ARCHIVE_DIR/$filename" ]; then
     if [ ! -f "$ARCHIVE_DIR/$filename" ]; then
         [ "$HESTIA_DEBUG" ] && >&2 echo DEBUG: wget $url -q $dstopt --show-progress --progress=bar:force --limit-rate=3m
         [ "$HESTIA_DEBUG" ] && >&2 echo DEBUG: wget $url -q $dstopt --show-progress --progress=bar:force --limit-rate=3m
         wget $url -q $dstopt --show-progress --progress=bar:force --limit-rate=3m
         wget $url -q $dstopt --show-progress --progress=bar:force --limit-rate=3m
+        if [ $? -ne 0 ]; then
+            >&2 echo "[!] Archive $ARCHIVE_DIR/$filename is corrupted and exit script";
+            rm -f $ARCHIVE_DIR/$filename
+            exit 1;
+        fi
     fi
     fi
 
 
     if [ ! -z "$destination" ] && [ "$is_archive" = "true" ]; then
     if [ ! -z "$destination" ] && [ "$is_archive" = "true" ]; then
@@ -215,9 +220,9 @@ fi
 echo "Build version $BUILD_VER, with Nginx version $NGINX_V and PHP version $PHP_V"
 echo "Build version $BUILD_VER, with Nginx version $NGINX_V and PHP version $PHP_V"
 
 
 HESTIA_V="${BUILD_VER}_${BUILD_ARCH}"
 HESTIA_V="${BUILD_VER}_${BUILD_ARCH}"
-OPENSSL_V='1.1.1n'
+OPENSSL_V='3.0.2'
 PCRE_V='10.39'
 PCRE_V='10.39'
-ZLIB_V='1.2.11'
+ZLIB_V='1.2.12'
 
 
 # Create build directories
 # Create build directories
 if [ "$KEEPBUILD" != 'true' ]; then
 if [ "$KEEPBUILD" != 'true' ]; then
@@ -419,7 +424,7 @@ if [ "$NGINX_B" = true ] ; then
 
 
         # Build the package
         # Build the package
         echo Building Nginx DEB
         echo Building Nginx DEB
-        dpkg-deb --build $BUILD_DIR_HESTIANGINX $DEB_DIR
+        dpkg-deb -Zxz --build $BUILD_DIR_HESTIANGINX $DEB_DIR
     fi
     fi
 
 
     if [ "$BUILD_RPM" = true ]; then
     if [ "$BUILD_RPM" = true ]; then
@@ -570,7 +575,7 @@ if [ "$PHP_B" = true ] ; then
         # Build the package
         # Build the package
         echo Building PHP DEB
         echo Building PHP DEB
         [ "$HESTIA_DEBUG" ] && echo DEBUG: dpkg-deb --build $BUILD_DIR_HESTIAPHP $DEB_DIR
         [ "$HESTIA_DEBUG" ] && echo DEBUG: dpkg-deb --build $BUILD_DIR_HESTIAPHP $DEB_DIR
-        dpkg-deb --build $BUILD_DIR_HESTIAPHP $DEB_DIR
+        dpkg-deb  -Zxz --build $BUILD_DIR_HESTIAPHP $DEB_DIR
     fi
     fi
 
 
     if [ "$BUILD_RPM" = true ]; then
     if [ "$BUILD_RPM" = true ]; then
@@ -676,7 +681,7 @@ if [ "$HESTIA_B" = true ]; then
           chmod +x $BUILD_DIR_HESTIA/DEBIAN/preinst
           chmod +x $BUILD_DIR_HESTIA/DEBIAN/preinst
   
   
           echo Building Hestia DEB
           echo Building Hestia DEB
-          dpkg-deb --build $BUILD_DIR_HESTIA $DEB_DIR
+          dpkg-deb -Zxz --build $BUILD_DIR_HESTIA $DEB_DIR
       fi
       fi
   
   
       if [ "$BUILD_RPM" = true ]; then
       if [ "$BUILD_RPM" = true ]; then

+ 13 - 0
web/edit/mail/index.php

@@ -212,6 +212,19 @@ if ((!empty($_POST['save'])) && (!empty($_GET['domain'])) && (empty($_GET['accou
         }
         }
         unset($output);
         unset($output);
     }
     }
+    
+    if (!empty($_POST['v_reject']) && $v_antispam == "yes" && $v_reject != 'yes' ) {
+         exec(HESTIA_CMD."v-add-mail-domain-reject ".$user." ".$v_domain." yes", $output, $return_var);
+         check_return_code($return_var, $output);
+         $v_reject = 'yes';
+         unset($output);
+     }
+     if (empty($_POST['v_reject']) && $v_reject == 'yes' ) {
+          exec(HESTIA_CMD."v-delete-mail-domain-reject ".$user." ".$v_domain." yes", $output, $return_var);
+          check_return_code($return_var, $output);
+          $v_reject = '';
+          unset($output);
+      }
 
 
     // Change catchall address
     // Change catchall address
     if ((!empty($v_catchall)) && (!empty($_POST['v_catchall'])) && (empty($_SESSION['error_msg']))) {
     if ((!empty($v_catchall)) && (!empty($_POST['v_catchall'])) && (empty($_SESSION['error_msg']))) {

+ 15 - 15
web/templates/pages/add_dns_rec.html

@@ -70,20 +70,20 @@
 						<tr>
 						<tr>
 							<td>
 							<td>
 								<select class="vst-list" name="v_type">
 								<select class="vst-list" name="v_type">
-									<option value="A" <?php if ($v_type == 'A') echo selected; ?>>A</option>
-									<option value="AAAA" <?php if ($v_type == 'AAAA') echo selected; ?>>AAAA</option>
-									<option value="CAA" <?php if ($v_type == 'CAA') echo selected; ?>>CAA</option>
-									<option value="CNAME" <?php if ($v_type == 'CNAME') echo selected; ?>>CNAME</option>
-									<option value="DNSKEY" <?php if ($v_type == 'DNSKEY') echo selected; ?>>DNSKEY</option>
-									<option value="IPSECKEY" <?php if ($v_type == 'IPSECKEY') echo selected; ?>>IPSECKEY</option>
-									<option value="KEY" <?php if ($v_type == 'KEY') echo selected; ?>>KEY</option>
-									<option value="MX" <?php if ($v_type == 'MX') echo selected; ?>>MX</option>
-									<option value="NS" <?php if ($v_type == 'NS') echo selected; ?>>NS</option>
-									<option value="PTR" <?php if ($v_type == 'PTR') echo selected; ?>>PTR</option>
-									<option value="SPF" <?php if ($v_type == 'SPF') echo selected; ?>>SPF</option>
-									<option value="SRV" <?php if ($v_type == 'SRV') echo selected; ?>>SRV</option>
-									<option value="TLSA" <?php if ($v_type == 'TLSA') echo selected; ?>>TLSA</option>
-									<option value="TXT" <?php if ($v_type == 'TXT') echo selected; ?>>TXT</option>
+									<option value="A" <?php if ($v_type == 'A') echo "selected"; ?>>A</option>
+									<option value="AAAA" <?php if ($v_type == 'AAAA') echo "selected"; ?>>AAAA</option>
+									<option value="CAA" <?php if ($v_type == 'CAA') echo "selected"; ?>>CAA</option>
+									<option value="CNAME" <?php if ($v_type == 'CNAME') echo "selected"; ?>>CNAME</option>
+									<option value="DNSKEY" <?php if ($v_type == 'DNSKEY') echo "selected"; ?>>DNSKEY</option>
+									<option value="IPSECKEY" <?php if ($v_type == 'IPSECKEY') echo "selected"; ?>>IPSECKEY</option>
+									<option value="KEY" <?php if ($v_type == 'KEY') echo "selected"; ?>>KEY</option>
+									<option value="MX" <?php if ($v_type == 'MX') echo "selected"; ?>>MX</option>
+									<option value="NS" <?php if ($v_type == 'NS') echo "selected"; ?>>NS</option>
+									<option value="PTR" <?php if ($v_type == 'PTR') echo "selected"; ?>>PTR</option>
+									<option value="SPF" <?php if ($v_type == 'SPF') echo "selected"; ?>>SPF</option>
+									<option value="SRV" <?php if ($v_type == 'SRV') echo "selected"; ?>>SRV</option>
+									<option value="TLSA" <?php if ($v_type == 'TLSA') echo "selected"; ?>>TLSA</option>
+									<option value="TXT" <?php if ($v_type == 'TXT') echo "selected"; ?>>TXT</option>
 								</select>
 								</select>
 							</td>
 							</td>
 						</tr>
 						</tr>
@@ -137,4 +137,4 @@
 
 
 <script>
 <script>
 	GLOBAL.DNS_REC_PREFIX = "<?=htmlentities($_GET['domain']); ?>";
 	GLOBAL.DNS_REC_PREFIX = "<?=htmlentities($_GET['domain']); ?>";
-</script>
+</script>

+ 14 - 14
web/templates/pages/edit_dns_rec.html

@@ -73,19 +73,19 @@
 							<td>
 							<td>
 								<select class="vst-list" name="v_type">
 								<select class="vst-list" name="v_type">
 									<option value="A" <?php if ($v_type == 'A') echo selected; ?>>A</option>
 									<option value="A" <?php if ($v_type == 'A') echo selected; ?>>A</option>
-									<option value="AAAA" <?php if ($v_type == 'AAAA') echo selected; ?>>AAAA</option>
-									<option value="CAA" <?php if ($v_type == 'CAA') echo selected; ?>>CAA</option>
-									<option value="CNAME" <?php if ($v_type == 'CNAME') echo selected; ?>>CNAME</option>
-									<option value="DNSKEY" <?php if ($v_type == 'DNSKEY') echo selected; ?>>DNSKEY</option>
-									<option value="IPSECKEY" <?php if ($v_type == 'IPSECKEY') echo selected; ?>>IPSECKEY</option>
-									<option value="KEY" <?php if ($v_type == 'KEY') echo selected; ?>>KEY</option>
-									<option value="MX" <?php if ($v_type == 'MX') echo selected; ?>>MX</option>
-									<option value="NS" <?php if ($v_type == 'NS') echo selected; ?>>NS</option>
-									<option value="PTR" <?php if ($v_type == 'PTR') echo selected; ?>>PTR</option>
-									<option value="SPF" <?php if ($v_type == 'SPF') echo selected; ?>>SPF</option>
-									<option value="SRV" <?php if ($v_type == 'SRV') echo selected; ?>>SRV</option>
-									<option value="TLSA" <?php if ($v_type == 'TLSA') echo selected; ?>>TLSA</option>
-									<option value="TXT" <?php if ($v_type == 'TXT') echo selected; ?>>TXT</option>
+									<option value="AAAA" <?php if ($v_type == 'AAAA') echo "selected"; ?>>AAAA</option>
+									<option value="CAA" <?php if ($v_type == 'CAA') echo "selected"; ?>>CAA</option>
+									<option value="CNAME" <?php if ($v_type == 'CNAME') echo "selected"; ?>>CNAME</option>
+									<option value="DNSKEY" <?php if ($v_type == 'DNSKEY') echo "selected"; ?>>DNSKEY</option>
+									<option value="IPSECKEY" <?php if ($v_type == 'IPSECKEY') echo "selected"; ?>>IPSECKEY</option>
+									<option value="KEY" <?php if ($v_type == 'KEY') echo "selected"; ?>>KEY</option>
+									<option value="MX" <?php if ($v_type == 'MX') echo "selected"; ?>>MX</option>
+									<option value="NS" <?php if ($v_type == 'NS') echo "selected"; ?>>NS</option>
+									<option value="PTR" <?php if ($v_type == 'PTR') echo "selected"; ?>>PTR</option>
+									<option value="SPF" <?php if ($v_type == 'SPF') echo "selected"; ?>>SPF</option>
+									<option value="SRV" <?php if ($v_type == 'SRV') echo "selected"; ?>>SRV</option>
+									<option value="TLSA" <?php if ($v_type == 'TLSA') echo "selected"; ?>>TLSA</option>
+									<option value="TXT" <?php if ($v_type == 'TXT') echo "selected"; ?>>TXT</option>
 								</select>
 								</select>
 							</td>
 							</td>
 						</tr>
 						</tr>
@@ -142,4 +142,4 @@
 </div>
 </div>
 <script>
 <script>
 	GLOBAL.DNS_REC_PREFIX = "<?=htmlentities($_GET['domain']); ?>";
 	GLOBAL.DNS_REC_PREFIX = "<?=htmlentities($_GET['domain']); ?>";
-</script>
+</script>

+ 1 - 1
web/templates/pages/edit_mail.html

@@ -101,7 +101,7 @@
 								</td>
 								</td>
 							</tr>
 							</tr>
 							<tr>
 							<tr>
-								<td class="vst-text input-label step-top">
+								<td class="vst-text input-label">
 									<label><input type="checkbox" size="20" class="vst-checkbox" name="v_reject" <?php if ($v_reject == 'yes') echo "checked=yes"; ?>><?=_('Reject spam');?></label>
 									<label><input type="checkbox" size="20" class="vst-checkbox" name="v_reject" <?php if ($v_reject == 'yes') echo "checked=yes"; ?>><?=_('Reject spam');?></label>
 								</td>
 								</td>
 							</tr>
 							</tr>