aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2019-07-10Prepare releaseErlang/OTP
2019-07-10compiler: Fix compiler crash introduced by OTP-15952John Högberg
An assertion in code generation would fail when the common exit block was ?BADARG_BLOCK, as some operations expect to always "fail" directly to that block (= throw an exception) and we had inserted a dummy block in between. Other operations could also get funny fail labels, jumping to blocks that immediately jumped to {f,0}, but these were all cleaned up by beam_jump, sweeping the bug under the rug.
2019-07-09Prepare releaseErlang/OTP
2019-07-09Merge branch 'ingela/ssl/alert-error-enhancment/OTP-15943' into maint-22Erlang/OTP
* ingela/ssl/alert-error-enhancment/OTP-15943: ssl: Enhance error handling
2019-07-09Merge branch 'john/compiler/fix-fail-path-exceptions-bsm/OTP-15946' into ↵Erlang/OTP
maint-22 * john/compiler/fix-fail-path-exceptions-bsm/OTP-15946: beam_ssa_bsm: Leave ?BADARG_BLOCK alone when cloning fail path
2019-07-09Merge branch 'john/compiler/fix-unsafe-tuple_size-opt/OTP-15945' into maint-22Erlang/OTP
* john/compiler/fix-unsafe-tuple_size-opt/OTP-15945: beam_ssa_opt: Do not apply tuple_size optimization outside guards
2019-07-09Merge branch 'john/hipe/catch-miscompilation/OTP-15949' into maint-22Erlang/OTP
* john/hipe/catch-miscompilation/OTP-15949: dialyzer: Remove native code compilation hipe: Disable compilation on encountering try/catch
2019-07-09compiler: Fix broken 'receive' in try/catch blocksJohn Högberg
This fix is rather ugly and tacked-on, but I'm not comfortable refactoring the pass in an emergency patch.
2019-07-05dialyzer: Remove native code compilationJohn Högberg
2019-07-05hipe: Disable compilation on encountering try/catchJohn Högberg
code_SUITE:upgrade would consistently fail in the HiPE case because two clauses were mixed up. Disabling it altogether may seem a bit harsh but we don't have the resources to fix it at the moment.
2019-07-03beam_ssa_bsm: Leave ?BADARG_BLOCK alone when cloning fail pathJohn Högberg
2019-07-03beam_ssa_opt: Do not apply tuple_size optimization outside guardsJohn Högberg
Rewriting `tuple_size` to `is_tuple` + `tuple_size` will cause it not to throw an exception, either crashing the compiler or the emulator when the code runs.
2019-07-02Prepare releaseErlang/OTP
2019-07-02Merge branch ↵Erlang/OTP
'josevalim/dialyzer/formatting_fallback/OTP-15922/PR-2240/ERL-949' into maint-22 * josevalim/dialyzer/formatting_fallback/OTP-15922/PR-2240/ERL-949: Always fallback to source when we can't parse AST
2019-07-02Merge branch 'peterdmv/inets/httpc-uri-scheme/ERL-969/OTP-15930' into maint-22Erlang/OTP
* peterdmv/inets/httpc-uri-scheme/ERL-969/OTP-15930: inets: Return error if URI has no scheme (httpc)
2019-07-02Merge branch 'peterdmv/ssl/fix-cert-error-handling/OTP-15900' into maint-22Erlang/OTP
* peterdmv/ssl/fix-cert-error-handling/OTP-15900: ssl: Fix handling of certificate decoding problems
2019-07-02Merge branch 'peterdmv/ssl/fix-sign-algs-cert/OTP-15913' into maint-22Erlang/OTP
* peterdmv/ssl/fix-sign-algs-cert/OTP-15913: ssl: Backport fix for signature_algorithms_cert
2019-07-02Merge branch 'ingela/ssl/TLS-hibernate-bug/OTP-15910' into maint-22Erlang/OTP
* ingela/ssl/TLS-hibernate-bug/OTP-15910: ssl: Fix hibernation bug # Conflicts: # lib/ssl/src/tls_connection.erl
2019-07-02Merge branch 'john/erts/lists_subtract_fixes/OTP-15938/OTP-15939' into maint-22Erlang/OTP
* john/erts/lists_subtract_fixes/OTP-15938/OTP-15939: erts: Fix integer overflow in loader erts: Fix integer overflow in list subtraction
2019-07-01ssl: Enhance error handlingIngela Anderton Andin
Handle the ILLEGAL_PARAMETER alert that may be returned from ssl_alert:decode/3 for gracefull shutdown, try of ...catch will/should not handle this case it is only handles the case that TM should not happen!
2019-07-01erts: Fix integer overflow in list subtractionJohn Högberg
CMP_TERM returned an `Sint`, which overflowed the `int` used in erl_rbtree for storing the comparison, causing list subtraction to behave strangely.
2019-06-27inets: Return error if URI has no scheme (httpc)Péter Dimitrov
This commit fixes a regression and changes httpc to return {error, no_scheme} when the request URI has no scheme e.g. "//foobar".
2019-06-25Always fallback to source when we can't parse ASTJosé Valim
This commit fixes a bug in Dialyzer where it would assume all Erlang AST can be converted back to valid Erlang code. A case where this was is no true was already documented in the source code, in relation to opaque types, but this can also be true when it comes to other BEAM languages.
2019-06-19ssl: Fix handling of certificate decoding problemsPéter Dimitrov
2019-06-19ssl: Backport fix for signature_algorithms_certPéter Dimitrov
This commit fixes interoperability problems with openssl when the TLS 1.3 server is using the option signature_algs_cert. In such cases the signature_algorithms_cert extension was encoded as a signature_algorithms extension and openssl s_client returned an Illegal Parameter Alert due to its filtering of extension duplicates.
2019-06-18ssl: Fix hibernation bugIngela Anderton Andin
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