Erlang OTP 23.0-rc2 is available for testing
Peter Dimitrov
peterdmv@REDACTED
Thu Mar 26 15:22:57 CET 2020
Hi,
This looks like something that we should investigate. Can you please open a
ticket at https://bugs.erlang.org/ ?
Thanks!
BR/Peter
-----Original Message-----
From: erlang-questions <erlang-questions-bounces@REDACTED> On Behalf Of
Loïc Hoguin
Sent: den 26 mars 2020 10:23
To: Kenneth Lundin <kenneth@REDACTED>; erlang-questions@REDACTED
Questions <erlang-questions@REDACTED>
Subject: Re: Erlang OTP 23.0-rc2 is available for testing
Hello,
Under a specific configuration of ssl we are getting the following system
reports:
*** System report during acceptor_SUITE:ssl_sni_echo/1 in ssl 2020-03-25
18:27:00.926 ***
=NOTICE REPORT==== 25-Mar-2020::18:27:00.926666 === TLS server: In state
hello at tls_handshake.erl:231 generated SERVER
ALERT: Fatal - Handshake Failure
- malformed_handshake_data
*** System report during acceptor_SUITE:ssl_sni_echo/1 in ssl 2020-03-25
18:27:00.935 ***
=NOTICE REPORT==== 25-Mar-2020::18:27:00.935747 === TLS client: In state
hello received SERVER ALERT: Fatal - Handshake Failure
The server configuration is [{sni_hosts, [{"localhost", Opts}]}] where Opts
has cert/key self-generated (using the old erl_make_certs) and also
contains {versions, ['tlsv1.2']}.
The client has no particular configuration.
Forcing the client to use TLS 1.2 "fixes" the problem. Tests that do not
use sni_hosts but are otherwise configured the same do not have this issue.
This is the relevant test triggering this issue:
https://github.com/ninenines/ranch/blob/master/test/acceptor_SUITE.erl#L596
If this is an actual bug and not my misunderstanding I can open a ticket.
Note that we've restricted the server to TLS 1.2 to fix other issues that I
do not believe to be bugs in ssl. I haven't investigated it but since it
gets us insufficient security errors and that the self-generated
certificates use insecure algorithms I'm guessing it's probably the issue.
We will switch from erl_make_certs to the more modern approach of
generating certificates for tests in a future release.
Cheers,
On 25/03/2020 15:24, Kenneth Lundin wrote:
>
> OTP 23 Release Candidate 2
>
> This is the second of three planned release candidates before the OTP
> 23 release.
> The intention with this release is to get feedback from our users. All
> feedback is welcome, even if it is only to say that it works for you.
>
> Erlang/OTP 23 is a new major release with new features, improvements
> as well as a few incompatibilities.
>
>
> Potential Incompatibilities
>
> * SSL:
> o Support for SSL 3.0 is completely removed.
> o TLS 1.3 is added to the list of default supported versions.
> * |erl_interface|: Removed the deprecated parts of |erl_interface|
> (|erl_interface.h| and essentially all C functions with prefix
|erl_|).
> * The deprecated |erlang:get_stacktrace/0| BIF now returns an empty
> list instead of a stacktrace.
> |erlang:get_stacktrace/0| is scheduled for removal in OTP 24.
> * ...
>
>
> Highlights (rc2)
>
> * ssh:
> o OpenSSH 6.5 introduced a new file representation of
> keys called |openssh-key-v1|. This is now supported with the
> exception of
> handling encrypted keys.
> o Algorithm configuration could now be done in a .config file.
> This is useful for example to enable an algorithm that
> is disabled by default without need to change the code.
> * ssl:
> o Support for the middlebox compatibility mode makes the TLS 1.3
> handshake
> look more like a TLS 1.2 handshake and increases the chance of
> successfully
> establishing TLS 1.3 connections through legacy middleboxes.
> o Add support for key exchange with Edward curves and PSS-RSA
> padding in
> signature verification
> * The possibility to run Erlang distribution without
> relying on EPMD has been extended. To achieve this a
> couple of new options to the inet distribution has been
> added.
> o |-dist_listen false| Setup the distribution
> channel, but do not listen for incoming connection.
> o |-erl_epmd_port Port| Configure a default port that
> the built-in EPMD client should return.
> o ...
> * A first EXPERIMENTAL |socket| backend to
> |gen_tcp| and |inet| has been implemented. |gen_udp| and
> |gen_sctp| will follow.
> Putting |{inet_backend, socket}| as first option to |listen()| or
> |connect()| makes it easy to try this for
> existing code
>
>
> Highlights (rc1)
>
> * A new module |erpc| in kernel which implements an enhanced subset of
> the operations provided by the |rpc| module. Enhanced in the sense
> that it makes it possible to distinguish between returned value,
> raised exceptions and other errors. |erpc| also has better
> performance and scalability than the original |rpc| implementation.
> This by utilizing the newly introduced |spawn_request()| BIF. Also
> the |rpc| module benefits from these improvements by utilizing
> |erpc| when possible.
> * Scalability and performance Improvements plus new functionality
> regarding distributed spawn operations.
> * In binary matching, the size of the segment to be matched is now
> allowed to be a guard expression (EEP-52)
> * When matching with maps the keys can now be guard expressions
(EEP-52).
> * ssh: support for TCP/IP port forwarding, a.k.a tunneling a.k.a as
> tcp-forward/direct-tcp is implemented. In the OpenSSH client, this
> corresponds to the options -L and -R.
> * Allow underscores in numeric literals to improve readability.
> Examples: |123_456_789|, |16#1234_ABCD|.
> * New functions in the shell for displaying documentation for Erlang
> modules, functions and types. The
> functions are:
> o |h/1,2,3| -- Print the documentation for a
|Module:Function/Arity|.
> o |ht/1,2,3| -- Print the type documentation for a
> |Module:Type/Arity|.
> The embedded documentation is created as docchunks (EEP 48) when
> building the Erlang/OTP documentation.
> * kernel: The module |pg| with a new implementation of distributed
> named process groups is introduced. The old module |pg2| is
> deprecated and scheduled for removal in OTP 24.
> * Our tool chain for building the Windows packages is upgraded with
> new C++ compiler, Java compiler, OpenSSL libraries and wxWidgets
> versions. We are now using WSL (the Linux Subsystem for Windows when
> building) which makes it easier to handle the build environment.
> * ...
>
> For more details see
> http://erlang.org/download/otp_src_23.0-rc2.readme
>
> Pre built versions for Windows can be fetched here:
> http://erlang.org/download/otp_win32_23.0-rc2.exe
> http://erlang.org/download/otp_win64_23.0-rc2.exe
>
> Online documentation can be browsed here:
> http://erlang.org/documentation/doc-11.0-rc2/doc
> The Erlang/OTP source can also be found at GitHub on the official
> Erlang repository, https://github.com/erlang/otp
>
--
Loïc Hoguin
https://ninenines.eu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20200326/0056dfbf/attachment-0001.htm>
More information about the erlang-questions
mailing list