aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2018-11-29Fall back to default locking if LockKind is not read or writeMagnus Fröberg
2018-11-22Mnesia should always use the local context if availableMagnus Fröberg
Do not read from (set | order_set) source table if the content is already in the transactional context (i.e., a previous write/delete).
2018-11-22Merge branch 'maint'Hans Nilsson
* maint: ssh: Add forgotten doc about the files ssh_host_ed*_key
2018-11-22Merge branch 'hans/ssh/eddsa/OTP-15094' into maintHans Nilsson
* hans/ssh/eddsa/OTP-15094: ssh: Add forgotten doc about the files ssh_host_ed*_key
2018-11-21ssh: Add forgotten doc about the files ssh_host_ed*_keyHans Nilsson
2018-11-21Merge branch 'maint'Björn Gustavsson
* maint: Fix internal consistency failure for is_function/2 Conflicts: lib/compiler/src/beam_utils.erl
2018-11-21Merge pull request #2023 from bjorng/bjorn/compiler/misc-improvementsBjörn Gustavsson
Enhance compiler optimizations
2018-11-21Sort move instructions on the Y registerBjörn Gustavsson
Sort sequences of `move` instructions on the Y register. When moving from X registers to Y registers, having the instructions sorted on Y registers give the loader more opportunities to use `move_window{3,4,5}` instructions. For examples, the following five instructions: move_xy x(2) y(0) move_xy x(1) y(1) move_xy x(0) y(2) move_xy x(5) y(3) move_xy x(4) y(4) can be replaced with: move_window5_xxxxxy x(2) x(1) x(0) x(5) x(4) y(0) When the Y registers are not ordered so that `move_window5` can be used, the loader would typically combine the first three moves to a `move3_xyxyxy` instruction and the last two moves to a `move2_par_xyxy` instruction. When moving from Y registers to X registers, sorting on the Y registers could potentially be more cache-friendly. It could also be worthwhile investigating a new `move_window` instruction in the BEAM interpreter that could move values from contiguous Y registers to X registers. Note that `scripts/diffable` can generate diffable dissambly files for the loaded BEAM code: $ scripts/diffable --dis 0 $ scripts/diffable --dis 1 $ diff -u 0 1
2018-11-21Merge branch 'peterdmv/ssl/first_client_hello/OTP-15373'Péter Dimitrov
* peterdmv/ssl/first_client_hello/OTP-15373: ssl: Fix property tests ssl: Improve the "start" and "negotiated" states ssl: Improve TLS 1.3 state machine ssl: Fix handling of "signature_algs" in ClientHello ssl: Fix default values of "signature_algs" ssl: Auto generate build dependencies ssl: Fix encode/decode of ClientHello (TLS 1.3) ssl: Change defaults for "supported_groups" ssl: Fix compilation warnings ssl: Implement the 'key_share' extension Change-Id: I31d5d376cee586f4824cd38703d56920d372ed2e
2018-11-20Merge branch 'sverker/ets-ordered-set-fixups'Sverker Eriksson
2018-11-20stdlib: Fix bug in ets_SUITE:smp_ordered_iterationSverker Eriksson
Did fail on really slow unlucky machines.
2018-11-20Fix internal consistency failure for is_function/2Björn Gustavsson
There could be an internal consistency failure when using is_function/2, because an optimization did not take into account that is_function/2 can fail. https://bugs.erlang.org/browse/ERL-778
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-19Merge branch 'maint'Hans Nilsson
* maint: public_key: Add Edward curves to the documentation public_key: Add ed25519 and ed448 sign/verify crypto: Add Edward curves to the documentation crypto: Add eddsa test case (ed25519 and ed448) crypto: Add ed25519 and ed448 sign/verify
2018-11-19Merge branch 'hans/crypto/eddsa/OTP-15419' into maintHans Nilsson
* hans/crypto/eddsa/OTP-15419: public_key: Add Edward curves to the documentation public_key: Add ed25519 and ed448 sign/verify crypto: Add Edward curves to the documentation crypto: Add eddsa test case (ed25519 and ed448) crypto: Add ed25519 and ed448 sign/verify
2018-11-19Merge branch 'maint'Hans Nilsson
* maint: ssh: Add Edward curves to the documentation ssh: Update test cases for eddsa ssh: Add public keys 'ssh-ed25519' and 'ssh-ed448'
2018-11-19Merge branch 'hans/ssh/eddsa/OTP-15094' into maintHans Nilsson
* hans/ssh/eddsa/OTP-15094: ssh: Add Edward curves to the documentation ssh: Update test cases for eddsa ssh: Add public keys 'ssh-ed25519' and 'ssh-ed448'
2018-11-19Merge branch 'maint'Hans Nilsson
* maint: ssh: Make host and user key pre-checking better ssh: Generalize unpublished test support option ssh: Cleaning and polishing of ssh_auth ssh: Add a common key_cb call function
2018-11-19ssh: Make host and user key pre-checking betterHans Nilsson
This will prevent crashes in ssh_file for public key types which have no passphrase option although being supported. Also centralize host key checking to avoid code duplication. This was already done for user keys.
2018-11-19ssh: Generalize unpublished test support optionHans Nilsson
Also rename the corresponding testcase in ssh_options_SUITE and add logging.
2018-11-19ssh: Cleaning and polishing of ssh_authHans Nilsson
No intentional api changes. Only to make the code less hard to read.
2018-11-19ssh: Add a common key_cb call functionHans Nilsson
2018-11-19public_key: Add Edward curves to the documentationHans Nilsson
2018-11-19public_key: Add ed25519 and ed448 sign/verifyHans Nilsson
2018-11-19crypto: Add Edward curves to the documentationHans Nilsson
2018-11-19crypto: Add eddsa test case (ed25519 and ed448)Hans Nilsson
2018-11-19crypto: Add ed25519 and ed448 sign/verifyHans Nilsson
2018-11-19ssh: Add Edward curves to the documentationHans Nilsson
2018-11-19ssh: Update test cases for eddsaHans Nilsson
2018-11-19ssh: Add public keys 'ssh-ed25519' and 'ssh-ed448'Hans Nilsson
Requires OpenSSL-1.1.1 https://tools.ietf.org/html/draft-ietf-curdle-ssh-ed25519-ed448-00
2018-11-19beam_ssa_pre_codegen: Improve reuse of Y registersBjörn Gustavsson
Enhance the copy_retval/1 optimization to allow Y registers to be reused in more circumstances. Reusing Y register can often reduce the size of the stack frame.
2018-11-19beam_ssa_codegen: Improve optimization of allocate instructionsBjörn Gustavsson
There could be `allocate_zero` instructions where `allocate` would suffice or superfluous `init` instructions because all possible initializations of Y registers were not taken into account. While at it, also add some more comments.
2018-11-18Add get_map_element to beam_ssa:no_side_effect/1Björn Gustavsson
The `get_map_element` instruction has no side effects, and should be removed if its value is not used.
2018-11-16erts: Fix offheap leak of ets catree tmp iteration keySverker Eriksson
Also fix erts_debug:get_internal_status(node_and_dist_references) for catree to also search route node keys for offheap stuff.
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 'john/erts/plusplus-trapping/OTP-15427'John Högberg
* john/erts/plusplus-trapping/OTP-15427: Don't use too many reductions in lists:reverse/2 Make '++'/2 trapping
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-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