Skip to content

Commit 1beb1ed

Browse files
committed
Merge remote-tracking branch 'origin/staging/fixes' into fix/1002-Web_Security_improvements
2 parents 7864d2f + 9bceab7 commit 1beb1ed

File tree

783 files changed

+156119
-35998
lines changed

Some content is hidden

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

783 files changed

+156119
-35998
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,4 @@ test/node_modules/
1515
npm-debug.log
1616
.phpunit.result.cache
1717
.vs
18+
.nova

CHANGELOG.md

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

4-
## [CURRENT] - Development
4+
## [1.3.1] - Service Release
55
### Features
6-
- Use stronger ciphers and Disable TLS v1.1 for vsftpd.
6+
- No new features have been introduced in this release.
7+
8+
### Bugfixes
9+
- Fixed an issue where updates for `hestia-php` were incorrectly being marked as out-of-date in the UI due to a change in our servicing and package versioning scheme.
10+
- Fixed an issue that occured on the Updates page where the table row color of available updates would be difficult to read.
11+
- Fixed an issue where an administrator would get stuck in a loop trying to navigate back after adding a SSH key.
12+
- Fixed an issue where long table entries which exceeded the table length would overlap other UI elements.
13+
- Fixed an issue where the total amount of items on a page would fail to display correctly.
14+
- Improved the accuracy and reliability of tooltips throughout the the Control Panel UI:
15+
- Removed unnecessary tooltips from buttons and other elements.
16+
- Fixed incorrect tags which prevented tooltips from being displayed.
17+
- Introduced tooltips to counter items on the Users, Packages, and Statistics pages to help better distinguish statistics.
18+
- Fixed an issue which caused higher than normal CPU usage during an upgrade due to a duplicate condition in the rebuild process.
19+
- Fixed minor spelling inconsistencies in command line script comments and output text.
20+
- Fixed an issue where old configuration files were not cleaned up when moving domains with `v-change-domain-owner`.
21+
- Fixed an issue where a `no backend template doesn't exist` could potentially would appear after upgrade with older templates (#1322).
22+
- Introduced caching templates for nginx + php-fpm configurations - thanks **@cmstew**!
23+
- Fixed an issue where DNS cluster updates could fail due to the format of a DKIM record in an available zone - thanks **@jrohde**!
24+
- Improved the behavior of nginx SSL SNI detection to reject connections for domains which have no SSL certificate - thanks **@myrevery**!
25+
- Improved the quality of comment formatting in command line scripts - thanks **@bisubus**!
26+
- Fixed an issue where the logo was not displayed in the File Manager - thanks **@robothemes**!
27+
- Fixed an issue in the Control Panel UI which caused databases and additional FTP accounts to be named incorrectly if manually prefaced with the username.
28+
- Improved the visibility of service availability in the Control Panel UI.
29+
30+
## [1.3.0] - Major Release (Feature / Quality Update)
31+
### Features
32+
- Users can now choose to point a domain to a different document root location (similar to domain parking).
33+
- The software update process will now perform a system health check before proceeding with installation.
34+
- Administrators now have control over software update notifications through the following settings in `$HESTIA/conf/hestia.conf` and through the Control Panel web interface:
35+
- `UPGRADE_SEND_EMAIL` = Sends an email notification to primary admin account's email address
36+
- `UPGRADE_SEND_EMAIL_LOG` = Sends installation log output to the primary admin account's email address
37+
- The upgrade process will now save installation logs to the `/root/hst_backups` directory by default for post-install troubleshooting.
38+
- **Note:** We may adjust this path in the future and will document such changes as they happen.
39+
- We've introduced the ability to assign Administrator rights to other user accounts, enabling them to perform tasks under the Server Settings tab.
40+
- We've introduced a more robust translation system which will allow us to provide higher quality translations in future releases.
41+
- **Note:** Some country codes have been updated, as a result your language setting may default back to English after upgrading.
42+
- For new installations, MariaDB 10.5 is now the default version.
43+
- For existing installations, we've provided a manual post-install upgrade script. Please run `$HESTIA/install/upgrade/manual/upgrade_mariadb.sh` to migrate to MariaDB 10.5).
44+
- The user interface theme has been set to "Dark" by default. This can be changed from **Server Settings > Configure > Basic Options > Appearance**.
45+
- **Note:** The name of the default theme has not been adjusted, and the change to the "dark" theme only applies to new installations at this time. This behavior may be changed in a future release.
46+
47+
### Bugfixes
48+
- Fixed a security issue where user password reset keys could potentially be gleaned from system process list - thanks **RACK911 LABS**
49+
- Fixed an issue with passwords containing "`'`" - [Forum](https://forum.hestiacp.com/t/two-factor-authentication-issue-with-standard-user/1652/)
50+
- Fixed an issue with database backups when the port was not specified (#1068)
51+
- Fixed an issue where websites without SSL enabled would display the content of the first valid SSL enabled website (#1103)
52+
- Fixed an issue that would occur when using the `--with-debs` flag with the installer due to an incorrect version check routine (#1110)
53+
- Fixed an issue with incorrect permissions which would occur when restoring email accounts (#1114)
54+
- Fixed an issue where the File Manager would apply the wrong permissions on new directories
55+
- Fixed an issue that prevented successful restoration of SSL-enabled mail domains from a backup archive (#1069)
56+
- Fixed an issue where the phpMyAdmin button would not work in the Control Panel Web UI (#1078)
57+
- Fixed an issue where passwords were generated incorrectly (#1184)
58+
- Fixed an issue in `v-add-sys-ip` to ensure IP configuration is set to the correct port - thanks **@madito**
59+
- Fixed an issue that resulted in an extended loop condition when running `v-rebuild-all`
60+
- Improved support for API key usage with the `v-add-remote-dns-host` command (#1265)
61+
- Improved validation of free disk space when executing backup routine (#1115)
62+
- Improved support for SSH key types other than RSA / DSA
63+
- Improved reliability of backup function when removing remote locations (#1083)
64+
- Improved spam filtering by adding additional known-dangerous file extensions in exim's blacklist (#1138) - thanks **@kpapad904**
65+
- Updated Apache2 configuration to use Include with IncludeOptional (#1072)
66+
- Removed the ability to log in as "root" (whic logged to the admin account, deemed no longer necessary)
67+
- Add ca-certificates, software-properties-common to the dependencies (#1073 + [Forum](https://forum.hestiacp.com/t/hestiscp-fails-on-new-debian-9-vps/1623/8)) - thanks **@daniel-eder**
68+
- Create .npm directory by default when creating new user accounts (#1113) - thanks **@hahagu**
69+
- Improved accuracy of several UI translations (NL, DE, UK, RU, ES, IT, ZH-CN) - thanks **@myrevery** and other contributors for your work!
70+
- Added `$restart` flag to `v-add-web-domain-backend` command (#1094) (#797) - thanks **@bright-soft**
71+
- PostgreSQL: forbid the use of upper case (#1084) causing issues with backup / creating database or user
72+
- Changed WordPress name in Quick Web App installer (#1074)
73+
- Cleaned up entries used in the Google / Gmail DNS template - thanks **@madito**
74+
- Enhanced ProFTPd support for TLS
75+
- Refactored LXD compiler script
76+
- Updated phpMyAdmin to version 5.0.4
77+
78+
## [1.2.4] - Service Release
79+
### Features
80+
- No new features have been introduced in this release.
81+
82+
### Bugfixes
83+
- Fixes an issue on auto renewing let's encrypt certificates.
84+
85+
## [1.2.3] - Service Release
86+
### Features
87+
- No new features have been introduced in this release.
88+
89+
### Bugfixes
90+
- Fixes an issue where non-ASCII characters were rejected in the password field.
91+
92+
## [1.2.2] - Service Release
93+
### Features
94+
- No new features have been introduced in this release.
795

896
### Bugfixes
997
- Create mailhelo.conf if it doesnt exist to prevent a error message during grep.
@@ -18,7 +106,12 @@ All notable changes to this project will be documented in this file.
18106
- Corrected an issue where tooltips were not displayed when hovering over the top level menu items.
19107
- Improved handling of APT repository keys during installation.
20108
- Reworked the Let's Encrypt renew functionality to skip removed aliases.
21-
109+
- Improved reliability of list handling when using IP lists.
110+
- Enforce minimum password requirements with visual indication of password strength.
111+
- Fixed an issue where user display name value was incorrectly set when changing packages.
112+
- Improved installer version detection.
113+
- Improved detection of MariaDB and MySQL services.
114+
22115
## [1.2.1] - Service Release
23116
### Features
24117
- Consolidated First and Last Name fields to a singular name field to simply input.
@@ -58,7 +151,6 @@ All notable changes to this project will be documented in this file.
58151
- Added BATS system for testing the functionality of Bash scripts (WIP).
59152
- Added **v-change-sys-db-alias** to change phpMyAdmin and phpPgAdmin access points (`v-change-sys-db-alias pma/pga myCustomURL`).
60153

61-
62154
### Bugfixes
63155
- Prevent ability to change the password of a non-Hestia user account. Thanks to **Alexandre Zanni**!
64156
- Adjust Let's Encrypt validation check for IDN domains, thanks to **@zanami**!

CONTRIBUTING.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ Ways to contribute
1111
- **New features**:
1212
- Is there an awesome feature that you'd love to see included? While our development team tries to fulfill all reasonable requests, it can take time to implement new features depending on the amount of work involved. Submit a pull request with your code and if your idea is approved, we'll review and test it for inclusion with an upcoming release.
1313
- **Translations**:
14-
- If you are a non-English speaker and would like to improve the quality of the translations used in Hestia Control Panel's web interface, please review the `.php` files found under `hestiacp/web/inc/i18n` and submit a pull request or open an issue report [GitHub](https://www.github.com/hestiacp/hestiacp/issues) highlighting the issue with the current translation so that it can be corrected.
14+
- If you are a non-English speaker and would like to improve the quality of the translations used in Hestia Control Panel's web interface, Please go to [Hestia Translate](https://translate.hestiacp.com/projects/hestiacp/) to review the translations. For more information please read [How to contribute with Translations](https://forum.hestiacp.com/t/how-to-contribute-with-translations/1664). Or open an issue report [GitHub](https://www.github.com/hestiacp/hestiacp/issues) highlighting the issue with the current translation so that it can be corrected.
1515
- **Donations**:
16-
- If you're not a developer but you still want to make a contribution, you can make a donation to the Hestia Control Panel project to further its development (or if you'd just like to buy our developers a lunch, we'd appreciate that too). We currently accept dontations through [PayPal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=ST87LQH2CHGLA).
16+
- If you're not a developer but you still want to make a contribution, you can make a donation to the Hestia Control Panel project to further its development (or if you'd just like to buy our developers a lunch, we'd appreciate that too). We currently accept donations through [PayPal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=ST87LQH2CHGLA).
1717

1818
Development Guidelines
1919
-----------------------
@@ -27,17 +27,17 @@ We have three primary or "evergreen" branches, which exist throughout our produc
2727

2828
| Branch | Description | Cycle |
2929
|---------------|:---------------:|:---------------:|
30-
| `main` | Contains a snapshot of the latest development code.<br>**Not intended for production use and may be unstable.** | Daily |
30+
| `main` | Contains a snapshot of the latest development code.<br>**Not intended for production use and contains code from a merge snapshot.** | Daily |
3131
| `beta` | Contains a snapshot of the next version which is currently in testing.<br>**Not intended for production but should be highly stable.** | Weekly |
32-
| `release` | Contains a snapshot of the latest stable release.<br>**Intended for production use. Same code as packages in repository.** | Monthly |
32+
| `release` | Contains a snapshot of the latest stable release.<br>**Intended for production use. This repository contains the same code as our compiled packages.** | Monthly |
3333

3434
### Creating a new branch and submitting pull requests
3535
The first step is to create a fork of the `hestiacp/hestiacp` repository under your account so that you may submit pull requests and patches via GitHub.
3636

3737
Once you've created your fork, clone the repository to your computer and make sure that you've checked out the `main` branch. **Always** create a new topic branch for you work. When submitting pull requests it is important that you target the correct branch to ensure that your changes are properly integrated and tested based on our release schedule. When creating a new branch, we ask that you please adhere to the following naming conventions as much as possible:
3838

3939
### Branch naming convention:
40-
- **Prefix:** `topic/` (such as **bugfix**, **feature**, **refactor**, etc.)
40+
- **Prefix:** `topic/` (such as **fix**, **feature**, **refactor**, etc.)
4141
- **ID**: `888` (GitHub Issue ID if an issue exists) -or- `2020-07` (Year-Month if an issue does not already exist)
4242
- **Separator:** `_` (underscore)
4343
- **Title:** `my-awesome-patch`
@@ -49,7 +49,7 @@ Branch name examples:
4949
* `test/2020-07_mail-domain-ssl`
5050

5151
### Squashing commits for smaller changes
52-
When submitting a pull request with multiple smaller commits which are related to the same file or issue, we ask that you please **squash your commits** whenever appropriate in order to keep the project's commit history clean and easy to follow for other developers.
52+
To aid other developers and keep the project's commit history clean, please **squash your commits** when it's appropriate. For example with smaller commits related to the same piece of code, such as commits labelled "Fixed item 1", "Adjusted color of button XYZ", "Adjusted alignment of button XYZ" can be squashed into one commit with the title "Fixed button issues in item".
5353

5454
### What happens when I submit a pull request?
5555
- Our internal development team will review your work and validate your request.

ISSUE_TEMPLATE.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
Please enter your answer here (e.g. When I try adding a web domain, an error message appeared stating that the php-fpm pool did not exist).
99

1010
### What steps did you take when the issue occured?
11-
1. Ex.: Click on the Web tab
12-
2. Ex.: Click on Add Web Domain
11+
1. Ex.: Click on the "Web" tab.
12+
2. Ex.: Click on "Add Web Domain".
1313
3. Ex.: Attempted to add a domain and received an Internal Server Error.
1414

1515
### Expected behavior:
@@ -19,7 +19,7 @@ Please enter your answer here (e.g. the web domain should have been added succes
1919
Please enter your answer here (e.g. Ubuntu 20.04 LTS)
2020

2121
### Hestia Control Panel version:
22-
Please enter your answer here (e.g. 1.2.0).
22+
Please enter your answer here (e.g. 1.3.0).
2323

2424
### Additional notes:
25-
If there is anything else that you'd like us to know about this issue, feel free to share here.
25+
If there is anything else that you'd like us to know about this issue that will help us diagnose and troubleshoot more effectively, such as links to forum posts or other discussions, please feel free to share here.

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22

33
[Hestia Control Panel](https://www.hestiacp.com/)
44
==================================================
5-
**Latest stable release:** Version 1.2.0 | [View Changelog](https://github.com/hestiacp/hestiacp/blob/release/CHANGELOG.md)<br>
6-
**Latest beta release:** Version 1.2.1 | [View Changelog](https://github.com/hestiacp/hestiacp/blob/beta/CHANGELOG.md)<br>
7-
**Latest unstable development snapshot:** Version 1.2.2 | [View Changelog](https://github.com/hestiacp/hestiacp/blob/main/CHANGELOG.md)<br>
5+
**Latest stable release:** Version 1.3.0 | [View Changelog](https://github.com/hestiacp/hestiacp/blob/release/CHANGELOG.md)<br>
86

97
**Web:** [www.hestiacp.com](https://www.hestiacp.com/)<br>
108
**Documentation:** [docs.hestiacp.com](https://docs.hestiacp.com/)<br>
11-
**Forums:** [forum.hestiacp.com](https://forum.hestiacp.com/)<br><br>
9+
**Forums:** [forum.hestiacp.com](https://forum.hestiacp.com/)<br>
10+
**Discord:** [Join the discussion](https://discord.gg/nXRUZch)<br />
11+
<br>
1212
[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=ST87LQH2CHGLA)
1313
<br>
1414

SECURITY.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
## Reporting a Vulnerability
44

5-
If you have discovered a vulnerability in Hestia Control Panel,
6-
let our development team know via e-mail at info@hestiacp.com and
7-
we will respond as soon as possible.
5+
If you believe that you have have discovered a vulnerability in Hestia Control Panel,
6+
please let our development team know via email at info@hestiacp.com.
7+
8+
We ask that you please include a detailed description of the vulnerability,
9+
a list of services involved (e.g. exim, dovecot) and the versions which you've tested,
10+
full steps to reproduce the vulnerability, and include your findings and expected results.

bin/v-acknowledge-user-notification

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#!/bin/bash
22
# info: update user notification
33
# options: USER NOTIFICATION
4+
# labels:
45
#
56
# The function updates user notification.
67

bin/v-add-backup-host

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
#!/bin/bash
22
# info: add backup host
33
# options: TYPE HOST USERNAME PASSWORD [PATH] [PORT]
4+
# labels:
5+
#
6+
# example: v-add-backup-host sftp backup.acme.com admin p4$$w@Rd
47
#
58
# This function adds a backup host
69

@@ -13,7 +16,8 @@
1316
type=$1
1417
host=$2
1518
user=$3
16-
password=$4; HIDE=4
19+
raw_password=$4; HIDE=4
20+
password=$(perl -e 'print quotemeta shift(@ARGV)' "${raw_password}")
1721
path=${5-/backup}
1822
port=$6
1923

bin/v-add-cron-hestia-autoupdate

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#!/bin/bash
22
# info: add cron job for hestia autoupdates
33
# options: MODE
4+
# labels:
45
#
56
# The function adds cronjob for hestia autoupdate from apt or git.
67

bin/v-add-cron-job

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
#!/bin/bash
22
# info: add cron job
33
# options: USER MIN HOUR DAY MONTH WDAY COMMAND [JOB] [RESTART]
4+
# labels:
5+
#
6+
# example: v-add-cron-job admin * * * * * sudo /usr/local/hestia/bin/v-backup-users
47
#
58
# The function adds a job to cron daemon. When executing commands, any output
6-
# is mailed to user's email if parameter REPORTS is set to 'yes'.
9+
# is mailed to user's email if parameter REPORTS is set to 'yes'.
710

811

912
#----------------------------------------------------------#

0 commit comments

Comments
 (0)