aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2019-07-03beam_ssa_bsm: Leave ?BADARG_BLOCK alone when cloning fail pathJohn Högberg
2019-06-17Prepare releaseErlang/OTP
2019-06-17Merge branch 'peterdmv/ssl/fix-handshake-hello/ERL-975/OTP-15888' into maint-22Erlang/OTP
* peterdmv/ssl/fix-handshake-hello/ERL-975/OTP-15888: ssl: Fix negative tests in ssl_basic_SUITE ssl: Fix run_client_error/1 in ssl_test_lib ssl: Fix ssl_handshake:extension_value/1
2019-06-17Merge branch 'peterdmv/ssl/tls12-java11-interop/ERL-973/OTP-15887' into maint-22Erlang/OTP
* peterdmv/ssl/tls12-java11-interop/ERL-973/OTP-15887: ssl: Add interop test ssl: Improve handling of signature algorithms
2019-06-17Merge branch 'john/kernel/fix-io-proto-user-drv/OTP-15805' into maint-22Erlang/OTP
* john/kernel/fix-io-proto-user-drv/OTP-15805: kernel: Force synchronous port_commands in user/user_drv
2019-06-17Merge branch 'ingela/ssl/handshake-handling/ERL-968/OTP-15879' into maint-22Erlang/OTP
* ingela/ssl/handshake-handling/ERL-968/OTP-15879: ssl: Correct handshake handling
2019-06-17ssl: Fix negative tests in ssl_basic_SUITEPéter Dimitrov
2019-06-17ssl: Fix run_client_error/1 in ssl_test_libPéter Dimitrov
Fix run_client_error/1 to properly propagate errors from the test client.
2019-06-17ssl: Fix ssl_handshake:extension_value/1Péter Dimitrov
Handle new TLS 1.2/1.3 extensions.
2019-06-14ssl: Add interop testPéter Dimitrov
Add interoperability test for TLS 1.2 server and TLS 1.3 client.
2019-06-14ssl: Improve handling of signature algorithmsPéter Dimitrov
TLS 1.2 ClientHello caused handshake failure in the TLS 1.2 server if the signature_algorithms_cert extension contained legacy algorithms. Update TLS 1.2 server to properly handle legacy signature algorithms in the signature_algorithms_cert extension. Update TLS 1.3 client so that it can send legacy algorithms in its signature_algorithms_cert extension.
2019-06-13ssl: Correct handshake handlingIngela Anderton Andin
Solves ERL-968, a refactoring bug could cause part of a server key exchange message to be appended, to an incorrectly duplicated, certificate handshake message. In the end causing an ASN1 decoding error. That in turn did not end up the correct error handling branch.
2019-06-12Prepare releaseErlang/OTP
2019-06-12Merge branch 'peterdmv/ssl/dtls-test-fix' into maint-22Erlang/OTP
* peterdmv/ssl/dtls-test-fix: ssl: Fix ssl_packet_SUITE
2019-06-12Merge branch 'hasse/stdlib/chars_limit_bug/OTP-15875/ERL-967' into maint-22Erlang/OTP
* hasse/stdlib/chars_limit_bug/OTP-15875/ERL-967: stdlib: Fix a bug concerning io_lib option 'chars_limit' # Conflicts: # lib/stdlib/test/io_SUITE.erl
2019-06-12Merge branch 'john/compiler/fix-bad-bitstring-type-opt/OTP-15872' into maint-22Erlang/OTP
* john/compiler/fix-bad-bitstring-type-opt/OTP-15872: beam_ssa_type: Fix incorrect bitstring unit determination
2019-06-12Merge branch 'john/erts/fix-bad-get_tuple_element-opt/OTP-15871/ERIERL-374' ↵Erlang/OTP
into maint-22 * john/erts/fix-bad-get_tuple_element-opt/OTP-15871/ERIERL-374: erts: Fix bad loader optimization of get_tuple_element
2019-06-12Merge branch 'ingela/ssl/dtls-multiplxor/ERL-962/OTP-15864' into maint-22Erlang/OTP
* ingela/ssl/dtls-multiplxor/ERL-962/OTP-15864: ssl: Add missing gen_server return value in DTLS packet demux process
2019-06-12Merge branch 'ingela/ssl/ret-ext/ERL-951/OTP-15862' into maint-22Erlang/OTP
* ingela/ssl/ret-ext/ERL-951/OTP-15862: ssl: Fix broken return value
2019-06-12Merge branch 'hasse/dialyzer/fix_string_split/OTP-15861/ERL-953' into maint-22Erlang/OTP
* hasse/dialyzer/fix_string_split/OTP-15861/ERL-953: dialyzer: Correct indentation of field warnings
2019-06-12ssl: Fix ssl_packet_SUITEPéter Dimitrov
Unset internal_active_n when cleaning FT environment.
2019-06-11stdlib: Fix a bug concerning io_lib option 'chars_limit'Hans Bolinder
See also https://bugs.erlang.org/browse/ERL-967.
2019-06-10erts: Fix bad loader optimization of get_tuple_elementJohn Högberg
The following sequence would be wrongly optimized into a i_get_tuple_element2 instruction, reading an element from the wrong tuple: {get_tuple_element,{x,0},1,{x,0}}. {get_tuple_element,{x,0},2,{x,1}}.
2019-06-10beam_ssa_type: Fix incorrect bitstring unit determinationJohn Högberg
The compiler would treat the "Unit" of bs_init instructions as the unit of the result instead of the required unit of the input, causing is_binary checks to be wrongly optimized away.
2019-06-07ssl: Add missing gen_server return value in DTLS packet demux processIngela Anderton Andin
2019-06-05ssl: Fix broken return valueIngela Anderton Andin
2019-06-04ssl: Returned "alert error string" should be same as logged alert stringIngela Anderton Andin
2019-06-04dialyzer: Correct indentation of field warningsHans Bolinder
See also https://bugs.erlang.org/browse/ERL-953.
2019-05-29Prepare releaseErlang/OTP
2019-05-29Merge branch 'hasse/stdlib/chars_limit_bug/OTP-15847/ERL-957' into maint-22Erlang/OTP
* hasse/stdlib/chars_limit_bug/OTP-15847/ERL-957: stdlib: Fix a bug concerning io_lib option 'chars_limit' # Conflicts: # lib/stdlib/test/io_SUITE.erl
2019-05-29Merge branch 'bjorn/compiler/fix-beam_ssa_dead-patch/OTP-15845' into maint-22Erlang/OTP
* bjorn/compiler/fix-beam_ssa_dead-patch/OTP-15845: Fix unsafe optimizations where guard tests could be removed
2019-05-29Merge branch ↵Erlang/OTP
'bjorng_ghub/bjorn/compiler/fix-beam_ssa_dead-crash/ERL-956/OTP-15848' into maint-22 * bjorng_ghub/bjorn/compiler/fix-beam_ssa_dead-crash/ERL-956/OTP-15848: Eliminate crash in the beam_ssa_dead compiler pass
2019-05-29Merge branch 'bjorn/compiler/fix-unloadable-code-patch/ERL-955/OTP-15846' ↵Erlang/OTP
into maint-22 * bjorn/compiler/fix-unloadable-code-patch/ERL-955/OTP-15846: Fix loading of Core Erlang code for extracting a map element
2019-05-29Merge branch 'bjorn/compiler/fix-beam_except/ERL-954/OTP-15839' into maint-22Erlang/OTP
* bjorn/compiler/fix-beam_except/ERL-954/OTP-15839: Fix compiler crash in beam_except
2019-05-29Merge branch 'bjorn/compiler/fix-unsafe-type-inference/OTP-15838' into maint-22Erlang/OTP
* bjorn/compiler/fix-unsafe-type-inference/OTP-15838: Fix unsafe negative type inference # Conflicts: # lib/compiler/src/beam_ssa_type.erl
2019-05-29Merge branch 'john/compiler/list_append_type/OTP-15841' into maint-22Erlang/OTP
* john/compiler/list_append_type/OTP-15841: compiler: Fix broken type for erlang:'++'/2
2019-05-29Merge branch 'bjorn/compiler/fix-receive-patch/ERL-950/OTP-15832' into maint-22Erlang/OTP
* bjorn/compiler/fix-receive-patch/ERL-950/OTP-15832: Eliminate compiler crash when compiling complex receive statements
2019-05-29Merge branch 'bjorn/compiler/fix-freeze/ERL-948/OTP-15828' into maint-22Erlang/OTP
* bjorn/compiler/fix-freeze/ERL-948/OTP-15828: Fix non-terminating compilation
2019-05-29Merge branch 'hans/crypto/enable_aes_ctr/OTP-15829' into maint-22Erlang/OTP
* hans/crypto/enable_aes_ctr/OTP-15829: crypto: Re-enable aes_ctr for openssl cryptolib < 1.0.1
2019-05-29stdlib: Fix a bug concerning io_lib option 'chars_limit'Hans Bolinder
See also https://bugs.erlang.org/browse/ERL-957.
2019-05-28Fix unsafe optimizations where guard tests could be removedBjörn Gustavsson
A repeated test could be optimized away. Example: bar(A) -> if is_bitstring(A) -> if is_binary(A) -> binary; true -> bitstring end; true -> other end. In the example, the `is_binary/1` test would be optimized away, basically turning the example into: bar(A) -> if is_bitstring(A) -> bitstring; true -> other end. Thanks user Marcus Kruse in the Elixir forum for noticing this bug.
2019-05-28Eliminate crash in the beam_ssa_dead compiler passBjörn Gustavsson
The compiler could crash in the beam_ssa_dead pass while compiling complex nested `case` expressions. See the added test case for an example and explanation. https://bugs.erlang.org/browse/ERL-956
2019-05-27Fix compiler crash in beam_exceptBjörn Gustavsson
The compiler would crash in `beam_except` while compiling this function: bar(Req) -> ok = case Req of "POST" -> {error, <<"BAD METHOD ", Req/binary>>, Req}; _ -> ok end. https://bugs.erlang.org/browse/ERL-954
2019-05-27compiler: Fix broken type for erlang:'++'/2John Högberg
2019-05-27Fix loading of Core Erlang code for extracting a map elementBjörn Gustavsson
The following Core Erlang code could not be loaded: 'f'/1 = fun (_1) -> case <_1> of <~{'foo':='foo'}~> when 'true' -> _1 end Loading would fail with the following message: beam/beam_load.c(2314): Error loading function example:f/1: op i_get_map_element_hash p x a u x: no specific operation found https://bugs.erlang.org/browse/ERL-955
2019-05-24Fix unsafe negative type inferenceBjörn Gustavsson
The type optimizer pass (`beam_ssa_type`) could make unsafe negative inferences. That is, incorrectly infer that a variable could *not* have a particular type. This bug was found when adding another optimization. It is not clear how write a failing test case without that added optimization.
2019-05-22crypto: Re-enable aes_ctr for openssl cryptolib < 1.0.1Hans Nilsson
It was accidently disabled in the crypto:supports/0 and /1. It worked however in the encrypt/decrypt functions.
2019-05-21Eliminate compiler crash when compiling complex receive statementsBjörn Gustavsson
Certain complex receive statements would result in an internal compiler failure. That would happen when the compiler would fail to find the common exit block following a receive. See the added test case for an example. https://bugs.erlang.org/browse/ERL-950
2019-05-20Fix non-terminating compilationBjörn Gustavsson
The compiler would not terminate while compiling the following code: foo(<<N:32>>, Tuple, NewValue) -> _ = element(N, Tuple), setelement(N, Tuple, NewValue). The type analysis pass would attempt to construct a huge list when attempting analyse the type of `Tuple` after the call to `setelement/3`. https://bugs.erlang.org/browse/ERL-948
2019-05-15Prepare releaseErlang/OTP