ISPConfig 3 issueshttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues2024-03-28T23:05:37Zhttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6672Update fails on passwordless mysql root user connection test2024-03-28T23:05:37ZHelmoUpdate fails on passwordless mysql root user connection testWhen updating a Debian 12 system where the mysql root user does not have a password it fails.
```
>> Update
Operating System: Debian 12.0 (Bookworm) or compatible
This application will update ISPConfig 3 on your server.
Shall the scr...When updating a Debian 12 system where the mysql root user does not have a password it fails.
```
>> Update
Operating System: Debian 12.0 (Bookworm) or compatible
This application will update ISPConfig 3 on your server.
Shall the script create a ISPConfig backup in /var/backup/ now? (yes,no) [yes]: no
Checking MariaDB version 10.11.6 .. OK
Checking ISPConfig database .. Enter password:
mysqlcheck: Got error: 1698: Access denied for user 'root'@'localhost' when trying to connect
OK
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
Unable to call mysql command line with credentials from mysql_clientdb.conf
```
This happens on [update.php line 326](https://git.ispconfig.org/ispconfig/ispconfig3/-/blob/047dddb9b88e02e9027e0fadecdefb3d00305864/install/update.php#L326) where a port number is used for mysql cli while not needed in this case.
[A few lines earlier](https://git.ispconfig.org/ispconfig/ispconfig3/-/blob/047dddb9b88e02e9027e0fadecdefb3d00305864/install/update.php#L258) we have a `mysqli_connect` test that does not specify a port number, thus letting php use the socket by default when connecting to localhost.
Maybe the answer is that only a root account with password is supported as [the perfect server setup suggests to use](https://www.howtoforge.com/perfect-server-debian-12-buster-apache-bind-dovecot-ispconfig-3-2/).
But I prefer the passwordless way, which has now been the Debian default for some years.
Commenting the whole section that does the mysql cli test solves it for now. But it might be nice to only specify the port number when required.
And since no port number is included in the `mysqli_connect` test it might be OK to also drop it here.
The same port number change would probably be useful in more places, atleast in [checkDbHealth](https://git.ispconfig.org/ispconfig/ispconfig3/-/blob/047dddb9b88e02e9027e0fadecdefb3d00305864/install/lib/update.lib.php#L106).
The port code was added in #4932, and relates a bit to #5851https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6671Pending queue query does not take active state of servers into account2024-03-28T16:12:31ZTill BrehmPending queue query does not take active state of servers into accounthttps://forum.howtoforge.com/threads/queue-stack.92103/#post-455034https://forum.howtoforge.com/threads/queue-stack.92103/#post-4550343.2.12https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6670DKIM for locally submitted mail - set content_filter = amavis:[127.0.0.1]:100262024-03-22T17:48:08ZMatus UhlarDKIM for locally submitted mail - set content_filter = amavis:[127.0.0.1]:10026With amavis, the default value of content_filter set by ISPConfig is:
content_filter = amavis:[127.0.0.1]:10024
Port 10024 is used for incoming mail, not outgoing, and DKIM signing is available on port 10026 in amavis config:
$interfa...With amavis, the default value of content_filter set by ISPConfig is:
content_filter = amavis:[127.0.0.1]:10024
Port 10024 is used for incoming mail, not outgoing, and DKIM signing is available on port 10026 in amavis config:
$interface_policy{'10026'} = 'ORIGINATING';
$policy_bank{'ORIGINATING'} = {
originating => 1,
};
This results in all mail submitted locally:
- cron jobs
- ISPConfig when "Use SMTP to send system mails" is unset
- other applications calling /usr/sbin/sendmail (standard way to submit mail)
is sent without DKIM signature.
Since ALL mail received via SMTP has content_filter overridden by FILTER directives called from smtpd_sender_restrictions:
smtpd_sender_restrictions = check_sender_access regexp:/etc/postfix/tag_as_originating.re, permit_mynetworks, check_sender_access proxy:mysql:/etc/postfix/mysql-virtual_sender.cf, permit_sasl_authenticated, reject_non_fqdn_sender, reject_unlisted_sender, check_sender_access regexp:/etc/postfix/tag_as_foreign.re
where the last rule sets:
/^/ FILTER lmtp:[127.0.0.1]:10024
I believe setting content_filter to port 10026 by default should be safe.
Please set default port for content_filter do 10026 instead.https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6669mail_domain_add() with api - fires mail_mail_domain_edit with event where a "...2024-03-21T18:52:53ZHannesmail_domain_add() with api - fires mail_mail_domain_edit with event where a "new domain" case check is missing on user/spamlist updateOn line 63 of mail_mail_domain_plugin.inc.php the code checks if there is domain name change or owner change for mailbox/spamfilter update.
It checks if oldDataRecord exists but this record exists on mail_domain_add() too (empty but exi...On line 63 of mail_mail_domain_plugin.inc.php the code checks if there is domain name change or owner change for mailbox/spamfilter update.
It checks if oldDataRecord exists but this record exists on mail_domain_add() too (empty but exists) and oldDataRecord\['domain'\] != $domain is true too (because oldDataRecord\['domain'\] is empty/undef) - so the code get executed. I am not sure if it update anything because mostly search for email %@olddomain and olddomain ist empty but think it is better to check if oldDataRecord\['domain'\] exists
```
diff --git a/interface/lib/plugins/mail_mail_domain_plugin.inc.php b/interface/lib/plugins/mail_mail_domain_plugin.inc.php
--- a/interface/lib/plugins/mail_mail_domain_plugin.inc.php
+++ b/interface/lib/plugins/mail_mail_domain_plugin.inc.php (date 1711013653411)
@@ -60,7 +60,7 @@
}
//** If the domain name or owner has been changed, change the domain and owner in all mailbox records
- if($page_form->oldDataRecord && ($page_form->oldDataRecord['domain'] != $domain ||
+ if($page_form->oldDataRecord && !empty($page_form->oldDataRecord['domain']) && ($page_form->oldDataRecord['domain'] != $domain ||
(isset($page_form->dataRecord['client_group_id']) && $page_form->oldDataRecord['sys_groupid'] != $page_form->dataRecord['client_group_id']))) {
$app->uses('getconf');
$mail_config = $app->getconf->get_server_config($page_form->dataRecord["server_id"], 'mail');
```3.2.12https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6668Changing tab in tabbed views2024-03-21T10:18:07ZSergioChanging tab in tabbed viewsHi,
I'd like to bring to your attention an unclear behavior of the ISPConfig tabbed views. We have a form with a few tabs and 2 buttons: save and cancel. But... if you change tab the modifications will be saved without clicking on "Save...Hi,
I'd like to bring to your attention an unclear behavior of the ISPConfig tabbed views. We have a form with a few tabs and 2 buttons: save and cancel. But... if you change tab the modifications will be saved without clicking on "Save". This is unclear in my opinion, since the user should confirm that he wants to apply the modifications. So, in my opinion, the correct way should be eiter to not save changes until the user pushes on "save" or to show a popup saying something like "you're about to switch tab, would you apply the changes?".
What do you think?
Thanks,
Regards,
Sergiohttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6667Bug in mail_mail_domain_plugin function mail_mail_domain_edit spamfilter upda...2024-03-21T18:40:37ZHannesBug in mail_mail_domain_plugin function mail_mail_domain_edit spamfilter update iterate over column insteat rowsIn the function mail_mail_domain_edit at spamfilter update - the code iterate over the columns of queryOneRecord instead of the rows of queryAllRecords
This result in wrong spamfilter settings.
(I got a tip about this bug from another ...In the function mail_mail_domain_edit at spamfilter update - the code iterate over the columns of queryOneRecord instead of the rows of queryAllRecords
This result in wrong spamfilter settings.
(I got a tip about this bug from another user who found it at doing domain update over api )
```
diff --git a/interface/lib/plugins/mail_mail_domain_plugin.inc.php b/interface/lib/plugins/mail_mail_domain_plugin.inc.php
--- a/interface/lib/plugins/mail_mail_domain_plugin.inc.php
+++ b/interface/lib/plugins/mail_mail_domain_plugin.inc.php (date 1699374995000)
@@ -255,7 +255,7 @@
// If domain changes, update spamfilter_users
// and fire spamfilter_wblist_update events so rspamd files are rewritten
if ($old_domain != $domain) {
- $tmp_users = $app->db->queryOneRecord("SELECT id,fullname FROM spamfilter_users WHERE email LIKE ?", '%@' . $old_domain);
+ $tmp_users = $app->db->queryAllRecords("SELECT id,fullname FROM spamfilter_users WHERE email LIKE ?", '%@' . $old_domain);
if(is_array($tmp_users)) {
foreach ($tmp_users as $tmp_old) {
$tmp_new = $app->db->queryOneRecord("SELECT id,fullname FROM spamfilter_users WHERE email = ?", '@' . $domain);
```3.2.12https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6666Perfect Server Automated ISPConfig 3 Installation, Installing packages failed2024-03-18T07:01:40ZFrancescoPerfect Server Automated ISPConfig 3 Installation, Installing packages failedFollowing the https://www.howtoforge.com/ispconfig-autoinstall-debian-ubuntu/ guide on Ubuntu 22.04 (LTS) x64 fails installing phpmyadmin database entries.
Details:
```
[INFO] Installing phpMyAdmin
[WARN] Query CREATE DATABASE IF NOT E...Following the https://www.howtoforge.com/ispconfig-autoinstall-debian-ubuntu/ guide on Ubuntu 22.04 (LTS) x64 fails installing phpmyadmin database entries.
Details:
```
[INFO] Installing phpMyAdmin
[WARN] Query CREATE DATABASE IF NOT EXISTS phpmyadmin; failed. (/lib/os/class.ISPConfigDebianOS.inc.php:354)
[WARN] Query CREATE USER IF NOT EXISTS 'pma'@'localhost'; failed. (/lib/os/class.ISPConfigDebianOS.inc.php:354)
[WARN] Query ALTER USER 'pma'@'localhost' IDENTIFIED BY 'XXX'; failed. (/lib/os/class.ISPConfigDebianOS.inc.php:354)
[WARN] Query GRANT ALL PRIVILEGES ON phpmyadmin.* TO 'pma'@'localhost' IDENTIFIED BY 'XXX' WITH GRANT OPTION; failed. (/lib/os/class.ISPConfigDebianOS.inc.php:354)
[WARN] Query FLUSH PRIVILEGES; failed. (/lib/os/class.ISPConfigDebianOS.inc.php:354)
ERROR 2002 (HY000): Can't connect to local server through socket '/run/mysqld/mysqld.sock' (111)
[WARN] Command mysql --defaults-file=/etc/mysql/debian.cnf -D phpmyadmin < /usr/share/phpmyadmin/sql/create_tables.sql failed. (/lib/os/class.ISPConfigDebianOS.inc.php:361)
[INFO] HTTPoxy config.
[INFO] Installing acme.sh (Let's Encrypt).
[INFO] acme.sh (Let's Encrypt) installed.
[INFO] ISPConfig does not yet support mailman3 and mailman2 is no longer available in Ubuntu 22.04.
[INFO] Installing packages haveged, geoip-database, libclass-dbi-mysql-perl, libtimedate-perl, build-essential, autoconf, automake, libtool, flex, bison, debhelper, binutils
[ERROR] Exception occurred: ISPConfigOSException -> Installing packages failed. (/ispconfig.ai.php:15)
root@ethical-hacker:~# cat /etc/mysql/debian.cnf
# THIS FILE IS OBSOLETE. STOP USING IT IF POSSIBLE.
# This file exists only for backwards compatibility for
# tools that run '--defaults-file=/etc/mysql/debian.cnf'
# and have root level access to the local filesystem.
# With those permissions one can run 'mariadb' directly
# anyway thanks to unix socket authentication and hence
# this file is useless. See package README for more info.
[client]
host = localhost
user = root
[mysql_upgrade]
host = localhost
user = root
# THIS FILE WILL BE REMOVED IN A FUTURE DEBIAN RELEASE.
```https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6665security.txt2024-03-15T12:15:01ZSteffan Noordsecurity.txtRequest to adopt security.txt to the panel
idee is to I add a default security.txt to the .well-known folders of all domains, and clients can eddit it in the panel
https://www.rfc-editor.org/rfc/rfc9116Request to adopt security.txt to the panel
idee is to I add a default security.txt to the .well-known folders of all domains, and clients can eddit it in the panel
https://www.rfc-editor.org/rfc/rfc9116https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6664Override login form from theme2024-03-11T22:15:33ZLuttjeOverride login form from themeCopied from [this forum post](https://forum.howtoforge.com/threads/override-login-form-from-theme.92018/), so we're tracking this issue in the right place (an issue).
## Summary
We can override other templates in other modules by simply...Copied from [this forum post](https://forum.howtoforge.com/threads/override-login-form-from-theme.92018/), so we're tracking this issue in the right place (an issue).
## Summary
We can override other templates in other modules by simply placing .htm templates in interface/web/themes/mytheme/templates/modulename/template-to-override.htm
However since the login page is not a module, ISPConfig doesn't bother to look inside my theme's templates/login directory. The templates I want to customize there are login/index.htm, login/otp.htm and login/password_reset.htm
Instead it appears (looking at the source-code) that the _fileSearch method in interface/lib/classes/tpl.inc.php:
1. Passes by the first guard as isset($_SESSION['s']['module']['name']) is false on the login page
2. Matches the full path, because web/login/index.php looks for $app->tpl->setInclude('content_tpl', 'templates/index.htm'); and finds that relative to the interface/web/ directory
## Naive fix
```php
// inside _fileSearch in lib/classes/tpl.inc.php
$modulename = false;
if(isset($_SESSION['s']['module']['name'])) {
$modulename = $_SESSION['s']['module']['name'];
} elseif(strpos($_SERVER['PHP_SELF'], '/login/') === 0) {
$modulename = 'login';
}
if($modulename && isset($_SESSION['s']['theme'])) {
if(is_file(ISPC_THEMES_PATH.'/'.$_SESSION['s']['theme'].'/templates/'.$modulename.'/'.$filename)) {
return ISPC_THEMES_PATH.'/'.$_SESSION['s']['theme'].'/templates/'.$modulename.'/'.$filename;
}
}
```
I'll double-check the contribution guidelines and code conventions to see if the above fix will suffice. Furthermore I'll make a list of the pages I tested after applying the fix.
**I'll be picking up this issue sometime before the end of this Wednesday, submitting a PR that closes this issue.**3.2.12https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6663Menu item title link shall use target of the first item2024-03-08T10:11:08ZTill BrehmMenu item title link shall use target of the first itemhttps://forum.howtoforge.com/threads/menu-head-name-linking.92005/#post-454637https://forum.howtoforge.com/threads/menu-head-name-linking.92005/#post-4546373.2.12https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6662Add amazontrust.com CA2024-03-07T09:30:48ZTill BrehmAdd amazontrust.com CAAdd the CA amazontrust.com for CAA records.Add the CA amazontrust.com for CAA records.3.2.12https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6661Update gitignore2024-03-07T20:49:16ZMichaelUpdate gitignoreFor some reason patch command related excludes (*.rej, *.orig) have been removed.
Related push request coming...For some reason patch command related excludes (*.rej, *.orig) have been removed.
Related push request coming...3.2.12https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6660Wrong colspan in two list views2024-03-07T20:53:11ZMichaelWrong colspan in two list viewsAffected by this are server_list.htm and backup_stats_list.htm:
![firefox_VhWLOyLO7a](/uploads/415359870c34cadc393f0b1818052e10/firefox_VhWLOyLO7a.png)Affected by this are server_list.htm and backup_stats_list.htm:
![firefox_VhWLOyLO7a](/uploads/415359870c34cadc393f0b1818052e10/firefox_VhWLOyLO7a.png)3.2.12https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6659Probable bug on roundcube default Content-Security-Policy2024-03-04T13:28:06ZLucaProbable bug on roundcube default Content-Security-PolicyWe see that if we use the webmail from the default URL of the server:
https://nameoftheserver:8081/webmail
basically no image are opened from the webmail.
Because rise a policy error for "Content-Security-Policy", like:
```
Content-Se...We see that if we use the webmail from the default URL of the server:
https://nameoftheserver:8081/webmail
basically no image are opened from the webmail.
Because rise a policy error for "Content-Security-Policy", like:
```
Content-Security-Policy: Download a resource from https://external-url/9/9d08eac.png it was blocked by the page settings (“img-src”).
```
In my opinion the configuration here:
```
-- /etc/apache2/sites-available/apps.vhost
Row: 31
# ISPConfig 3.1 currently requires unsafe-line for both scripts and styles, as well as unsafe-eval
Header set Content-Security-Policy "default-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src 'self' data:; object-src 'none'"
```
should be a little bit more relaxed like:
```
# ISPConfig 3.1 currently requires unsafe-line for both scripts and styles, as well as unsafe-eval
Header set Content-Security-Policy "'self' 'unsafe-inline' 'unsafe-eval'; object-src 'none'"
```
otherwise basically the webmail from the default url is useless for html mail. And this is a problem, because we are trying to keep our installation as standard as possible.
We known that we can use a different host to access webmail (like webmail.domain.com or something like that) but imho that should be fixed also on the main host above.
Tell me you thoughts about.
Thank's.https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6658The spamfilter of all users (that used it) is rewritten although only the pol...2024-03-28T18:23:06ZHannesThe spamfilter of all users (that used it) is rewritten although only the policy name has been changed## Summary
The spamfilter is rewritten although only the policy name has been changed.
Is not a big problem at all but if there are a lot of users than the system rewrites a lot of config files.
## Steps to reproduce
1. change only t...## Summary
The spamfilter is rewritten although only the policy name has been changed.
Is not a big problem at all but if there are a lot of users than the system rewrites a lot of config files.
## Steps to reproduce
1. change only the name of a spamfilter policy than all spamfilter users of this filter get new config
## Correct behaviour
don't rewrite the spamfilter config of every user of this spamfilter policy if only policy_name got changed.
I don't think the policy_name is used anywhere on the server side - only in the interface.
## Environment
Server OS + version: (Ubu 22.04) \
ISPConfig version: (3.2.11p2)
## Proposed fix
```
diff --git a/interface/web/mail/spamfilter_policy_edit.php b/interface/web/mail/spamfilter_policy_edit.php
--- a/interface/web/mail/spamfilter_policy_edit.php
+++ b/interface/web/mail/spamfilter_policy_edit.php (date 1709230118549)
@@ -93,7 +93,9 @@
function onAfterUpdate() {
$this->record_has_changed = false;
foreach($this->dataRecord as $key => $val) {
+ if ($key == 'policy_name') { continue; } // Don't trigger update of all spamfilter users if only policy_name is changed
if(isset($this->oldDataRecord[$key]) && @$this->oldDataRecord[$key] != $val) {
// Record has changed
$this->record_has_changed = true;
}
```
i ll send a MRhttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6657Active state in DNS DMARC editor not shown correctly2024-02-29T20:46:30ZHairyActive state in DNS DMARC editor not shown correctly## Summary
There are at least three places where the active status of the DNS DMARC record can be viewed or set.
Two places seem to work, while the third does not work.
1) DNS->Zones->example.com->Records
The first interface lets you vi...## Summary
There are at least three places where the active status of the DNS DMARC record can be viewed or set.
Two places seem to work, while the third does not work.
1) DNS->Zones->example.com->Records
The first interface lets you view the active status, but not change the active status of the DMARC record.
The first interface works correctly.
2) DNS->Zones->example.com->Records->RAW TXT Edit
The second interface lets you view and set the active status of the DMARC record.
The second interface works correctly.
3) DNS->Zones->example.com->DMARC Button Edit
The third interface lets you view and set the active status of the DMARC record.
The third interface does not work correctly.
The third interface will always say that the DMARC record is inactive (not checked), no matter what the actual active status of the DMARC record really is.
If you save the record using the third interface, the record will be saved with whichever active or inactive option you selected.
However, when the record is saved, the page is refreshed and it will still say that the record is inactive (unchecked), no matter what the true active status of the DMARC record really is.
## Proposed fix
I tried to fix this by editing the following files:
dns/form/dns_dmarc.tform.php
dns/dns_dmarc_edit.php
There is some commented code in the dns/dns_dmarc_edit.php file which makes me think that someone else has already tried to fix this issue but was also unsuccesful.
Maybe that's why this bug has existed for many many many years.
Hopefully someone else who knows the code better than I can look at it and easily fix this bug.
I look forward to seeing the fix so that I can learn the ISPC code a little bettter.
Commented code in dns/dns_dmarc_edit.php file
```
//if ($rec['active'] == 'Y') $app->tpl->setVar("active", "CHECKED"); else $app->tpl->setVar("active", "UNCHECKED");
```
## Environment
ISPConfig 3.2.11p2
Debian 11
## Related log entries
issue-fix-dmarc-ui3.2.12https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6656Spamfilter white/blacklist entries can not be added by the client2024-03-28T18:17:17ZTill BrehmSpamfilter white/blacklist entries can not be added by the clienthttps://forum.howtoforge.com/threads/filters.91847/https://forum.howtoforge.com/threads/filters.91847/3.2.12https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6655Detect and add new IP addresses to ISPConfig2024-02-26T11:14:52ZHairyDetect and add new IP addresses to ISPConfig## Summary
On the very first and only the very first install of ISPConfig, the installer will detect and add the IP addresses of the server.
After installing ISPConfig, I have added additional IP addresses to the server.
After recently u...## Summary
On the very first and only the very first install of ISPConfig, the installer will detect and add the IP addresses of the server.
After installing ISPConfig, I have added additional IP addresses to the server.
After recently updating ISPConfig to the latest version, my new IP addresses were not added to ISPConfig.
ISPConfig should be able to scan for new IP addresses and add them to ISPConfig.
This single feature should be available from at least three places.
Additionally, I think you should be asked whether you want to scan for server IP addresses to add when installing and updating ISPConfig.
Currently, the installer forces you to add the new IP addresses whether you want to or not.
First, the feature should be fixed in the file /install/install.php, directly above the Restarting services section.
Second, the feature should be added to the file /install/update.php, directly above the Restarting services section.
Third, the feature should be added to the ISPConfig admin interface, under System->Server IP Addresses, with a new button labeled "Detect and Add New IPs."
## Proposed fix
I think I can fix this by changing or implementing the following code in the /install/install.php and /install/update.php files:
```
// Detect and add server IP addresses to ISPconfig
$detect_ips_answer = $inst->simple_query('Detect and add server IPs to ISPConfig?', array('yes', 'no'), 'no','detect_ips');
if($detect_ips_answer == 'yes') {
swriteln('Detecting IP addresses');
$inst->detect_ips();
}
```
I think the field server_ip.ip_address should be changed to unique to prevent duplicate entries.
Perhaps in time, I can offer more information for the button in the admin interface.
Maybe someone else can push a commit for the button before I can get to it.
## Environment
ISPConfig 3.2.11p2
Debian 11
## Related log entries
issue-fix-detect-ips-on-install
issue-add-detect-ips-on-update
issue-add-detect-ips-sysadmin-buttonhttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6654Rspamd R_DUMMY Symbol is missing on some systems2024-02-26T09:21:45ZTill BrehmRspamd R_DUMMY Symbol is missing on some systemshttps://forum.howtoforge.com/threads/rspamd-whitelist.84552/
https://forum.howtoforge.com/threads/spamfilter-blacklist-does-not-work.91946/https://forum.howtoforge.com/threads/rspamd-whitelist.84552/
https://forum.howtoforge.com/threads/spamfilter-blacklist-does-not-work.91946/3.2.12https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6653Disable message function does not work2024-02-26T11:31:55ZHairyDisable message function does not work## Summary
ISPConfig ALMOST allows you to disable showing the message function, effectively disabling support messages.
Navigation to the setting:
System->Main config->Misc->Show message function in help module
After you disable showing...## Summary
ISPConfig ALMOST allows you to disable showing the message function, effectively disabling support messages.
Navigation to the setting:
System->Main config->Misc->Show message function in help module
After you disable showing the message function, ISPConfig still shows the message function to resellers and clients.
When the admin navigates to the Help tab,
In the right view the ISPConfig version is shown.
In the left navigation pane there is no longer an option for message functions.
When the reseller or client navigates to the Help tab,
In the right view the message function is still shown.
In the left navigation pane there is no longer an option for message functions.
## Proposed fix
I can fix this by showing the ISPConfig version in the default admin, reseller and client views by editing the files:
help/version.php
help/lib/module.conf.php
## Secondary issue
This brings us to a secondary issue.
A previous developer considered the ISPConfig version top secret information that should be kept secret from everyone except the admin.
If anyone can give a rational explanation why the version number should be kept top secret from everyone, please let me know so I can change my fix.
## Related log entries
issue-fix-message-function-disabling