aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2018-07-05Merge branch 'peterdmv/ssl/use_logger/OTP-15055'Péter Dimitrov
* peterdmv/ssl/use_logger/OTP-15055: ssl: Prepare for release ssl: Add documentation to the log_level option ssl: Add support for stateful logging ssl: Add set_log_level/1 ssl: Rename logger_ssl_formatter to ssl_logger ssl: Update domain filter, use log macros ssl: Add logging for TLS Handshake Protocol ssl: Add logging for TLS record protocol ssl: Use logger API instead of legacy error_logger ssl: Add initial ssl log formatter ssl: Define VSN macro in source Change-Id: I4e801193570a941d397d59610d98cfbf3ec49210
2018-07-04Merge pull request #1859 from josevalim/patch-9Péter Dimitrov
Include question mark in query string on redirect
2018-07-04Merge branch 'maint'John Högberg
* maint: 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-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-07-03Merge pull request #1854 from ↵John Högberg
jhogberg/john/erts/cross-type-carrier-migration/OTP-15063 Allow carrier migration between different allocator types
2018-07-02ssl: Prepare for releasePéter Dimitrov
Change-Id: I40b13b3dce5c70b65cb0963c6ce4175268174e02
2018-07-02ssl: Add documentation to the log_level optionPéter Dimitrov
Change-Id: Ibbb66f62c122cac2b1b6bd7f09cdaede4a86bd97
2018-07-02ssl: Add support for stateful loggingPéter Dimitrov
- Introduce stateful logging levels to the ssl application: The SSL option 'log_alert' sets log level to notice/warning if it is set to true/false. Default log level is notice. - Add new SSL option 'log_level' that overrides the value of 'log_alert'. Default value is notice. - 'log_level' debug triggers verbose logging of TLS protocol messages and logging of ignored alerts in DTLS. Change-Id: I28d3f4029a5d504ec612abe4b9ae0b7d9b115197
2018-06-30Include question mark in query string on redirectJosé Valim
According to the code in httpc.erl, the pquery parameter in the #request record should start with a question mark. However, when a server returned a 403 response, the Location header was parsed and the question mark was not added to the beginning of the query string. This ultimately causes the redirect to fail, as instead of redirecting to "/path?query", httpc redirected to "/pathquery".
2018-06-29Merge branch 'maint'Sverker Eriksson
* maint: 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-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 branch 'maint'Hans Bolinder
* maint: Support bitstrings as literals in erl_syntax
2018-06-29Merge pull request #1842 from gomoripeti/erl_syntaxHans Bolinder
Small fixes in syntax_tools See also OTP-15165.
2018-06-29Merge branch 'maint'Hans Bolinder
* maint: Fix typo in erl_parse type unary_op()
2018-06-29Merge pull request #1853 from gomoripeti/fix_type_unary_opHans Bolinder
Fix typo in erl_parse type unary_op()
2018-06-28Merge branch 'maint'Sverker Eriksson
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 'maint'Hans Bolinder
* maint: stdlib: Add a few uses of erl_anno
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-28Remove ad-hoc memory use calculations in testsJohn Högberg
2018-06-28Allow cross-type carrier migrationJohn Högberg
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-27Merge pull request #1717 from michalmuskala/is-function-pureBjörn Gustavsson
Fold is_function/1,2 during compilation
2018-06-27Merge pull request #1833 from michalmuskala/mm/fix-beam-jumpBjörn Gustavsson
Optimise beam_jump
2018-06-27Merge pull request #1840 from tsloughter/qs-dissectPéter Dimitrov
uri_string: support key without value in query string
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