ISPConfig 3 issueshttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues2023-11-24T07:23:04Zhttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6612as Client -> new website - php handler default set to system default even if ...2023-11-24T07:23:04ZHannesas Client -> new website - php handler default set to system default even if in client limit the option is disabled## Summary
as Client -\> new website - php handler default set to system default even if in client limit the option is disabled
If global setting (system-\>server config-\>web-\>php) Default PHP Handler is Fast-CGI than customer can ch...## Summary
as Client -\> new website - php handler default set to system default even if in client limit the option is disabled
If global setting (system-\>server config-\>web-\>php) Default PHP Handler is Fast-CGI than customer can choose fast cgi (in the \<select\>) even if in client limit the option is disabled
## Steps to reproduce
1. create client template with the only php handler option "Disabled" and add it to an client
2. if global setting (system-\>server config-\>web-\>php) Default PHP Handler is Fast-CGI than customer can choose fast cgi on new websites
3. create a website as user
## Environment
Ubuntu 22.04 ISPConfig 3.2.11p1
## Proposed fix
maybe there is an better option/possibility somewhere in the form definition to set the dynamic default values
my change would be
```plaintext
diff --git a/interface/web/sites/web_vhost_domain_edit.php b/interface/web/sites/web_vhost_domain_edit.php
--- a/interface/web/sites/web_vhost_domain_edit.php
+++ b/interface/web/sites/web_vhost_domain_edit.php
@@ -117,19 +117,31 @@
$server_id = $web_servers[0];
$app->tpl->setVar("server_id_value", $server_id, true);
unset($web_servers);
- } else {
+ // Set the default php handler on new form for the client
+ $client = $app->db->queryOneRecord("SELECT client.web_php_options FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = ?", $client_group_id);
+ $allowedPHPHandler = explode(',', $client['web_php_options']);
+ $web_config = $app->getconf->get_server_config($server_id, 'web'); //Get default php handler
+ if (in_array($web_config['php_handler'],$allowedPHPHandler)) { //if default php handler is in allowed php handler of client
+ $app->tform->formDef['tabs']['domain']['fields']['php']['default'] = $web_config['php_handler'];
+ } elseif(in_array('no',$allowedPHPHandler)) { //check if "Disabled" is allowed in template - if yes set it as default
+ $app->tform->formDef['tabs']['domain']['fields']['php']['default'] = 'no';
+ } elseif (count($allowedPHPHandler) > 0 && $allowedPHPHandler != "") { // else set the first allowed in the list if there is an element
+ $app->tform->formDef['tabs']['domain']['fields']['php']['default'] = $allowedPHPHandler[0];
+ } else { //set it to disabled if no other option is available (changes in templates of existing websites bypass the checks in client limits)
+ $app->tform->formDef['tabs']['domain']['fields']['php']['default'] = 'no';
+ }
+ }else {
$settings = $app->getconf->get_global_config('sites');
$server_id = intval($settings['default_webserver']);
$app->tform->formDef['tabs']['domain']['fields']['server_id']['default'] = $server_id;
+ $web_config = $app->getconf->get_server_config($server_id, 'web');
+ $app->tform->formDef['tabs']['domain']['fields']['php']['default'] = $web_config['php_handler'];
}
if(!$server_id){
$default_web_server = $app->db->queryOneRecord("SELECT server_id FROM server WHERE web_server = ? ORDER BY server_id LIMIT 0,1", 1);
$server_id = $default_web_server['server_id'];
}
- $web_config = $app->getconf->get_server_config($server_id, 'web');
- $app->tform->formDef['tabs']['domain']['fields']['php']['default'] = $web_config['php_handler'];
$app->tform->formDef['tabs']['domain']['readonly'] = false;
-
$app->tpl->setVar('vhostdomain_type', $this->_vhostdomain_type, true);
parent::onShowNew();
}
```
##3.2.12https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6610manually added DKIM key creates empty DNS RR2023-12-09T20:45:19ZMatus Uhlarmanually added DKIM key creates empty DNS RR<!-- Before creating a bug report, please:
- Read the contribution guidelines: https://git.ispconfig.org/ispconfig/ispconfig3/-/blob/develop/CONTRIBUTING.md
- Do not ask support questions here. If you are unsure if your problem is a bug,...<!-- Before creating a bug report, please:
- Read the contribution guidelines: https://git.ispconfig.org/ispconfig/ispconfig3/-/blob/develop/CONTRIBUTING.md
- Do not ask support questions here. If you are unsure if your problem is a bug, post a thread on the forum: https://www.howtoforge.com/community/#ispconfig-3.23
- Make sure to remove any content from the description that you did not add. For example, if there are no related log entries, remove the whole "Related log entries" part.
-->
## Summary
<!-- What is happening and what is wrong with that? -->
Adding existing DKIM key for a domain by pasting the it into "DKIM Private-key:" textbox (instead of using "Generate DKIM Private-key" button) and saving it adds dummy TXT record (empty "p=") to DNS zone.
## Steps to reproduce
1. Enter Email / Mail Domain in ISPConfig interface
2. Expand DKIM options by clicking "Domain Keys Identifid Mail (DKIM)" button
3. click the "enable DKIM:" text box
4. paste existing DKIM key to the "DKIM Private-key:"
5. click the "Save" button
6. the new TXT records without public key gets added to the domain.
## Correct behaviour
<!-- What should happen instead? -->
The DKIM TXT Record should be only added to DNS if the public key is known
(and does not alredy exist)
## Environment
Server OS + version: Debian GNU/Linux 10 (buster)
ISPConfig version: 3.2.11
Software version of the related software:
```
Server version: Apache/2.4.38 (Debian)
Server built: 2023-04-21T22:01:00
```
```
PHP 7.3.33-14+0~20230902.114+debian10~1.gbp764b27 (cli) (built: Sep 2 2023 07:11:20) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.33, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.33-14+0~20230902.114+debian10~1.gbp764b27, Copyright (c) 1999-2018, by Zend Technologies
```
## References
https://forum.howtoforge.com/threads/creating-domain-with-manually-addded-dkim-key.91432/3.2.12https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6607Can't use autoinstall.ini update feature if conf-custom files used.2023-11-20T07:06:05ZDorian LWSCan't use autoinstall.ini update feature if conf-custom files used.Hello,
The auto update feature works well but i've edited some files in server/conf-custom directory and the now, the updater ask me this :
Do you want to rename these conf-custom templates now so the default templates are used? (yes,n...Hello,
The auto update feature works well but i've edited some files in server/conf-custom directory and the now, the updater ask me this :
Do you want to rename these conf-custom templates now so the default templates are used? (yes,no) [no]
I notice that there is no options to auto answer to that question. Do you have a workaround solution please ?3.2.12https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6606Wrong german translation in $wb['sender_cc_note_txt'] (de_mail_user.lng)2023-12-03T19:00:17ZHannesWrong german translation in $wb['sender_cc_note_txt'] (de_mail_user.lng)Englisch: $wb\['sender_cc_note_txt'\] = '(One email address only)';
Actual German: $wb\['sender_cc_note_txt'\] = '(Mehrere E-Mail-Adressen mit Kommas trennen)';
Correct German: $wb\['sender_cc_note_txt'\] = '(Nur eine E-Mail-Adresse)';Englisch: $wb\['sender_cc_note_txt'\] = '(One email address only)';
Actual German: $wb\['sender_cc_note_txt'\] = '(Mehrere E-Mail-Adressen mit Kommas trennen)';
Correct German: $wb\['sender_cc_note_txt'\] = '(Nur eine E-Mail-Adresse)';3.2.12HannesHanneshttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6603Warnings due to the use of PHP 8.2 in server.php logs2024-03-01T07:45:03ZMladen B.Warnings due to the use of PHP 8.2 in server.php logs<!-- Before creating a bug report, please:
- Read the contribution guidelines: https://git.ispconfig.org/ispconfig/ispconfig3/-/blob/develop/CONTRIBUTING.md
- Do not ask support questions here. If you are unsure if your problem is a bug,...<!-- Before creating a bug report, please:
- Read the contribution guidelines: https://git.ispconfig.org/ispconfig/ispconfig3/-/blob/develop/CONTRIBUTING.md
- Do not ask support questions here. If you are unsure if your problem is a bug, post a thread on the forum: https://www.howtoforge.com/community/#ispconfig-3.23
- Make sure to remove any content from the description that you did not add. For example, if there are no related log entries, remove the whole "Related log entries" part.
-->
## Summary
Hi,
I'm getting the following errors in `/var/log/ispconfig/cron.log`:
```
Sun Nov 12 10:20:01 AM CET 2023 PHP Warning: Undefined array key "db_flags" in /usr/local/ispconfig/server/lib/classes/db_mysql.inc.php on line 671
Sun Nov 12 10:20:03 AM CET 2023 PHP Warning: Undefined array key 1 in /usr/local/ispconfig/server/lib/classes/cron.d/100-monitor_mem_usage.inc.php on line 79
Sun Nov 12 10:20:03 AM CET 2023 PHP Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /usr/local/ispconfig/server/lib/classes/cron.d/100-monitor_mem_usage.inc.php on line 79
Sun Nov 12 10:21:01 AM CET 2023 finished server.php.
```
I've looked into `server/lib/classes/db_mysql.inc.php`, line 671:
```
$clientdb_flags = ($conf['db_flags'] !== NULL) ? $conf['db_flags'] : NULL;
```
which looks like the cause for the emitting of the 1st warning above, since I don't see 'db_flags' nowhere in any config file(s) defined, under `/usr/local/ispconfig`. It seems there should be an error control operator for suppressing errors/warnings (@) on that line, if we wanted to ignore the warning or the check should be written in a different way, to avoid having warning emitted in the first place (e.g. using `array_key_exists()` or so). I haven't created any PR for this since I'm not sure which way you guys want this to be solved (if at all).
The 2nd warning seems to have the same traits as the 1st one.
The 3rd warning is just an obsoletion warning, which could have slipped under your radar, I guess.
Btw, thanks again for creating this great software :) :beers:
Cheers.
## Steps to reproduce
1. Open the log at /var/log/ispconfig/cron.log
2. Inspect the log
## Correct behaviour
There should be no errors/warnings in the log.
## Environment
Server OS + version: **Debian GNU/Linux 12 (bookworm)** / ISPConfig version: **3.2.11p1**
Software version of the related software:
```
Apache/2.4.57
PHP 8.2.7
```
## Related log entries
```
Sun Nov 12 10:20:01 AM CET 2023 PHP Warning: Undefined array key "db_flags" in /usr/local/ispconfig/server/lib/classes/db_mysql.inc.php on line 671
Sun Nov 12 10:20:03 AM CET 2023 PHP Warning: Undefined array key 1 in /usr/local/ispconfig/server/lib/classes/cron.d/100-monitor_mem_usage.inc.php on line 79
Sun Nov 12 10:20:03 AM CET 2023 PHP Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /usr/local/ispconfig/server/lib/classes/cron.d/100-monitor_mem_usage.inc.php on line 79
Sun Nov 12 10:21:01 AM CET 2023 finished server.php.
```3.2.12https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6599Issue in ajax_get_json.php when $dkim_strength = 02023-12-03T19:04:30ZTill BrehmIssue in ajax_get_json.php when $dkim_strength = 0Reported by M Roji:
I found some bug, that make my script not working properly.
The bug is the code in file /usr/local/ispconfig/interface/web/mail/ajax_get_json.php
```
$dkim_strength = $app->functions->intval($mail_config['dkim_stre...Reported by M Roji:
I found some bug, that make my script not working properly.
The bug is the code in file /usr/local/ispconfig/interface/web/mail/ajax_get_json.php
```
$dkim_strength = $app->functions->intval($mail_config['dkim_strength']);
if ($dkim_strength=='') $dkim_strength = 2048;
```
The right way is
```
$dkim_strength = $app->functions->intval($mail_config['dkim_strength']);
if ($dkim_strength==0) $dkim_strength = 2048;3.2.12https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6597Typo in tform_base.inc.php2023-10-28T15:35:49ZThomTypo in tform_base.inc.phpIn the file interface/lib/classes/tform_base.inc.php there is a bug at line 1190, the ip_address index of the $sql_v6 table is not surrounded by quotes, it therefore passes for a non-existent variable and causes a warning as well as an i...In the file interface/lib/classes/tform_base.inc.php there is a bug at line 1190, the ip_address index of the $sql_v6 table is not surrounded by quotes, it therefore passes for a non-existent variable and causes a warning as well as an incomplete display of the error.
https://forum.howtoforge.com/threads/bug-in-interface-lib-classes-tform_base-inc-php.91338/3.2.12ThomThomhttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6596Improve input value checks in language editor2023-12-03T19:05:00ZTill BrehmImprove input value checks in language editorA PHP code injection vulnerability has been found in the ISPConfig language editor by Egidio Romano from Karma(In)Security. Thanks a lot for reporting this issue! The vulnerability requires that the attacker is correctly logged in as the...A PHP code injection vulnerability has been found in the ISPConfig language editor by Egidio Romano from Karma(In)Security. Thanks a lot for reporting this issue! The vulnerability requires that the attacker is correctly logged in as the 'admin' user (the account with superadmin privilege) in ISPConfig, so an attacker must know the administrator password. Not affected are logins from Clients, Resellers, or Email users and also not logins from additionally created admin users.
Also not affected are systems where the language editor is disabled. The language editor can be disabled by setting:
```
admin_allow_langedit=no
```
in the file /usr/local/ispconfig/security/security_settings.ini.3.2.11p1https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6595PHP Deprecated (with php 8.1) in letsencrypt.inc.php2023-12-03T20:49:53ZHannesPHP Deprecated (with php 8.1) in letsencrypt.inc.phpUbuntu 22.04/PHP 8.1.24 (cli)/ISPConfig 3.2.11
If certbot is used then server.php shows (php8.1)
```plaintext
PHP Deprecated: explode(): Passing null to parameter #2 ($string) of type string is deprecated in /usr/local/ispconfig/serv...Ubuntu 22.04/PHP 8.1.24 (cli)/ISPConfig 3.2.11
If certbot is used then server.php shows (php8.1)
```plaintext
PHP Deprecated: explode(): Passing null to parameter #2 ($string) of type string is deprecated in /usr/local/ispconfig/server/lib/classes/letsencrypt.inc.php on line 47
PHP Deprecated: explode(): Passing null to parameter #2 ($string) of type string is deprecated in /usr/local/ispconfig/server/lib/classes/letsencrypt.inc.php on line 471
```3.2.12https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6593Database connection breaks when reconfiguring the master database details on ...2024-02-09T16:27:07ZTill BrehmDatabase connection breaks when reconfiguring the master database details on master or single nodeThis MR causes the issue:
https://git.ispconfig.org/ispconfig/ispconfig3/-/merge_requests/1680/diffs
It causes the updater to ask for master database login details when you choose to reconfigure permissions in master database on a sing...This MR causes the issue:
https://git.ispconfig.org/ispconfig/ispconfig3/-/merge_requests/1680/diffs
It causes the updater to ask for master database login details when you choose to reconfigure permissions in master database on a single server or the master itself, while it should ask for these details on a slave node only.3.2.11p2Till BrehmTill Brehmhttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6592Website edit - after an validations error (example write xxx into Quota and ...2023-12-02T10:22:10ZHannesWebsite edit - after an validations error (example write xxx into Quota and save) than document_root is empty## Summary
Edit a Website \[Tab Domian\] - trigger an error (example write xxx into Quota and save) than document_root is empty (and maybe other)
(Maybe it is only "cosmetic" but not sure - there a lot of variables/code is this form)
...## Summary
Edit a Website \[Tab Domian\] - trigger an error (example write xxx into Quota and save) than document_root is empty (and maybe other)
(Maybe it is only "cosmetic" but not sure - there a lot of variables/code is this form)
## Steps to reproduce
1. Edit a Website
2. trigger an validations error (example write xxx into Quota)
$this-\>dataRecords contains (web_vhost_domain_edit)
`Array ( [domain_id] => 1 [sys_userid] => 1 [sys_groupid] => 2 [sys_perm_user] => riud [sys_perm_group] => ru [sys_perm_other] => [server_id] => 1 [ip_address] => * [ipv6_address] => [domain] => testdom.xx [type] => vhost [parent_domain_id] => 0 [vhost_type] => name [document_root] => /var/www/clients/client1/web1 [web_folder] => [system_user] => web1 [system_group] => client1 [hd_quota] => 44 [traffic_quota] => -1 [cgi] => n [ssi] => n [suexec] => y [errordocs] => 1 [is_subdomainwww] => 1 [subdomain] => www [php] => no [ruby] => n [python] => n [perl] => n [redirect_type] => [redirect_path] => [seo_redirect] => [rewrite_to_https] => n [ssl] => n [ssl_letsencrypt] => n [ssl_letsencrypt_exclude] => n [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] => awstats [allow_override] => All [apache_directives] => [nginx_directives] => [php_fpm_use_socket] => y [php_fpm_chroot] => n [pm] => ondemand [pm_max_children] => 10 [pm_start_servers] => 2 [pm_min_spare_servers] => 1 [pm_max_spare_servers] => 5 [pm_process_idle_timeout] => 10 [pm_max_requests] => 0 [php_open_basedir] => /var/www/clients/client1/web1/web:/var/www/clients/client1/web1/private:/var/www/clients/client1/web1/tmp:/var/www/testdom.xx/web:/srv/www/testdom.xx/web:/usr/share/php5:/usr/share/php:/tmp:/usr/share/phpmyadmin:/etc/phpmyadmin:/var/lib/phpmyadmin:/dev/random:/dev/urandom [custom_php_ini] => [backup_interval] => none [backup_copies] => 1 [backup_format_web] => default [backup_format_db] => gzip [backup_encrypt] => n [backup_password] => [backup_excludes] => [active] => y [traffic_quota_lock] => n [proxy_directives] => [last_quota_notification] => [rewrite_rules] => [added_date] => 2023-10-19 [added_by] => admin [directive_snippets_id] => 0 [enable_pagespeed] => n [http_port] => 80 [https_port] => 443 [folder_directive_snippets] => [log_retention] => 10 [proxy_protocol] => n [server_php_id] => 0 [jailkit_chroot_app_sections] => [jailkit_chroot_app_programs] => [delete_unused_jailkit] => n [last_jailkit_update] => 2023-10-19 [last_jailkit_hash] => )`
$this-\>dataRecords after an Error
`Array ( [server_id] => 1 [ip_address] => * [ipv6_address] => [domain] => testdom.xx [type] => vhost [parent_domain_id] => 0 [vhost_type] => name [hd_quota] => 0 [traffic_quota] => -1 [cgi] => n [ssi] => n [suexec] => y [errordocs] => 1 [subdomain] => www [ssl] => n [ssl_letsencrypt] => n [php] => no [server_php_id] => 0 [perl] => n [ruby] => n [python] => n [enable_pagespeed] => [active] => y [web_folder] => )`
## Environment
Ubuntu 22.04 ISPConfig version: 3.2.113.2.12https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6591Further Improve PHP 8.2 support2023-12-02T10:17:09ZTill BrehmFurther Improve PHP 8.2 supporthttps://forum.howtoforge.de/threads/php-warning-undefined-variable.13566/#post-65093https://forum.howtoforge.de/threads/php-warning-undefined-variable.13566/#post-650933.2.12https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6589CAA record for subdomain 'none' is added when auto subdomain is set to none2023-10-14T10:19:58ZTill BrehmCAA record for subdomain 'none' is added when auto subdomain is set to noneCAA record for subdomain 'none' is added when auto subdomain option of the website is set to none.CAA record for subdomain 'none' is added when auto subdomain option of the website is set to none.3.2.12https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6585PHP Warning: Undefined array key "ip" in /tmp/update_runner.sh.MQXkxglcyo/in...2023-10-03T12:07:45ZTill BrehmPHP Warning: Undefined array key "ip" in /tmp/update_runner.sh.MQXkxglcyo/install/lib/installer_base.lib.php on line 2995PHP Warning: Undefined array key "ip" in /tmp/update_runner.sh.MQXkxglcyo/install/lib/installer_base.lib.php on line 2995PHP Warning: Undefined array key "ip" in /tmp/update_runner.sh.MQXkxglcyo/install/lib/installer_base.lib.php on line 29953.2.12https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6584DNS - any not allowed in also_notify [bind restart fail]2023-12-03T19:00:50ZHannesDNS - any not allowed in also_notify [bind restart fail]## Summary
"any" not allowed in also_notify \[bind restart fail\]
## Steps to reproduce
1. type "any" into DNS-\>some Zone-\> Zone settings -\> Also Notify Field
2. try to restart bind (will fail) with
```plaintext
02-Oct-2023 09:...## Summary
"any" not allowed in also_notify \[bind restart fail\]
## Steps to reproduce
1. type "any" into DNS-\>some Zone-\> Zone settings -\> Also Notify Field
2. try to restart bind (will fail) with
```plaintext
02-Oct-2023 09:34:39.046 config: error: /etc/bind/named.conf.local:4: unable to find primaries list 'any'\
02-Oct-2023 09:34:39.046 general: error: reloading configuration failed: failure
```
## Correct behaviour
Disallow value "any" in field also-notify ("any" in xfer is ok)
## Environment
Ubuntu 22.04 - ISPConfig 2.3.11
```plaintext
Output of the command
```
## Proposed fix
optional, of course.\\
Maybe change the check or write other function for also_notify
```plaintext
Index: interface/lib/classes/validate_dns.inc.php
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/interface/lib/classes/validate_dns.inc.php b/interface/lib/classes/validate_dns.inc.php
--- a/interface/lib/classes/validate_dns.inc.php
+++ b/interface/lib/classes/validate_dns.inc.php (date 1696240257952)
@@ -292,7 +292,7 @@
if($validator['allowempty'] != 'y') $validator['allowempty'] = 'n';
if($validator['allowempty'] == 'y' && $field_value == '') {
//* Do nothing
- } elseif ($field_value == 'any' && $field_name != ) {
+ } elseif ($field_value == 'any' && $field_name != "also_notify") {
//* Do nothing
} else {
//* Check if its a IPv4 or IPv6 address/range
```3.2.12https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6581PHP-FPM reload mode "restart" ignored when using Nginx webserver2023-09-28T19:18:18ZManoa RatefiarisonPHP-FPM reload mode "restart" ignored when using Nginx webserver## Summary
When using Nginx as webserver, the PHP-FPM reload mode is totally ignored. No matters you put reload or restart, ISPConfig always reload PHP-FPM.
## Steps to reproduce
1. Install ISPConfig with Nginx
2. Install additional PHP...## Summary
When using Nginx as webserver, the PHP-FPM reload mode is totally ignored. No matters you put reload or restart, ISPConfig always reload PHP-FPM.
## Steps to reproduce
1. Install ISPConfig with Nginx
2. Install additional PHP version
3. Enable debug mode and set PHP-FPM reload mode to "restart"
4. Create/edit site with PHP-FPM enabled and choose a version
5. Look at logs
## Correct behaviour
ISPConfig should restart PHP-FPM instead of reload if this is specified like this in the configuration.
## Environment
Server OS + version: Debian 11.1
ISPConfig version: 3.2.11
Software version of the related software:
```
root@server:~# nginx -v
nginx version: nginx/1.18.0
root@server:~# php8.1 -v
PHP 8.1.0 (cli) (built: Nov 25 2021 20:48:52) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.0, Copyright (c) Zend Technologies
with Zend OPcache v8.1.0, Copyright (c), by Zend Technologies
```
(This is the PHP 8.1 from deb.sury.org repository)
## Proposed fix
The problem is on `nginx_plugin.inc.php` line 3054, the reload mode is hardcoded to "reload":
```
$app->services->restartService('php-fpm', 'reload:'.$php_version['php_fpm_init_script']);
```
Instead of hardcoding like this, we can reuse the code on `apache2_plugin.inc.php` to get the reload mode and use it properly:
```
$web_config = $app->getconf->get_server_config($conf["server_id"], 'web');
$php_fpm_reload_mode = ($web_config['php_fpm_reload_mode'] == 'reload')?'reload':'restart';
$app->services->restartService('php-fpm', $php_fpm_reload_mode.':'.$web_config['php_fpm_init_script']);
```
## Related log entries
```
26.09.2023-08:26 - DEBUG [nginx plugin.inc:3032] - Writing the PHP-FPM config file: /etc/php/8.1/fpm/pool.d/web5.conf
26.09.2023-08:26 - DEBUG [services.inc:56] - Calling function 'restartPHP_FPM' from module 'web_module'.
26.09.2023-08:26 - DEBUG [system.inc:2083] - Trying to use Systemd to restart service
26.09.2023-08:26 - DEBUG [system.inc:2431] - safe_exec cmd: systemctl is-enabled 'php8.1-fpm' 2>&1 - return code: 0
26.09.2023-08:26 - DEBUG [system.inc:2098] - ######################################reload php8.1-fpm
26.09.2023-08:26 - DEBUG [web module.inc:316] - Restarting php-fpm: systemctl reload php8.1-fpm.service
```3.2.12https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6575Validation bug in DNS DMARC2023-09-14T21:28:18ZPyte CValidation bug in DNS DMARC## Summary
<!-- What is happening and what is wrong with that? -->
When trying to create a DMARC record for a domain where the DKIM is configured via a CNAME record ISPConfig errors with `dmarc_no_dkim_txt`.
As this is a valid setup (see...## Summary
<!-- What is happening and what is wrong with that? -->
When trying to create a DMARC record for a domain where the DKIM is configured via a CNAME record ISPConfig errors with `dmarc_no_dkim_txt`.
As this is a valid setup (see O365 docs for example) the validation function needs to be corrected.
Reference thread in the forums: https://forum.howtoforge.com/threads/configuring-dkim-and-dmarc-with-office-365.91120/#post-449340
## Steps to reproduce
1. Create a CNAME that point to the DKIM Record
2. Trying adding a DMARC Record
3. Result: Error dmarc_no_dkim_txt
## Correct behaviour
The validation should not check, as it is possible that the record is not configured in the same zone.
## Proposed fix
The file in question is interface/web/dns/dns_dmarc_edit.php lines 229-236:
```
// DMARC requieres at least one active dkim-record...
$sql = "SELECT * FROM dns_rr
LEFT JOIN dns_soa ON (dns_rr.zone=dns_soa.id)
WHERE dns_soa.origin = ? AND dns_rr.name LIKE ? AND type='TXT' AND data like 'v=DKIM1;%' AND dns_rr.active='Y'";
$temp = $app->db->queryAllRecords($sql, $soa['origin'], '%._domainkey%');
if (empty($temp)) {
if (isset($app->tform->errorMessage )) $app->tform->errorMessage = '<br/>' . $app->tform->errorMessage;
$app->tform->errorMessage .= $app->tform->wordbook['dmarc_no_dkim_txt'].$email;
}
```3.2.12https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6573[installer] All ISPConfig files have execute bit set after installation.2023-09-16T14:53:19ZDr. Yves Kreis[installer] All ISPConfig files have execute bit set after installation.All ISPConfig files have execute bit set after installation. This is unnecessary and confusing.
However /usr/local/ispconfig/server/scripts/<ispconfig_patch|vlogger> need execute bit.
Besides /usr/local/ispconfig/interface/lib/config.in...All ISPConfig files have execute bit set after installation. This is unnecessary and confusing.
However /usr/local/ispconfig/server/scripts/<ispconfig_patch|vlogger> need execute bit.
Besides /usr/local/ispconfig/interface/lib/config.inc.php~ isn't protected.3.2.12https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6572[installer] Undefined variable $issued_successfully2023-09-09T05:38:56ZDr. Yves Kreis[installer] Undefined variable $issued_successfullyOutput from the installer:
```
Do you want a secure (SSL) connection to the ISPConfig web interface (y,n) [y]:
Checking / creating certificate for _hostname_
Using certificate path /etc/letsencrypt/live/_hostname_
Server's public ip(s...Output from the installer:
```
Do you want a secure (SSL) connection to the ISPConfig web interface (y,n) [y]:
Checking / creating certificate for _hostname_
Using certificate path /etc/letsencrypt/live/_hostname_
Server's public ip(s) (_IP_) not found in A/AAAA records for _hostname_: _IP_
Ignore DNS check and continue to request certificate? (y,n) [n]:
PHP Warning: Undefined variable $issued_successfully in /tmp/ispconfig3_install/install/lib/installer_base.lib.php on line 3319
Could not issue letsencrypt certificate, falling back to self-signed.
```3.2.12https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6568[installer] jailkit php 8.2 references wrong directory2023-09-06T08:49:02ZDr. Yves Kreis[installer] jailkit php 8.2 references wrong directoryIn `install/tpl/jk_init.ini.master` the paths for php 8.2 contains `/usr/lib/php/20210902/` while this should be `/usr/lib/php/20220829/`.In `install/tpl/jk_init.ini.master` the paths for php 8.2 contains `/usr/lib/php/20210902/` while this should be `/usr/lib/php/20220829/`.3.2.12