newAlso include the .INBOX.Trash folder for purging
The spambox purging feature will now also include the Trash folder, by request. This will increase the system load even more, fyi.
To keep the load at a minimum during this process, the fewer emails there are to check, the faster it will run. So to accomplish that, set the purge time to as few days as possible so old ones are cleared out sooner. Balance this with how long your customers need old spam/trash emails. If you can get away with 1-3 days, that would be best... 7 days is ok as well. 30 days is safe for the customers, but puts more load, depending on the number of accounts and emails there are to purge.
NOTE: this is only for dovecot/Maildir. It doesn't show up for vm-pop3d/mbox.
newCron option to prevent email (SKINS)
to the end of your cron command before submitting it.
and added the button:
<input type=button name=prevent value="Prevent Email" onClick='preventEmail()'>
newinclude subdomains in domain pointers (TEMPLATES)
Add subdomains for domain pointers on the main domain.
Only for aliased domain pointers. (ServerAlias)
The subdomain virtualhosts will not have ServerAliases for all domain pointers in the subdomain form.
This will note setup the dns zones for the subdomains in the domain alias.
The reason for this is because if you're using the "multi server setup" for dns clustering, the effect of multiple connections for each domain pointer would cause a high load. Example, if you have 3 remote dns servers, and 10 domain pointers, adding 1 subdomain in DA would cause 30 connections one after another to setup the dns zone for each domain pointer, repeated for each dns server. So, if you want to use this, add the subdomains manually to dns, or use wildcard dns * A records.
virtual_host*_sub.conf (there are 4 of them)
ServerAlias www.|SUB|.|DOMAIN| |SUB|.|DOMAIN|
ServerAlias www.|SUB|.|DOMAIN| |SUB|.|DOMAIN| |SERVER_ALIASES|
DA will add the subdomain name in front of the domain pointer for each domain pointer.
newability to specify a user/pass for sql gz restores (SKINS)
Will add 2 fields for the ability to specify a specific user/pass to restore the gz backup as. If nothing is entered, then the system user will be assumed, using the session password for the restore, as it currently does... so if you don't update your skin with this information, it will still work as it normally does.
On the line before the submit button add:
newoption to specify the redirect host value when http is used on an https protocol
DEPRECATED as of 1.62.0:
option to specify the redirect host value when http is used on an https protocol.
If you've enabled SSL=1 and the User enters http, then DA will give them the server IP redirect by default. This option will allow the admin to specify the value of the hostname in the redirect, which has an added benefit of forcing them to use the host that matches the certificate to valid ssl errors.
The directadmin.conf option will be:
The default setting is for the value to not be present in the directadmin.conf.
When it's not present, the server IP will be used. With the option present, it's value will be used (even it's it's blank) so make sure it only there if you want to use it.
DA 1.47.1 supports adding an optional redirect port:
newrecursive apache file ownership reset
recursive directory apache file ownership reset in filemanager.
Directories owned by apache will now have anoter link beside the "Reset Ownership". It will now show:
Reset Ownership | Recursively
so you can either click the first link to just reset the directory, or click the Recursively link to do the directory, as well as all of it's contents.
Only apache owned files/directories within it will be reset.
Apache owned files in a directory within the initial path won't be touched if the middle level directory isn't owned by apache. It stops going down if any level isn't owned by apache. It will continue for other files/folders in that original directory though.
fixedspambox purge using ctime instead of mtime
The time check on the ctime instead of the mtime is wrong because dovecot often changes the name of the file, which is how it keeps track of the messages flags. The mtime is the actual file contents modification time, so that's the one that needs to be checked.
fixedmore filtering on adding mailinglist subscribers
Better filtering for adding email addresses to a mailing list.
Break down comma separated lists into individual emails.
fixedEnsure domain is owned by user in CMD_USER_STATS
Filter domain variable to ensure it's present in the User's domain.list file.
fixeddataskq uses a lot of cpu for oversized bandwidth.tally files
If a bandwidth.tally file is oversized (eg, 50meg due to emails), the parsing of it can bog down the tally.
I've added a change to the parse to use a different reading/sorting algorithm such that a sort isn't run each time a new unique message ID is added to the index. For bandwidth.tally files with ~500,000 entires, this really speeds things up exponentially... from hours to seconds.
fixedshared to owned IP, ftp accounts disappear for defaultdomain
If you have an account on a shared IP, and move that account to an owned IP, any accounts on the defaultdomain (the main domain for the account) will disappear from the ftp list.
The accounts have not actually been removed, they're just not showing up because the @domain.com was not removed during conversion from the email@example.com account. (main domains for owned IP's dont have @domain.com).
The fix was to remove @domain.com for the default domain ftp accounts during the conversion.