aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-11-08ssh: Fix ssh_options checking for ext_infoHans Nilsson
A bug for SSH_MSG_EXT_INFO was fixed both for client and server. Before that fix, wrong option was read for the information sent to the peer. This commit adapts the option checking so that the correct option now used is available not only for servers but also for clients.
2018-11-07ssh: Fix SSH_MSG_EXT_INFO bug for OTP SSH as serverHans Nilsson
The wrong set of supported public keys was sent to the client.
2018-11-07ssh: Fix SSH_MSG_EXT_INFO bug for OTP SSH as clientHans Nilsson
The message could not be received in connected state
2018-11-07ssl: Correct gen_statem return valueIngela Anderton Andin
Could cause renegotiation to fail
2018-11-06public_key: Add additional ASN-1 definitions for DSA SHA2 supportIngela Anderton Andin
2018-11-06Merge branch 'bjorn/erts/persistent_terms/OTP-14669' into maintBjörn Gustavsson
* bjorn/erts/persistent_terms/OTP-14669: Implement a tab for persistent terms in crashdump viewer Add tests of persistent terms for crashdump_viewer Add a persistent term storage Refactor releasing of literals Extend the sharing-preserving routines to optionally copy literals
2018-11-06Implement a tab for persistent terms in crashdump viewerBjörn Gustavsson
Co-authored-by: Siri Hansen <[email protected]>
2018-11-06Add tests of persistent terms for crashdump_viewerBjörn Gustavsson
2018-11-06Add a persistent term storageBjörn Gustavsson
Persistent terms are useful for storing Erlang terms that are never or infrequently updated. They have the following advantages: * Constant time access. A persistent term is not copied when it is looked up. The constant factor is lower than for ETS, and no locks are taken when looking up a term. * Persistent terms are not copied in garbage collections. * There is only ever one copy of a persistent term (until it is deleted). That makes them useful for storing configuration data that needs to be easily accessible by all processes. Persistent terms have the following drawbacks: * Updates are expensive. The hash table holding the keys for the persistent terms are updated whenever a persistent term is added, updated or deleted. * Updating or deleting a persistent term triggers a "global GC", which will schedule a heap scan of all processes to search the heap of all processes for the deleted term. If a process still holds a reference to the deleted term, the process will be garbage collected and the term copied to the heap of the process. This global GC can make the system less responsive for some time. Three BIFs (implemented in C in the emulator) is the entire interface to the persistent term functionality: * put(Key, Value) to store a persistent term. * get(Key) to look up a persistent term. * erase(Key) to delete a persistent term. There are also two additional BIFs to obtain information about persistent terms: * info() to return a map with information about persistent terms. * get() to return a list of a {Key,Value} tuples for all persistent terms. (The values are not copied.)
2018-11-06Merge branch ↵Ingela Anderton Andin
'ingela/ssl/controlling-process-allowed-on-transport-accept-socket' into maint * ingela/ssl/controlling-process-allowed-on-transport-accept-socket: ssl: controlling_process should be allowed on transpor_accept sockets along with handshake
2018-11-05crypto: Fix gcc 8 warningSverker Eriksson
"division 'sizeof (...)' does not compute the number of array elements [-Wsizeof-pointer-div]"
2018-11-05ssl: controlling_process should be allowed on transpor_accept sockets alongIngela Anderton Andin
with handshake Fix of commit 68d9244ae33e5eea36250c3bb9ffe046a4db5647
2018-11-05Updated OTP versionOTP-20.3.8.12Erlang/OTP
2018-11-05Prepare releaseErlang/OTP
2018-11-05Merge branch 'ingela/ssl/deliver-all-data-at-close/ERL-731/OTP-15412' into ↵Erlang/OTP
maint-20 * ingela/ssl/deliver-all-data-at-close/ERL-731/OTP-15412: ssl: Extend check for undelivered data at closing
2018-11-05Merge branch 'john/erts/OTP-20.3.8/minusminus_trapping/OTP-15371' into maint-20Erlang/OTP
* john/erts/OTP-20.3.8/minusminus_trapping/OTP-15371: Optimize operator '--' and yield on large inputs
2018-11-05Merge branch 'ingela/ssl/signature-check/ERL-763/OTP-15415' into maintIngela Anderton Andin
* ingela/ssl/signature-check/ERL-763/OTP-15415: ssl: Correct filter function
2018-11-05Optimize operator '--' and yield on large inputsJohn Högberg
The removal set now uses a red-black tree instead of an array on large inputs, decreasing runtime complexity from `n*n` to `n*log(n)`. It will also exit early when there are no more items left in the removal set, drastically improving performance and memory use when the items to be removed are present near the head of the list. This got a lot more complicated than before as the overhead of always using a red-black tree was unacceptable when either of the inputs were small, but this compromise has okay-to-decent performance regardless of input size. Co-authored-by: Dmytro Lytovchenko <[email protected]>
2018-11-02ssl: Correct filter functionIngela Anderton Andin
2018-11-02Optimize operator '--' and yield on large inputsJohn Högberg
The removal set now uses a red-black tree instead of an array on large inputs, decreasing runtime complexity from `n*n` to `n*log(n)`. It will also exit early when there are no more items left in the removal set, drastically improving performance and memory use when the items to be removed are present near the head of the list. This got a lot more complicated than before as the overhead of always using a red-black tree was unacceptable when either of the inputs were small, but this compromise has okay-to-decent performance regardless of input size. Co-authored-by: Dmytro Lytovchenko <[email protected]>
2018-11-02Merge branch 'ingela/ssl/deliver-all-data-at-close/ERL-731/OTP-15412' into maintIngela Anderton Andin
* ingela/ssl/deliver-all-data-at-close/ERL-731/OTP-15412: ssl: Extend check for undelivered data at closing
2018-11-02ssl: Extend check for undelivered data at closingIngela Anderton Andin
This is a timing related bug that alas is hard to test
2018-11-02Merge branch 'ingela/ssl/bench_SUITE-clean-start' into maintIngela Anderton Andin
* ingela/ssl/bench_SUITE-clean-start: ssl: Make sure benchmark SUITE has a clean start
2018-11-02ssl: Make sure benchmark SUITE has a clean startIngela Anderton Andin
2018-11-02Merge branch 'bjorn/compiler/fix-beam_jump/ERL-759/OTP-15400' into maintBjörn Gustavsson
* bjorn/compiler/fix-beam_jump/ERL-759/OTP-15400: Fix bug when beam_jump removes put_tuple instructions
2018-11-02Merge branch 'john/erts/minusminus_trapping/OTP-15371' into maintJohn Högberg
* john/erts/minusminus_trapping/OTP-15371: Optimize operator '--' and yield on large inputs Inline erts_cmp Clarify a magical allocation size Fix trapping in lists:reverse/2
2018-11-02Merge branch 'ingela/ssl/transport-accept-socket/ERL-756/OTP-15384' into maintIngela Anderton Andin
* ingela/ssl/transport-accept-socket/ERL-756/OTP-15384: ssl: Return error to user that tries to use a "transport accepted" socket for other purposes than handshaking
2018-11-01ssl: Return error to user that tries to use a "transport accepted" socket forIngela Anderton Andin
other purposes than handshaking
2018-11-01Merge pull request #1990 from max-au/ssl_pem_cache_timezone_fixIngela Andin
ssl: fix timezone-related bug in ssl_pem_cache OTP-15402
2018-11-01Merge branch 'hans/ssh/gitignore' into maintHans Nilsson
* hans/ssh/gitignore: ssh: Add local .gitignore in lib/ssh/test
2018-11-01ssh: Add local .gitignore in lib/ssh/testHans Nilsson
2018-11-01Merge branch 'maint-20' into maintRickard Green
* maint-20: Updated OTP version Prepare release
2018-11-01Merge branch 'rickard/internal_ref_cmp/OTP-15399/ERL-751' into maintRickard Green
* rickard/internal_ref_cmp/OTP-15399/ERL-751: Fix erts_internal_ref_number_cmp()
2018-10-31Updated OTP versionOTP-20.3.8.11Erlang/OTP
2018-10-31Prepare releaseErlang/OTP
2018-10-31Merge branch 'rickard/internal_ref_cmp/OTP-15399/ERL-751' into maint-20Erlang/OTP
* rickard/internal_ref_cmp/OTP-15399/ERL-751: Fix erts_internal_ref_number_cmp()
2018-10-31Fix erts_internal_ref_number_cmp()Rickard Green
2018-10-31Fix bug when beam_jump removes put_tuple instructionsBjörn Gustavsson
`beam_jump` could remove a `put_tuple` instruction when the tuple would not be used, but it would leave the following `put` instructions. Make sure they are removed. https://bugs.erlang.org/browse/ERL-759
2018-10-30Merge pull request #2007 from isadd/patch-1Henrik Nord
Update profiling.xml
2018-10-30Merge pull request #2010 from c-bik/patch-3Hans Nilsson
fix extra parameter in <type>
2018-10-30Merge pull request #1999 from elbrujohalcon/patch-4Hans Bolinder
Fix docs on gen_event optional callback
2018-10-29fix extra parameter in <type>Bikram Chatterjee
```erlang Position = integer() ``` Parameter doesn't exist in `read/3,4`
2018-10-29Refactor releasing of literalsBjörn Gustavsson
Introudce erts_queue_release_literals() to queue a literal area to be released.
2018-10-29Merge branch 'hans/ssh/convert_to_proper/OTP-15312' into maintHans Nilsson
* hans/ssh/convert_to_proper/OTP-15312: ssh: Enable property_test/ssh_eqc_client_server for PropEr ssh: Used fixed localhost address ssh: Fix reporting functions in property_test/ssh_eqc_client_server.erl ssh: Fix property_test/ssh_eqc_client_info_timing.erl
2018-10-29ssh: Enable property_test/ssh_eqc_client_server for PropErHans Nilsson
PropEr does not support the grouped statem-tests. This commits calls the grouped functions from the functions supported by PropEr. Optimized with memoization. Previously only EQC was supported, but the changes to support PROPER is not just a wrapper. Since I don't have access to eqc I can't test the changes and therefore eqc is disabeled. However, with access to eqc it ought to be quite easy to re-enable eqc by studying the diff.
2018-10-29ssh: Used fixed localhost addressHans Nilsson
Problem on Darwin, Solaris and FreeBSD with local addresses in 127.1.0.0/8
2018-10-29ssh: Fix reporting functions in property_test/ssh_eqc_client_server.erlHans Nilsson
2018-10-29ssh: Fix property_test/ssh_eqc_client_info_timing.erlHans Nilsson
Had problems on Darwin, Solaris and FreeBSD.
2018-10-29Merge branch 'maint-18' into maintRickard Green
* maint-18: Updated OTP version Prepare release
2018-10-29Merge pull request #1977 from RogierWV/maint/OTP-15389Lukas Larsson
Fix run_erl.c so it compiles on Solaris