aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2019-04-11Merge branch 'peterdmv/ssl/fix-tls13-handshake/ERL-908/OTP-15759'Péter Dimitrov
* peterdmv/ssl/fix-tls13-handshake/ERL-908/OTP-15759: ssl: Add chacha ciphers to openssl_suite_name/1 ssl: Filter signature_schemes before usage ssl: Handle legacy algorithms in signature_scheme/1 Change-Id: I4caa0fb21324aceb1d3502d33e61e99bd915d9c4
2019-04-11Merge branch 'peterdmv/ssl/dtls-improvements'Péter Dimitrov
* peterdmv/ssl/dtls-improvements: ssl: Fix ssl:getstat/2 ssl: Implement {active,N} for DTLS ssl: Fix function merge_fragments/2 ssl: Remove excessive calls to next_record/1 Change-Id: I5c5fb3227a96636f0e93a1818223678d3efdbaff
2019-04-11Merge remote-tracking branch 'origin/john/hipe/binary-match-docfix'John Högberg
* origin/john/hipe/binary-match-docfix: hipe: Remove mention of `no_bsm3` flag
2019-04-11Merge remote-tracking branch 'origin/john/compiler/fix-header-deps'John Högberg
* origin/john/compiler/fix-header-deps: compiler: Add missing header dependencies
2019-04-10Decentralized counters for ETS ordered_set with write_concurrencyKjell Winblad
Previously, all ETS tables used centralized counter variables to keep track of the number of items stored and the amount of memory consumed. These counters can cause scalability problems (especially on big NUMA systems). This commit adds an implementation of a decentralized counter and modifies the implementation of ETS so that ETS tables of type ordered_set with write_concurrency enabled use the decentralized counter. [Experiments][1] indicate that this change substantially improves the scalability of ETS ordered_set tables with write_concurrency enabled in scenarios with frequent `ets:insert/2` and `ets:delete/2` calls. The new counter is implemented in the module erts_flxctr (`erts_flxctr.h` and `erts_flxctr.c`). The module has the suffix flxctr as it contains the implementation of a flexible counter (i.e., counter instances can be configured to be either centralized or decentralized). Counters that are configured to be centralized are implemented with a single counter variable which is modified with atomic operations. Decentralized counters are spread over several cache lines (how many can be configured with the parameter `+dcg`). The scheduler threads are mapped to cache lines so that there is no single point of contention when decentralized counters are updated. The thread progress functionality of the Erlang VM is utilized to implement support for linearizable snapshots of decentralized counters. The snapshot functionality is used by the `ets:info/1` and `ets:info/2` functions. [1]: http://winsh.me/ets_catree_benchmark/flxctr_res.html
2019-04-10Merge pull request #2205 from bjorng/bjorn/record_info/ERL-907Björn Gustavsson
Issue an error for improper use of record_info/2 in a fun OTP-15760
2019-04-10compiler: Add missing header dependenciesJohn Högberg
2019-04-10Merge branch 'hasse/parsetools/fix_leex_test'Hans Bolinder
* hasse/parsetools/fix_leex_test: parsetools: Remove no longer working tests
2019-04-10ssl: Add chacha ciphers to openssl_suite_name/1Péter Dimitrov
Change-Id: I2f2cc8c64f02b50773eb455770336b159da7b9f9
2019-04-10ssl: Filter signature_schemes before usagePéter Dimitrov
Filter unassigned and legacy elements from signature_scheme_list before further processing. Change-Id: I0a2623e53c21cebe6e736e7eee6bb6354fc698b7
2019-04-10ssl: Handle legacy algorithms in signature_scheme/1Péter Dimitrov
Handle legacy signature algorithms in TLS 1.3 ClientHello to improve debug logging. Change-Id: If5548c828aabab83a2b147dffa7e937bd98916c6
2019-04-10crypto: Obey compile flags for no DSA, BF, DES, DHHans Nilsson
2019-04-10crypto: Remove compiler warning on an fprintf in the otp test engineHans Nilsson
The otp_test_engine is only used in some of the test cases.
2019-04-10crypto: Fix valgrind error in api_ng.c ng_crypto_one_time for OpenSSL<1.0.1Hans Nilsson
2019-04-10Merge branch 'bmk/snmp/compiler/20190328/otp_mibs_cleanup'Micael Karlberg
2019-04-10Merge branch 'maint'Lukas Larsson
2019-04-10Merge branch 'lukas/erl_interface/depend-fix/OTP-15757' into maintLukas Larsson
* lukas/erl_interface/depend-fix/OTP-15757: erl_interface: Generate dependencies at compile time
2019-04-10erl_interface: Generate dependencies at compile timeLukas Larsson
2019-04-10Merge branch 'hasse/dialyzer/improve_binary_printing/OTP-15752'Hans Bolinder
* hasse/dialyzer/improve_binary_printing/OTP-15752: dialyzer: Fix pretty printing of binaries
2019-04-10hipe: Remove mention of `no_bsm3` flagJohn Högberg
This was only intended to be documented during OTP 22's testing phase and we're nearing its release now. In addition to that it wasn't a complete fix as modules compiled with HiPE+no_bsm3 tended to crash the emulator at runtime.
2019-04-10Merge pull request #2197 from lbolla/spelling-mistakes-fixBjörn Gustavsson
Fix various spelling mistakes
2019-04-09ssl: Fix ssl:getstat/2Péter Dimitrov
Change-Id: I03d8bb7b45fc48b3d5b0232c4c3a286fb36aad5c
2019-04-09ssl: Implement {active,N} for DTLSPéter Dimitrov
Change-Id: I559624bedf3b9b9ed0316af5262f59bcad8de926
2019-04-09ssl: Fix function merge_fragments/2Péter Dimitrov
Change-Id: Icc99d5f3b8c667107926603e9d546d7198bd098d
2019-04-09ssl: Remove excessive calls to next_record/1Péter Dimitrov
Change-Id: Ic6606206b9c48489ead46bf2f8a982cf06ccc2e3
2019-04-09Merge branch 'peterdmv/ssl/fix-chacha-ciphers'Péter Dimitrov
* peterdmv/ssl/fix-chacha-ciphers: ssl: Fix Chacha20 IV length and nonce calculation Change-Id: I69b88bcfe0e9a6b9157884e9df049e15f4a35b95
2019-04-09Merge branch 'hasse/stdlib/erl_pp_throw/OTP-15751'Hans Bolinder
* hasse/stdlib/erl_pp_throw/OTP-15751: stdlib: Fix a bug concerning exception class 'throw'
2019-04-09Issue an error for improper use of record_info/2 in a funBjörn Gustavsson
`record_info/2` is a pseudo-function that requires literal arguments known at compile time. Therefore, the following usage is illegal: f() -> fun record_info/2. However, `erl_lint` did not issue a compilation error for this usage, and the compiler would crash in a later pass. https://bugs.erlang.org/browse/ERL-907
2019-04-08Merge branch 'sverker/crypto/bcmp-memcmp-fix/OTP-15750' into maintSverker Eriksson
* sverker/crypto/bcmp-memcmp-fix/OTP-15750: crypto: Fix link error on windows
2019-04-08Merge branch 'sverker/master/crypto/bcmp-memcmp-fix/OTP-15750'Sverker Eriksson
* sverker/master/crypto/bcmp-memcmp-fix/OTP-15750: crypto: Fix link error on windows
2019-04-08dialyzer: Fix pretty printing of binariesHans Bolinder
Notice the comment in dialyzer_utils: %% Copied from core_pp. The function cerl:binary_segments/2 should/could %% be extended to handle literals, but then the cerl module cannot be %% HiPE-compiled as of Erlang/OTP 22.0 (due to <<I:N>>). When at it: simplify some common cases like "/binary-unit:8".
2019-04-08stdlib: Fix a bug concerning exception class 'throw'Hans Bolinder
Since the introduction of the stack trace variable, the Erlang Pretty Printer has left out the exception class 'throw' even when the stack trace variable cannot be left out, which is not correct Erlang code. The fix is to always include the exception class 'throw'. An alternative is to exclude 'throw' exactly when the stack trace variable is '_'.
2019-04-08Merge branch 'ingela/ssl/cuddle-tests'Ingela Anderton Andin
* ingela/ssl/cuddle-tests: ssl: Do not use broken OpenSSL clients ssl: Correct test input
2019-04-08Merge pull request #2200 from ↵Björn Gustavsson
bjorng/bjorn/deprecation-warnings/ERL-904/OTP-15749 Add compiler option for suppressing warnings about removed functions/modules
2019-04-07calendar.xml: fix typoMikael Pettersson
2019-04-05Merge branch 'sverker/crypto/bcmp-memcmp-fix/OTP-15750'Sverker Eriksson
into sverker/master/crypto/bcmp-memcmp-fix/OTP-15750
2019-04-05crypto: Fix link error on windowsSverker Eriksson
Replace deprecated 'bcmp' with 'memcmp'.
2019-04-05crypto: User's Guide and Reference Manual for the new apiHans Nilsson
2019-04-05crypto: Fix valgrind error for api_ng.cHans Nilsson
2019-04-05ssh: Use new crypto function namesHans Nilsson
2019-04-05crypto: Fixup lots of testsHans Nilsson
2019-04-05crypto: Rename new api and rework the typingHans Nilsson
Split conceptually into an OLD and a NEW api with separate typing. The NEW api will in general not provide types for ciphers without key length like aes_ctr. Use aes_128_ctr etc. Later the C-code will not accept them either.
2019-04-05crypto: Misc C-changes,Hans Nilsson
error fixes, better error reporting (file and line), make aead more robust and like the _ng api.
2019-04-05ssl: Do not use broken OpenSSL clientsIngela Anderton Andin
Also remove dead code
2019-04-05ssl: Correct test inputIngela Anderton Andin
2019-04-05Merge branch 'lukas/erl_docgen/add-internal-docs'Björn Gustavsson
OTP-15715 * lukas/erl_docgen/add-internal-docs: cerl_clauses: Fix broken link Fix minor typos Add CountingInstructions to the internal documentation GarbageCollection.md: Fix links to references emd2exml: Remove paragraphs around image tags emd2exml: Clean emphasis markers in link texts emd2exml: Allow short names of anchors for internal links Include figures erts: Fix more internal docs xmllint compiler: Add internal docs section erl_docgen: Add new internal docs chapter to docs
2019-04-05Merge branch 'bjorn/doc/fix-broken-links'Björn Gustavsson
* bjorn/doc/fix-broken-links: Fix broken links
2019-04-05Merge branch 'john/kernel/file_SUITE-skip-large_write-nfs'John Högberg
* john/kernel/file_SUITE-skip-large_write-nfs: file_SUITE: Skip large_file test if we fail to query free disk space
2019-04-05Merge branch 'ingela/ssl/cuddle-tests'Ingela Anderton Andin
* ingela/ssl/cuddle-tests: ssl: Avoid hiding fault reason as timeout ssl: sslv2 clients rejected in new way as sslv2 hello compatibility is dropped ssl: Run SNI test on specific TLS versions
2019-04-05ssl: Avoid hiding fault reason as timeoutIngela Anderton Andin
Use of rpc:call could hide the real crash reason