aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-11-20ssl: Fix property testsPéter Dimitrov
Replace hardcoded max size in 'choose' function with the length of supported groups. Change-Id: I4ac595cfee2c3cf0c9d9e1cffd0988940130a0d6
2018-11-20ssl: Improve the "start" and "negotiated" statesPéter Dimitrov
This change adds the capability to the TLS 1.3 server to process ClientHello messages and answer with ServerHello. Change-Id: I13f6cfac932574300338e7301c6162252a591c70
2018-11-20ssl: Improve TLS 1.3 state machinePéter Dimitrov
- Use internal event to transition to the first state of the TLS 1.3 state machine. - Add gen_handshake_1_3/4 and gen_info_1_3/4. Change-Id: I17f12110356c7be4a8dddf9a616df7f181b0ef37
2018-11-20ssl: Fix handling of "signature_algs" in ClientHelloPéter Dimitrov
Use signature schemes in the "signature_algs" extension when creating TLS 1.3 ClientHello extensions. Change-Id: I1402bec659c70352a4a2200146911fd4246d2fe2
2018-11-20ssl: Fix default values of "signature_algs"Péter Dimitrov
- Add function for special handling of default values of "signature_algs" in TLS 1.3. This change adds default values for "signature_algs" even for TLS 1.3 clients as they must send the "signature_algs" extension when a server authenticates itself via a certificate. - Use "signature schemes" as default instead of the old hash-signature algorithms tuple when using TLS 1.3. Change-Id: I296593b16610fd7a18a4ae3f3bac63c2fad06fbd
2018-11-20ssl: Auto generate build dependenciesPéter Dimitrov
- Order the list of input files - Auto generate build dependencies Change-Id: I0520725c98f4739fa73c8667c38ce1b00c494bc9
2018-11-16ssl: Fix encode/decode of ClientHello (TLS 1.3)Péter Dimitrov
- Fix handling of hello versions. TLS 1.3 ClientHello will use TLS 1.3 encoding. - Fix encoding/decoding of TLS records when record protection has not yet been engaged (NULL cipher). Change-Id: I7511d1a7751f1ec8c2f2f2fb3d21ddf80a3f428b
2018-11-16ssl: Change defaults for "supported_groups"Péter Dimitrov
Removed strongest Diffie-Hellman groups from defaults (ffdhe3072, ffdhe4096, ffdhe6144, ffdhe8192) in order to reduce the time spent with calculating the keys for the key_share extension. Change-Id: I1cc1914ea4c5093f694989b0153c1bd1c8840eef
2018-11-16ssl: Fix compilation warningsPéter Dimitrov
Change-Id: Id92deeebf2cb792a24c0ac1dd2e827fc7135b07c
2018-11-16ssl: Implement the 'key_share' extensionPéter Dimitrov
Change-Id: Ie7409675dd7a35825f32822df259286bbb95fd62
2018-11-16Merge branch 'maint'John Högberg
* maint: Updated OTP version Prepare release
2018-11-16Merge branch 'maint-21' into maintJohn Högberg
* maint-21: Updated OTP version Prepare release
2018-11-16Merge branch 'henrik/kernel/bad_erl_libs'Henrik Nord
* henrik/kernel/bad_erl_libs: make sure a set ERL_LIBS does not interfere with tests
2018-11-16Merge pull request #2018 from bjorng/bjorn/compiler/speedBjörn Gustavsson
Speed up the compiler
2018-11-16Merge branch 'maint'John Högberg
* maint: Fix broken assertion on monitor release Avoid closing files in gc/monitor callbacks
2018-11-16Merge branch 'john/erts/defer-orphan-file-close/OTP-15421/ERIERL-261' into maintJohn Högberg
* john/erts/defer-orphan-file-close/OTP-15421/ERIERL-261: Fix broken assertion on monitor release Avoid closing files in gc/monitor callbacks
2018-11-15Merge branch 'sverker/erts/ethr-dw-atomic-typo'Sverker Eriksson
2018-11-15Merge branch 'maint'Sverker Eriksson
2018-11-15Merge branch 'sverker/crypto/gcc-8-warning' into maintSverker Eriksson
* sverker/crypto/gcc-8-warning: crypto: Fix gcc 8 warning
2018-11-15Merge branch 'maint'Sverker Eriksson
2018-11-15Merge branch 'sverker/erts/atomics-counters/OTP-13468' into maintSverker Eriksson
* sverker/erts/atomics-counters/OTP-13468: erts: Add new module 'counters' erts: Add new module 'atomics'
2018-11-15erts: Add new module 'counters'Sverker Eriksson
2018-11-15erts: Add new module 'atomics'Sverker Eriksson
2018-11-15beam_ssa_dead: Speed up optimization of switch instructionsBjörn Gustavsson
`beam_ssa_dead` can waste a lot of time trying to optimize an unoptimizable `switch` instruction. By being a little bit smarter when optimizing `switch` instructions, the runtime for the beam_ssa_dead pass was reduced approximately by half on my computer for this module: https://github.com/aggelgian/cuter/blob/master/src/cuter_binlib.erl Noticed-by: Kostis Sagonas
2018-11-15beam_ssa_pre_codegen: Eliminate a bottleneck in linear scanBjörn Gustavsson
The linear scan algorithm keeps unhandled intervals in two separate lists: one for intervals with reserved registers and one for intervals without reserved registers. When collecting the available free registers all unhandled intervals with reserved registers must be checked for overlap. Unhandled intervals that had a preferred register were put into the list of intervals with reserved registers, leading to a lot of unecessary overlap checking if there were many intervals with preferred registers. Changing the partition code to put intervals with preferred registers into the general list of unhandled intervals will reduce the compilation time if there are many preferred registers. On my computer, this change reduced the time of the linear scan pass from about 20 seconds down to about 0.5 seconds for this module: https://github.com/aggelgian/cuter/blob/master/src/cuter_binlib.erl Noticed-by: Kostis Sagonas
2018-11-15beam_ssa_type: Speed up type analysis for huge functionsBjörn Gustavsson
The type analysis pass (`beam_ssa_type`) keeps the type information for all variables that are in scope. For huge functions, the `join_types/2` function could get really slow when joining two maps with thousands of variables in each. Use a conservative approach to discard type information for variables only used once by a `br` or `switch` in the same block as the variable is defined in. This approach reduces the runtime for the `beam_ssa_type` pass from a few minutes down to few seconds for this module: https://github.com/aggelgian/cuter/blob/master/src/cuter_binlib.erl Rejected approach: Calculate liveness information for all variables and discard type information for any variable that would not be used again. That turned out to not work because some optimizations would invalidate the liveness (in particular, substitutions could lengthen the lifetime for a variable). Trying to update the liveness information when doing the optimizations would be tricky. Noticed-by: Kostis Sagonas
2018-11-15Updated OTP versionOTP-21.1.2Erlang/OTP
2018-11-15Prepare releaseErlang/OTP
2018-11-15Merge branch 'john/erts/defer-orphan-file-close/OTP-15421/ERIERL-261' into ↵Erlang/OTP
maint-21 * john/erts/defer-orphan-file-close/OTP-15421/ERIERL-261: Fix broken assertion on monitor release Avoid closing files in gc/monitor callbacks
2018-11-15Merge branch 'ingela/public_key/DSA-SHA2/OTP-15367' into maint-21Erlang/OTP
* ingela/public_key/DSA-SHA2/OTP-15367: public_key: Add additional ASN-1 definitions for DSA SHA2 support public_key: Add DSA with SHA2 support
2018-11-15Merge branch 'john/compiler/bs_match-anno-liveness-fix/OTP-15353/ERL-753' ↵Erlang/OTP
into maint-21 * john/compiler/bs_match-anno-liveness-fix/OTP-15353/ERL-753: beam_utils: Handle bs_start_match2 in anno_defs
2018-11-15Merge branch 'maint'Hans Nilsson
* maint: Updated OTP version Prepare release
2018-11-15Merge branch 'maint-20' into maintHans Nilsson
* maint-20: Updated OTP version Prepare release
2018-11-14Merge branch 'maint'Ingela Anderton Andin
2018-11-14Merge branch 'ingela/public_key/DSA-SHA2/OTP-15367' into maintIngela Anderton Andin
* ingela/public_key/DSA-SHA2/OTP-15367: public_key: Add additional ASN-1 definitions for DSA SHA2 support
2018-11-14Merge pull request #2017 from matwey/epmd-helpJohn Högberg
epmd: Move -systemd position in -help output
2018-11-14Merge branch 'maint'Ingela Anderton Andin
2018-11-14Merge branch 'ingela/ssl/maint-bench-cuddle' into maintIngela Anderton Andin
* ingela/ssl/maint-bench-cuddle: ssl: Handle unicode ~s -> ~ts
2018-11-14Updated OTP versionOTP-20.3.8.14Erlang/OTP
2018-11-14Prepare releaseErlang/OTP
2018-11-14Merge branch 'hans/ssh/fix_ext_info/OTP-15413' into maint-20Erlang/OTP
* hans/ssh/fix_ext_info/OTP-15413: ssh: Fix ssh_options checking for ext_info ssh: Fix SSH_MSG_EXT_INFO bug for OTP SSH as server ssh: Fix SSH_MSG_EXT_INFO bug for OTP SSH as client
2018-11-14Merge branch 'maint'Lukas Larsson
* maint: Updated OTP version Prepare release Optimize operator '--' and yield on large inputs
2018-11-14Merge branch 'maint-18' into maintLukas Larsson
* maint-18: Updated OTP version Prepare release Optimize operator '--' and yield on large inputs Conflicts: OTP_VERSION erts/doc/src/notes.xml erts/emulator/beam/erl_alloc.types erts/emulator/beam/erl_bif_lists.c erts/vsn.mk lib/stdlib/doc/src/notes.xml lib/stdlib/vsn.mk make/otp_version_tickets otp_versions.table
2018-11-13Fix broken assertion on monitor releaseJohn Högberg
We sometimes bump the refc without messing with the table, which means that we sometimes decrement it while in the table, causing the old assertion to fail. The property we want to check is that neither end of the monitor is present in the table when the monitor is deleted.
2018-11-13Avoid closing files in gc/monitor callbacksJohn Högberg
Closing files in these callbacks could block scheduler progress and cause major system instability. We now defer these operations to a dedicated process instead. This process may in turn block forever and prevent further orphaned files from being closed, but it will keep the emulator itself from misbehaving.
2018-11-12erts: Fix benign typo in ethr_dw_atomic.h filesSverker Eriksson
2018-11-12ssl: Handle unicode ~s -> ~tsIngela Anderton Andin
2018-11-12Merge branch 'maint'Ingela Anderton Andin
* maint: Updated OTP version Prepare release
2018-11-12Merge branch 'maint-20' into maintIngela Anderton Andin
* maint-20: Updated OTP version Prepare release
2018-11-12Merge branch 'ingela/ssl/key-derive/OTP-15374'Ingela Anderton Andin
* ingela/ssl/key-derive/OTP-15374: ssl: Add key derivation functions for TLS-1.3