Skip to content

Commit 56faa76

Browse files
committed
Merge branch 'main' into release
2 parents 85261cc + cbb49fb commit 56faa76

File tree

294 files changed

+1151
-964
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

294 files changed

+1151
-964
lines changed

.drone.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,13 @@ steps:
115115
- ./test/check_php.sh ./web/
116116

117117
trigger:
118-
event: [ pull_request, push ]
118+
event: [ pull_request, push ]
119+
ref:
120+
- refs/heads/staging/*
121+
- refs/heads/beta
122+
- refs/heads/release
123+
- refs/heads/main
124+
- refs/pull/*/head
119125

120126
---
121127
kind: pipeline
@@ -167,4 +173,4 @@ trigger:
167173

168174
---
169175
kind: signature
170-
hmac: 980aea20314dab4328b0016eb35fa3ef18fdd46e5d891c7ab3809f704891e72b
176+
hmac: a191a477aa337f2efff534022164906ff20ef2b6340ec808d128c09a06d7eaa3

CHANGELOG.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,42 @@
11
# Changelog
22
All notable changes to this project will be documented in this file.
33

4+
## [1.6.3] - Service release
5+
6+
### Features
7+
8+
- Add additional support for bcrypt for mail passwords (#2752 @divinity76)
9+
10+
### Enhancements
11+
12+
- Simplify md5crypt on reset form email (#2751 @divinity76)
13+
- Use secure RNG to generate passwords (#2726)
14+
- Add twig support filemanger (#2714, @anvme)
15+
16+
### Bugfixes
17+
18+
- Fixed an issue with restart Apache2 and Nginx after v-update-letsencrypt (#2748, #2563, #2744, #2677)
19+
- Prevent transversing path in Quick installer apps (#2742)
20+
- Avoid out of memory serving large logfiles (#2741, #2736, @divinity76
21+
- Improve passwords loading in password_valid (#2739)
22+
- Use secure RNG to generate passwords (#2726)
23+
- Utilise entire alphabet for random string (#2735 @Shadowfied)
24+
- Don't use hosts_try_fastopen in Exim for Gmail / Google hostnames
25+
- Add check if Sieve is already installed (#2719 #manuelserol)
26+
- Allow PHP templates to be selected in Quick installer apps (#2713, #2711, #2690)
27+
- Small changes to translation strings (#2700 @V4M0N0S)
28+
- Rate limit in email address blank in UI (saved correct in limits) (#2710, #2707)
29+
- Fixed a bug in Settings sites where always websites got rebuild on save (#2705, #2710)
30+
- Fixed a bug in Weblog where the session got incorrectly reset as admin user (#2710)
31+
- Prevent v-add-web-php to be used for non fpm installs (#2753)
32+
- Update translations (#2750)
33+
- Chmod o+x .ssh folder when creating file manager ssh key (#2755)
34+
35+
### Dependencies
36+
37+
- Update hestia-php to 8.1.8
38+
- Update disable_functions list php.ini for hestia-php (#2746, #2741)
39+
440
## [1.6.2] - Service release
541

642
- Fixed an issue with rate limits in Exim4 and make it more bullet proof (#2703)

README.md

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[Hestia Control Panel](https://www.hestiacp.com/)
44
==================================================
5-
**Latest stable release:** Version 1.6.2 | [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>
5+
**Latest stable release:** Version 1.6.3 | [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>
66

77
**Web:** [www.hestiacp.com](https://www.hestiacp.com/)<br>
88
**Documentation:** [docs.hestiacp.com](https://docs.hestiacp.com/)<br>
@@ -24,24 +24,21 @@ Features and Services
2424
* Apache2 and NGINX with PHP-FPM
2525
* Multiple PHP versions (5.6 - 8.1, 8.0 as default)
2626
* DNS Server (Bind) with clustering capabilities
27-
* POP/IMAP/SMTP mail services with Anti-Virus, Anti-Spam, and Webmail (ClamAV, SpamAssassin, Sieve, Roundcube, Rainloop)
27+
* POP/IMAP/SMTP mail services with Anti-Virus, Anti-Spam, and Webmail (ClamAV, SpamAssassin, Sieve, Roundcube)
2828
* MariaDB and/or PostgreSQL databases
2929
* Let's Encrypt SSL support with wildcard certificates
3030
* Firewall with brute-force attack detection and IP lists (iptables, fail2ban, and ipset).
3131

3232
Supported platforms and operating systems
3333
========================================================
3434

35-
AMD (x86_64 Intel/AMD)
36-
----------------------------
37-
* **Debian:** 11 or 10
38-
* **Ubuntu:** 22.04LTS, 20.04 LTS or 18.04 LTS
35+
* **NOTE:** Hestia Control Panel does not support 32 bit operating systems!
3936

40-
ARM64 (arm64)
41-
----------------------------
4237
* **Debian:** 11 or 10
4338
* **Ubuntu:** 22.04LTS, 20.04 LTS or 18.04 LTS
4439

40+
* **NOTE:** Hestia Control Panel in combination with OpenVZ 7 or lower might have issue Bind9 server not starting or issues with Firewall. If you use a Virtual Private Server we strongly advice you to use something based on KVM or LXC!
41+
4542
Installing Hestia Control Panel
4643
============================
4744

bin/v-add-letsencrypt-domain

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -520,20 +520,20 @@ fi
520520

521521
# Adding SSL
522522
if [ -z "$mail" ]; then
523-
ssl_home=$(search_objects 'web' 'LETSENCRYPT' 'yes' 'SSL_HOME')
523+
ssl_home="$(get_object_value 'web' 'DOMAIN' "$domain" '$SSL_HOME')"
524524
ssl_enabled="$(get_object_value 'web' 'DOMAIN' "$domain" '$SSL')"
525525
if [ "$ssl_enabled" = "yes" ]; then
526-
$BIN/v-update-web-domain-ssl "$user" "$domain" "$ssl_dir" "$ssl_home" "updatessl"
526+
$BIN/v-update-web-domain-ssl "$user" "$domain" "$ssl_dir" "updatessl"
527527
else
528528
$BIN/v-add-web-domain-ssl "$user" "$domain" "$ssl_dir" "$ssl_home" "updatessl"
529529
fi
530530
else
531531
# TODO replace with v-update-mail-domain-ssl if ssl is enabled
532532
ssl_enabled="$(get_object_value 'mail' 'DOMAIN' "$root_domain" '$SSL')"
533533
if [ "$ssl_enabled" = "yes" ]; then
534-
$BIN/v-update-mail-domain-ssl "$user" "$root_domain" "$ssl_dir" "$ssl_home" "updatessl"
534+
$BIN/v-update-mail-domain-ssl "$user" "$root_domain" "$ssl_dir" "updatessl"
535535
else
536-
$BIN/v-add-mail-domain-ssl "$user" "$root_domain" "$ssl_dir" "$ssl_home" "updatessl"
536+
$BIN/v-add-mail-domain-ssl "$user" "$root_domain" "$ssl_dir" "updatessl"
537537
fi
538538
fi
539539

bin/v-add-mail-account

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,11 +66,16 @@ check_hestia_demo_mode
6666
#----------------------------------------------------------#
6767

6868
# Generating hashed password
69-
if [ -n "$(doveadm pw -l | grep ARGON2ID)" ]; then
69+
70+
if [ -n "$(doveadm pw -l | grep BLF-CRYPT)" ]; then
71+
set +H # disable ! style history substitution
72+
md5="$(doveadm pw -s BLF-CRYPT -p "$password")"
73+
elif [ -n "$(doveadm pw -l | grep ARGON2ID)" ]; then
74+
# Fall back on Argon2id if bcrypt is not available
7075
set +H # disable ! style history substitution
71-
md5="$(doveadm pw -s ARGON2ID -p $password)"
76+
md5="$(doveadm pw -s ARGON2ID -p "$password")"
7277
else
73-
# Fall back on MD5
78+
# Fall back on MD5 if neither bcrypt nor argon2id is available
7479
salt=$(generate_password "$PW_MATRIX" "8")
7580
md5="{MD5}$($BIN/v-generate-password-hash md5 $salt <<<$password)"
7681
fi

bin/v-add-web-php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@ source_conf "$HESTIA/conf/hestia.conf"
2727

2828
check_args '1' "$#" 'VERSION'
2929

30+
if [ -z "$WEB_BACKEND" ]; then
31+
echo "Multiple php versions are not supported for modphp"
32+
fi
33+
3034
# Set file locations
3135
php_fpm="/etc/init.d/php$version-fpm"
3236

bin/v-change-mail-account-password

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,15 @@ check_hestia_demo_mode
5656
#----------------------------------------------------------#
5757

5858
# Generating hashed password
59-
if [ -n "$(doveadm pw -l | grep ARGON2ID)" ]; then
59+
if [ -n "$(doveadm pw -l | grep BLF-CRYPT)" ]; then
6060
set +H # disable ! style history substitution
61-
md5="$(doveadm pw -s ARGON2ID -p $password)"
61+
md5="$(doveadm pw -s BLF-CRYPT -p "$password")"
62+
elif [ -n "$(doveadm pw -l | grep ARGON2ID)" ]; then
63+
# Fall back on Argon2id if bcrypt is not available
64+
set +H # disable ! style history substitution
65+
md5="$(doveadm pw -s ARGON2ID -p "$password")"
6266
else
67+
# Fall back on MD5 if neither bcrypt nor argon2id is available
6368
salt=$(generate_password "$PW_MATRIX" "8")
6469
md5="{MD5}$($BIN/v-generate-password-hash md5 $salt <<<$password)"
6570
fi

bin/v-change-mail-account-rate-limit

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ source /etc/hestiacp/hestia.conf
2424
source $HESTIA/func/main.sh
2525
# shellcheck source=/usr/local/hestia/func/domain.sh
2626
source $HESTIA/func/domain.sh
27+
# shellcheck source=/usr/local/hestia/func/syshealth.sh
28+
source $HESTIA/func/syshealth.sh
2729
# load config file
2830
source_conf "$HESTIA/conf/hestia.conf"
2931

@@ -82,6 +84,8 @@ if [[ "$rate" = "system" ]]; then
8284
rate=''
8385
fi
8486

87+
syshealth_repair_mail_account_config
88+
8589
# Update quota
8690
update_object_value "mail/$domain" 'ACCOUNT' "$account" '$RATE_LIMIT' "$rate"
8791

bin/v-check-mail-account-hash

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,19 +35,28 @@ is_password_valid
3535
# Action #
3636
#----------------------------------------------------------#
3737

38-
if [ "$type" = "ARGONID2" ]; then
39-
match=$(doveadm pw -s ARGON2ID -p $password -t $hash | grep "verified");
38+
if [ "$type" = "BCRYPT" ]; then
39+
match=$(doveadm pw -s BLF-CRYPT -p "$password" -t $hash | grep "verified");
40+
if [ -n "$match" ]; then
41+
exit 0;
42+
else
43+
echo $match;
44+
exit 2;
45+
fi
46+
elif [ "$type" = "ARGONID2" ]; then
47+
match=$(doveadm pw -s ARGON2ID -p "$password" -t $hash | grep "verified");
4048
if [ -n "$match" ]; then
4149
exit 0;
4250
else
4351
echo $match;
4452
exit 2;
4553
fi
4654
else
47-
echo "Not supported"
55+
echo "unsupported hash type.";
4856
exit 2;
4957
fi
5058

59+
5160
#----------------------------------------------------------#
5261
# Hestia #
5362
#----------------------------------------------------------#

bin/v-delete-web-php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,10 @@ source_conf "$HESTIA/conf/hestia.conf"
2828

2929
check_args '1' "$#" 'VERSION'
3030

31+
if [ -z "$WEB_BACKEND" ]; then
32+
echo "Multiple php versions are not supported for modphp"
33+
fi
34+
3135
# Set file locations
3236
php_fpm="/etc/init.d/php$version-fpm"
3337

0 commit comments

Comments
 (0)