aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2018-07-10ssl: Make sure tls_ssl_accept_timeout has a clean startIngela Anderton Andin
2018-07-09ssl: Improve error handlingIngela Anderton Andin
When doing ssl:controlling_process on a ssl socket that has not performed the TLS/DTLS handshake that call will succeed even though the documentation stated otherwise. However if some other ssl option was incorrect the call would hang. Now {error, closed} will be returned in the latter case, which is logical independent on if it should succeed or not in the former case. The former case will continue to succeed, as it is not dependent of the TLS/DTLS connection being established, and the documentation is altered slightly to not explicitly disallow it. If the TLS/DTLS connection later fails and the socket mode is active, the new controlling process will be notified as expected.
2018-07-05ssl: Fix test case to only check relevant info for the testIngela Anderton Andin
2018-07-04ssl: Do not use legacy formatIngela Anderton Andin
2018-07-04ssl: Add connection information on new cipher_suite formatIngela Anderton Andin
2018-07-04ssl: Add psk as anonymous key exchange in ssl_handshake:select_hashsign/5Ingela Anderton Andin
Failing to recognize psk as an anonymous key exchange would fail the connection when trying to decode an undefined certificate.
2018-07-04Merge branch 'maint-21' into maintJohn Högberg
* maint-21: Updated OTP version Update release notes Update version numbers Eliminate a crash in the beam_jump pass stdlib: Fix a 'chars_limit' bug Fix a race condition when generating async operation ids Fix internal compiler error for map_get/2 beam_type: Fix unsafe optimization public_key: Remove moduli 5121 and 7167 Thoose were added by 598629aeba9de98e8cdf5637043eb34e5d407751 but are not universaly supported.
2018-06-29Merge branch 'maint-20' into maintSverker Eriksson
* maint-20: Updated OTP version Prepare release kernel: Fix tick count bug when pending writes kernel: Send tick to hidden node even if pending writes ic: Fix buffer overrun bug in oe_ei_encode_atom erl_interface: Fix simultaneous connection setup
2018-06-29Update release notesErlang/OTP
2018-06-29Update version numbersErlang/OTP
2018-06-29Merge branch 'hasse/stdlib/fix_io_lib_pretty/OTP-15159' into maint-21Erlang/OTP
* hasse/stdlib/fix_io_lib_pretty/OTP-15159: stdlib: Fix a 'chars_limit' bug
2018-06-29Merge branch 'bjorn/compiler/fix-beam_jump-crash/ERL-660/OTP-15166' into ↵Erlang/OTP
maint-21 * bjorn/compiler/fix-beam_jump-crash/ERL-660/OTP-15166: Eliminate a crash in the beam_jump pass
2018-06-29Merge branch 'bjorn/compiler/fix-map_get/OTP-15157' into maint-21Erlang/OTP
* bjorn/compiler/fix-map_get/OTP-15157: Fix internal compiler error for map_get/2
2018-06-29Merge branch 'bjorn/compiler/fix-skipped-matching/ERL-655/OTP-15156' into ↵Erlang/OTP
maint-21 * bjorn/compiler/fix-skipped-matching/ERL-655/OTP-15156: beam_type: Fix unsafe optimization
2018-06-29Eliminate a crash in the beam_jump passBjörn Gustavsson
https://bugs.erlang.org/browse/ERL-660
2018-06-29Merge pull request #1842 from gomoripeti/erl_syntaxHans Bolinder
Small fixes in syntax_tools See also OTP-15165.
2018-06-29Merge pull request #1853 from gomoripeti/fix_type_unary_opHans Bolinder
Fix typo in erl_parse type unary_op()
2018-06-28Merge PR-1844 from arcz/ets_count OTP-15163Sverker Eriksson
Use erlang:system_info(ets_count) and improve docs
2018-06-28Prepare releaseErlang/OTP
2018-06-28Merge branch 'sverker/ic/encode-atom-overrun/ERIERL-191/OTP-15160' into maint-20Erlang/OTP
* sverker/ic/encode-atom-overrun/ERIERL-191/OTP-15160: ic: Fix buffer overrun bug in oe_ei_encode_atom
2018-06-28Merge branch 'sverker/erl_interface/simultaneous-connect/OTP-15161' into ↵Erlang/OTP
maint-20 * sverker/erl_interface/simultaneous-connect/OTP-15161: erl_interface: Fix simultaneous connection setup
2018-06-28Merge branch 'sverker/kernel/tick-fixes/OTP-15162' into maint-20Erlang/OTP
* sverker/kernel/tick-fixes/OTP-15162: kernel: Fix tick count bug when pending writes kernel: Send tick to hidden node even if pending writes
2018-06-28kernel: Fix tick count bug when pending writesSverker Eriksson
2018-06-28kernel: Send tick to hidden node even if pending writesSverker Eriksson
as c-nodes need ticks to send ticks.
2018-06-28Support bitstrings as literals in erl_syntaxPéter Gömöri
Add support of non-whole-byte binaries to `abtract/1`, `concrete/1` and `is_literal/1`. (They are literals in the beam file)
2018-06-28ic: Fix buffer overrun bug in oe_ei_encode_atomSverker Eriksson
bug exists since OTP-20.3.4 1d3acb70debd134c8346b7e98347171d5cf6fc62
2018-06-28Fix typo in erl_parse type unary_op()Péter Gömöri
2018-06-28Merge branch 'hasse/stdlib/fix_erl_anno_usage' into maintHans Bolinder
* hasse/stdlib/fix_erl_anno_usage: stdlib: Add a few uses of erl_anno
2018-06-28stdlib: Fix a 'chars_limit' bugHans Bolinder
2018-06-27Fix internal compiler error for map_get/2Björn Gustavsson
Code such as that the following: Val = map_get(a, Map), Map#{a:=z} %Could be any map update would incorrectly cause an internal consistency check failure: Internal consistency check failed - please report this bug. Instruction: {put_map_exact,{f,0},{x,0},{x,0},1,{list,[{atom,a},{atom,z}]}} Error: {bad_type,{needed,map},{actual,term}}: Update beam_validator so that it understands that the second argument for map_get/2 is a map.
2018-06-27beam_type: Fix unsafe optimizationBjörn Gustavsson
beam_type assumed that the operand for the bs_context_to_binary instruction must be a binary. That is not correct; bs_context_to_binary accepts anything. Based on the incorrect assumption, beam_type would remove other test instructions. The bug was introduced in eee8655788d2, which was supposed to be just a refactoring commit. https://bugs.erlang.org/browse/ERL-655
2018-06-26public_key: Remove moduli 5121 and 7167Hans Nilsson
Thoose were added by 598629aeba9de98e8cdf5637043eb34e5d407751 but are not universaly supported.
2018-06-26Merge branch 'maint-21' into maintJohn Högberg
* maint-21: Updated OTP version Prepare release Fix unsafe optimization when running beam_block the second time Fix environment case sensitivity issues on Windows
2018-06-25Merge branch 'maint-20' into maintHans Nilsson
* maint-20: Updated OTP version Prepare release ssh: Report the signal name if there is an exit-signal to sftpd ssh: Bug fix sftp error codes ssh: Fix ssh_xfer decode_ATTR error for Vsn=4 syntax_tools: Fix a bug regarding reverting map types. Conflicts: OTP_VERSION lib/inets/doc/src/notes.xml lib/inets/vsn.mk lib/ssh/doc/src/notes.xml lib/ssh/vsn.mk lib/syntax_tools/doc/src/notes.xml lib/syntax_tools/vsn.mk otp_versions.table
2018-06-25Prepare releaseErlang/OTP
2018-06-25Fix unsafe optimization when running beam_block the second timeBjörn Gustavsson
The compiler would crash when compiling code such as: serialize(#{tag := value, id := Id, domain := Domain}) -> [case Id of nil -> error(id({required, id})); _ -> <<10, 1:16/signed, Id:16/signed>> end, case Domain of nil -> error(id({required, domain})); _ -> <<8, 2:16/signed, Domain:32/signed>> end]. The crash would look like this: Function: serialize/1 t.erl: internal error in block2; crash reason: {badmatch,false} in function beam_utils:live_opt/4 (beam_utils.erl, line 861) in call from beam_utils:live_opt/1 (beam_utils.erl, line 285) in call from beam_block:function/2 (beam_block.erl, line 47) in call from beam_block:'-module/2-lc$^0/1-0-'/2 (beam_block.erl, line 33) in call from beam_block:'-module/2-lc$^0/1-0-'/2 (beam_block.erl, line 33) in call from beam_block:module/2 (beam_block.erl, line 33) in call from compile:block2/2 (compile.erl, line 1358) in call from compile:'-internal_comp/5-anonymous-1-'/3 (compile.erl, line 349) The reason for the crash is an assertion failure caused by a previous unsafe optimization. Here is the code before the unsafe optimization: . . . {bs_init2,{f,0},7,0,0,{field_flags,[]},{x,1}}. {bs_put_string,3,{string,[8,0,2]}}. {bs_put_integer,{f,0},{integer,32},1,{field_flags,[signed,big]},{y,1}}. {move,{x,1},{x,0}}. {test_heap,4,1}. . . . beam_block:move_allocate/1 moved up the test_heap/2 instruction past the move/2 instruction, adjusting the number of live registers at the same time: . . . {bs_init2,{f,0},7,0,0,{field_flags,[]},{x,1}}. %% Only x1 is live now. {bs_put_string,3,{string,[8,0,2]}}. {bs_put_integer,{f,0},{integer,32},1,{field_flags,[signed,big]},{y,1}}. {test_heap,4,2}. %Unsafe. x0 is dead. {move,{x,1},{x,0}}. . . . This optimization is unsafe because the bs_init2 instruction killed x0. The bug is in beam_utils:anno_defs/1, which adds annotations indicating the registers that are defined at the beginning of each block. The annotation before the move/2 instruction incorrectly indicated that x0 was live. https://bugs.erlang.org/browse/ERL-650 https://github.com/elixir-lang/elixir/issues/7782
2018-06-25stdlib: Add a few uses of erl_annoHans Bolinder
With DEBUG=true in erl_anno, erl_parse, and erl_pp a few (harmless) non-opaque accesses of annotations were found.
2018-06-21Prepare releaseErlang/OTP
2018-06-21Merge branch 'hans/ssh/sftp_ver4_xfer/ERIERL-199/OTP-15149' into maint-20Erlang/OTP
* hans/ssh/sftp_ver4_xfer/ERIERL-199/OTP-15149: ssh: Fix ssh_xfer decode_ATTR error for Vsn=4
2018-06-21Merge branch 'hans/ssh/sftp_error_codes/ERIERL-194/OTP-15148' into maint-20Erlang/OTP
* hans/ssh/sftp_error_codes/ERIERL-194/OTP-15148: ssh: Report the signal name if there is an exit-signal to sftpd ssh: Bug fix sftp error codes
2018-06-21Merge branch 'hasse/syntax_tools/fix_map_type/OTP-15098/ERIERL-177' into ↵Erlang/OTP
maint-20 * hasse/syntax_tools/fix_map_type/OTP-15098/ERIERL-177: syntax_tools: Fix a bug regarding reverting map types.
2018-06-21ssh: Report the signal name if there is an exit-signal to sftpdHans Nilsson
2018-06-21ssh: Bug fix sftp error codesHans Nilsson
Report the signal name if the signal error message is "" Do not report a return code of 0 as an error.
2018-06-20Use bif for other ets tables countingArtur Cygan
2018-06-20Use bif for counting ets tables in observer backendArtur Cygan
2018-06-20ssh: Fix ssh_xfer decode_ATTR error for Vsn=4Hans Nilsson
2018-06-20Merge branch 'hans/ftp/socket_opts/ERIERL-192/OTP-15120' into ↵Hans Nilsson
hans/ftp/21socket_opts/ERIERL-192/OTP-15120 Conflicts: lib/ftp/src/ftp.erl
2018-06-19ftp: Disallow 'packet_size' for low-level optionsHans Nilsson
2018-06-19erl_interface: Fix simultaneous connection setupSverker Eriksson
by also accepting status "ok_simultaneous".
2018-06-19Prepare releaseErlang/OTP