ISPConfig 3 issueshttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues2020-10-14T10:21:58Zhttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/5818Need ui setting for bypass_spam_checks2020-10-14T10:21:58ZJesse NorellNeed ui setting for bypass_spam_checksThe bypass_spam_checks setting is stored in the database, and set for 'Non-Paying' policy at install via ispconfig3.sql, but there is no ui setting to change or set it for other policies.The bypass_spam_checks setting is stored in the database, and set for 'Non-Paying' policy at install via ispconfig3.sql, but there is no ui setting to change or set it for other policies.https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/5811Incorrect decimal value: '' for column `dbispconfig`.`spamfilter_policy`.`spa...2020-10-27T09:17:17ZJesse NorellIncorrect decimal value: '' for column `dbispconfig`.`spamfilter_policy`.`spam_dsn_cutoff_level` at row 1Some of the default spamfilter_policy are created with spam_dsn_cutoff_level set to NULL, which creates error when editing:
```
Incorrect decimal value: '' for column `dbispconfig`.`spamfilter_policy`.`spam_dsn_cutoff_level` at row 1
``...Some of the default spamfilter_policy are created with spam_dsn_cutoff_level set to NULL, which creates error when editing:
```
Incorrect decimal value: '' for column `dbispconfig`.`spamfilter_policy`.`spam_dsn_cutoff_level` at row 1
```
https://www.howtoforge.com/community/threads/error-at-spam-policy-page.83922/https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/5793System > Server IP Addresses empty field2020-10-21T08:46:12ZTony GSystem > Server IP Addresses empty fieldOne of my servers is shown in the IP Addresses list without it's host name. I've tried changing all of the hosts, thinking it might trigger a data update somewhere.
Running 3.2.beta2 over Ubuntu 20
![image](/uploads/98629d0b37848ebe6654...One of my servers is shown in the IP Addresses list without it's host name. I've tried changing all of the hosts, thinking it might trigger a data update somewhere.
Running 3.2.beta2 over Ubuntu 20
![image](/uploads/98629d0b37848ebe6654aeba99a71397/image.png)
This isn't just a UI issue - the data is not in the HTML:
```html
<a href="#" data-load-content="admin/server_ip_edit.php?id=2"
data-toggle="tooltip" data-placement="bottom"
title="" data-original-title=""></a> <---
````https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/5789Backup downloads and restores are counted in user quota2022-02-26T20:44:48ZWebsliceBackup downloads and restores are counted in user quotaIn our situation a user has a 1GB quota. They have used 700MB, and they backup tarball is 400MB. In the panel they attempt to download a backup. The backup file is copied to their home directory, and the chown is attempted as per https:/...In our situation a user has a 1GB quota. They have used 700MB, and they backup tarball is 400MB. In the panel they attempt to download a backup. The backup file is copied to their home directory, and the chown is attempted as per https://git.ispconfig.org/ispconfig/ispconfig3/-/blob/3.1.15p2/server/plugins-available/backup_plugin.inc.php#L88 . The chown fails because it would exceed the user quota. As a result, the file cannot be downloaded by the user because it is not owned by them, and the permissions are 600 (which is correct).
It seems it would be good to somehow exclude these backup files from the user quotas. Does a feature like that already exist, and if not, what would be a good solution?Till BrehmTill Brehmhttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/5616PHP-FPM fails after too many restarts2022-02-26T21:12:41ZGuillaume SubironPHP-FPM fails after too many restarts## short description
I deleted some shell users. After a few seconds, php7.4-fpm stopped and remained failed.
Here is the syslog, which explains why php7.4-fpm failed.
```
May 8 11:49:01 myhost systemd[1]: php7.4-fpm.service: Succeed...## short description
I deleted some shell users. After a few seconds, php7.4-fpm stopped and remained failed.
Here is the syslog, which explains why php7.4-fpm failed.
```
May 8 11:49:01 myhost systemd[1]: php7.4-fpm.service: Succeeded.
May 8 11:49:01 myhost systemd[1]: php7.4-fpm.service: Succeeded.
May 8 11:49:02 myhost systemd[1]: php7.4-fpm.service: Succeeded.
May 8 11:49:02 myhost systemd[1]: php7.4-fpm.service: Succeeded.
May 8 11:49:03 myhost systemd[1]: php7.4-fpm.service: Succeeded.
May 8 11:49:03 myhost systemd[1]: php7.4-fpm.service: Succeeded.
May 8 11:49:03 myhost systemd[1]: php7.4-fpm.service: Start request repeated too quickly.
May 8 11:49:03 myhost systemd[1]: php7.4-fpm.service: Failed with result 'start-limit-hit'.
May 8 11:49:03 myhost systemd[1]: php7.4-fpm.service: Start request repeated too quickly.
May 8 11:49:03 myhost systemd[1]: php7.4-fpm.service: Failed with result 'start-limit-hit'.
May 8 11:49:04 myhost systemd[1]: php7.4-fpm.service: Start request repeated too quickly.
May 8 11:49:04 myhost systemd[1]: php7.4-fpm.service: Failed with result 'start-limit-hit'.
```
And here is anonymized ISPConfig log:
```
08.05.2020-11:49 - DEBUG - Found 9 changes, starting update process.
08.05.2020-11:49 - DEBUG - Calling function 'delete' from plugin 'shelluser_base_plugin' raised by event 'shell_user_delete'.
08.05.2020-11:49 - DEBUG - safe_exec cmd: chattr -i '/var/www/clients/client1/web119' - return code: 0
08.05.2020-11:49 - DEBUG - safe_exec cmd: rm -rf '/var/www/clients/client1/web119/home/user1/.ssh' - return code: 0
08.05.2020-11:49 - DEBUG - safe_exec cmd: chattr -i '/var/www/clients/client1/web119' - return code: 0
08.05.2020-11:49 - DEBUG - Calling function 'restartPHP_FPM' from module 'web_module'.
08.05.2020-11:49 - DEBUG - Restarting php-fpm: systemctl stop php7.4-fpm.service
08.05.2020-11:49 - DEBUG - safe_exec cmd: killall -u 'user1' ; userdel -f 'user1' &> /dev/null - return code: 0
08.05.2020-11:49 - DEBUG - Deleted shelluser: user1
08.05.2020-11:49 - DEBUG - Calling function 'restartPHP_FPM' from module 'web_module'.
08.05.2020-11:49 - DEBUG - Restarting php-fpm: systemctl start php7.4-fpm.service
08.05.2020-11:49 - DEBUG - Calling function 'delete' from plugin 'shelluser_jailkit_plugin' raised by event 'shell_user_delete'.
08.05.2020-11:49 - DEBUG - Jailkit Plugin -> delete username:user1
08.05.2020-11:49 - DEBUG - Processed datalog_id 6957
08.05.2020-11:49 - DEBUG - Calling function 'delete' from plugin 'shelluser_base_plugin' raised by event 'shell_user_delete'.
08.05.2020-11:49 - DEBUG - safe_exec cmd: chattr -i '/var/www/clients/client1/web121' - return code: 0
08.05.2020-11:49 - DEBUG - safe_exec cmd: rm -rf '/var/www/clients/client1/web121/home/user2/.ssh' - return code: 0
08.05.2020-11:49 - DEBUG - safe_exec cmd: chattr -i '/var/www/clients/client1/web121' - return code: 0
08.05.2020-11:49 - DEBUG - safe_exec cmd: killall -u 'user2' ; userdel -f 'user2' &> /dev/null - return code: 0
08.05.2020-11:49 - DEBUG - Deleted shelluser: user2
08.05.2020-11:49 - DEBUG - Calling function 'delete' from plugin 'shelluser_jailkit_plugin' raised by event 'shell_user_delete'.
08.05.2020-11:49 - DEBUG - Jailkit Plugin -> delete username:user2
08.05.2020-11:49 - DEBUG - Processed datalog_id 6958
08.05.2020-11:49 - DEBUG - Calling function 'delete' from plugin 'shelluser_base_plugin' raised by event 'shell_user_delete'.
08.05.2020-11:49 - DEBUG - safe_exec cmd: chattr -i '/var/www/clients/client1/web124' - return code: 0
08.05.2020-11:49 - DEBUG - safe_exec cmd: rm -rf '/var/www/clients/client1/web124/home/user3/.ssh' - return code: 0
08.05.2020-11:49 - DEBUG - safe_exec cmd: chattr -i '/var/www/clients/client1/web124' - return code: 0
08.05.2020-11:49 - DEBUG - Calling function 'restartPHP_FPM' from module 'web_module'.
08.05.2020-11:49 - DEBUG - Restarting php-fpm: systemctl stop php7.4-fpm.service
08.05.2020-11:49 - DEBUG - safe_exec cmd: killall -u 'user3' ; userdel -f 'user3' &> /dev/null - return code: 0
08.05.2020-11:49 - DEBUG - Deleted shelluser: user3
08.05.2020-11:49 - DEBUG - Calling function 'restartPHP_FPM' from module 'web_module'.
08.05.2020-11:49 - DEBUG - Restarting php-fpm: systemctl start php7.4-fpm.service
08.05.2020-11:49 - DEBUG - Calling function 'delete' from plugin 'shelluser_jailkit_plugin' raised by event 'shell_user_delete'.
08.05.2020-11:49 - DEBUG - Jailkit Plugin -> delete username:user3
08.05.2020-11:49 - DEBUG - Processed datalog_id 6959
08.05.2020-11:49 - DEBUG - Calling function 'delete' from plugin 'shelluser_base_plugin' raised by event 'shell_user_delete'.
08.05.2020-11:49 - DEBUG - safe_exec cmd: chattr -i '/var/www/clients/client1/web144' - return code: 0
08.05.2020-11:49 - DEBUG - safe_exec cmd: rm -rf '/var/www/clients/client1/web144/home/user4/.ssh' - return code: 0
08.05.2020-11:49 - DEBUG - safe_exec cmd: chattr -i '/var/www/clients/client1/web144' - return code: 0
08.05.2020-11:49 - DEBUG - Calling function 'restartPHP_FPM' from module 'web_module'.
08.05.2020-11:49 - DEBUG - Restarting php-fpm: systemctl stop php7.4-fpm.service
08.05.2020-11:49 - DEBUG - safe_exec cmd: killall -u 'user4' ; userdel -f 'user4' &> /dev/null - return code: 0
08.05.2020-11:49 - DEBUG - Deleted shelluser: user4
08.05.2020-11:49 - DEBUG - Calling function 'restartPHP_FPM' from module 'web_module'.
08.05.2020-11:49 - DEBUG - Restarting php-fpm: systemctl start php7.4-fpm.service
08.05.2020-11:49 - DEBUG - Calling function 'delete' from plugin 'shelluser_jailkit_plugin' raised by event 'shell_user_delete'.
08.05.2020-11:49 - DEBUG - Jailkit Plugin -> delete username:user4
08.05.2020-11:49 - DEBUG - Processed datalog_id 6960
08.05.2020-11:49 - DEBUG - Calling function 'delete' from plugin 'shelluser_base_plugin' raised by event 'shell_user_delete'.
08.05.2020-11:49 - DEBUG - safe_exec cmd: chattr -i '/var/www/clients/client1/web163' - return code: 0
08.05.2020-11:49 - DEBUG - safe_exec cmd: rm -rf '/var/www/clients/client1/web163/home/user5/.ssh' - return code: 0
08.05.2020-11:49 - DEBUG - safe_exec cmd: chattr -i '/var/www/clients/client1/web163' - return code: 0
08.05.2020-11:49 - DEBUG - Calling function 'restartPHP_FPM' from module 'web_module'.
08.05.2020-11:49 - DEBUG - Restarting php-fpm: systemctl stop php7.4-fpm.service
08.05.2020-11:49 - DEBUG - safe_exec cmd: killall -u 'user5' ; userdel -f 'user5' &> /dev/null - return code: 0
08.05.2020-11:49 - DEBUG - Deleted shelluser: user5
08.05.2020-11:49 - DEBUG - Calling function 'restartPHP_FPM' from module 'web_module'.
08.05.2020-11:49 - DEBUG - Restarting php-fpm: systemctl start php7.4-fpm.service
08.05.2020-11:49 - DEBUG - Calling function 'delete' from plugin 'shelluser_jailkit_plugin' raised by event 'shell_user_delete'.
08.05.2020-11:49 - DEBUG - Jailkit Plugin -> delete username:user5
08.05.2020-11:49 - DEBUG - Processed datalog_id 6961
08.05.2020-11:49 - DEBUG - Calling function 'delete' from plugin 'shelluser_base_plugin' raised by event 'shell_user_delete'.
08.05.2020-11:49 - DEBUG - safe_exec cmd: chattr -i '/var/www/clients/client1/web122' - return code: 0
08.05.2020-11:49 - DEBUG - safe_exec cmd: rm -rf '/var/www/clients/client1/web122/home/user6/.ssh' - return code: 0
08.05.2020-11:49 - DEBUG - safe_exec cmd: chattr -i '/var/www/clients/client1/web122' - return code: 0
08.05.2020-11:49 - DEBUG - Calling function 'restartPHP_FPM' from module 'web_module'.
08.05.2020-11:49 - DEBUG - Restarting php-fpm: systemctl stop php7.4-fpm.service
08.05.2020-11:49 - DEBUG - safe_exec cmd: killall -u 'user6' ; userdel -f 'user6' &> /dev/null - return code: 0
08.05.2020-11:49 - DEBUG - Deleted shelluser: user6
08.05.2020-11:49 - DEBUG - Calling function 'restartPHP_FPM' from module 'web_module'.
08.05.2020-11:49 - DEBUG - Restarting php-fpm: systemctl start php7.4-fpm.service
08.05.2020-11:49 - DEBUG - Calling function 'delete' from plugin 'shelluser_jailkit_plugin' raised by event 'shell_user_delete'.
08.05.2020-11:49 - DEBUG - Jailkit Plugin -> delete username:user6
08.05.2020-11:49 - DEBUG - Processed datalog_id 6962
08.05.2020-11:49 - DEBUG - Calling function 'delete' from plugin 'shelluser_base_plugin' raised by event 'shell_user_delete'.
08.05.2020-11:49 - DEBUG - safe_exec cmd: chattr -i '/var/www/clients/client1/web81' - return code: 0
08.05.2020-11:49 - DEBUG - safe_exec cmd: rm -rf '/var/www/clients/client1/web81/home/user7/.ssh' - return code: 0
08.05.2020-11:49 - DEBUG - safe_exec cmd: chattr -i '/var/www/clients/client1/web81' - return code: 0
08.05.2020-11:49 - DEBUG - Calling function 'restartPHP_FPM' from module 'web_module'.
08.05.2020-11:49 - DEBUG - Restarting php-fpm: systemctl stop php7.4-fpm.service
08.05.2020-11:49 - DEBUG - safe_exec cmd: killall -u 'user7' ; userdel -f 'user7' &> /dev/null - return code: 0
08.05.2020-11:49 - DEBUG - Deleted shelluser: user7
08.05.2020-11:49 - DEBUG - Calling function 'restartPHP_FPM' from module 'web_module'.
08.05.2020-11:49 - DEBUG - Restarting php-fpm: systemctl start php7.4-fpm.service
08.05.2020-11:49 - DEBUG - Calling function 'delete' from plugin 'shelluser_jailkit_plugin' raised by event 'shell_user_delete'.
08.05.2020-11:49 - DEBUG - Jailkit Plugin -> delete username:user7
08.05.2020-11:49 - DEBUG - Processed datalog_id 6963
08.05.2020-11:49 - DEBUG - Calling function 'delete' from plugin 'shelluser_base_plugin' raised by event 'shell_user_delete'.
08.05.2020-11:49 - DEBUG - safe_exec cmd: chattr -i '/var/www/clients/client1/web50' - return code: 0
08.05.2020-11:49 - DEBUG - safe_exec cmd: rm -rf '/var/www/clients/client1/web50/home/user8/.ssh' - return code: 0
08.05.2020-11:49 - DEBUG - safe_exec cmd: chattr -i '/var/www/clients/client1/web50' - return code: 0
08.05.2020-11:49 - DEBUG - Calling function 'restartPHP_FPM' from module 'web_module'.
08.05.2020-11:49 - DEBUG - Restarting php-fpm: systemctl stop php7.4-fpm.service
08.05.2020-11:49 - DEBUG - safe_exec cmd: killall -u 'user8' ; userdel -f 'user8' &> /dev/null - return code: 0
08.05.2020-11:49 - DEBUG - Deleted shelluser: user8
08.05.2020-11:49 - DEBUG - Calling function 'restartPHP_FPM' from module 'web_module'.
08.05.2020-11:49 - DEBUG - Restarting php-fpm: systemctl start php7.4-fpm.service
08.05.2020-11:49 - DEBUG - Calling function 'delete' from plugin 'shelluser_jailkit_plugin' raised by event 'shell_user_delete'.
08.05.2020-11:49 - DEBUG - Jailkit Plugin -> delete username:user8
08.05.2020-11:49 - DEBUG - Processed datalog_id 6964
08.05.2020-11:49 - DEBUG - Calling function 'delete' from plugin 'shelluser_base_plugin' raised by event 'shell_user_delete'.
08.05.2020-11:49 - DEBUG - safe_exec cmd: chattr -i '/var/www/clients/client1/web166' - return code: 0
08.05.2020-11:49 - DEBUG - safe_exec cmd: rm -rf '/var/www/clients/client1/web166/home/user9/.ssh' - return code: 0
08.05.2020-11:49 - DEBUG - safe_exec cmd: chattr -i '/var/www/clients/client1/web166' - return code: 0
08.05.2020-11:49 - DEBUG - Calling function 'restartPHP_FPM' from module 'web_module'.
08.05.2020-11:49 - DEBUG - Restarting php-fpm: systemctl stop php7.4-fpm.service
08.05.2020-11:49 - DEBUG - safe_exec cmd: killall -u 'user9' ; userdel -f 'user9' &> /dev/null - return code: 0
08.05.2020-11:49 - DEBUG - Deleted shelluser: user9
08.05.2020-11:49 - DEBUG - Calling function 'restartPHP_FPM' from module 'web_module'.
08.05.2020-11:49 - DEBUG - Restarting php-fpm: systemctl start php7.4-fpm.service
08.05.2020-11:49 - DEBUG - Calling function 'delete' from plugin 'shelluser_jailkit_plugin' raised by event 'shell_user_delete'.
08.05.2020-11:49 - DEBUG - Jailkit Plugin -> delete username:user9
08.05.2020-11:49 - DEBUG - Processed datalog_id 6965
08.05.2020-11:49 - DEBUG - Remove Lock: /usr/local/ispconfig/server/temp/.ispconfig_lock
```
## environment
Server OS: Debian 10 "Buster"
ISPConfig version: 3.1.15p3
## proposed fix
It seems tunning Systemd (https://www.freedesktop.org/software/systemd/man/systemd.unit.html#StartLimitIntervalSec=interval) could avoid this, but I don't think this is the right solution, and I don't want to edit the systemd unit for every FPM version.
I think ISPConfig should be careful not to restart the same PHP-FPM too many times in a row.
Thanks.https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/5613Adding zones to PowerDNS with 'notified_serial' set breaks native DNS replica...2020-05-08T08:31:14ZMichael WeißAdding zones to PowerDNS with 'notified_serial' set breaks native DNS replication## short description
When creating a new zone, the powerdns-plugin inserts the domain with the field "notified_serial" set to the inital serial from SOA. Therefore the pdns server does not notify any slaves since notified_serial == curre...## short description
When creating a new zone, the powerdns-plugin inserts the domain with the field "notified_serial" set to the inital serial from SOA. Therefore the pdns server does not notify any slaves since notified_serial == current serial from soa. This breaks zone replication to e.g. bind slaves.
## correct behaviour
Leave out "notified_serial" when adding a new zone or set it explicitly to NULL.
## environment
Any.
## proposed fix
server/plugins-available/powerdns_plugin.inc.php: 137,16
$app->db->query("INSERT INTO powerdns.domains (name, type, ispconfig_id) VALUES (?, ?, ?)", $origin, 'MASTER', $ispconfig_id);https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/5608[rspamd] DKIM check not working when switching from amavis to rspamd (CentOS7)2022-04-26T17:53:27ZJanThiel[rspamd] DKIM check not working when switching from amavis to rspamd (CentOS7)## short description
As described in this topic already, the dkim_signing.conf is not created in the rspamd config folder ( /etc/rspamd/local.d/ ) when you switch from amavisd to rspam. The _rspamd user also needs to be added to the amav...## short description
As described in this topic already, the dkim_signing.conf is not created in the rspamd config folder ( /etc/rspamd/local.d/ ) when you switch from amavisd to rspam. The _rspamd user also needs to be added to the amavis group (though I didn't check if this really was missing, before simply adding it :-/)
Thus rspamd is not able to find the dkim keys and throws warnings in the log.
```
dkim_module_load_key_format: cannot load dkim key /var/lib/rspamd/dkim/[DOMAIN].dkim.key: cannot stat key file: '/var/lib/rspamd/dkim/[DOMAIN].dkim.key' File or folder not found
```
https://www.howtoforge.com/community/threads/rspamd-greylist-dkim-keys-not-loaded.82823/#post-395279
## correct behaviour
DKIM files should be read from existing amavisd folder without manual intervention and configuration
## environment
Server OS: centos 7
ISPConfig version: 3.1.15p3
## proposed fix
- _rspamd user should be added to group amavisd
- **/etc/rspamd/local.d/dkim_signing.conf** should be created with the following content:
```
try_fallback = false;
path_map = "/etc/rspamd/local.d/dkim_domains.map";
selector_map = "/etc/rspamd/local.d/dkim_selectors.map";
```https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/5586Maibox quota | Email domain quota2020-11-02T15:54:15ZTonMaibox quota | Email domain quotaGood afternoon,
I'm writing because we have detected a problem with email quotas. It's a real case that has happened to us.
1. The client has created an email box: email01@domain.com with a fee of 5 Gb.
2. When the mailbox reaches 5Gb...Good afternoon,
I'm writing because we have detected a problem with email quotas. It's a real case that has happened to us.
1. The client has created an email box: email01@domain.com with a fee of 5 Gb.
2. When the mailbox reaches 5Gb, they deactivate it and modify the quota reducing it to 1 Mb for example.
3. Then they create a new email box: email02@domain.com and they have all the domain fees to use again.
4. The first mailbox has not been deleted, so it uses the 5 Gb hard disk quota.
5. This has been repeated with several emails, so this user is consuming much more hard disk quota than the one assigned to his domain without our control.
Regards.
On the other hand, would it be possible to have a limit per account instead of a global limit for all accounts? I think it is the most used option in hosting plans (max quota limit per account) more common than global quota per email domain.
Example:
Currently, we could set a domain email quota to 10Gb. This means we could have a mailbox with a 10Gb quota or 10 email mailboxes with 1Gb. We believe it is more common to set a maximum of 10 mailboxes and 1G max for each one for example.
I have seen that it is an open request a long time ago, we are following the changes but it has not entered the roadmap.
Thank you very much for the excellent work on this project.https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/5566PHP Handler not filled on error (System > Main config)2020-11-14T20:17:36ZManoa RatefiarisonPHP Handler not filled on error (System > Main config)## short description
The problem happens when I did (by mistake) added a "." in field prefix for user database in System > Main Config. After that, ISPConfig told me that there is some unauthorized chars in this field, but at the same ti...## short description
The problem happens when I did (by mistake) added a "." in field prefix for user database in System > Main Config. After that, ISPConfig told me that there is some unauthorized chars in this field, but at the same time, all PHP Handler cases has been dischecked.
## correct behaviour
PHP Handler cases should keep previous settings (from the latest form submit or from the database).
## environment
Server OS: Debian
Server OS version: Stretch
ISPConfig version: 3.1.15p3https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/5555Remote API function client_template_additional_add() broken2020-08-28T16:34:17ZTill BrehmRemote API function client_template_additional_add() brokenThe remote API function client_template_additional_add() does not calculate the limits correctly.The remote API function client_template_additional_add() does not calculate the limits correctly.https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/5527Server Config > Mail tab reconfigures server with no changes and mail service...2021-01-03T19:40:29ZJesse NorellServer Config > Mail tab reconfigures server with no changes and mail service disabledOn a server with mail service disabled, browsing to the Server Config > {server} > Mail tab and then to another tab will actually save changes and change the server's postfix config.
Discussion at https://www.howtoforge.com/community/th...On a server with mail service disabled, browsing to the Server Config > {server} > Mail tab and then to another tab will actually save changes and change the server's postfix config.
Discussion at https://www.howtoforge.com/community/threads/bug-or-misconfiguration.83712/https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/5514Mount for log files gets deleted after domain change2021-03-18T19:58:42ZDanielMount for log files gets deleted after domain change## short description
When changing the domain of a website in ISPConfig, the "log" folder of the website is empty. Reason is that the fstab entries are not added for the new domain (but the old entry gets deleted).
*(I assume that a dom...## short description
When changing the domain of a website in ISPConfig, the "log" folder of the website is empty. Reason is that the fstab entries are not added for the new domain (but the old entry gets deleted).
*(I assume that a domain change affects other parts of ISPConfig and the system too - if you can think of them maybe a new bug ticket should be opened)*
## correct behaviour
A new fstab entry should be created based on the new domain name, after deleting the old one.
## environment
Server OS: Ubuntu
Server OS version: 16.04 LTS
ISPConfig version: 3.1.15p2 (older versions affected too)
## references
https://www.howtoforge.com/community/threads/renaming-domain-deletes-logs.83607/https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/5483Subdomain (vhost) with subroot creates incorrect document root2019-12-22T08:31:56ZXaver MaierhoferSubdomain (vhost) with subroot creates incorrect document root## short description
Docroot is missing a `/`
`subdomain` as folder and `##subroot web ##` in vhost ends up with `path.../clienZY/webXY/subdomainweb` as root
## correct behaviour
`/` needs to be added. `subdomain/` will strip the `/` o...## short description
Docroot is missing a `/`
`subdomain` as folder and `##subroot web ##` in vhost ends up with `path.../clienZY/webXY/subdomainweb` as root
## correct behaviour
`/` needs to be added. `subdomain/` will strip the `/` on save and also subroot used a ltrim `/` and will remove the needed `/`
## environment
Server OS: debian
Server OS version: 10
ISPConfig version: git-stable
If it might be related to the problem
```
nginx version: nginx/1.17.6
```
```
PHP 7.3.12
```
## proposed fix
add a `/` in subdomain vhost, because the website/domain has a `/` or allow `/` and strip double `//`https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/5478Spamfilter BL/WL leaks servernames to customer2021-11-15T20:47:18ZZakSpamfilter BL/WL leaks servernames to customer### Problem
The "Server" dropdown selector in the users Spamfilter BL/WL dialog leaks all servernames within the "ISPConfig network" to the user - regardless of their function and their availability to the user.
### Proposed solution(s)...### Problem
The "Server" dropdown selector in the users Spamfilter BL/WL dialog leaks all servernames within the "ISPConfig network" to the user - regardless of their function and their availability to the user.
### Proposed solution(s)
1) Only offer (mail)servers assigned to the specific user
2) Only offer (mail)servers which are already in use by a user set spamfilter directive
3) Remove the dropdown menu in favor of a text input fieldhttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/5449Why the firewall is always seen inactive during the update process2021-01-09T22:12:26ZOlivier BOUMATIWhy the firewall is always seen inactive during the update processHello,
I use ISPConfig for several years on 6 different Debian servers. So I proceeded regularly updates ISPConfig and systems packages.
I noticed during each update, that the process detects that the firewall is inactive while I answer ...Hello,
I use ISPConfig for several years on 6 different Debian servers. So I proceeded regularly updates ISPConfig and systems packages.
I noticed during each update, that the process detects that the firewall is inactive while I answer always need to activate it. Why does not he retains this choice as he does very well for all other matters relating to the installation?
Thank you
Regards,
Olivier
## environment
Server OS: (Debian)
Server OS version: (Stretch)
ISPConfig version: (3.1.15p2 and other)
## Apache version
root:~# apachectl -v
Server version: Apache/2.4.25 (Debian)
Server built: 2019-10-13T15:43:54
## PHP version
root:~# php -v
PHP 5.6.40-13+0~20191026.23+debian9~1.gbp37e45b (cli)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologieshttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/5447php-fpm socket/config not removed on change of php version2020-10-09T09:33:38ZZakphp-fpm socket/config not removed on change of php version## short description
When changing from one version of php-fpm to another, the corresponding config of the website is not removed. This always happens from one "direction" to another, but not the other way around. \
I've posted a similar...## short description
When changing from one version of php-fpm to another, the corresponding config of the website is not removed. This always happens from one "direction" to another, but not the other way around. \
I've posted a similar issue three months ago in another thread - regarding a different server and in context to a servers default php setting. I don't remembers hitting this issue when not changing the servers php default setting, as well as a websites php version - however I don't recall changing the php default on that server... Please see https://git.ispconfig.org/ispconfig/ispconfig3/issues/5333#note_68059 for reference as well.
## correct behaviour
php-fpm config should be removed and the daemon should be reloaded.
## environment
Server OS: ubuntu \
Server OS version: bionic / 18.04.3 LTS \
ISPConfig version: 3.1.15 (checked changelogs of p1 and p2 but couldn't see any relevant fixes)
## log entries
### From php5.6 -> 7.3
This is where the error ouccurs!
There should be a line "Removed PHP-FPM config file: /etc/php/5.6/fpm/pool.d/web3363.conf", as well as a reload of the daemon itself.
```
08.11.2019-10:32 - DEBUG - Calling function 'check_phpini_changes' from plugin 'webserver_plugin' raised by action 'server_plugins_loaded'.
08.11.2019-10:32 - DEBUG - Found 1 changes, starting update process.
08.11.2019-10:32 - DEBUG - Replicated from master: REPLACE INTO `web_domain` (`domain_id`,`sys_userid`,`sys_groupid`,`sys_perm_user`,`sys_perm_group`,`sys_perm_other`,`server_id`,`ip_address`,`ipv6_address`,`domain`,`type`,`parent_domain_id`,`vhost_type`,`document_root`,`web_folder`,`system_user`,`system_group`,`hd_quota`,`traffic_quota`,`cgi`,`ssi`,`suexec`,`errordocs`,`is_subdomainwww`,`subdomain`,`php`,`ruby`,`python`,`perl`,`redirect_type`,`redirect_path`,`seo_redirect`,`rewrite_to_https`,`ssl`,`ssl_letsencrypt`,`ssl_letsencrypt_exclude`,`ssl_state`,`ssl_locality`,`ssl_organisation`,`ssl_organisation_unit`,`ssl_country`,`ssl_domain`,`ssl_request`,`ssl_cert`,`ssl_bundle`,`ssl_key`,`ssl_action`,`stats_password`,`stats_type`,`allow_override`,`apache_directives`,`nginx_directives`,`php_fpm_use_socket`,`php_fpm_chroot`,`pm`,`pm_max_children`,`pm_start_servers`,`pm_min_spare_servers`,`pm_max_spare_servers`,`pm_process_idle_timeout`,`pm_max_requests`,`php_open_basedir`,`custom_php_ini`,`backup_interval`,`backup_copies`,`backup_excludes`,`active`,`traffic_quota_lock`,`fastcgi_php_version`,`proxy_directives`,`enable_spdy`,`last_quota_notification`,`rewrite_rules`,`added_date`,`added_by`,`directive_snippets_id`,`enable_pagespeed`,`http_port`,`https_port`,`log_retention`,`folder_directive_snippets`) VALUES ('3363','526','525','riud','ru','','31','*','','domain.tld','vhost','0','name','/var/www/clients/client524/web3363','','web3363','client524','1000','100000','n','n','y','0','1','none','php-fpm','n','n','n',NULL,NULL,NULL,'n','n','n','n',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'$6$rounds=5000$48b2e56734a9d55b$XNfG0T8n/Y7ZQA.7NbzVFTJ8DInMBGGGwoKApbZQmjnSM9ytK2OUdYCbnp8dZBjcrz24mvw0j2hy9FqojTcXp.','awstats','All','','','y','n','dynamic','10','2','1','5','10','0','/var/www/clients/client524/web3363/web:/var/www/clients/client524/web3363/private:/var/www/clients/client524/web3363/tmp:/var/www/domain.tld/web:/srv/www/domain.tld/web:/usr/share/php5:/usr/share/php:/tmp:/usr/share/phpmyadmin:/etc/phpmyadmin:/var/lib/phpmyadmin:/dev/random:/dev/urandom','\r\nmemory_limit = 256M\r\npost_max_size = 64M\r\nupload_max_filesize = 64M\r\nmax_input_time = -1\r\nmax_execution_time = 180\r\nmax_input_vars = 1580\r\n','none','1','','y','n','','','n',NULL,NULL,'2019-11-08','113548','0','n','80','443','10',NULL)
08.11.2019-10:32 - DEBUG - Calling function 'ssl' from plugin 'apache2_plugin' raised by event 'web_domain_update'.
08.11.2019-10:32 - DEBUG - Calling function 'update' from plugin 'apache2_plugin' raised by event 'web_domain_update'.
08.11.2019-10:32 - DEBUG - safe_exec cmd: chattr -i '/var/www/clients/client524/web3363' - return code: 0
08.11.2019-10:32 - DEBUG - safe_exec cmd: chattr +i '/var/www/clients/client524/web3363' - return code: 0
08.11.2019-10:32 - DEBUG - safe_exec cmd: df -T '/var/www/clients/client524/web3363'|awk 'END{print $2,$NF}' - return code: 0
08.11.2019-10:32 - DEBUG - safe_exec cmd: which 'setquota' 2> /dev/null - return code: 0
08.11.2019-10:32 - DEBUG - safe_exec cmd: setquota -u 'web3363' '1024000' '1025024' 0 0 -a &> /dev/null - return code: 0
setquota: Not setting block grace time on /dev/zd16p1 because softlimit is not exceeded.
setquota: Not setting inode grace time on /dev/zd16p1 because softlimit is not exceeded.
08.11.2019-10:32 - DEBUG - safe_exec cmd: setquota -T -u 'web3363' 604800 604800 -a &> /dev/null - return code: 0
08.11.2019-10:32 - DEBUG - safe_exec cmd: chattr +i '/var/www/clients/client524/web3363' - return code: 0
08.11.2019-10:32 - DEBUG - safe_exec cmd: which 'apache2ctl' 2> /dev/null - return code: 0
08.11.2019-10:32 - DEBUG - Writing the vhost file: /etc/apache2/sites-available/domain.tld.vhost
08.11.2019-10:32 - DEBUG - safe_exec cmd: which 'apache2ctl' 2> /dev/null - return code: 0
08.11.2019-10:32 - DEBUG - Writing the PHP-FPM config file: /etc/php/7.3/fpm/pool.d/web3363.conf
08.11.2019-10:32 - DEBUG - Calling function 'restartPHP_FPM' from module 'web_module'.
08.11.2019-10:32 - DEBUG - Restarting php-fpm: systemctl reload php7.3-fpm.service
08.11.2019-10:32 - DEBUG - Apache status is: running
08.11.2019-10:32 - DEBUG - Calling function 'restartHttpd' from module 'web_module'.
08.11.2019-10:32 - DEBUG - Restarting httpd: systemctl restart apache2.service
08.11.2019-10:32 - DEBUG - Apache restart return value is: 0
08.11.2019-10:32 - DEBUG - Apache online status after restart is: running
08.11.2019-10:32 - DEBUG - Processed datalog_id 30661
08.11.2019-10:32 - DEBUG - Remove Lock: /usr/local/ispconfig/server/temp/.ispconfig_lock
finished.
```
### From php7.3 -> 5.6
All good here...
```
08.11.2019-10:32 - DEBUG - Calling function 'check_phpini_changes' from plugin 'webserver_plugin' raised by action 'server_plugins_loaded'.
08.11.2019-10:32 - DEBUG - Found 1 changes, starting update process.
08.11.2019-10:32 - DEBUG - Replicated from master: REPLACE INTO `web_domain` (`domain_id`,`sys_userid`,`sys_groupid`,`sys_perm_user`,`sys_perm_group`,`sys_perm_other`,`server_id`,`ip_address`,`ipv6_address`,`domain`,`type`,`parent_domain_id`,`vhost_type`,`document_root`,`web_folder`,`system_user`,`system_group`,`hd_quota`,`traffic_quota`,`cgi`,`ssi`,`suexec`,`errordocs`,`is_subdomainwww`,`subdomain`,`php`,`ruby`,`python`,`perl`,`redirect_type`,`redirect_path`,`seo_redirect`,`rewrite_to_https`,`ssl`,`ssl_letsencrypt`,`ssl_letsencrypt_exclude`,`ssl_state`,`ssl_locality`,`ssl_organisation`,`ssl_organisation_unit`,`ssl_country`,`ssl_domain`,`ssl_request`,`ssl_cert`,`ssl_bundle`,`ssl_key`,`ssl_action`,`stats_password`,`stats_type`,`allow_override`,`apache_directives`,`nginx_directives`,`php_fpm_use_socket`,`php_fpm_chroot`,`pm`,`pm_max_children`,`pm_start_servers`,`pm_min_spare_servers`,`pm_max_spare_servers`,`pm_process_idle_timeout`,`pm_max_requests`,`php_open_basedir`,`custom_php_ini`,`backup_interval`,`backup_copies`,`backup_excludes`,`active`,`traffic_quota_lock`,`fastcgi_php_version`,`proxy_directives`,`enable_spdy`,`last_quota_notification`,`rewrite_rules`,`added_date`,`added_by`,`directive_snippets_id`,`enable_pagespeed`,`http_port`,`https_port`,`log_retention`,`folder_directive_snippets`) VALUES ('3363','526','525','riud','ru','','31','*','','domain.tld','vhost','0','name','/var/www/clients/client524/web3363','','web3363','client524','1000','100000','n','n','y','0','1','none','php-fpm','n','n','n',NULL,NULL,NULL,'n','n','n','n',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'$6$rounds=5000$48b2e56734a9d55b$XNfG0T8n/Y7ZQA.7NbzVFTJ8DInMBGGGwoKApbZQmjnSM9ytK2OUdYCbnp8dZBjcrz24mvw0j2hy9FqojTcXp.','awstats','All','','','y','n','dynamic','10','2','1','5','10','0','/var/www/clients/client524/web3363/web:/var/www/clients/client524/web3363/private:/var/www/clients/client524/web3363/tmp:/var/www/domain.tld/web:/srv/www/domain.tld/web:/usr/share/php5:/usr/share/php:/tmp:/usr/share/phpmyadmin:/etc/phpmyadmin:/var/lib/phpmyadmin:/dev/random:/dev/urandom','\r\nmemory_limit = 256M\r\npost_max_size = 64M\r\nupload_max_filesize = 64M\r\nmax_input_time = -1\r\nmax_execution_time = 180\r\nmax_input_vars = 1580\r\n','none','1','','y','n','php5.6:/etc/init.d/php5.6-fpm:/etc/php/5.6/fpm/:/etc/php/5.6/fpm/pool.d','','n',NULL,NULL,'2019-11-08','113548','0','n','80','443','10',NULL)
08.11.2019-10:32 - DEBUG - Calling function 'ssl' from plugin 'apache2_plugin' raised by event 'web_domain_update'.
08.11.2019-10:32 - DEBUG - Calling function 'update' from plugin 'apache2_plugin' raised by event 'web_domain_update'.
08.11.2019-10:32 - DEBUG - safe_exec cmd: chattr -i '/var/www/clients/client524/web3363' - return code: 0
08.11.2019-10:32 - DEBUG - safe_exec cmd: chattr +i '/var/www/clients/client524/web3363' - return code: 0
08.11.2019-10:32 - DEBUG - safe_exec cmd: df -T '/var/www/clients/client524/web3363'|awk 'END{print $2,$NF}' - return code: 0
08.11.2019-10:32 - DEBUG - safe_exec cmd: which 'setquota' 2> /dev/null - return code: 0
08.11.2019-10:32 - DEBUG - safe_exec cmd: setquota -u 'web3363' '1024000' '1025024' 0 0 -a &> /dev/null - return code: 0
setquota: Not setting block grace time on /dev/zd16p1 because softlimit is not exceeded.
setquota: Not setting inode grace time on /dev/zd16p1 because softlimit is not exceeded.
08.11.2019-10:32 - DEBUG - safe_exec cmd: setquota -T -u 'web3363' 604800 604800 -a &> /dev/null - return code: 0
08.11.2019-10:32 - DEBUG - safe_exec cmd: chattr +i '/var/www/clients/client524/web3363' - return code: 0
08.11.2019-10:32 - DEBUG - safe_exec cmd: which 'apache2ctl' 2> /dev/null - return code: 0
08.11.2019-10:32 - DEBUG - Writing the vhost file: /etc/apache2/sites-available/domain.tld.vhost
08.11.2019-10:32 - DEBUG - safe_exec cmd: which 'apache2ctl' 2> /dev/null - return code: 0
08.11.2019-10:32 - DEBUG - Writing the PHP-FPM config file: /etc/php/5.6/fpm/pool.d/web3363.conf
08.11.2019-10:32 - DEBUG - Removed PHP-FPM config file: /etc/php/7.3/fpm/pool.d/web3363.conf
08.11.2019-10:32 - DEBUG - Calling function 'restartPHP_FPM' from module 'web_module'.
08.11.2019-10:32 - DEBUG - Restarting php-fpm: systemctl reload php7.3-fpm.service
08.11.2019-10:32 - DEBUG - Calling function 'restartPHP_FPM' from module 'web_module'.
08.11.2019-10:32 - DEBUG - Restarting php-fpm: systemctl reload php5.6-fpm.service
08.11.2019-10:32 - DEBUG - Apache status is: running
08.11.2019-10:32 - DEBUG - Calling function 'restartHttpd' from module 'web_module'.
08.11.2019-10:32 - DEBUG - Restarting httpd: systemctl restart apache2.service
08.11.2019-10:32 - DEBUG - Apache restart return value is: 0
08.11.2019-10:32 - DEBUG - Apache online status after restart is: running
08.11.2019-10:32 - DEBUG - Processed datalog_id 30660
08.11.2019-10:32 - DEBUG - Remove Lock: /usr/local/ispconfig/server/temp/.ispconfig_lock
finished.
```https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/5311PHP directives PHP_INI_SYSTEM not working for PHP-FPM2020-03-01T21:55:08ZJavier pasquinPHP directives PHP_INI_SYSTEM not working for PHP-FPM## short description
You can edit custom directives for php.ini on the ISPConfig Panel.
In php-fpm case when you declare a directive of type PHP_INI_SYSTEM it dosen't apply to system, because you have to edit in the php pool php.ini
The ...## short description
You can edit custom directives for php.ini on the ISPConfig Panel.
In php-fpm case when you declare a directive of type PHP_INI_SYSTEM it dosen't apply to system, because you have to edit in the php pool php.ini
The problem is when you create a phpinfo file.
You can see the value that you configured on the panel, but it's not applying correctly.
The value that is applying is the value on php.ini pool.
## correct behaviour
If you configure a directive type PHP_INI_SYSTEM on a php-fpm hosting, ISPConfig must detect it and not write to fpm conf.
In my case it is happening with 'disable_functions'
Maybe the easiest way for this issue is to create a new field like 'PHP open_basedir:' (PHP disable_functions:) and when is a php-fpm hosting show that is not configurable at least you configure on the general php.ini.
## environment
Server OS: debian
Server OS version: Stretch
ISPConfig version: 3.1.11https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/5307Monitor HD Quota Invalid Files value2020-09-21T21:04:26ZBrianMonitor HD Quota Invalid Files value## short description
When "grace" value is not empty in user quota (repquota -au) like this:
`web314 +- 188604 81920 82944 6dnů 7938 0 0`
the incorrect "files" value is parsed by 100-monitor_hd_quota.inc.php.
## c...## short description
When "grace" value is not empty in user quota (repquota -au) like this:
`web314 +- 188604 81920 82944 6dnů 7938 0 0`
the incorrect "files" value is parsed by 100-monitor_hd_quota.inc.php.
## correct behaviour
Parse used files value.
## proposed fix
when the "grace" value is set in user quota this works:
```
$data['user'][$username]['files'] += $s[6];
```
but when the "grace" is not set works this correctly:
```
$data['user'][$username]['files'] += $s[5];
```
So, maybe add some condition to the 100-monitor_hd_quota.inc.php ?https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/5263Vacation autoreply to ALIAS on same server2020-06-02T21:54:19ZAndreas SpeckVacation autoreply to ALIAS on same server## short description
We have several virtual mail domains on the same server, and some users have configured aliases for their mail addresses. This all works fine.
The problem is related to vacation autoreply, and ONLY in the following c...## short description
We have several virtual mail domains on the same server, and some users have configured aliases for their mail addresses. This all works fine.
The problem is related to vacation autoreply, and ONLY in the following case:
1. A user on our server has enabled autoreply
2. A different user on our server emails to the first user from an alias (not their real mailbox).
In this case the autoreply is triggered via sieve, but then dovecot does not deliver it. The log is the following:
Mar 5 08:53:20 platano dovecot: lda(email1@domaim1.com): sieve: msgid=<d2e92074-a11a-7627-7633-8d560425435a@netuxo.coop>: sent vacation response to <emailalias2@domain2.com>
Mar 5 08:53:20 platano postfix/pipe12074: DB02811C447F: to=<emailalias2@domain2.com>, relay=dovecot, delay=0.05, delays=0.03/0.01/0/0.02, dsn=5.1.1, status=bounced (user unknown)
I tracked it down to the following SQL in /etc/dovecot/dovecot-sql.conf:
user_query = SELECT email as user, maildir as home, CONCAT( maildir_format, ':', maildir, '/', IF(maildir_format='maildir','Maildir',maildir_format)) as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user WHERE (login = '%u' OR email = '%u') AND `disable%Ls` = 'n' AND server_id = '6'
As relay is via dovecot, and this SQL query does not check for aliases, the user is unknown (as it is an alias).
## correct behaviour
Either we should use a different relay, or dovecot should know what to do and expand the alias.
## environment
Server OS: (debian)
Server OS version: (stretch)
ISPConfig version: (3.1.x)
_you can use `grep 'ISPC_APP_VERSION' /usr/local/ispconfig/server/lib/config.inc.php` to get it from the command line_
## proposed fix
I went down the second route (dovdcot) and changed the SQL to:
user_query = SELECT email as user, maildir as home, CONCAT( maildir_format, ':', maildir, '/', IF(maildir_format='maildir','Maildir',maildir_format)) as mail, uid, gid, CONCAT('*:storage=', quota, 'B') AS quota_rule, CONCAT(maildir, '/.sieve') as sieve FROM mail_user LEFT OUTER JOIN mail_forwarding ON mail_user.email = mail_forwarding.destination WHERE (login = '%u' OR email = '%u' OR (mail_forwarding.source = '%u' AND mail_forwarding.server_id = '6' AND mail_forwarding.type = 'alias')) AND `disable%Ls` = 'n' AND mail_user.server_id = '6' GROUP BY email
This seems to do the trickhttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/5243(minor, visual) Backslashes not shown in RegEx preview2020-03-01T21:50:01ZTjeerd(minor, visual) Backslashes not shown in RegEx previewHeya! First of all, thanks for developing ISPconfig! I encountered a minor visual bug in the overview of the "Postfix Header and Body Checks", where backslashes in regular expressions don't show up. If you go to the entry itself it does ...Heya! First of all, thanks for developing ISPconfig! I encountered a minor visual bug in the overview of the "Postfix Header and Body Checks", where backslashes in regular expressions don't show up. If you go to the entry itself it does show them, so I assume everything works as intended.
![regex](/uploads/ed97245346d19afc6fb023d61e5d8d3a/regex.png)