ISPConfig 3 issueshttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues2023-05-18T07:03:49Zhttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6504DNS zone import as user - wrong sys_groupid in dns_rr and dns_soa2023-05-18T07:03:49ZHannesDNS zone import as user - wrong sys_groupid in dns_rr and dns_soaVersion 3.2.9
Zone import script imports with sys_groupid 0 if a user do this (with admin is correct)
Problem with groupid 0 is the api call dns_zone_get_by_user doesn't return this zone even if sys_userid is the user.
sql from the api ...Version 3.2.9
Zone import script imports with sys_groupid 0 if a user do this (with admin is correct)
Problem with groupid 0 is the api call dns_zone_get_by_user doesn't return this zone even if sys_userid is the user.
sql from the api call
<pre>
SELECT id, origin FROM dns_soa d INNER JOIN sys_user s on(d.sys_groupid = s.default_group) WHERE client_id = ? AND server_id =
</pre>
if i change dns_import.php:64 than it works for me (but not really testet)
<pre>
// import variables
$template_id = (isset($_POST['template_id']))?$app->functions->intval($_POST['template_id']):0;
//$sys_groupid = (isset($_POST['client_group_id']))?$app->functions->intval($_POST['client_group_id']):0;
if (isset($_POST['client_group_id'])) {
$sys_groupid = $app->functions->intval($_POST['client_group_id']);
} else {
$sys_groupid = $_SESSION["s"]["user"]["default_group"];
}
</pre>3.2.10https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6495Setting the language as a required field when creating a client2023-08-04T16:20:43ZAdamSetting the language as a required field when creating a clientIf we do not set the language parameter when creating a client via the API, an client is not added to the sys_user table, which causes next problems.
Merge request: https://git.ispconfig.org/ispconfig/ispconfig3/-/merge_requests/1719If we do not set the language parameter when creating a client via the API, an client is not added to the sys_user table, which causes next problems.
Merge request: https://git.ispconfig.org/ispconfig/ispconfig3/-/merge_requests/17193.2.11https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6491Create webdomain form lists domains that are already used2023-04-23T10:31:30ZHelmoCreate webdomain form lists domains that are already usedWhen using the domain module the dropdown menu lists all domains, also the ones that already have a site and will give an error when you try.
![image](/uploads/c17be5afb82700891bb348edadded53e/image.png)
The bug is in the getDomainModu...When using the domain module the dropdown menu lists all domains, also the ones that already have a site and will give an error when you try.
![image](/uploads/c17be5afb82700891bb348edadded53e/image.png)
The bug is in the getDomainModuleDomains() function using a NULL value in a query which fails.
I'm preparing a patch...3.2.10HelmoHelmohttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6486Wrong database name variable used in Rspamd plugin2023-03-31T16:12:59ZTill BrehmWrong database name variable used in Rspamd pluginhttps://forum.howtoforge.com/threads/ispconfig-3-2-9p1-pending-operations.90383/page-2#post-445146https://forum.howtoforge.com/threads/ispconfig-3-2-9p1-pending-operations.90383/page-2#post-4451463.2.10Till BrehmTill Brehmhttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6481replication failed with Uncaught Error: Undefined constant "dbtable"2023-03-27T15:59:10ZTill Brehmreplication failed with Uncaught Error: Undefined constant "dbtable"https://forum.howtoforge.com/threads/uncaught-error-undefined-constant-dbtable.90395/#post-445001https://forum.howtoforge.com/threads/uncaught-error-undefined-constant-dbtable.90395/#post-4450013.2.10Till BrehmTill Brehmhttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6480[patch] wrong databases are shown when selecting a server.2023-04-17T15:08:17ZTom[patch] wrong databases are shown when selecting a server.Hi,
We have a multiserver setup, server X has id 6 and server Y has id 26.
When we go to the list of databases, and select server X from the list, we also get the databases of server Y. This is because you match with a LIKE in the the ...Hi,
We have a multiserver setup, server X has id 6 and server Y has id 26.
When we go to the list of databases, and select server X from the list, we also get the databases of server Y. This is because you match with a LIKE in the the database query.
This resolves that:
```
--- interface/web/sites/list/database.list.php.orig 2023-03-17 13:42:56.533206297 +0100
+++ interface/web/sites/list/database.list.php 2023-03-17 13:43:25.781272409 +0100
@@ -103,9 +103,9 @@
$liste["item"][] = array( 'field' => "server_id",
'datatype' => "INTEGER",
'formtype' => "SELECT",
- 'op' => "like",
- 'prefix' => "%",
- 'suffix' => "%",
+ 'op' => "=",
+ 'prefix' => "",
+ 'suffix' => "",
'datasource' => array ( 'type' => 'SQL',
'querystring' => 'SELECT a.server_id, a.server_name FROM server a, web_database b WHERE (a.server_id = b.server_id) AND ({AUTHSQL-B}) ORDER BY a.server_name',
'keyfield'=> 'server_id',
```3.2.10HelmoHelmohttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6472Create a shell user - PHP Fatal error: Uncaught TypeError: realpath()2023-04-18T17:11:31ZClaudiusCreate a shell user - PHP Fatal error: Uncaught TypeError: realpath()I tryied to create a shell user
```
28.02.2023-18:01 - WARNING - There is already a lockfile set, but no process running with this pid (180528). Continuing.
28.02.2023-18:01 - DEBUG [plugins.inc:155] - Calling function 'check_phpini_...I tryied to create a shell user
```
28.02.2023-18:01 - WARNING - There is already a lockfile set, but no process running with this pid (180528). Continuing.
28.02.2023-18:01 - DEBUG [plugins.inc:155] - Calling function 'check_phpini_changes' from plugin 'webserver_plugin' raised by action 'server_plugins_loaded'.
28.02.2023-18:01 - DEBUG [server:177] - Found 7 changes, starting update process.
28.02.2023-18:01 - DEBUG [plugins.inc:118] - Calling function 'insert' from plugin 'shelluser_base_plugin' raised by event 'shell_user_insert'.
28.02.2023-18:01 - DEBUG [system.inc:2399] - safe_exec cmd: chattr -i '/var/www/clients/client3/web6' - return code: 0
useradd: user 'USER1234' already exists
28.02.2023-18:01 - DEBUG [system.inc:2399] - safe_exec cmd: useradd -d '/var/www/clients/client3/web6/home/USER1234' -g 'client3' -o -s '/bin/false' -u '5007' 'USER1234' - return code: 9
28.02.2023-18:01 - DEBUG [shelluser base plugin.inc:138] - Executed command: useradd -d ? -g ? -o -s ? -u ? ?
28.02.2023-18:01 - DEBUG [shelluser base plugin.inc:139] - Added shelluser: USER1234
28.02.2023-18:01 - DEBUG [shelluser base plugin.inc:431] - ssh-rsa setup shelluser_base
28.02.2023-18:01 - DEBUG [system.inc:2399] - safe_exec cmd: mktemp -dt id_rsa.XXXXXXXX - return code: 0
PHP Warning: Array to string conversion in /usr/local/ispconfig/server/lib/classes/functions.inc.php on line 473
28.02.2023-18:01 - DEBUG [system.inc:2399] - safe_exec cmd: ssh-keygen -t rsa -C 'USER1234-rsa-key-1677603714' -f 'Array63fe338261e968.84316028' -N "" - return code: 0
28.02.2023-18:01 - WARNING - Action aborted, file is a symlink: Array63fe338261e968.84316028
PHP Warning: Undefined array key "hostname" in /usr/local/ispconfig/server/lib/app.inc.php on line 324
PHP Warning: Undefined array key "hostname" in /usr/local/ispconfig/server/lib/app.inc.php on line 324
28.02.2023-18:01 - WARNING - Action aborted, file is a symlink: Array63fe338261e968.84316028.pub
PHP Warning: Undefined array key "hostname" in /usr/local/ispconfig/server/lib/app.inc.php on line 324
PHP Warning: Undefined array key "hostname" in /usr/local/ispconfig/server/lib/app.inc.php on line 324
28.02.2023-18:01 - DEBUG [db mysql.inc:523] - NON-String given in escape function! (boolean)
28.02.2023-18:01 - DEBUG [db mysql.inc:523] - NON-String given in escape function! (boolean)
PHP Fatal error: Uncaught TypeError: realpath(): Argument #1 ($path) must be of type string, array given in /usr/local/ispconfig/server/lib/classes/system.inc.php:946
Stack trace:
#0 /usr/local/ispconfig/server/lib/classes/system.inc.php(946): realpath()
#1 /usr/local/ispconfig/server/lib/classes/functions.inc.php(480): system->rmdir()
#2 /usr/local/ispconfig/server/plugins-available/shelluser_base_plugin.inc.php(468): functions->generate_ssh_key()
#3 /usr/local/ispconfig/server/plugins-available/shelluser_base_plugin.inc.php(157): shelluser_base_plugin->_setup_ssh_rsa()
#4 /usr/local/ispconfig/server/lib/classes/plugins.inc.php(120): shelluser_base_plugin->insert()
#5 /usr/local/ispconfig/server/mods-available/web_module.inc.php(150): plugins->raiseEvent()
#6 /usr/local/ispconfig/server/lib/classes/modules.inc.php(302): web_module->process()
#7 /usr/local/ispconfig/server/lib/classes/modules.inc.php(235): modules->raiseTableHook()
#8 /usr/local/ispconfig/server/server.php(180): modules->processDatalog()
#9 {main}
thrown in /usr/local/ispconfig/server/lib/classes/system.inc.php on line 946
```3.2.10https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6467Minor Issue in clearBackup function2023-05-26T07:30:28ZHannesMinor Issue in clearBackup functionthe clearBackups() function get called after web backup and after db backup with the backup_copies value from web_domain and web_database.
There is no problem if the backup_copies in web_domain and web_database is the same (that's stand...the clearBackups() function get called after web backup and after db backup with the backup_copies value from web_domain and web_database.
There is no problem if the backup_copies in web_domain and web_database is the same (that's standard)
But if backup_copies form web_domain and web_database is different the the clearBackups delete all backups to the lower backup_copies value.3.2.10https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6466Wrong Database Right when using auto-installer + Correction2023-05-21T20:09:01ZMonet GuillaumeWrong Database Right when using auto-installer + CorrectionWhen you use a multi-servers installation :
Since the last patch of auto-installer you have this error :
```
ERROR 1142 (42000) at line 1: INSERT command denied to user 'ispcsrvXX'@'XXX' for table `dbispconfig`.`server_php`
[ERROR] Exc...When you use a multi-servers installation :
Since the last patch of auto-installer you have this error :
```
ERROR 1142 (42000) at line 1: INSERT command denied to user 'ispcsrvXX'@'XXX' for table `dbispconfig`.`server_php`
[ERROR] Exception occured: ISPConfigOSException -> Command mysql --host=XXXXX --user=ispcsrvXX --password=XXX -e 'INSERT IGNORE INTO `dbispconfig`.`server_php`
```
It can be resolve by adding insert right for slave user in **installer_base.lib.php** line 809
```
$query = "GRANT SELECT, INSERT ON ?? TO ?@?";
if ($verbose){
echo $query ."\n";
}
if(!$this->dbmaster->query($query, $value['db'] . '.server_php', $value['user'], $host)) {
$this->warning('Unable to set rights of user in master database: '.$value['db']."\n Query: ".$query."\n Error: ".$this->dbmaster->errorMessage);
}
```3.2.10https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6462account root should be owned by root2023-04-14T12:25:07ZHelmoaccount root should be owned by rootWhen you create a shell account it depends on the selection of jailkit if the dir such as `/var/www/clients/client1/web42` get's chowned to be owned by root or the user being created.
Jailkit depends on it being owned by root. So when y...When you create a shell account it depends on the selection of jailkit if the dir such as `/var/www/clients/client1/web42` get's chowned to be owned by root or the user being created.
Jailkit depends on it being owned by root. So when you first create a shelluser with jailkit enabled, and then one without it the first user becomes inaccessible.
`jk_chrootsh[XXX]: abort, /var/www/clients/client1/web42 is not a safe jail, check ownership and permissions.`
See [shelluser_base_plugin.inc.php](https://git.ispconfig.org/ispconfig/ispconfig3/-/blob/develop/server/plugins-available/shelluser_base_plugin.inc.php#L150) and [create_jailkit_chroot.sh](https://git.ispconfig.org/ispconfig/ispconfig3/-/blob/develop/server/scripts/create_jailkit_chroot.sh#L21)
I see no reason why the user should own that dir himself, we make it read only with chattr anyway.3.2.10HelmoHelmohttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6459regex for dkim selector matches invalid entries2023-08-04T16:30:28ZPyte Cregex for dkim selector matches invalid entriesThe regex for dkim_selector validation in mail_domain.tform.php matches invalid entries, which result in .err dns zones.
`'regex' => '/^[a-z0-9]{0,63}$/'`
This matches entries with a number in front and empty entires.The regex for dkim_selector validation in mail_domain.tform.php matches invalid entries, which result in .err dns zones.
`'regex' => '/^[a-z0-9]{0,63}$/'`
This matches entries with a number in front and empty entires.3.2.10https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6458Let's Encrypt SSL certs not issued due to changed cert path for ECC certs2023-02-08T20:28:13ZTill BrehmLet's Encrypt SSL certs not issued due to changed cert path for ECC certsAcme.sh has changed the default for newly issued SSL certs to be ECC certs, but these certs are stored in a different path, so the ISPConfig installer cannot locate them anymore. See this thread for details:
https://forum.howtoforge.com...Acme.sh has changed the default for newly issued SSL certs to be ECC certs, but these certs are stored in a different path, so the ISPConfig installer cannot locate them anymore. See this thread for details:
https://forum.howtoforge.com/threads/acme-sh-ecc-sufix.90093/3.2.9p1Till BrehmTill Brehmhttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6456Follow-up to #5588 - Change the required FQDN for "Sectigo / Comodo"2023-05-09T19:53:04ZCarsten BrennerFollow-up to #5588 - Change the required FQDN for "Sectigo / Comodo"## Summary
In #5588 you already changed the name of the Comodo-CAA-Template to "Sectigo/Comodo".
Now, according to [this KB-Article](https://sectigo.com/knowledge-base/detail/CAA-Record-Certification-Authority-Authorization-152707609149...## Summary
In #5588 you already changed the name of the Comodo-CAA-Template to "Sectigo/Comodo".
Now, according to [this KB-Article](https://sectigo.com/knowledge-base/detail/CAA-Record-Certification-Authority-Authorization-1527076091491/kA01N000000zFMO) Sectigo doesn't accept the old "comodoca.com"-FQDN as Issuer, but wants you to set it to one of those options:
- sectigo.com
- trust-provider.com
- usertrust.com
Additionally, when trying to edit the template for "Sectigo/Comodo" in the ISPConfig Systemconfiguration, the value set for "issue" won't be saved and my changes will be reverted.
## Steps to reproduce
1. Add a CAA-Record for "Sectigo/Comodo" to your domain
2. Try to acquire a certificate from them
3. Receive a mail, that the cert cannot be issued because of missing CAA-Records
## Correct behaviour
With a correctly set issuer, it would work.
## Environment
Server OS + version: Ubuntu 20.04.5 LTS (Focal Fossa)
ISPConfig version: ISPConfig 3.2.9
## Proposed fix
Replace
```
comodoca.com
```
with
```
sectigo.com
```
## References
#5588
[https://sectigo.com/knowledge-base/detail/CAA-Record-Certification-Authority-Authorization-1527076091491/kA01N000000zFMO](https://sectigo.com/knowledge-base/detail/CAA-Record-Certification-Authority-Authorization-1527076091491/kA01N000000zFMO)3.2.10ThomThomhttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6453Website quota notification plugin accidentially reconfigures all sites every ...2023-05-17T07:40:55ZTill BrehmWebsite quota notification plugin accidentially reconfigures all sites every nighthttps://forum.howtoforge.com/threads/apache-restarts-200-times-every-week.90056/https://forum.howtoforge.com/threads/apache-restarts-200-times-every-week.90056/3.2.10https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6452Uncaught TypeError: array_merge(): Argument 1 must be of type array, bool giv...2023-03-24T18:29:32ZTill BrehmUncaught TypeError: array_merge(): Argument 1 must be of type array, bool given in shelluser_base_plugin.inc.php:480```
WARNING - There is already a lockfile set, but no process running with this pid (59889). Continuing.
useradd: user 'usrftp' already exists
PHP Warning: Undefined variable $new_lines in /usr/local/ispconfig/server/lib/classes/file.inc...```
WARNING - There is already a lockfile set, but no process running with this pid (59889). Continuing.
useradd: user 'usrftp' already exists
PHP Warning: Undefined variable $new_lines in /usr/local/ispconfig/server/lib/classes/file.inc.php on line 126
PHP Fatal error: Uncaught TypeError: array_merge(): Argument #1 must be of type array, bool given in /usr/local/ispconfig/server/plugins-available/shelluser_base_plugin.inc.php:480
Stack trace:
#0 /usr/local/ispconfig/server/plugins-available/shelluser_base_plugin.inc.php(480): array_merge()
#1 /usr/local/ispconfig/server/plugins-available/shelluser_base_plugin.inc.php(157): shelluser_base_plugin->_setup_ssh_rsa()
#2 /usr/local/ispconfig/server/lib/classes/plugins.inc.php(120): shelluser_base_plugin->insert()
#3 /usr/local/ispconfig/server/mods-available/web_module.inc.php(150): plugins->raiseEvent()
#4 /usr/local/ispconfig/server/lib/classes/modules.inc.php(302): web_module->process()
#5 /usr/local/ispconfig/server/lib/classes/modules.inc.php(235): modules->raiseTableHook()
#6 /usr/local/ispconfig/server/server.php(180): modules->processDatalog()
#7 {main}
thrown in /usr/local/ispconfig/server/plugins-available/shelluser_base_plugin.inc.php on line 480
```
Plus some additional notices and one error in another file.
```
20.01.2023-10:06 - WARNING - There is already a lockfile set, but no process running with this pid (6349). Continuing.
useradd: Benutzer »dummy_username« existiert bereits
PHP Warning: Undefined variable $new_lines in /usr/local/ispconfig/server/lib/classes/file.inc.php on line 126
PHP Warning: Undefined variable $options in /usr/local/ispconfig/server/plugins-available/shelluser_jailkit_plugin.inc.php on line 340
PHP Warning: Undefined variable $options in /usr/local/ispconfig/server/plugins-available/shelluser_jailkit_plugin.inc.php on line 343
usermod: user pchelp_kempten_ssh_mp is currently used by process 25079
failed to execute usermod -d /var/www/clients/xxx/xxx/./home/dummy_username -s /usr/sbin/jk_chrootsh dummy_username
failed to modify user dummy_username
PHP Warning: Undefined variable $new_lines in /usr/local/ispconfig/server/lib/classes/file.inc.php on line 126
PHP Fatal error: Uncaught TypeError: array_merge(): Argument #1 must be of type array, bool given in /usr/local/ispconfig/server/plugins-available/shelluser_jailkit_plugin.inc.php:530
Stack trace:
#0 /usr/local/ispconfig/server/plugins-available/shelluser_jailkit_plugin.inc.php(530): array_merge()
#1 /usr/local/ispconfig/server/plugins-available/shelluser_jailkit_plugin.inc.php(135): shelluser_jailkit_plugin->_setup_ssh_rsa()
#2 /usr/local/ispconfig/server/lib/classes/plugins.inc.php(120): shelluser_jailkit_plugin->insert()
#3 /usr/local/ispconfig/server/mods-available/web_module.inc.php(150): plugins->raiseEvent()
#4 /usr/local/ispconfig/server/lib/classes/modules.inc.php(302): web_module->process()
#5 /usr/local/ispconfig/server/lib/classes/modules.inc.php(235): modules->raiseTableHook()
#6 /usr/local/ispconfig/server/server.php(180): modules->processDatalog()
#7 {main}
thrown in /usr/local/ispconfig/server/plugins-available/shelluser_jailkit_plugin.inc.php on line 530
```3.2.10Till BrehmTill Brehmhttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6444PHP 8.2 deprecation warnings installer2023-04-12T09:57:35ZHelmoPHP 8.2 deprecation warnings installerThis one ... (and more of those in the same file)
```
PHP Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /tmp/ispconfig3-stable-helmo/install/lib/installer_base.lib.php on line 841
```This one ... (and more of those in the same file)
```
PHP Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /tmp/ispconfig3-stable-helmo/install/lib/installer_base.lib.php on line 841
```3.2.10HelmoHelmohttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6442Failed message symbol in auth.log2023-04-30T10:35:41ZOttFailed message symbol in auth.logAfter upgrade to 3.2.9 version failed message has \ not ' after username.
Successful log message is correct.
Message: "Failed login for user 'username\ from IP at date time" but it should be "Failed login for user 'username' from IP at ...After upgrade to 3.2.9 version failed message has \ not ' after username.
Successful log message is correct.
Message: "Failed login for user 'username\ from IP at date time" but it should be "Failed login for user 'username' from IP at date time"3.2.10ThomThomhttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6438PHP 8.1 deprecation warnings2023-04-14T12:24:53ZHelmoPHP 8.1 deprecation warningsI noticed a few `PHP Deprecated` messages in the cron.log on my dev server..
MR coming...I noticed a few `PHP Deprecated` messages in the cron.log on my dev server..
MR coming...3.2.10HelmoHelmohttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6437backup_download_dir variable not defined in /usr/local/ispconfig/server/lib/c...2023-04-19T21:02:27ZChristian Bretterhoferbackup_download_dir variable not defined in /usr/local/ispconfig/server/lib/classes/backup.inc.php on line 1311<!-- 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? -->
## Steps to reproduce
1. just run ISPConfig Version: 3.2.9 an monitor /var/log/ispconfig/cron.log
## Correct behaviour
<!-- What should happen instead? -->
## Environment
Server OS + version: (Ubuntu 22.04)
ISPConfig version: ISPConfig Version: 3.2.9
/var/log/ispconfig/cron.log:Mo 26 Dez 2022 11:28:46 CET PHP Warning: Undefined variable $backup_download_dir in /usr/local/ispconfig/server/lib/classes/backup.inc.php on line 13113.2.10HelmoHelmohttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6436Make the records tab default for DNS zones when using search2023-04-14T12:23:58ZHelmoMake the records tab default for DNS zones when using searchIn !1154 we tried to make the records tab default for existing DNS zones.
However when using the global search to find a dns zone, you still end up on thge 'zone settings' tab.In !1154 we tried to make the records tab default for existing DNS zones.
However when using the global search to find a dns zone, you still end up on thge 'zone settings' tab.3.2.10HelmoHelmo