aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-09-03erts: Refactor ets FixedDeletion allocationsSverker Eriksson
2018-09-03erts: Fix ets memstat false leak of FixedDeletionSverker Eriksson
causing erlang:memory to report too much ets memory.
2018-09-03ops.tab: Fix potentially unsafe optimization of raise/2Björn Gustavsson
The operands for the raise/2 instruction are almost always in x(2) and x(1). Therefore the loader translates the raise/2 instruction to an i_raise/0 instruction which uses the values in x(2) and x(1). If the operands happens to be in other registers, the loader inserts move/2 instruction to move them to x(2) and x(1). The problem is that x(3) is used as a temporary register when generating the move/2 instructions. That is unsafe if the Value operand for raise/2 is x(3). Thus: raise x(0) x(3) will be translated to: move x(0) x(3) move x(3) x(1) move x(3) x(2) i_raise The Trace will be written to both x(2) and x(1). The current compiler will never use x(3) for the Value operand, so there is no need to patch previous releases. But a future compiler version might allocate registers differently.
2018-08-31Merge branch 'hans/crypto/init_test_engine_fix' into maintHans Nilsson
* hans/crypto/init_test_engine_fix: crypto: Let otp_test_engine only add what is needed OpenSSL_add_all_algorithms hangs on some test machines
2018-08-31Merge branch 'hasse/dialyzer/improve_guards/OTP-15268/ERL-680' into maintHans Bolinder
* hasse/dialyzer/improve_guards/OTP-15268/ERL-680: dialyzer: Improve handling of complex guards
2018-08-30Merge branch 'ingela/ssl/send-recv-dead-lock/ERL-622' into maintIngela Anderton Andin
* ingela/ssl/send-recv-dead-lock/ERL-622: ssl: Improve close handling ssl: Adopt distribution over TLS to use new sender process ssl: Add new sender process for TLS state machine
2018-08-30Merge branch 'maint-21' into maintRickard Green
* maint-21: Updated OTP version Update release notes Update version numbers Fix missing 'in' trace events during 'running' trace
2018-08-30crypto: Let otp_test_engine only add what is neededHans Nilsson
OpenSSL_add_all_algorithms hangs on some test machines
2018-08-29Updated OTP versionOTP-21.0.7Erlang/OTP
2018-08-29Update release notesErlang/OTP
2018-08-29Update version numbersErlang/OTP
2018-08-29Merge branch 'rickard/running-trace-fix/ERL-713/OTP-15269' into maint-21Erlang/OTP
* rickard/running-trace-fix/ERL-713/OTP-15269: Fix missing 'in' trace events during 'running' trace
2018-08-29Merge branch 'rickard/fix-suspend-monitor-down/OTP-15237/ERL-704' into maint-21Erlang/OTP
* rickard/fix-suspend-monitor-down/OTP-15237/ERL-704: Fix incoming suspend monitor down
2018-08-28Merge branch 'maint-20' into maintPéter Dimitrov
* maint-20: Updated OTP version Update release notes Change-Id: I78586395e5784dc76b8a803a25f8054a251e1fd8
2018-08-28Merge pull request #1936 from tarabit190/logger_level_defaultSiri Hansen
Fix kernel_app doc logger_level default from info to notice
2018-08-28Updated OTP versionOTP-20.3.8.8Erlang/OTP
2018-08-28Update release notesErlang/OTP
2018-08-28Merge pull request #1940 from ↵Hans Bolinder
uabboli/hb/stdlib/fix_dets_file_name/OTP-15253/ERL-555 stdlib: Let dets:open_file() crash when given raw file name
2018-08-28dialyzer: Improve handling of complex guardsHans Bolinder
See also https://bugs.erlang.org/browse/ERL-680. The right associative short circuit expressions 'andalso' and 'orelse' are expanded by the Compiler (see v3_core) into 'case' expressions. If parentheses are used to enforce left associativeness, variables are introduced, and the time needed by Dialyzer increases exponentially. Rather than trying to fix Dialyzer itself, v3_core now rewrites repeated use of 'andalso' ('orelse') into right associative expressions before creating the 'case' expressions.
2018-08-27Merge branch 'hans/ssl/dialyzer_crypto_typed/OTP-15271' into maintHans Nilsson
* hans/ssl/dialyzer_crypto_typed/OTP-15271: ssl: Fix dialyzer errors detected when crypto.erl is typed
2018-08-27Fix missing 'in' trace events during 'running' traceRickard Green
'in' trace events could be lost when a process had to be rescheduled on another scheduler type (normal <-> dirty).
2018-08-27Merge branch 'maint-20' into maintPéter Dimitrov
* maint-20: inets: Prepare for release inets: Robust handling of 204, 304, 1xx responses inets: Do not use chunked encoding with 1xx, 204, 304 Change-Id: Ia88eb1d217b46fb01b1d7544d9ef34788c87abbd
2018-08-27Merge branch 'peterdmv/inets/fix_http_client/OTP-15242' into maint-20Péter Dimitrov
* peterdmv/inets/fix_http_client/OTP-15242: inets: Prepare for release inets: Robust handling of 204, 304, 1xx responses Change-Id: I12dced982907c3462fefb8a4ffaae8b365821f97
2018-08-27Merge branch 'hasse/stdlib/fix_basedir_specs/OTP-15252/ERL-667' into maintHans Bolinder
* hasse/stdlib/fix_basedir_specs/OTP-15252/ERL-667: stdlib: Fix specs of filename:basedir/2,2
2018-08-27Merge branch 'peterdmv/inets/fix_http_server/OTP-15241' into maint-20Péter Dimitrov
* peterdmv/inets/fix_http_server/OTP-15241: inets: Do not use chunked encoding with 1xx, 204, 304 Change-Id: I4dc1cb6dc62cc5a090d49248c5fbfbb23f33004f
2018-08-27ssl: Improve close handlingIngela Anderton Andin
We want to make sure that the sender process that may get stuck in prim_inet:send will die if the tls_connection process is terminated. And we also like to make sure that it terminates as gracefully as possible. So when the tls_connection process dies it spawns a killer process that will brutaly kill the sender if it is unresponsive and does not terminate due to its monitor of the tls_connetion process triggering. When the sender process also acts as distribution controller it may also have other processess that it is linked with that it should bring down or that could bring the connection down.
2018-08-27ssl: Adopt distribution over TLS to use new sender processIngela Anderton Andin
2018-08-27ssl: Add new sender process for TLS state machineIngela Anderton Andin
Separate sending and receiving when using TCP as transport as prim_inet:send may block which in turn may result in a deadlock between two Erlang processes communicating over TLS, this is especially likely to happen when running Erlang distribution over TLS.
2018-08-27inets: Prepare for releasePéter Dimitrov
Change-Id: I891cc997475780f22a60119778984739d560f203
2018-08-27Merge pull request #1863 from gomoripeti/types_int_opsHans Bolinder
Document allowed integer ops in types
2018-08-24inets: Robust handling of 204, 304, 1xx responsesPéter Dimitrov
All 1xx (informational), 204 (no content), and 304 (not modified) responses MUST NOT include a message-body, and thus are always terminated by the first empty line after the header fields. This implies that chunked encoding MUST NOT be used for these status codes. This commit updates the client to gracefully handle responses from faulty server implementations that can send chunked encoded 204, 304 or 1xx responses. Change-Id: I2dd502e28b3c6e121640083118fa5c3e479f5194
2018-08-24Merge branch 'rickard/otp-versions-tree/OTP-15264' into maintRickard Green
* rickard/otp-versions-tree/OTP-15264: Refer to OTP Versions Tree from documentation
2018-08-24Refer to OTP Versions Tree from documentationRickard Green
Refer to the OTP Versions Tree in the documentation in order to better illustrate how the version scheme works
2018-08-24ssl: Fix dialyzer errors detected when crypto.erl is typedHans Nilsson
2018-08-24Document allowed integer ops in typesPéter Gömöri
2018-08-24Merge branch 'maint-21' into maintLars Thorsen
* maint-21: Updated OTP version Prepare release Updated the engine load functionality inets: Prepare for release inets: Use status code 501 when no mod_* handles the request ssl: Prepare for release ssl: Make sure that a correct cipher suite is selected ssl: Make sure that a correct cipher suite is selected
2018-08-23Merge branch 'ingela/ssl/correct-specs' into maintIngela Anderton Andin
* ingela/ssl/correct-specs: ssl: Correct dialyzer specs
2018-08-23ssl: Correct dialyzer specsIngela Anderton Andin
2018-08-23Updated OTP versionOTP-21.0.6Erlang/OTP
2018-08-23Prepare releaseErlang/OTP
2018-08-23Merge branch 'lars/crypto/multiple-engine-load-21/OTP-15233' into maint-21Erlang/OTP
* lars/crypto/multiple-engine-load-21/OTP-15233: Updated the engine load functionality
2018-08-23Merge branch 'ingela/maint-21/inets/status-501/ERIERL-218/OTP-15215' into ↵Erlang/OTP
maint-21 * ingela/maint-21/inets/status-501/ERIERL-218/OTP-15215: inets: Prepare for release inets: Use status code 501 when no mod_* handles the request ssl: Make sure that a correct cipher suite is selected
2018-08-23Merge branch 'ingela/ssl/maint-21/ECC/ERIERL-210/OTP-15203' into maint-21Erlang/OTP
* ingela/ssl/maint-21/ECC/ERIERL-210/OTP-15203: ssl: Prepare for release ssl: Make sure that a correct cipher suite is selected
2018-08-23Merge branch 'hans/ssh/x25519_x448/OTP-15133' into maintHans Nilsson
* hans/ssh/x25519_x448/OTP-15133: ssh: Doc updates ssh: spec curve25519 & curve448 ssh: Fix non-conforming key generation in kex for x25519 and x448 ssh: Enable curve448-sha512 and curve25519-sha256 ssh: Remove the term 'eddh'
2018-08-23Merge branch 'hans/crypto/x25519_x448/OTP-15240' into maintHans Nilsson
* hans/crypto/x25519_x448/OTP-15240: crypto: doc x25519 & x448 crypto: Test vectors for ecdh x25519 and x448 crypto: Remove the term 'eddh' crypto: Enable EDDH all OpenSSL cryptolib over beta version 1.1.1-pre8
2018-08-23Merge branch 'hans/crypto/SHA3/OTP-15153' into maintHans Nilsson
* hans/crypto/SHA3/OTP-15153: crypto: Disable non-working SHA3_224 and SHA3_256 crypto: doc SHA3 (hash & hmac) crypto: Tests for SHA3 crypto: SHA3 hash on OpenSSL-1.1.1
2018-08-23Merge branch 'hans/ssh/[email protected]/OTP-15209' into maintHans Nilsson
* hans/ssh/[email protected]/OTP-15209: ssh: Doc updates ssh: some benchmarking of [email protected] ssh: -spec ssh: Add [email protected] cipher
2018-08-23Merge branch 'hans/crypto/poly1305_and_chacha20/OTP-15164' into maintHans Nilsson
* hans/crypto/poly1305_and_chacha20/OTP-15164: crypto: doc poly1305 crypto: doc chacha20 crypto: Error in test case crypto: chacha20 test case crypto: poly1305 test case crypto: -spec crypto: chacha20 cipher crypto: Mac POLY1305 if >=OpenSSL 1.1.1-pre8
2018-08-23crypto: doc x25519 & x448Hans Nilsson
2018-08-23crypto: Test vectors for ecdh x25519 and x448Hans Nilsson