Skip to content

Commit 80292af

Browse files
authored
Merge branch 'staging/features' into fix/1002-Web_Security_improvements
2 parents 4205d0a + eaf1bdf commit 80292af

File tree

519 files changed

+16451
-145320
lines changed

Some content is hidden

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

519 files changed

+16451
-145320
lines changed

CHANGELOG.md

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

4+
## [DEVELOPMENT]
5+
### Features
6+
- No new features have been introduced in this release.
7+
8+
### Bugfixes
9+
- Fixed an issue where user name was duplicated when editing FTP users (#1411)
10+
- Fixed an issue where the iptables service would appear to be in a stopped state when fail2ban is stopped. (#1374)
11+
- Fixed an issue where the default language value was incorrectly set under Server Settings > Configure.
12+
- Fixed an issue with the dark theme where available updates were incorrectly displayed.
13+
- Fixed an issue where local and FTP backup files were not deleted when running `v-delete-user-backup`. (#1421)
14+
- Fixed an issue where IP addresses could not be deleted (#1423)
15+
- Improvements have been made to the API's error handling - thanks **@danielalexis**!
16+
17+
## [1.3.2] - Service Release
18+
### Features
19+
- Added PHP v8.0 support for multiphp environment.
20+
21+
### Bugfixes
22+
- Improved session token handling in login as function, thanks to Vulnerability Laboratory - [Evolution Security GmbH]™.
23+
- Fixed an where fpm pool config was not deleted when changing backend template.
24+
- Improved bats testing with multiphp (5.6-8.0) tests.
25+
- Fixed an issue where full webmail path was loaded as default value.
26+
427
## [1.3.1] - Service Release
528
### Features
629
- No new features have been introduced in this release.
@@ -15,17 +38,23 @@ All notable changes to this project will be documented in this file.
1538
- Removed unnecessary tooltips from buttons and other elements.
1639
- Fixed incorrect tags which prevented tooltips from being displayed.
1740
- Introduced tooltips to counter items on the Users, Packages, and Statistics pages to help better distinguish statistics.
41+
- Improved the display of items, quotas, and suspended items in the Control Panel navigation header - thanks **@cmstew**!
1842
- Fixed an issue which caused higher than normal CPU usage during an upgrade due to a duplicate condition in the rebuild process.
1943
- Fixed minor spelling inconsistencies in command line script comments and output text.
2044
- Fixed an issue where old configuration files were not cleaned up when moving domains with `v-change-domain-owner`.
2145
- Fixed an issue where a `no backend template doesn't exist` could potentially would appear after upgrade with older templates (#1322).
2246
- Introduced caching templates for nginx + php-fpm configurations - thanks **@cmstew**!
2347
- 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**!
2548
- Improved the quality of comment formatting in command line scripts - thanks **@bisubus**!
2649
- Fixed an issue where the logo was not displayed in the File Manager - thanks **@robothemes**!
2750
- 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.
51+
- Fixed an issue where custom document roots were not saved correctly.
2852
- Improved the visibility of service availability in the Control Panel UI.
53+
- Fixed an issue which let you unsuspend a cronjob on active demo mode.
54+
- Updated DE, EN, ES, KO, NL and TR languages, thanks to @Wibol, Blackjack, @emrahkayihan, areo and @hahagu!
55+
- Fixed an issue which let the auto compiler fail with local src builds.
56+
- Added turkish language to system installers, thanks to @emrahkayihan!
57+
- Fixed incorrect error message when using unknown domain with v-delete-domain.
2958

3059
## [1.3.0] - Major Release (Feature / Quality Update)
3160
### Features

CONTRIBUTING.md

Lines changed: 19 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,16 @@ Hestia Control Panel - Contribution Guidelines
44
Ways to contribute
55
-----------------------
66
- **Beta testing**:
7-
- Download and install builds from the `beta` branch. Provide feedback to our developers and file any issues that you come across on [GitHub](https://www.github.com/hestiacp/hestiacp/issues).<br>
7+
- Download and install builds from the `beta` branch. If you encounter an issue with a beta build, file an issue report on [GitHub](https://www.github.com/hestiacp/hestiacp/issues).<br>
88
`v-update-sys-hestia-git hestiacp beta install` will install the latest beta build from our GitHub repository.
99
- **Code review and bug fixes**:
10-
- Read over the code and if you notice errors (even spelling mistakes), submit a pull request with your fixes.
10+
- Read over the code and if you notice errors (even spelling mistakes), submit a pull request with your changes.
1111
- **New features**:
12-
- 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.
12+
- Is there an awesome feature that you'd love to see included? Submit a pull request with your changes, and if approved your PR will be reviewed and merged for inclusion in an upcoming release. While our development team tries to accomodate all reasonable requests please remember that it does take time to develop, implement and test new features and as such we may not be able to fulfill all requests or may have to put a feature on backlog for a later date.
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 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.
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 database. For more information please read [How to contribute with Translations](https://forum.hestiacp.com/t/how-to-contribute-with-translations/1664) on our forum. You can also 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 donations 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 to support Hestia Control Panel and our developers, 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
-----------------------
@@ -25,28 +25,27 @@ Development for this project takes place in branches to effectively develop, man
2525

2626
We have three primary or "evergreen" branches, which exist throughout our product's lifetime. Please refer to the following table for a description:
2727

28-
| Branch | Description | Cycle |
29-
|---------------|:---------------:|:---------------:|
30-
| `main` | Contains a snapshot of the latest development code.<br>**Not intended for production use and contains code from a merge snapshot.** | Daily |
31-
| `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. This repository contains the same code as our compiled packages.** | Monthly |
28+
| Branch | Description
29+
|---------------|:---------------:|
30+
| `main` | Contains a snapshot of the latest development code.<br>**Not intended for production use and contains code from a merge snapshot.**
31+
| `beta` | Contains a snapshot of the next version which is currently in testing.<br>**Not intended for production use, however code from this branch should be stable.**
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.**
3333

3434
### Creating a new branch and submitting pull requests
35-
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.
35+
The first step is to create a fork of the `hestiacp/hestiacp` repository under your GitHub account so that you may submit pull requests and patches.
3636

37-
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:
37+
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 your work.
3838

3939
### Branch naming convention:
4040
- **Prefix:** `topic/` (such as **fix**, **feature**, **refactor**, etc.)
41-
- **ID**: `888` (GitHub Issue ID if an issue exists) -or- `2020-07` (Year-Month if an issue does not already exist)
42-
- **Separator:** `_` (underscore)
41+
- **ID**: `888` (GitHub Issue ID if an issue exists)
4342
- **Title:** `my-awesome-patch`
4443

4544
Branch name examples:
46-
* `feature/777_my-awesome-new-feature` or `feature/2020-07_my-other-new-feature`
47-
* `fix/000_some-bug-fix` or `fix/2020-07_this-feature-is-broken`
48-
* `refactor/2020-07_v-change-domain-owner`
49-
* `test/2020-07_mail-domain-ssl`
45+
* `feature/777-my-awesome-new-feature` or `feature/my-other-new-feature`
46+
* `fix/000-some-bug-fix` or `fix/this-feature-is-broken`
47+
* `refactor/v-change-domain-owner`
48+
* `test/mail-domain-ssl`
5049

5150
### Squashing commits for smaller changes
5251
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".
@@ -55,48 +54,9 @@ To aid other developers and keep the project's commit history clean, please **sq
5554
- Our internal development team will review your work and validate your request.
5655
- Your changes will be tested to ensure that there are no issues.
5756
- If changes need to be made, you will be notified via GitHub.
58-
- Once approved, your code will be merged to the appropriate `staging/*` branch based on the chart below:
59-
60-
All pull requests must include a brief but descriptive title, and a description of the changes that you've made with as much detail as possible. **Only include commits that are related to your feature, bug fix, or patch in your pull request.**
61-
62-
| Topic branches: | Primary Target: | Final destination: |
63-
| -----------------------------|:---------------------------:|:-------------------------------------:|
64-
| **`feature/*`** | `staging/features` | `main` |
65-
| **`fix/*`** | `staging/fixes` | `main` **and** `beta` *or* `release` |
66-
| **`refactor/*`** | `staging/refactoring` | `main` |
67-
| **`test/*`** | `staging/tests` | `main` |
68-
| **`doc/*`** | `staging/docs` | `main`, `beta`, *or* `release` |
69-
70-
Our development and release cycles
71-
-----------------------
72-
### During the development cycle:
73-
- `topic/*` branches are submitted to our team via a pull request. Your changes will be reviewed and tested, and if all appropriate quality assurance checks pass the branch will be merged to the corresponding `staging/*` branch.
74-
75-
- `staging/*` branches merge into `main` at various intervals throughout the development process.
76-
77-
- When all planned features and fixes have been merged to `main`, the code is tested for regressions and bugs.
78-
79-
- A snapshot of `main` is pushed to a temporary branch called `staging/refactoring`, and final code review, refactoring, and optimization takes place. Once complete, `staging/refactoring` merges back to `main` bringing the codebase up-to-date. All other `staging/*` branches synchronize with `main` at this time.
80-
81-
- After final validation checks pass, our development team signs off on the release and the code is pushed from `main` to `beta`.
82-
83-
### During the release cycle:
84-
- **What happens when code moves from `main` to `beta`**:<br>
85-
- **No new feature requests will be approved**.
86-
- `main` will receive an increment in it's version number signaling the start of a new development cycle.
87-
- `fix/*` topic branches/commits will be cherry picked to `beta` as necessary.
88-
- `staging/docs` will merge into `beta` prior to the code being pushed to `release` to bring documentation and supporting files up-to-date.
89-
90-
- If all quality assurance checks pass, our development team will then:
91-
- Sign off on the code in `beta`.
92-
- Push the code to the `release` branch and create a corresponding version tag.
93-
- Compile new packages and publish them to our APT repository.
94-
- **Notes:**
95-
- `release` always contains the highest released version of Hestia Control Panel.
96-
- For major releases, a `release/vX.x` branch will be created for maintenance and servicing purposes.
97-
98-
57+
- Once approved, your code will be merged for inclusion in an upcoming release of Hestia Control Panel.
9958

59+
All pull requests must include a brief but descriptive title, and a detailed description of the changes that you've made. **Only include commits that are related to your feature, bug fix, or patch in your pull request!**
10060

10161
Thank you!
10262
-----------------------

README.md

Lines changed: 14 additions & 5 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.3.0 | [View Changelog](https://github.com/hestiacp/hestiacp/blob/release/CHANGELOG.md)<br>
5+
**Latest stable release:** Version 1.3.2 | [View Changelog](https://github.com/hestiacp/hestiacp/blob/release/CHANGELOG.md)<br>
66

77
**Web:** [www.hestiacp.com](https://www.hestiacp.com/)<br>
88
**Documentation:** [docs.hestiacp.com](https://docs.hestiacp.com/)<br>
@@ -19,17 +19,18 @@ Hestia Control Panel is designed to provide administrators an easy to use web an
1919
Features and Services
2020
----------------------------
2121
* Apache2 and NGINX with PHP-FPM
22-
* Multiple PHP versions (5.6 - 7.4, 7.3 as default for optimal compatibility)
22+
* Multiple PHP versions (5.6 - 8.0, 7.4 as default)
2323
* DNS Server (Bind) with clustering capabilities
2424
* POP/IMAP/SMTP mail services with Anti-Virus, Anti-Spam, and Webmail (ClamAV, SpamAssassin, and Roundcube)
2525
* MariaDB or PostgreSQL databases
2626
* Let's Encrypt SSL support with wildcard certificates
2727
* Firewall with brute-force attack detection and IP lists (iptables, fail2ban, and ipset).
2828

29-
Supported operating systems
29+
Supported platforms and operating systems
3030
----------------------------
31-
* Debian 10, 9
32-
* Ubuntu 20.04 LTS, 18.04 LTS, or 16.04 LTS
31+
* **CPU Architecture:** AMD64 (x86_64 Intel/AMD)
32+
* **Debian:** 10, 9
33+
* **Ubuntu:** 20.04 LTS, 18.04 LTS, or 16.04 LTS
3334
* **NOTE:** Hestia Control Panel must be installed on top of a fresh operating system installation to ensure proper functionality.
3435

3536
Installing Hestia Control Panel
@@ -65,6 +66,14 @@ bash hst-install.sh -h
6566
```
6667
Alternatively, @gabizz has made available a command-line script generator at https://gabizz.github.io/hestiacp-scriptline-generator/ which allows you to easily generate the installation command via GUI.
6768

69+
How to upgrade an existing installation
70+
============================
71+
Automatic Updates are enabled by default on new installations of Hestia Control Panel and can be managed from **Server Settings > Updates**. To manually check for and install available updates, use the apt package manager:
72+
```bash
73+
apt-get update
74+
apt-get upgrade
75+
```
76+
6877
Issues
6978
=============================
7079
If you've run into a problem, [file a new issue report via GitHub](https://github.com/hestiacp/hestiacp/issues) so that we may investigate further.

bin/v-acknowledge-user-notification

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
#!/bin/bash
22
# info: update user notification
33
# options: USER NOTIFICATION
4-
# labels:
4+
# labels: panel
5+
#
6+
# example: v-acknowledge-user-notification
57
#
68
# The function updates user notification.
79

bin/v-add-dns-domain

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
#!/bin/bash
22
# info: add dns domain
3-
# options: USER DOMAIN IP [NS1] [NS2] [NS3] [..] [NS8] [RESTART]
3+
# options: USER DOMAIN IP [NS1] [NS2] [NS3] [NS4] [NS5] [NS6] [NS7] [NS8] [RESTART]
44
# labels: dns
55
#
6-
# example: v-add-dns-domain admin example.com ns1.example.com ns2.example.com yes
6+
# example: v-add-dns-domain admin example.com ns1.example.com ns2.example.com '' '' '' '' '' '' yes
77
#
88
# The function adds DNS zone with records defined in the template. If the exp
99
# argument isn't stated, the expiration date value will be set to next year.

bin/v-add-firewall-ban

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ iptables="/sbin/iptables"
2424

2525
# Includes
2626
source $HESTIA/func/main.sh
27+
source $HESTIA/func/firewall.sh
2728
source $HESTIA/conf/hestia.conf
2829

2930

@@ -43,6 +44,9 @@ check_hestia_demo_mode
4344
# Action #
4445
#----------------------------------------------------------#
4546

47+
# Self heal iptables links
48+
heal_iptables_links
49+
4650
# Checking server ip
4751
if [ -e "$HESTIA/data/ips/$ip" ] || [ "$ip" = '127.0.0.1' ]; then
4852
exit

bin/v-add-firewall-chain

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ fi
3232

3333
# Includes
3434
source $HESTIA/func/main.sh
35+
source $HESTIA/func/firewall.sh
3536
source $HESTIA/conf/hestia.conf
3637

3738

@@ -50,6 +51,9 @@ check_hestia_demo_mode
5051
# Action #
5152
#----------------------------------------------------------#
5253

54+
# Self heal iptables links
55+
heal_iptables_links
56+
5357
# Checking known chains
5458
case $chain in
5559
SSH) # Get ssh port by reading ssh config file.

bin/v-add-firewall-ipset

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
# options: NAME [SOURCE] [IPVERSION] [AUTOUPDATE] [FORCE]
44
# labels: hestia
55
#
6+
# example: v-add-firewall-ipset country-nl 'http://ipverse.net/ipblocks/data/countries/nl.zone'
7+
#
68
# The function adds new ipset to system firewall
79

810
#----------------------------------------------------------#

0 commit comments

Comments
 (0)