aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-09-20beam_ssa_recv: Remove redundant {var, _} wrappingJohn Högberg
Now that variables are represented as #b_var{}, there's no longer any risk of colliding with anything else.
2018-09-20Consistently use #b_var{} instead of var_name()John Högberg
We chose to refer to variables through their var_name() because we anticipated the need to annotate them, but it turned out we didn't really need that, and many things become a lot cleaner if the entire #b_var{} is used to represent variables.
2018-09-19Update primary bootstrapBjörn Gustavsson
2018-09-19Merge pull request #1955 from bjorng/bjorn/compiler/beam_ssa_deadBjörn Gustavsson
Replace beam_dead with beam_ssa_dead
2018-09-18Merge pull request #1857 from RaimoNiskanen/raimo/rand-crypto-xoroshiro928Raimo Niskanen
OTP-14461 - New 'rand' algorithm: Xoroshiro928** also for 'crypto' Implement a new 'rand' algorithm named 'exro928ss' and a new 'crypto' plugin for 'rand' named 'crypto_aes'. Both are based on Xoroshiro928** which is derived from Xoroshiro1024** modified to use 58-bit words for performance reasons in the Erlang VM. Xoroshiro1024** has got the Xoroshiro1024 generator and the StarStar scrambler from the 2018 paper "Scrambled Linear Pseudorandom Number Generators" by David Blackman and Sebastiano Vigna. This generator and scrambler combination shows no systematic weaknesses in standard statistical tests as TestU01(BigCrush) and PractRand, unlike the previously used * and + scramblers in the 'rand' module that exhibit statistical weaknesses for the lowest bits. The 'crypto' plugin uses AES-256 as scrambler and the Xoroshiro928 as generator, which gives the same very long period and jump functions as for Xoroshiro928**, but a cryptographically secure scrambler gives absolutely no detectable statistical weaknesses regardless of how the generated numbers are used. The speed of 'exro928ss' is only about 30-50% slower than the default fast 'rand' algorithm, but the state is roughly the double and it produces about 8 times the garbage per iteration. The speed of 'crypto_aes' is about half (amortized) that of the default fast 'rand' algorithm which is fast and thanks to doing encryption in batches caching the result. Hence the state is much larger.
2018-09-18Merge branch 'maint'John Högberg
* maint: Updated OTP version Update release notes Update version numbers Fix include-path regression caused by dd0a39c
2018-09-18Merge branch 'maint-20' into maintJohn Högberg
* maint-20: Updated OTP version Update release notes Update version numbers Fix include-path regression caused by dd0a39c
2018-09-18Merge branch 'maint'Sverker Eriksson
2018-09-18Merge branch 'sverker/erts/robustify-dist-entry-states/OTP-15297' into maintSverker Eriksson
* sverker/erts/robustify-dist-entry-states/OTP-15297: erts: Refactor port dist_entry & conn_id into PRTSD Remove ugly fail case macros Consolidate distribution entry state transitions erts: Fix bug in undocumented system_flag(scheduling_statistics)
2018-09-18Merge 'sverker/erts/fix-aborted-pending-connection-race/OTP-15296'Sverker Eriksson
2018-09-18erts: Refactor port dist_entry & conn_id into PRTSDSverker Eriksson
spelled out as "port specific data".
2018-09-18Remove ugly fail case macrosSverker Eriksson
2018-09-18Consolidate distribution entry state transitionsSverker Eriksson
* Make connection_id part of the distribution handle as {ConnId, DistEntry} in order for BIFs to verify correct connection. * Make distribution handle opaque to net_kernel. * Remove some unsafe lockless reads of DistEntry.flags * Change state ERTS_DE_STATE_EXITING to be more of an internal state that prevents erts from enqueue, encode or schedule new data to be sent. Otherwise it should behave like ERTS_DE_STATE_CONNECTED.
2018-09-18Merge branch 'siri/cuddle' into maintSiri Hansen
* siri/cuddle: [logger] Skip app level test if app cannot be loaded Terminate nodes after failed test cases in erl_distribution_SUITE Skip performance test on build types other than 'opt'
2018-09-18Merge branch 'maint'Hans Bolinder
* maint: stdlib: Allow lists with binaries in the Format argument
2018-09-18Merge branch 'hasse/stdlib/binary_in_format/OTP-15304' into maintHans Bolinder
* hasse/stdlib/binary_in_format/OTP-15304: stdlib: Allow lists with binaries in the Format argument
2018-09-18Merge branch 'maint'Sverker Eriksson
2018-09-18Merge pull request #1956 from erlang/sverker-ets-patch-1Sverker Eriksson
ets:new/2 doc update
2018-09-18Merge branch 'maint'Hans Nilsson
* maint: crypto: Fix bad return/exception for unsupported cipher crypto: Use aead functions for CHACHA20_POLY1305
2018-09-18Merge branch 'hans/crypto/chacha_poly_into_aead_fns/OTP-15300' into maintHans Nilsson
* hans/crypto/chacha_poly_into_aead_fns/OTP-15300: crypto: Fix bad return/exception for unsupported cipher crypto: Use aead functions for CHACHA20_POLY1305
2018-09-18crypto: Fix bad return/exception for unsupported cipherHans Nilsson
Accidently f11391139c4165e8541a52d45cd1525343a83927 merged by 0a218353e4360e36bac304b6a4e0effe78d95615 changed the return exception 'notsup' to 'badarg' for unsupported chipher names. This changes that back.
2018-09-18crypto: Use aead functions for CHACHA20_POLY1305Hans Nilsson
This previously implemented cipher is a block cipher despite using chacha. It also uses the EVP_CIPHER_CTX api which now unifies AES_GCM and AES_CCM into one pair of encrypt and decrypt functions. By integrating the existing chacha20_poly1305 code into aead_encrypt and aead_decrypt we could remove two C-functions and simplify both the C-code and the corresponding Erlang code in the CRYPTO application.
2018-09-18Merge branch 'maint'Hans Nilsson
* maint: crypto: Disable problematic RSA options in LibreSSL
2018-09-18Merge branch 'hans/crypto/disable_rsa_sslv23_libressl/OTP-15303' into maintHans Nilsson
* hans/crypto/disable_rsa_sslv23_libressl/OTP-15303: crypto: Disable problematic RSA options in LibreSSL
2018-09-18crypto: Disable problematic RSA options in LibreSSLHans Nilsson
2018-09-18Merge branch 'maint'Hans Nilsson
* maint: crypto: Disable bad tests They do not test what was intended.
2018-09-18Merge branch 'hans/crypto/revert_bad_tests' into maintHans Nilsson
* hans/crypto/revert_bad_tests: crypto: Disable bad tests They do not test what was intended.
2018-09-18crypto: Disable bad testsHans Nilsson
They do not test what was intended.
2018-09-17test ets doc updatesverker-ets-patch-1Sverker Eriksson
2018-09-17[logger] Skip app level test if app cannot be loadedSiri Hansen
2018-09-17Merge branch 'maint'Raimo Niskanen
2018-09-17Merge branch 'raimo/receive-TOS-TCLASS/ERIERL-187/OTP-15145' into maintRaimo Niskanen
* raimo/receive-TOS-TCLASS/ERIERL-187/OTP-15145: Write testcases for recvtos and friends Fix term buffer overflow bug Fix documentation due to feedback Implement socket option recvtos and friends
2018-09-17Write testcases for recvtos and friendsRaimo Niskanen
Use os:type() and os:version() to predict if the individual options are supposed to be supported. We'll see if this holds.
2018-09-17Terminate nodes after failed test cases in erl_distribution_SUITESiri Hansen
A hanging node from this suite can fail later tests, so terminate all nodes() after each test case.
2018-09-17Merge branch 'bmk/snmp/20180907/atl_conversion_failure/OTP-15287' into maintMicael Karlberg
2018-09-17Merge branch 'maint'Micael Karlberg
2018-09-17Merge branch 'bmk/snmp/20180910/compiler_version_printout/OTP-15290' into maintMicael Karlberg
2018-09-17[snmp] Updated versionMicael Karlberg
OTP-15290
2018-09-17[snmp|compiler] Spurious version message removedMicael Karlberg
The snmp mib compiler printed an spurious version message if the 'version' option was provided. OTP-15290
2018-09-17[snmp] Add proper versionMicael Karlberg
Also fixed case clause. OTP-15287 (ERIERL-206)
2018-09-17stdlib: Allow lists with binaries in the Format argumentHans Bolinder
As a consequence of some refactoring (OTP-14983, option 'chars_limit'), the Format argument of io_lib:format() no longer accepts binaries in lists in Erlang/OTP 21.0. Note that if Format is not of type io:format(), control sequences in Format are ignored. This can result in unpredictable behaviour if, for example, the output of io_lib:format() is used as Format: if the output happens to be a string(), then control sequences are interpreted, otherwise not. A check that Format is of type io:format() will likely be introduced in Erlang/OTP 22.0. That will probably mean work for some users, but considering how unpredictable io_lib:format() is, we should try to fix that.
2018-09-17Merge branch 'maint'Hans Bolinder
* maint: kernel: Adjust disk_log tests kernel: Adjust global testcase
2018-09-17Merge branch 'hasse/kernel/adjust_tests' into maintHans Bolinder
* hasse/kernel/adjust_tests: kernel: Adjust disk_log tests kernel: Adjust global testcase
2018-09-17Merge branch 'maint'Siri Hansen
2018-09-17Merge branch 'siri/logger/post-21-continues/OTP-15132' into maintSiri Hansen
* siri/logger/post-21-continues/OTP-15132: [logger] Read config before terminating handler process [error_logger] Handle report_cb with arity 2 [proc_lib] Improve crash reports for single line logging [logger] Include single_line option to report_cb [logger] Check for deadlock when removing filters [logger] Fix spec for handler callbacks to always return ok [logger] Increase timetrap timer for handler_requests_under_load test [logger] Improve code coverage in test [logger] Refactor, and add error detection for configuration [logger] Fix logger_disk_log_h_SUITE:sync and add som debug info [logger] Update doc about file options in logger_std_h [logger] Remove encoding option from logger_formatter Remove outdated reference to error loggers [logger] Refactor some logger internals
2018-09-17Skip performance test on build types other than 'opt'Siri Hansen
2018-09-17Merge branch 'maint'John Högberg
* maint: Improve trapping in lists:reverse/2 Fix unsafe use of lists:reverse/1
2018-09-17Merge branch 'john/erts/improve-list-reverse-trapping/OTP-15199' into maintJohn Högberg
* john/erts/improve-list-reverse-trapping/OTP-15199: Improve trapping in lists:reverse/2 Fix unsafe use of lists:reverse/1
2018-09-17Merge branch 'maint'Rickard Green
* maint: Fix PGO configure test
2018-09-17Merge branch 'rickard/conf-pgo/OTP-15282' into maintRickard Green
* rickard/conf-pgo/OTP-15282: Fix PGO configure test