Search K
Appearance
Appearance
Released: 2023-11-13
/usr/local custombuildnew Older CustomBuild versions used to build and install various libraries in /usr/local directory. Later CustomBuild versions switched to using packages provided by the system. Old libraries in /usr/local were never explicitly removed, this can cause compilation and runtime problems because libraries in /usr/local/lib and includes from /usr/local/include is preferred over the system libraries.
With this release new commands are added to CustomBuild to help clean up old files:
da build list_removals will detect no longer used libraries in /usr/local and report them as potential software removal actions.da build remove_old_local {library_name} - new command to remove a single package from /usr/local. All removed files are backed-up in case old library removal causes any problems.da build restore_old_local {library_name) - new command for restoring previously removed package back to /usr/local directory.Removing most libraries are relatively safe. Once the custom library is removed all other libraries or software that was using it will start using default system library instead without rebuilding or re-installing.
List of old packages that can be detected and removed:
icufreetypelibgliblibiconvlibjpeglibltdllibmcryptlibmhashlibpcrelibpcre2libpnglibwebplibsodiumlibspf2libsrs_altlibxml2libxsltlibzipragelNote:
Library libiconv is a special exception. There is no system library for libiconv because all its functionality is embedded in the modern libc library. This means that any library or binary linked against libiconv needs to be rebuilt to remove the no longer necessary link against external library and start relying on the built-in functionality.
After local version of libiconv is removed from /usr/local all CustomBuild managed software needs to be rebuilt using command da build all.
Should the server have this option enabled:
admin_ssl_replace_all_expired_invalid=1|2the new variable admin_ssl_check_expiry_offset (defaults to 0), allows for the admin to re-define the expired time to be early so that the certs can be tried before they actually expire, which is more useful than waiting until after. For example, if you want the admin_ssl_replace_all_expired_invalid option to request a new certificate one week before it expires, use:
da config-set admin_ssl_check_expiry_offset 7which is in days before expiry.
The typical renew time for a LetsEncrypt/ZeroSSL cert is 30 days before expiry, so this option would be for cases where that had failed or the cert needs to get back onto a renewal schedule for some other reason.
phalcon5 updated from 5.3.1 to 5.4.0roundcubemail updated from 1.6.4 to 1.6.5wp-cli updated from 2.8.1 to 2.9.0mod_lsapi updated from 1.1-68 to 1.1-71proftpd updated from 1.3.8 to 1.3.8aredis updated from 7.2.2 to 7.2.3PHP 8.1 updated from 8.1.24 to 8.1.25PHP 8.2 updated from 8.2.11 to 8.2.12exim updated from 4.96.2-12-g29d01ae2a to 4.97PHP 5.3 removedPHP 5.4 removedPHP 5.5 removedPHP compile script is updated to always perform clean build in a new directory. This makes sure previous PHP compilation failures will not interfere with new PHP build.
Compile script is also simplified by removing all special treatment for old libraries in /usr/local directory.
Compilation script of ProFTPD is updated:
/etc/proftpd.conf file. File /etc/proftpd.clamav.conf will no longer be used.Updated Admin SSL UI:
Expiry as a column to the table.Expiry into the list of possible filters, allowing to filter domains by certificate expiration date.Valid as a filter.
Clearing bayes data in "SpamAssassin" page was impossible for users with limited feature sets, since it involved request to the file manager API. With this change, Evolution would use new endpoint, which are not restricted for limited feature set and would allow clearing the data.
Tabs in Evolution's Refreshed layout were improved by aligning the labels to the left side for the mobile devices. This improves the readability on small screens.
Tooltips width were improved to be responsive according to the user's browser width. Previously, tooltips used to go beyond the edges of the browser window if the content was too long.
Path inputs within protected directories previously used checkboxes. This gave the impression that multiple paths could be selected when in reality only one could be selected at a time. With this change, checkboxes have been replaced with radio inputs
Previously only indication that task finished was that the notification at the bottom right of the screen would disappear and a loading icon next to task name would disappear. With this change, after all active custombuild tasks finish, the bell icon will no longer pulsate and a checkmark will be added next to the name of the task.

Some new API error messages were not properly translated and a vague error message was shown. This release adds translations for more types of errors.
Users that navigated back to the dashboard after leaving their Modsecurity page got two API error responses. Those unnecessary API requests will no longer be made after navigating away from the page.
Nginx unit pages had a bunch of small issues. The following used to go outside viewport:
The "dynamic" button was obscured, making it impossible to view when it was set to true. As a result, changed the layout of processes within the "Advanced Options" tab to make the inputs easier to access.
Additionally some inputs weren't validated correctly and submit button wasn't preventing form submission on failing validation.
There was an empty Modify action button inside the autoresponders list page, which had no label while in the mobile layout. This was fixed by adding the missing label.
Adult Filter and FTP Settings Upload checkboxes evolutionfix Checkboxes in the SPAM Filters (Adult Filter) and FTP Settings (Upload) pages weren't saving their states, and some functionalities were lost. This release restores the functionality of the checkboxes.
The DNSSEC link button in the DNS Management page was missing and this release adds it back.
Input field for changing daily sent email limit were not visible in the Enhanced skin.

When building nginx upstream source package will be downloaded over HTTPS instead of plain-text HTTP. All other source packages are already being downloaded over HTTPS.
named-checkzone on Debian 12 fix Tool named-checkzone is used to verify if DNS zone is correct before saving it. On Debian 12 this tool is installed in different location. Validation will now search for named-checkzone in all PATH directories instead of using a single hard-coded location. This makes this feature work correctly on Debian 12 systems.
Performing login from external login page using static HTML form will automatically set default user domain name in the session file.
Import from cPanel script is updated to support importing MySQL accounts that uses old password format. Old password format is only used in very old MySQL servers, servers before MySQL 4.1.
Fixed locking/block issue which would prevent the generation of a new certificate in some specific scenarios. Related error message:
2023:11:02-12:40:47: Ssl::retry_domain: /usr/local/directadmin/data/users/fred/domains/domain.com.ssl didn't exist, so tries to create one, but create_admin_domain_request also failed:
Error writing '/usr/local/directadmin/data/users/fred/domains/domain.com.ssl': Unable to get Lock on file:<br>
file is locked by another process: lock created Thu Nov 2 12:40:45 2023<br>CustomBuild will no longer support building old PHP versions: