Hi, On 25/03/2021 01:01, Arne Schwabe wrote: > The non-TLS mode is a relict from OpenVPN 1.x or 2.0. When tls mode was > introduce the advantages of TLS over non-tls were small but tls mode > evolved to include a lot more features. (NCP, multipeer, AEAD ciphers to name > a few). > > Today VPN that use --secret are mainly used because of its relative easy to > setup and requiring to setup a PKI. This shortcoming of TLS mode should be > addressed now with the peer-fingerprint option. > > Signed-off-by: Arne Schwabe <a...@rfc2549.org>
As per the discussion that sparked in this thread, I would suggest articulating the commit message a bit more to highlight the security concerns about using --secret and why it's a good idea to get rid of it. The rest looks good to me. Cheers, > --- > doc/man-sections/protocol-options.rst | 2 +- > src/openvpn/options.c | 12 +++++++++++- > 2 files changed, 12 insertions(+), 2 deletions(-) > > diff --git a/doc/man-sections/protocol-options.rst > b/doc/man-sections/protocol-options.rst > index 01789e58..4b6928c6 100644 > --- a/doc/man-sections/protocol-options.rst > +++ b/doc/man-sections/protocol-options.rst > @@ -235,7 +235,7 @@ configured in a compatible way between both the local and > remote side. > disables cipher negotiation. > > --secret args > - Enable Static Key encryption mode (non-TLS). Use pre-shared secret > + **DEPRECATED** Enable Static Key encryption mode (non-TLS). Use pre-shared > secret > ``file`` which was generated with ``--genkey``. > > Valid syntaxes: > diff --git a/src/openvpn/options.c b/src/openvpn/options.c > index e52679f0..5b559edf 100644 > --- a/src/openvpn/options.c > +++ b/src/openvpn/options.c > @@ -514,7 +514,7 @@ static const char usage_message[] = > "\n" > "Data Channel Encryption Options (must be compatible between peers):\n" > "(These options are meaningful for both Static Key & TLS-mode)\n" > - "--secret f [d] : Enable Static Key encryption mode (non-TLS).\n" > + "--secret f [d] : (DEPRECATED) Enable Static Key encryption mode > (non-TLS).\n" > " Use shared secret file f, generate with --genkey.\n" > " The optional d parameter controls key > directionality.\n" > " If d is specified, use separate keys for each\n" > @@ -2564,6 +2564,15 @@ options_postprocess_verify_ce(const struct options > *options, > msg(M_USAGE, "specify only one of --tls-server, --tls-client, or > --secret"); > } > > + if (!options->tls_server || !options->tls_client) > + { > + msg(M_INFO, "DEPRECATION: No tls-client or tls-server option in " > + "configuration detected. OpenVPN 2.7 will remove the " > + "functionality to run a VPN without TLS. " > + "See the examples section in the manual page for " > + "examples of a similar quick setup with > peer-fingerprint."); > + } > + > if (options->ssl_flags & > (SSLF_CLIENT_CERT_NOT_REQUIRED|SSLF_CLIENT_CERT_OPTIONAL)) > { > msg(M_WARN, "WARNING: POTENTIALLY DANGEROUS OPTION " > @@ -7868,6 +7877,7 @@ add_option(struct options *options, > } > else if (streq(p[0], "secret") && p[1] && !p[3]) > { > + msg(M_WARN, "DEPRECATED OPTION: The option --secret is deprecated. > "); > VERIFY_PERMISSION(OPT_P_GENERAL|OPT_P_INLINE); > options->shared_secret_file = p[1]; > options->shared_secret_file_inline = is_inline; > -- Antonio Quartulli _______________________________________________ Openvpn-devel mailing list Openvpn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openvpn-devel