DirectAdmin v1.674

fln

Administrator
Staff member
Joined
Aug 30, 2021
Messages
1,197
We are happy to announce the release of DirectAdmin 1.674.

The release adds support for the Dovecot 2.4.0 version, a new UI for managing DB connection details, improved file upload in File Manager, Exim configuration improvements and a lot of other smaller changes.

A full release change log is here:

DirectAdmin 1.674

The update should be automatically available for all installations subscribed to the current release channel.

We appreciate all the feedback on forums and issues reported in the ticketing system.

Thanks!
 
We see that changes have been made to dns_create_post hook and many environment variables which where available before are now missing.

Can this be reverted? We need the username and creator environment variable for further DNS processing in our own DNS infrastructure.

Current number of environment variables in 1.674 are very minimal. Before this there used to be more far many environment variables.

environ({'LANG': 'en_US.UTF-8', 'INVOCATION_ID': 'some-random-string', 'skip_template': '0', 'PWD': '/usr/local/directadmin', 'zone_existed': '0', 'JOURNAL_STREAM': '9:12345', 'GOMAXPROCS': '1', 'signed_zone': '0', 'domain': '123.example.com', 'RUNTIME_DIRECTORY': '/run/directadmin', 'SHLVL': '1', 'LANGUAGE': 'nl', 'PATH': '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin', '_': '/usr/local/directadmin/scripts/custom/dns_create_post.sh'})
 
Last edited:
Thanks for reporting this @Joriz. The multiple environment variables present when executing this hook in earlier DirectAdmin versions were not intended for this hook, but leaked from other script execution as a side effect. Latest DirectAdmin version takes care to isolate different hook execution and this is the reason why the amount of variables available in this hook is now only signed_zone, skip_template, zone_existed, and domain (docs).

We will check the possibility of adding the username token to this hook as well.
 
Last edited:
My DA upgraded to 1.674 and now I can login to DA but get 500 errors on everything I click on.

This is in the /var/log/directadmin/error.log, not sure if it's related:

2025:03:06-10:06:47: httpd header lentgh (4096) is too big

2025-03-06 10_13_39-venom.datafanatics.com _ Dashboard.png
 
2025:03:06-10:06:47: httpd header lentgh (4096) is too big
This is not directly related to DA update. This error can happen on any DirectAdmin version if at least one of the HTTP headers exceeds 4kb size. It is possible to create very long headers by storing large amount of data in cookies. Please try cleaning browser cookies or just try opening DA in another browser. DA by itself does not store much information in cookies (just session ID), but other systems available on the same hostname might do it.
 
This is not directly related to DA update. This error can happen on any DirectAdmin version if at least one of the HTTP headers exceeds 4kb size. It is possible to create very long headers by storing large amount of data in cookies. Please try cleaning browser cookies or just try opening DA in another browser. DA by itself does not store much information in cookies (just session ID), but other systems available on the same hostname might do it.
Thanks, incognito fixed me. That error gave zero indication that the issue was related to cookies. Thanks.
 
An update to DA 1.674 is released. This update fixes an issue in File Manager. When multiple files were selected, the right-click menu was missing the Copy/Move action. This release restores the original menu entry.

@Joriz, to improve backwards compatibility in this release we have also added the username token into dns_create_post hook. Please keep in mind that sometimes the username token will be empty (for example when admin account creates a new DNS zone not associated with any user).
 
If we upgrade to Dovecot 2.4.0, do we need to manually turn on the FTS plugin in Custombuild or does it come integrated with it? Is there any documentation on how implementation might change with this? I've read it being significantly better implementation, but not sure how it will differ on how to turn it on and check how it works.
 
@jca, the email full-text-search is controlled by the dovecot_fts option in the CustomBuild options.conf file. If dovecot_fts=yes is set (can be changed with command da build set dovecot_fts yes command), then CustomBuild will pick different FTS plugin based on the Dovecot version.
  • If Dovecot 2.3.x is used then fts-xapian plugin will be installed and enabled.
  • If Dovecot 2.4.x is used the fts-flatcurve plugin will be used, it is now part of Dovecot core.
To try out Dovecot 2.4.0 with fts-flatcurve plugin use the following commands:

Code:
da build set dovecot_fts yes
curl -X PUT -d '{"version":"2.4.0"}' "$(da api-url)/api/custombuild/versions-custom/dovecot"
da build dovecot

Note: the curl command above is the same as echo 'dovecot:2.4.0:' >> /usr/local/directadmin/custombuild/custom_versions.txt, just done using an API call rather than direct access to the custom_versions.txt file.
 
I see the default FTS config is different between 2.3/xapian and 2.4/flatcurve, is there any specific reason for that, e.g. fts_enforced and the autoindex excludes?

2.3/xapian:
Code:
# cat /usr/local/directadmin/custombuild/configure/dovecot/conf.d/90-fts-xapian.conf
#add quota to end of line in:
#/etc/dovecot/conf/mail_plugins.conf, eg:
#mail_plugins = $mail_plugins fts fts_xapian

plugin {
        plugin = fts fts_xapian

        fts = xapian
        fts_xapian = partial=3 full=20 verbose=0

        fts_autoindex = yes
        fts_enforced = yes

        fts_autoindex_exclude = \Junk
        fts_autoindex_exclude2 = \Trash
        fts_autoindex_exclude3 = \INBOX.spam
        fts_autoindex_exclude4 = \Inbox.Trash
}

2.4/flatcurve:
Code:
# cat /usr/local/directadmin/custombuild/configure/dovecot/2.4/conf.d/90-fts-xapian.conf

fts flatcurve {
        fts_flatcurve_min_term_size = 3
}

fts_autoindex = yes

language en {
  default = yes
}
language_tokenizers {
    generic = yes
}

Edit: Ref the excludes, I see that the 2.4/conf/namespace_private.conf file has fts_autoindex = no for Junk, spam/Spam, and Trash, so the result should be the same.
 
Last edited:
Back
Top