ISPConfig 3 issueshttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues2022-12-05T17:01:51Zhttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6273_getinitcommand init script symlinks broken2022-12-05T17:01:51ZChristian_getinitcommand init script symlinks brokenon my gentoo system i'm using symlinks for php-fpm init scripts.
```
/etc/init.d/php-fpm-php7.4 -> /etc/init.d/php-fpm
/etc/init.d/php-fpm-php7.3 -> /etc/init.d/php-fpm
```
```
file system.inc.php
function _getinitcommand
$full_init_scr...on my gentoo system i'm using symlinks for php-fpm init scripts.
```
/etc/init.d/php-fpm-php7.4 -> /etc/init.d/php-fpm
/etc/init.d/php-fpm-php7.3 -> /etc/init.d/php-fpm
```
```
file system.inc.php
function _getinitcommand
$full_init_script_path = realpath($init_script_directory.'/'.$servicename);
```
realpath() changes /etc/init.d/php-fpm-php7.4 to /etc/init.d/php-fpm which breaks reload and restart commands.
why is realpath() there? can this be adjusted in any way?
my workaround so far:
```
if(is_link($init_script_directory.'/'.$servicename)) {
$full_init_script_path = $init_script_directory.'/'.$servicename;
}
else {
$full_init_script_path = realpath($init_script_directory.'/'.$servicename);
}
```https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6272Rewriterule with docroot on Redirect2022-01-07T11:49:35ZWHORewriterule with docroot on Redirect## Summary
If used /dev as an redirect target on websites, subdomains, aliasdomain, etc., it produces an error 403, caused by using a directoryname existing in /. The docroot is not used first.
## Steps to reproduce
1. Add /dev on redi...## Summary
If used /dev as an redirect target on websites, subdomains, aliasdomain, etc., it produces an error 403, caused by using a directoryname existing in /. The docroot is not used first.
## Steps to reproduce
1. Add /dev on redirect with no_flag
2. Call the site
## Correct behaviour
Get the contents of docroot/dev upon calling the site.
## Proposed fix
Changing the RewriteRule in vhost.conf.master
from:
```
RewriteRule ^/(.*)$ <tmpl_var name='rewrite_target'><tmpl_if name="rewrite_add_path" op="==" value="y">$1</tmpl_if> <tmpl_var name='rewrite_type'>
```
to:
```
RewriteRule ^/(.*)$ %{DOCUMENT_ROOT}<tmpl_var name='rewrite_target'><tmpl_if name="rewrite_add_path" op="==" value="y">$1</tmpl_if> <tmpl_var name='rewrite_type'>
```https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6271Allow Zone transfert and Also notify field not working with powerDNS2021-12-24T23:32:57ZCédricAllow Zone transfert and Also notify field not working with powerDNSHello there,
According to the powerDNS documentation (https://doc.powerdns.com/authoritative/domainmetadata.html) , we should be able to set AXFR / notify for each domain via the table powerdns.metadata
![2021-12-23_11_05_20-ISPConfig]...Hello there,
According to the powerDNS documentation (https://doc.powerdns.com/authoritative/domainmetadata.html) , we should be able to set AXFR / notify for each domain via the table powerdns.metadata
![2021-12-23_11_05_20-ISPConfig](/uploads/5d277c27ca2c0befa22c3b547fb0c5df/2021-12-23_11_05_20-ISPConfig.png)
As you can see field are present in ISPConfig but when I'm looking the content of the powerdns plugin there is nothing to store those two fields in the appropriate table.
https://git.ispconfig.org/ispconfig/ispconfig3/-/blob/develop/server/plugins-available/powerdns_plugin.inc.phphttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6270Allow special characters in folder name when using e-mail filter2022-03-18T12:37:06ZThomAllow special characters in folder name when using e-mail filter<!-- 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? -->
When trying to create a e-mail filter to move e-mails to a folder with a special character like a apostrophe (`'`), a error is shown that the regex doesn't allow this.
## Steps to reproduce
1. Create a e-mail folder with a apostrophe in the name, e.g. `I'm a folder`
2. Try to create a e-mail filter to move e-mail to this folder when a certain condition is met.
## Correct behaviour
<!-- What should happen instead? -->
Special characters that are allowed in mailfolder names should be allowed in the regex.
## Environment
Server OS + version: Debian 10 \
ISPConfig version: 3.2.7p1
<!-- _you can use `grep 'ISPC_APP_VERSION' /usr/local/ispconfig/server/lib/config.inc.php` to get it from the command line_ -->
## Proposed fix
Change the regex in https://git.ispconfig.org/ispconfig/ispconfig3/-/blob/develop/interface/web/mail/form/mail_user_filter.tform.php#L124 and https://git.ispconfig.org/ispconfig/ispconfig3/-/blob/develop/interface/web/mailuser/form/mail_user_filter.tform.php#L125 \
(while we're at it, check why it's on different lines when the file should be identical)
## Screenshots
![afbeelding](/uploads/9a504c941eb68085fab5ad0075c288ed/afbeelding.png)3.2.8ThomThomhttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6267Changing a website from the alias domain to the other leaves duplicate entries2022-02-28T16:02:56ZWHOChanging a website from the alias domain to the other leaves duplicate entries## Summary
alias domain can refer to the same website domain
## Steps to reproduce
Alias domain points from domain to own domain.
Given configuration (so far also correct): Website domain: domain.de Alias domain: test.de (test.de...## Summary
alias domain can refer to the same website domain
## Steps to reproduce
Alias domain points from domain to own domain.
Given configuration (so far also correct): Website domain: domain.de Alias domain: test.de (test.de is alias of domain.de)
The customer can do this by following the steps below: Edit websites and change the domain from domain.de to test.de.
The result of the change is then that an alias domain can refer to the same domain.
## Correct behaviour
change should not be possible because domain is no longer unique
## Environment
Server OS + version: Debian 10 ISPConfig version: 3.2.7p1 Software version of the related software:
```
Server version: Apache/2.4.38 (Debian)
Server built: 2021-12-21T16:50:43
```https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6264installer / postfix server plugin - dovecot lmtp configuration2022-09-06T19:15:48ZChristianinstaller / postfix server plugin - dovecot lmtp configurationinstaller_base.lib.php
```
if(isset($ini_array['mail']['mailbox_virtual_uidgid_maps']) && $ini_array['mail']['mailbox_virtual_uidgid_maps'] == 'y') {
$virtual_transport = 'lmtp:unix:private/dovecot-lmtp';
$configure_lmtp = true;...installer_base.lib.php
```
if(isset($ini_array['mail']['mailbox_virtual_uidgid_maps']) && $ini_array['mail']['mailbox_virtual_uidgid_maps'] == 'y') {
$virtual_transport = 'lmtp:unix:private/dovecot-lmtp';
$configure_lmtp = true;
}
```
postfix_server_plugin.inc.php
```
if( ($configure_lmtp = (is_file('/usr/lib/dovecot/lmtp') || is_file('/usr/libexec/dovecot/lmtp'))) ||
($mail_config["mailbox_virtual_uidgid_maps"] == 'y') )
{
$virtual_transport = 'lmtp:unix:private/dovecot-lmtp';
$dovecot_protocols .= ' lmtp';
}
```
installer/updater checks if "mailbox_virtual_uidgid_maps" is configured, but postfix_server_plugin.inc.php additionally checks if some files exist.
on my gentoo system "/usr/libexec/dovecot/lmtp" always exists.
mailbox_virtual_uidgid_maps is set to NO.
when updating ispconfig, postfix is configured with "virtual_transport = dovecot".
if i do some mail setting changes in ispconfig backend, its configured to "virtual_transport = lmtp:unix:private/dovecot-lmtp".
does this also affect other systems?
should installer also check file existence or should postfix server plugin not check file existence?
or change both to this:
```
if( ($configure_lmtp = (is_file('/usr/lib/dovecot/lmtp') || is_file('/usr/libexec/dovecot/lmtp'))) &&
($mail_config["mailbox_virtual_uidgid_maps"] == 'y') )
```
&& instead of ||https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6259subroot not working with chrooted php-fpm2022-02-17T08:29:46ZBartłomiej Bujaksubroot not working with chrooted php-fpm<!-- 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. use subroot in snippet
2. enable chroot for php-fpm
## Correct behaviour
Chrooted php-fpm should work with subroot
## Environment
ISPConfig version: 3.2.7p1, not related with OS
## Proposed fix
nothing yet
## References
[https://git.ispconfig.org/ispconfig/ispconfig3/-/merge_requests/698](https://git.ispconfig.org/ispconfig/ispconfig3/-/merge_requests/698)https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6257Debian 11 requires a different DNS slave zone directory2022-03-18T12:55:40ZTill BrehmDebian 11 requires a different DNS slave zone directoryhttps://www.howtoforge.com/community/threads/adding-dns-service-to-existing-multi-server-setup.87985/#post-429588
"seems the template for slave zones should be updated. \
Currently, it contains a line like \
file "/etc/bind/slave/sec.${...https://www.howtoforge.com/community/threads/adding-dns-service-to-existing-multi-server-setup.87985/#post-429588
"seems the template for slave zones should be updated. \
Currently, it contains a line like \
file "/etc/bind/slave/sec.${DOMAIN}" \
but (at least in Debian 11) it should be \
file "/var/cache/bind/sec.${DOMAIN}" \
The problem is that apparmor denies bind user the permission to write to /etc/bind/slave by default, regardless of permissions in the fs. \
Currently I added two lines in /etc/apparmor.d/local/usr.sbin.named : \
/etc/bind/slave/** lrw, \
/etc/bind/slave/ rw, \
But it's just a workaround."3.2.8https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6256placeholders not always handeld with cron-jobs2021-11-24T20:50:59ZFlorian Schaalplaceholders not always handeld with cron-jobsSee https://www.howtoforge.com/community/threads/cron-for-one-site-not-running.88003/#post-429555
fix cron_plugin.inc.php:
1. add `web_folder` to $parent_domain in line 95
<code>
$parent_domain = $app->db->queryOneRecord("SELECT `domain...See https://www.howtoforge.com/community/threads/cron-for-one-site-not-running.88003/#post-429555
fix cron_plugin.inc.php:
1. add `web_folder` to $parent_domain in line 95
<code>
$parent_domain = $app->db->queryOneRecord("SELECT `domain_id`, `system_user`, `system_group`, `document_root`, `hd_quota`, `web_folder` FROM `web_domain` WHERE `domain_id` = ?", $data["new"]["parent_domain_id"]);
</code>
2. replace (line 251+)
<code>
$web_root = '';
if($job['type'] == 'chrooted') {
if(substr($job['command'], 0, strlen($this->parent_domain['document_root'])) == $this->parent_domain['document_root']) {
//* delete the unneeded path part
$job['command'] = substr($job['command'], strlen($this->parent_domain['document_root']));
}
} else {
$web_root = $this->parent_domain['document_root'];
}
</code>
with
<code>
$web_folder = ($this->parent_domain['web_folder'] != '') ? $this->parent_domain['web_folder'] : 'web';
if($job['type'] == 'chrooted') {
if(substr($job['command'], 0, strlen($this->parent_domain['document_root'])) == $this->parent_domain['document_root']) {
//* delete the unneeded path part
$job['command'] = substr($job['command'], strlen($this->parent_domain['document_root']));
} else {
$web_root = '/'.$web_folder;
}
} else {
$web_root = $this->parent_domain['document_root'] . '/' . $web_folder;
}
</code>https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6255letsencrypt_renew_hook.sh error restarting services on centos2022-01-14T12:01:49ZJesse Norellletsencrypt_renew_hook.sh error restarting services on centosSee https://www.howtoforge.com/community/threads/lets-encrypt-woes.87949/#post-429482See https://www.howtoforge.com/community/threads/lets-encrypt-woes.87949/#post-4294823.2.8https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6254installer symlink warnings / mishandling(?)2022-01-16T11:07:16ZJesse Norellinstaller symlink warnings / mishandling(?)Looks like there is a case where the certificate checks/symlinks aren't handled correctly in the installer, see https://www.howtoforge.com/community/threads/ispconfig-ssl-certificate.87991/ (and there are other recent threads with that s...Looks like there is a case where the certificate checks/symlinks aren't handled correctly in the installer, see https://www.howtoforge.com/community/threads/ispconfig-ssl-certificate.87991/ (and there are other recent threads with that same warning).
Related #62383.2.8Jesse NorellJesse Norellhttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6248FTP Users unable to log in when client (owner) of parent website is changed2022-03-23T16:21:44ZMarius BurkardFTP Users unable to log in when client (owner) of parent website is changedWhen changing the owner (client) of a website, the document root is updated, but the home dir of the FTP users of the websites are not.
Afterwards the FTP users are no longer able to login because the home dir does not exist. It is hard ...When changing the owner (client) of a website, the document root is updated, but the home dir of the FTP users of the websites are not.
Afterwards the FTP users are no longer able to login because the home dir does not exist. It is hard to debug because the pureftp server just behaves as if the password was wrong.https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6246Missing 2 $field_txt in de_dashlet_limits.lng2022-03-09T12:45:39ZHannesMissing 2 $field_txt in de_dashlet_limits.lngMissing
$wb['limit_mail_wblist_txt'] = "Anzahl White/Blacklists";
$wb['unlimited_txt'] = "Unbeschränkt";Missing
$wb['limit_mail_wblist_txt'] = "Anzahl White/Blacklists";
$wb['unlimited_txt'] = "Unbeschränkt";3.2.8HelmoHelmohttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/62443.2.7: remote api login fails if restricted by remote_ips2022-03-09T12:47:07ZJesse Norell3.2.7: remote api login fails if restricted by remote_ipsAfter updating to 3.2.7 I have an api client which is failing, with 'Session IP mismatch.'After updating to 3.2.7 I have an api client which is failing, with 'Session IP mismatch.'3.2.7p1Jesse NorellJesse Norellhttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6243Dsync backup issues2021-12-21T12:18:04ZMichaelDsync backup issuesSince the commit c3c9c984 Dsync does not backup anymore on my system (ISPC 3.2.6 & Dovecot 2.3.15).
The order of the global options which were introduced with the last commit have to be placed before the actual doveadm/dsync command...Since the commit c3c9c984 Dsync does not backup anymore on my system (ISPC 3.2.6 & Dovecot 2.3.15).
The order of the global options which were introduced with the last commit have to be placed before the actual doveadm/dsync command.
Log:
```
Wed Oct 20 00:07:02 CEST 2021 backup: invalid option -- 'o'
Wed Oct 20 00:07:02 CEST 2021 doveadm backup [-u <user>|-A] [-S <socket_path>] [-fPRU] [-l <secs>] [-r <rawlog path>] [-m <mailbox>] [-g <mailbox_guid>] [-n <namespace> | -N] [-x <exclude>] [-s <state>] [-t <start date>] -d|<dest>
Wed Oct 20 00:07:02 CEST 2021 20.10.2021-00:07 - DEBUG - safe_exec cmd: su -c 'dsync backup -o plugin/acl= -o plugin/quota= -u "XXXXXXX.XXXXXX@domain.de" mdbox:/var/vmail/domain.de/XXXXXXX.XXXXXX/backup' - return code: 64
```3.2.8MichaelMichaelhttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6242Email white blacklist menu entry not hidden for client2022-02-26T21:54:59ZMarius BurkardEmail white blacklist menu entry not hidden for clientWhen the client has a limit of 0 for email blacklist/whitelist, the menu entries are not hidden.When the client has a limit of 0 for email blacklist/whitelist, the menu entries are not hidden.3.2.8Marius BurkardMarius Burkardhttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6241Server names disclosed in filter select2021-11-15T20:47:18ZMarius BurkardServer names disclosed in filter selectWhen logged in as client, in the spamfilter white/blacklist and the email white/blacklist listings all servers are shown in the server select box in the filter bar.
Only the mail server(s) assigned to the client should be shown.When logged in as client, in the spamfilter white/blacklist and the email white/blacklist listings all servers are shown in the server select box in the filter bar.
Only the mail server(s) assigned to the client should be shown.https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6237debian 11: amavis permissions2022-01-16T11:07:10ZJesse Norelldebian 11: amavis permissionsSame issue as https://git.ispconfig.org/ispconfig/ispconfig-autoinstaller/-/issues/58 - the installer creates the 50-user file mode 640, so this is not just an issue for the autoinstaller.Same issue as https://git.ispconfig.org/ispconfig/ispconfig-autoinstaller/-/issues/58 - the installer creates the 50-user file mode 640, so this is not just an issue for the autoinstaller.3.2.8https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6232mail domain alias allowed when shouldn't be2022-02-10T18:39:50ZJesse Norellmail domain alias allowed when shouldn't beWhen adding a mail domain alias there should be a check for existing addresses (mailboxes, forwards, aliases and catchall) in that domain and not allow creating the domain alias if found.
Checks in the other direction exist for mailboxe...When adding a mail domain alias there should be a check for existing addresses (mailboxes, forwards, aliases and catchall) in that domain and not allow creating the domain alias if found.
Checks in the other direction exist for mailboxes/forwards/alaises, but also missing for catchall. (Ie. you cannot create a mailbox for a domain which is setup as an alias, but you can create a catchall.)https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6231php 5.4 incompatibility array_column2021-09-16T11:59:05ZJesse Norellphp 5.4 incompatibility array_columnhttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6177#note_95892https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6177#note_958923.2.7