Skip to content

[TODO]: Deprecate TLS_LEVEL=intermediate #3892

@polarathene

Description

@polarathene

Description

Despite what the docs presently say for TLS_LEVEL, intermediate does not offer TLS 1.0/1.2 anymore:

( "intermediate" )
local TLS_INTERMEDIATE_SUITE='ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256'
local TLS_INTERMEDIATE_IGNORE='!SSLv2,!SSLv3,!TLSv1,!TLSv1.1'
local TLS_INTERMEDIATE_MIN='TLSv1.2'

This was removed in #2945 but I have noticed that we have a user forking to carry a patch to revert back the support along with the required OpenSSL config.


From v16 (or perhaps v15 if someone wants to tackle it in time), we could add this support back via an alternative TLS_LEVEL=legacy or alternative opt-in like TLS_LEGACY=1.

I'm not sure if there is any value in us maintaining the separate intermediate list, the cipher lists could be unset back to defaults from Postfix/Dovecot. TLS_LEVEL would then be deprecated so that we only offer modern, as it really only exists for legacy requirements to use intermediate for broader compatibility 🤷‍♂️


We don't presently document to users how to bring back TLS <1.2 support. Instead of providing a legacy TLS opt-in feature, we could just document a solution with user-patches.sh? (if maintainers would prefer to avoid the burden of maintenance support in DMS for a niche feature catering to user convenience).

I did provide a user-patches.sh example, but note a caveat with how it may be undone by our check-for-changes.sh service being triggered.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions