ISPConfig 3 issueshttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues2020-09-07T18:43:24Zhttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/4489Admin protection broken for vhost subdomains2020-09-07T18:43:24ZTill BrehmAdmin protection broken for vhost subdomainsAdmin/client protection is not working for vhost subdomains.Admin/client protection is not working for vhost subdomains.3.3https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/4455Special characters in password hash escaped twice when _ispconfig_pw_crypted ...2020-12-30T10:44:08ZdmkSpecial characters in password hash escaped twice when _ispconfig_pw_crypted == 1Problem occurs when adding mail user with hashed password (and I believe ftp user too) through remote client.
When password hash includes special character (i.e. backslash) it is escaped twice.
In function ```_getSQL``` (tform_base.inc....Problem occurs when adding mail user with hashed password (and I believe ftp user too) through remote client.
When password hash includes special character (i.e. backslash) it is escaped twice.
In function ```_getSQL``` (tform_base.inc.php) whole inserted record is escaped:
```php
$record = $this->encode($record, $tab, true);
```
and then for password with _ispconfig_pw_crypted == 1
```php
$sql_insert_val .= "'".$app->db->quote($record[$key])."', ";
```
so password field is escaped first time in ```encode``` and second time in ```quote``` functions.3.3https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/4329Monitor - Disk Usage2020-11-04T21:59:09ZIaina RandrianarivonyMonitor - Disk UsageHello,
I have a 250Go mounted on "/dev/simfs" but doesn't appear in monitor page, section Disk Usage. Thank you.
![Hard_Disk](/uploads/fac7e6e1c6589fc9f96a832634c6a45b/Hard_Disk.PNG)Hello,
I have a 250Go mounted on "/dev/simfs" but doesn't appear in monitor page, section Disk Usage. Thank you.
![Hard_Disk](/uploads/fac7e6e1c6589fc9f96a832634c6a45b/Hard_Disk.PNG)3.3https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/3322spamfilter policys not shown in meny when activated for a reseller2017-10-08T13:36:47ZTill Brehmspamfilter policys not shown in meny when activated for a resellerhttp://www.howtoforge.com/forums/showthread.php?t=61776http://www.howtoforge.com/forums/showthread.php?t=617763.3https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6658The spamfilter of all users (that used it) is rewritten although only the pol...2024-03-01T07:43:05ZHannesThe 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/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-disablinghttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6586Allow for disable web backup2023-10-09T17:34:36ZXaver MaierhoferAllow for disable web backup## Summary
Widcard (`*`) will throw an error
## Steps to reproduce
1. Add a backup with `*` as exclude path
2. Look into logs
## Correct behaviour
Tries to backup with complete excluded directory and will throw an error into logs
#...## Summary
Widcard (`*`) will throw an error
## Steps to reproduce
1. Add a backup with `*` as exclude path
2. Look into logs
## Correct behaviour
Tries to backup with complete excluded directory and will throw an error into logs
## Proposed fix
Skip web backup with `*`. Web is done with a tool that supports deduplication. Larger web and few changing file will result in massive backups.https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6561Database user permissions are not returned as they should be.2023-09-16T14:50:57ZAlexandre Pereira BühlerDatabase user permissions are not returned as they should be.MariaDB 10.3. Debian buster. ISPConfig 3.2.11.
Steps to reproduce.
1) Create a database and user.
2) Create a table.
3) Overflow the database quota.
4) The next day when we increase the database quota.
The user's permissions are not corr...MariaDB 10.3. Debian buster. ISPConfig 3.2.11.
Steps to reproduce.
1) Create a database and user.
2) Create a table.
3) Overflow the database quota.
4) The next day when we increase the database quota.
The user's permissions are not corrected.
They remain the same as when the quota was exceeded.
They look like in the image with the number 2.
![beforequotaexceeded](/uploads/e43065b1c9809d9db19e15afe111ceae/beforequotaexceeded.PNG)
![afterquotaexceeded](/uploads/975ecb97081cdcf10a644cbcdf3d9f9b/afterquotaexceeded.PNG)https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6540PHP Warnings and issues with character set in MySQL 82023-09-24T11:03:56ZTill BrehmPHP Warnings and issues with character set in MySQL 8https://forum.howtoforge.com/threads/migrate-mysql-to-mariadb.90840/#post-447639https://forum.howtoforge.com/threads/migrate-mysql-to-mariadb.90840/#post-447639https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6535mail alias on domain alias does not work2023-09-16T14:50:17Zdoekiamail alias on domain alias does not work## Summary
email to an aliased email on an aliased domain does not work
## Steps to reproduce
1. have an email alice@example.com
2. have an email alias bob@example.com => alice@example.com
3. have a domain alias @alternate.com => @examp...## Summary
email to an aliased email on an aliased domain does not work
## Steps to reproduce
1. have an email alice@example.com
2. have an email alias bob@example.com => alice@example.com
3. have a domain alias @alternate.com => @example.com
4. Try to send an email to bob@alternate.com
5. 550 5.1.1 <bob@alternate.com>: Recipient address rejected: User unknown in virtual alias table;
## Correct behaviour
Mail to be send to alice@example.com
## Environment
Debian 11
ISPConfig Version: 3.2.9p1
Apache2.4
## Proposed fix
See the patched query entry in /etc/postfix/mysql-virtual_forwardings.cf
#> postmap -q "bob@alternate.com" mysql:/etc/postfix/mysql-virtual_forwardings.cf
alice@example.com
```
query = SELECT s.destination AS target FROM mail_forwarding AS s
WHERE (s.source = '%s' OR s.source = CONCAT(SUBSTRING_INDEX('%u', '+', 1), '@%d'))
AND s.type IN ('alias', 'forward') AND s.active = 'y' AND s.server_id = 1
UNION
SELECT s.destination AS target FROM mail_forwarding AS s
WHERE s.source = '@%d' AND s.type = 'catchall'
AND s.active = 'y' AND s.server_id = 1
AND NOT EXISTS (
SELECT email FROM mail_user
WHERE (email = '%s' OR email = CONCAT(SUBSTRING_INDEX('%u', '+', 1), '@%d'))
AND EXISTS (
SELECT domain_id FROM mail_domain
WHERE domain = SUBSTRING_INDEX('%s', '@', -1)
AND active = 'y' AND server_id = 1
)
AND server_id = 1
)
AND NOT EXISTS (
SELECT source FROM mail_forwarding
WHERE (source = '%s' OR source = CONCAT(SUBSTRING_INDEX('%u', '+', 1), '@%d'))
AND active = 'y' AND server_id = 1
)
UNION
SELECT s.destination AS target FROM mail_forwarding AS s
INNER JOIN mail_forwarding AS s2
ON ( s2.source = '@%d'
AND s2.type = 'aliasdomain'
AND s2.active = 'y'
AND s2.server_id = 1)
WHERE (s.source = CONCAT(SUBSTRING_INDEX('%u', '+', 1), s2.destination))
AND s.type IN ('alias', 'forward')
AND s.active = 'y'
AND s.server_id = 1
```
PS: This settings (multiple alias) was working under ISPConfig Version: 3.1.12https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6530PowerDNS MySQL schema update2023-09-16T14:49:03ZArtur YakupovPowerDNS MySQL schema update
## Summary
Updated MySQL schema for PowerDNS prevents correct work.
/usr/share/pdns-backend-mysql/schema# cat ./4.1.0_to_4.2.0_schema.mysql.sql
ALTER TABLE domains MODIFY notified_serial INT UNSIGNED DEFAULT NULL;
ALTER TABLE records D...
## Summary
Updated MySQL schema for PowerDNS prevents correct work.
/usr/share/pdns-backend-mysql/schema# cat ./4.1.0_to_4.2.0_schema.mysql.sql
ALTER TABLE domains MODIFY notified_serial INT UNSIGNED DEFAULT NULL;
ALTER TABLE records DROP COLUMN change_date;
## Steps to reproduce
Implement PowerDNS with MySQL schema starting from 4.2.0 version of PowerDNS.
## Correct behaviour
Schemas should be compatible
## Environment
Server OS + version: Debian 10 and up
ISPConfig version: 3.9.0 and up
Software version of the related software: PowerDNS 4.2.0 and up
## Proposed fix to ispconfig/server/plugins-available/powerdns_plugin.inc.php
```
58d57
< `change_date` int(11) default NULL,
150c149
< $app->db->query("INSERT INTO powerdns.records (domain_id, name, type, content, ttl, prio, change_date, ispconfig_id) VALUES (?, ?, 'SOA', ?, ?, 0, UNIX_TIMESTAMP(), ?)", $zone_id, $origin, $content, $ttl, $ispconfig_id);
---
> $app->db->query("INSERT INTO powerdns.records (domain_id, name, type, content, ttl, prio, ispconfig_id) VALUES (?, ?, 'SOA', ?, ?, 0, ?)", $zone_id, $origin, $content, $ttl, $ispconfig_id);
184c183
< $app->db->query("UPDATE powerdns.records SET name = ?, content = ?, ttl = ?, change_date = UNIX_TIMESTAMP() WHERE ispconfig_id = ? AND type = 'SOA'", $origin, $content, $ttl, $data["new"]["id"]);
---
> $app->db->query("UPDATE powerdns.records SET name = ?, content = ?, ttl = ? WHERE ispconfig_id = ? AND type = 'SOA'", $origin, $content, $ttl, $data["new"]["id"]);
328d326
< $change_date = time();
331c329
< $app->db->query("INSERT INTO powerdns.records (domain_id, name, type, content, ttl, prio, change_date, ispconfig_id) VALUES (?, ?, ?, ?, ?, ?, ?, ?)", $zone_id, $name, $type, $content, $ttl, $prio, $change_date, $ispconfig_id);
---
> $app->db->query("INSERT INTO powerdns.records (domain_id, name, type, content, ttl, prio, ispconfig_id) VALUES (?, ?, ?, ?, ?, ?, ?)", $zone_id, $name, $type, $content, $ttl, $prio, $ispconfig_id);
394d391
< $change_date = time();
396c393
< $app->db->query("UPDATE powerdns.records SET name = ?, type = ?, content = ?, ttl = ?, prio = ?, change_date = UNIX_TIMESTAMP() WHERE ispconfig_id = ? AND type != 'SOA'", $name, $type, $content, $ttl, $prio, $ispconfig_id);
---
> $app->db->query("UPDATE powerdns.records SET name = ?, type = ?, content = ?, ttl = ?, prio = ? WHERE ispconfig_id = ? AND type != 'SOA'", $name, $type, $content, $ttl, $prio, $ispconfig_id);
```
## Related log entries
16.06.2023-09:46 - WARNING - Falsche Anfrage / Wrong QuerySQL-Query = INSERT INTO powerdns.records (domain_id, name, type, content, ttl, prio, change_date, ispconfig_id) VALUES ('143', '***', 'A', '*****', '3600', '0', 1686897961, '4950') -> 1054 (Unknown column 'change_date' in 'field list')https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6525php error if function formatBytes get calles with some non numeric value2023-06-10T05:19:08ZHannesphp error if function formatBytes get calles with some non numeric valueOnly happens if something goes wrong somewhere.<br>
Example if email backup has no size written back into DB than if you click on Email Backup Tab the following error occurs<br>
<pre>
[Fri Jun 09 19:44:32.274647 2023] [fcgid:warn] [pi...Only happens if something goes wrong somewhere.<br>
Example if email backup has no size written back into DB than if you click on Email Backup Tab the following error occurs<br>
<pre>
[Fri Jun 09 19:44:32.274647 2023] [fcgid:warn] [pid 1425757:tid 139802577917504] mod_fcgid: stderr: PHP Fatal error: Uncaught TypeError: log(): Argument #1 ($num) must be of type float, string given in /usr/local/ispconfig/interface/lib/classes/functions.inc.php:290
</pre>
Could happens in other (non standard) conditions too.<br><br>
A is_numeric() check or something like this would be useful to make it more failsafe.<br>
<pre>
public function formatBytes($size, $precision = 2) {
if (!is_numeric($size)) {
global $app;
$app->log('Function formatBytes got non nummeric value - check it', LOGLEVEL_ERROR);
return '';
}
$base=log($size)/log(1024);
$suffixes=array('', ' kB', ' MB', ' GB', ' TB');
return round(pow(1024, $base-floor($base)), $precision).$suffixes[floor($base)];
}
</pre>https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6517relayhost without authentication per mail domain not working2023-06-05T09:11:01ZMarkus Fischerrelayhost without authentication per mail domain not working## Summary
Setting up a relayhost per mail domain without username/password results in SASL authentication failure error from the relayhost
`status=deferred (SASL authentication failed; cannot authenticate to server xxx[xxx]: generic fai...## Summary
Setting up a relayhost per mail domain without username/password results in SASL authentication failure error from the relayhost
`status=deferred (SASL authentication failed; cannot authenticate to server xxx[xxx]: generic failure)`
Problem is similar to #5214, but there it is setting per server, not per mail domain.
I can't trace it completely, but following the query in mysql-virtual_sender-relayauth.cf postfix tries to authenticate with ":"
## Steps to reproduce
1. Enter relayhost into mail domain but leave relayhost user and password empty
2. try to send email
## Correct behaviour
Email should be send via relay if relayhost does not require authentication (f.e. ip-based authentication)
## Environment
Server OS + version: (Debian 10) \
ISPConfig version: (3.2.9p1)
## Proposed fix
change mysql-virtual_sender-relayauth.cf line 9 from
` AND concat(relay_host,relay_user,relay_pass) != ''`
to
` AND concat(relay_user,relay_pass) != ''`https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6503Backup counter issue2023-05-20T07:38:55ZTill BrehmBackup counter issueWebsite + database backup get counted as 2 backups.
https://forum.howtoforge.com/threads/little-problem-with-backups.90609/Website + database backup get counted as 2 backups.
https://forum.howtoforge.com/threads/little-problem-with-backups.90609/https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6492Changing the client for a webdomain fails2023-09-16T14:48:08ZHelmoChanging the client for a webdomain failsWhen using the domains option you can move a domain to a different client via Client -> Domains -> *domain*.
This works fine for mail_domains and soa's but even though the web_domain table is updated it is not changed in the document_ro...When using the domains option you can move a domain to a different client via Client -> Domains -> *domain*.
This works fine for mail_domains and soa's but even though the web_domain table is updated it is not changed in the document_root's directory structure on disk.
In the [sites_web_vhost_domain_edit](https://git.ispconfig.org/ispconfig/ispconfig3/-/blob/develop/interface/lib/plugins/sites_web_vhost_domain_plugin.inc.php#L43) event handler we use `datalogUpdate` for a number of records, but a straight sql UPDATE for most cases of the web_domain.
This causes the backend cron runner (on a slave server) to not notice the change.HelmoHelmohttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6473API: sites_web_domain_add allows adding nonexisting domains to clients, and a...2023-03-12T17:25:12ZJensAPI: sites_web_domain_add allows adding nonexisting domains to clients, and allows exceeding client limits## Summary
See $SUBJECT.
## Steps to reproduce
0. Configure ISPconfig so that only admins can add domains, and clients can only use the domains which the admin has assigned to them.
1. Use the SOAP API to add a website domain to a custo...## Summary
See $SUBJECT.
## Steps to reproduce
0. Configure ISPconfig so that only admins can add domains, and clients can only use the domains which the admin has assigned to them.
1. Use the SOAP API to add a website domain to a customer which (1) has no free domains left, and (2) has this domain not assigned.
2. The call is successful and the domain is entered. But when viewing this site configuration in the web UI, the "domain" field is empty and the form is invalid.
## Correct behaviour
- If no 'vhost' type is specified using the API, the domain is added but is completely invisible in the UI, so the entry is useless. Either the 'vhost' should be mandatory via API or have a sensible default (e.g. 'name').
- If the client_id has no web site quota left, the API call should not be accepted. Even the admin should not be able to exceed their own customers' quota.
- If only admins can add domains via ISPconfig, the website domain should be checked against this list and the client_id and the API call should be refused if the domain has not been configured in ISPconfig.
## Environment
Ubuntu 22.04, ISPconfig 3.2.9p1 installed by autoinstaller script
## Proposed fix
This (and probably other) checks should be done on the server side so using the API cannot create inconsistent database entries.https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6469Issue Null MX Record in PowerDNS plugin2023-02-26T21:23:28ZCédricIssue Null MX Record in PowerDNS plugin## Summary
According to the RFC 7505 we have to create a NULL Record to indicate that the domain **doesn't accept an email**\
If we create that Null Record the entire zone is returning ServFail\
![image](/uploads/e9d212f0115f429fdf04b1a4...## Summary
According to the RFC 7505 we have to create a NULL Record to indicate that the domain **doesn't accept an email**\
If we create that Null Record the entire zone is returning ServFail\
![image](/uploads/e9d212f0115f429fdf04b1a4c3f1403c/image.png)
## Steps to reproduce
1. Create a new MX
2. Hostname = Your domain
3. Mail server hostname = .
4. Priority = 0
5. TTL = 60
![image](/uploads/7df0904896da7382693d6fb771df0b10/image.png)
## Correct behaviour
The zone should be reachable without error \
And the MX record should look like this : \
![image](/uploads/fc975c6919545c6ed42dc2dfe95a17bb/image.png)
## Environment
- Server OS + version: Debian 11
- ISPConfig version: 3.2.9
- PowerDNS : 4.4.1-1 & 4.5.4-1pdns.buster
![image](/uploads/a1b7c522ea897f049df8c1266cb72bc9/image.png)
## Solution
For test purpose I've manually added the "." in the content field of Powerdns database, **and it works.**
## References
https://datatracker.ietf.org/doc/html/rfc7505#page-3https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6422Unicode icon issue2022-12-21T12:07:10ZHelmoUnicode icon issue
From #6418 there remains the unicode icon issue.
![Eingefügtes_Bild_01_12_22__15_29](/uploads/fb8b73d0cf4db730f4f784701cb4a668/Eingefügtes_Bild_01_12_22__15_29.jpg)
@tbrehm can we set the default project limit > 0 in GitLab, to let ...
From #6418 there remains the unicode icon issue.
![Eingefügtes_Bild_01_12_22__15_29](/uploads/fb8b73d0cf4db730f4f784701cb4a668/Eingefügtes_Bild_01_12_22__15_29.jpg)
@tbrehm can we set the default project limit > 0 in GitLab, to let @mindbender666 post a merge request? We should stimulate anyone who is willing to help.Till BrehmTill Brehmhttps://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6420Sub/Aliasdomain (Expert) removes stats folder2023-01-29T20:48:52ZWHOSub/Aliasdomain (Expert) removes stats folder<!-- 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
If an Aliasdomain or Subdomain vhost is created or edited, the stats folder under /web is deleted.
## Steps to reproduce
1. Create a website
2. Enable awstats for the website in the Statistics tab
3. Wait until all system jobs are finished
4. The /web/stats folder is created
5. Create a subdomain vhost:
Host: abc
Domain: test.de
Base folder: vhost (after saving it will contain web/vhost and it cannot be changed)
otherwise do not change and save the standard settings
6. Wait until all system jobs are finished.
7. The vhost folder gets standard_index.html and the error folder with 8 standard error pages.
8. The /web/stats folder is gone
## Correct behaviour
The /web/stats folder should not be deleted
## Environment
Server OS + version:
Debian GNU/Linux 11 (bullseye)
ISPConfig version: 3.2.9
<!-- _you can use `grep 'ISPC_APP_VERSION' /usr/local/ispconfig/server/lib/config.inc.php` to get it from the command line_ -->
Software version of the related software:
<!-- You can use 'nginx -v' or 'apachectl -v' to find the webserver version. Use 'php -v' to find the PHP version.> Put this in code blocks, like so: -->
```
Server version: Apache/2.4.54 (Debian)
Server built: 2022-06-09T04:26:43
```
```
PHP 7.4.32 (cli) (built: Oct 28 2022 18:38:41) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.32, Copyright (c), by Zend Technologies
```https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/6412Forced Jailkit update overwrites jail specific configurations2022-12-05T17:35:47ZZakForced Jailkit update overwrites jail specific configurationsThe forced jail update overwrites all files within the jail with the system versions of the files, regardless of alterations that could have been made on jail creation time via plugins. For example configuring sendmail_path in the jails ...The forced jail update overwrites all files within the jail with the system versions of the files, regardless of alterations that could have been made on jail creation time via plugins. For example configuring sendmail_path in the jails php.ini etc... \
\
jk_update does not touch /etc, since its not probed by default. But the forced update uses jk_init/jk_cp which basically recreates the jail from scratch, without triggering the "shell_user_update event" and therefore is not honoring the function a plugin could provide.