aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2018-08-30Merge branch 'maint'Ingela Anderton Andin
Conflicts: lib/ssl/src/ssl_connection.erl lib/ssl/src/tls_connection.erl
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-28Merge branch 'rickard/crypto-configure/OTP-15129'Rickard Green
* rickard/crypto-configure/OTP-15129: Fix crypto configure on Darwin
2018-08-28Merge branch 'maint'Péter Dimitrov
* maint: Updated OTP version Update release notes stdlib: Let dets:open_file() crash when given raw file name Fix kernel_app doc logger_level default from info to notice Change-Id: I581946ac5cec6574ed79017e2987039c1fdcf80a
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 #1894 from CrowdHailer/patch-1Ingela Andin
Update httpc_manager.erl to fix typo
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-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-27Merge branch 'maint'Hans Nilsson
* maint: ssl: Fix dialyzer errors detected when crypto.erl is typed
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-27Merge branch 'maint'Péter Dimitrov
* maint: inets: Prepare for release inets: Robust handling of 204, 304, 1xx responses inets: Do not use chunked encoding with 1xx, 204, 304 Change-Id: Ia739a7b1a7f1482194def99d039b5a7c8133a6ca
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 'maint'Hans Bolinder
* maint: Document allowed integer ops in types stdlib: Fix specs of filename:basedir/2,2
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-27Fix crypto configure on DarwinRickard Green
2018-08-27inets: Prepare for releasePéter Dimitrov
Change-Id: I891cc997475780f22a60119778984739d560f203
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-24ssl: Fix dialyzer errors detected when crypto.erl is typedHans Nilsson
2018-08-24Merge branch 'bjorn/compiler/ssa'Björn Gustavsson
* bjorn/compiler/ssa: Travis CI: Run the SSA linter in the Linux64SmokeTest build Remove retired compiler passes Introduce a new SSA-based intermediate format hipe_beam_to_icode: Correct translation of get_map_elements beam_dead: Remove shortcut of binary matching instruction beam_bs: Remove optimizations that are easier done on SSA format Don't run unsafe compiler passes Simplify optimizations by introducing is_nil late beam_utils: Make is_tagged_tuple a pure test beam_except: Enhance recognition of function_clause exceptions beam_validator: Infer the types of copies in a smarter way beam_validator: Improve merge of cons and literal list beam_validator: Strengthen validation of func_info beam_validator: Allow get_tuple_element before dsetelement beam_validator: Don't transfer state to labels that can't be reached beam_validator: Improve type analysis for tuples beam_validator: Be more careful when updating try/catch state beam_trim: Handle an empty list of instructions v3_core: Number argument variables in ascending order Teach binary instructions to use Y registers as destination OTP-14894
2018-08-24Merge branch 'maint'Lars Thorsen
* maint: 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-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-24Remove retired compiler passesBjörn Gustavsson
2018-08-24Introduce a new SSA-based intermediate formatBjörn Gustavsson
v3_codegen is replaced by three new passes: * beam_kernel_to_ssa which translates the Kernel Erlang format to a new SSA-based intermediate format. * beam_ssa_pre_codegen which prepares the SSA-based format for code generation, including register allocation. Registers are allocated using the linear scan algorithm. * beam_ssa_codegen which generates BEAM assembly code from the SSA-based format. It easier and more effective to optimize the SSA-based format before X and Y registers have been assigned. The current optimization passes constantly have to make sure no "holes" in the X register assignments are created (that is, that no X register becomes undefined that an allocation instruction depends on). This commit also introduces the following optimizations: * Replacing of tuple matching of records with the is_tagged_tuple instruction. (Replacing beam_record.) * Sinking of get_tuple_element instructions to just before the first use of the extracted values. As well as potentially avoiding extracting tuple elements when they are not actually used on all executions paths, this optimization could also reduce the number values that will need to be stored in Y registers. (Similar to beam_reorder, but more effective.) * Live optimizations, removing the definition of a variable that is not subsequently used (provided that the operation has no side effects), as well strength reduction of binary matching by replacing the extraction of value from a binary with a skip instruction. (Used to be done by beam_block, beam_utils, and v3_codegen.) * Removal of redundant bs_restore2 instructions. (Formerly done by beam_bs.) * Type-based optimizations across branches. More effective than the old beam_type pass that only did type-based optimizations in basic blocks. * Optimization of floating point instructions. (Formerly done by beam_type.) * Optimization of receive statements to introduce recv_mark and recv_set instructions. More effective with far fewer restrictions on what instructions are allowed between creating the reference and entering the receive statement. * Common subexpression elimination. (Formerly done by beam_block.)
2018-08-23Merge branch 'maint'Ingela Anderton Andin
Conflicts: lib/ssl/src/tls_v1.erl
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-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 'maint'Hans Nilsson
* maint: 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 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' 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/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 'maint'Hans Nilsson
* maint: ssh: Doc updates ssh: some benchmarking of [email protected] ssh: -spec ssh: Add [email protected] cipher 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-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-23crypto: doc x25519 & x448Hans Nilsson
2018-08-23crypto: Test vectors for ecdh x25519 and x448Hans Nilsson
2018-08-23crypto: Remove the term 'eddh'Hans Nilsson
2018-08-23crypto: Enable EDDH all OpenSSL cryptolib over beta version 1.1.1-pre8Hans Nilsson
2018-08-23ssh: Doc updatesHans Nilsson
2018-08-23ssh: spec curve25519 & curve448Hans Nilsson
2018-08-23ssh: Fix non-conforming key generation in kex for x25519 and x448Hans Nilsson
That is, curve25519-sha256, [email protected] and curve448-sha512
2018-08-23ssh: Enable curve448-sha512 and curve25519-sha256Hans Nilsson