Patch Package: OTP 25.0.1 Git Tag: OTP-25.0.1 Date: 2022-06-09 Trouble Report Id: OTP-18010, OTP-18046, OTP-18087, OTP-18094, OTP-18100, OTP-18105, OTP-18106, OTP-18110, OTP-18112, OTP-18120, OTP-18122, OTP-18123, OTP-18124, OTP-18128, OTP-18129, OTP-18132, OTP-18136 Seq num: ERIERL-811, GH-5950, GH-5961, GH-5985, GH-5994, GH-6000, GH-6015 System: OTP Release: 25 Application: crypto-5.1.1, dialyzer-5.0.1, erts-13.0.1, kernel-8.4.1, mnesia-4.21.1, ssh-4.14.1, ssl-10.8.1, stdlib-4.0.1 Predecessor: OTP 25.0 Check out the git tag OTP-25.0.1, and build a full OTP system including documentation. Apply one or more applications from this build as patches to your installation using the 'otp_patch_apply' tool. For information on install requirements, see descriptions for each application version below. --------------------------------------------------------------------- --- crypto-5.1.1 ---------------------------------------------------- --------------------------------------------------------------------- The crypto-5.1.1 application can be applied independently of other applications on a full OTP 25 installation. --- Fixed Bugs and Malfunctions --- OTP-18046 Application(s): crypto Note in the documentation that MODP (rfc3526) groups and OpenSSL 3.0 can give an error if a call to crypto:generate_key/2 specifies a key length, and that length is to small. --- Improvements and New Features --- OTP-18010 Application(s): crypto The cmac now uses only the 3.0 API OTP-18132 Application(s): crypto Documentation is now updated with which OpenSSL cryptolib versions that OTP currently is tested. Full runtime dependencies of crypto-5.1.1: erts-9.0, kernel-5.3, stdlib-3.9 --------------------------------------------------------------------- --- dialyzer-5.0.1 -------------------------------------------------- --------------------------------------------------------------------- The dialyzer-5.0.1 application can be applied independently of other applications on a full OTP 25 installation. --- Fixed Bugs and Malfunctions --- OTP-18120 Application(s): dialyzer Fixed the documentation for the missing_return and extra_return options. Full runtime dependencies of dialyzer-5.0.1: compiler-8.0, erts-12.0, kernel-8.0, stdlib-3.15, syntax_tools-2.0, wx-2.0 --------------------------------------------------------------------- --- erts-13.0.1 ----------------------------------------------------- --------------------------------------------------------------------- Note! The erts-13.0.1 application *cannot* be applied independently of other applications on an arbitrary OTP 25 installation. On a full OTP 25 installation, also the following runtime dependency has to be satisfied: -- kernel-8.4.1 (first satisfied in OTP 25.0.1) --- Fixed Bugs and Malfunctions --- OTP-18105 Application(s): erts Related Id(s): OTP-16982, PR-6003 A spawn_reply signal from a remote node could be delayed and be delivered after other signals from the newly spawned process. When this bug triggered, the connection to the node where the process was spawned sometimes could be taken down due to the bug. The following error message would then be logged if this happened: Missing 'spawn_reply' signal from the node detected by on the node . The node probably suffers from the bug with ticket id OTP-17737. This bug only affected processes which had enabled off_heap message_queue_data and parallel reception of signals had been automatically enabled. This bug was introduced in OTP 25.0, ERTS version 13.0. OTP-18106 Application(s): erts Related Id(s): PR-5992 Fixed type spec of erlang:system_info(dist_ctrl). OTP-18123 Application(s): erts Related Id(s): GH-5994 The zlib built in to the runtime system has been updated to version 1.2.12. (Note that on most platforms, the platform's own zlib is used.) OTP-18124 Application(s): erts, kernel Related Id(s): OTP-17558, PR-6032 The erlang:is_alive() BIF could return true before configured distribution service was available. This bug was introduced in OTP 25.0 ERTS version 13.0. The erlang:monitor_node() and erlang:monitor() BIFs could erroneously fail even though configured distribution service was available. This occurred if these BIFs were called after the distribution had been started using dynamic node name assignment but before the name had been assigned. Full runtime dependencies of erts-13.0.1: kernel-8.4.1, sasl-3.3, stdlib-4.0 --------------------------------------------------------------------- --- kernel-8.4.1 ---------------------------------------------------- --------------------------------------------------------------------- Note! The kernel-8.4.1 application *cannot* be applied independently of other applications on an arbitrary OTP 25 installation. On a full OTP 25 installation, also the following runtime dependency has to be satisfied: -- erts-13.0.1 (first satisfied in OTP 25.0.1) --- Fixed Bugs and Malfunctions --- OTP-18112 Application(s): kernel Related Id(s): ERIERL-811 The DNS resolver inet_res has been fixed to ignore trailing dot difference in the request domain between the sent request and the received response, when validating a response. OTP-18122 Application(s): kernel Related Id(s): GH-6015, PR-6020 A bug in inet_res has been fixed where a missing internal {ok,_} wrapper caused inet_res:resolve/* to return a calculated host name instead of an `{ok,Msg} tuple, when resolving an IP address or a host name that is an IP address string. OTP-18124 Application(s): erts, kernel Related Id(s): OTP-17558, PR-6032 The erlang:is_alive() BIF could return true before configured distribution service was available. This bug was introduced in OTP 25.0 ERTS version 13.0. The erlang:monitor_node() and erlang:monitor() BIFs could erroneously fail even though configured distribution service was available. This occurred if these BIFs were called after the distribution had been started using dynamic node name assignment but before the name had been assigned. OTP-18136 Application(s): kernel Added the missing mandatory address/0 callback in the gen_tcp_dist example. Full runtime dependencies of kernel-8.4.1: crypto-5.0, erts-13.0.1, sasl-3.0, stdlib-4.0 --------------------------------------------------------------------- --- mnesia-4.21.1 --------------------------------------------------- --------------------------------------------------------------------- The mnesia-4.21.1 application can be applied independently of other applications on a full OTP 25 installation. --- Fixed Bugs and Malfunctions --- OTP-18128 Application(s): mnesia Related Id(s): PR-6013 Fixed add_table_copy which could leave a table lock if the receiving node went down during the operation. Full runtime dependencies of mnesia-4.21.1: erts-9.0, kernel-5.3, stdlib-3.4 --------------------------------------------------------------------- --- ssh-4.14.1 ------------------------------------------------------ --------------------------------------------------------------------- The ssh-4.14.1 application can be applied independently of other applications on a full OTP 25 installation. --- Fixed Bugs and Malfunctions --- OTP-18094 Application(s): ssh Binaries can be limited in logs with the parameter max_log_item_len. The default value is 500 bytes. Full runtime dependencies of ssh-4.14.1: crypto-5.0, erts-11.0, kernel-6.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15 --------------------------------------------------------------------- --- ssl-10.8.1 ------------------------------------------------------ --------------------------------------------------------------------- The ssl-10.8.1 application can be applied independently of other applications on a full OTP 25 installation. --- Fixed Bugs and Malfunctions --- OTP-18087 Application(s): ssl Related Id(s): GH-5961 When a TLS-1.3 enabled client tried to talk to a TLS-1.2 server that coalesces TLS-1.2 handshake message over one TLS record, the connection could fail due to some message being handled in the wrong state, this has been fixed. OTP-18100 Application(s): ssl Related Id(s): GH-5985 Correctly handles supported protocol version change from default to something else by sni_fun supplied to ssl:handshake/[2,3] together with a TCP-socket (so called upgrade). OTP-18129 Application(s): ssl Related Id(s): GH-5950 Also, TLS-1.3 should respond with a protocol version alert if previous versions, that are supported but not configured, are attempted. Full runtime dependencies of ssl-10.8.1: crypto-5.0, erts-10.0, inets-5.10.7, kernel-8.4, public_key-1.11.3, runtime_tools-1.15.1, stdlib-3.12 --------------------------------------------------------------------- --- stdlib-4.0.1 ---------------------------------------------------- --------------------------------------------------------------------- The stdlib-4.0.1 application can be applied independently of other applications on a full OTP 25 installation. --- Fixed Bugs and Malfunctions --- OTP-18110 Application(s): stdlib Related Id(s): GH-6000 In the initial release of Erlang/OTP 25, the expression bound to the _ pseudo-field in a record initialization would always be evaluated once, even if all other fields in the record were explicitly initialized. That would break the use case of binding the expression error(...) to _ in order to get an exception if not all fields were initialized. The behavior of binding to _ has been reverted to the pre-OTP 25 behavior, that is, to not evaluate the expression if all fields have been bound to explicit values. Full runtime dependencies of stdlib-4.0.1: compiler-5.0, crypto-4.5, erts-12.0, kernel-8.4, sasl-3.0 --------------------------------------------------------------------- --------------------------------------------------------------------- ---------------------------------------------------------------------