aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2018-10-29Optimize 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-10-23Merge branch 'ingela/ssl/use-correct-len-aead' into maintIngela Anderton Andin
* ingela/ssl/use-correct-len-aead: ssl: Correct length to be used in additional data in CHACHA20_POLY1305 cipher
2018-10-23ssl: Correct length to be used in additional data in CHACHA20_POLY1305 cipherIngela Anderton Andin
2018-10-22Merge branch 'raimo/tcp-close-while-send/maint/ERL-561/OTP-12242' into maintRaimo Niskanen
* raimo/tcp-close-while-send/maint/ERL-561/OTP-12242: Write test case Fix hanging gen_tcp send vs close race Conflicts: erts/preloaded/ebin/prim_inet.beam
2018-10-22Merge branch 'ingela/ssl/aead-refactor' into maintIngela Anderton Andin
* ingela/ssl/aead-refactor: ssl: Refactor AEAD ciphers
2018-10-19ssl: Refactor AEAD ciphersIngela Anderton Andin
TLS-1.3 needs to handle AEAD inputs diffrently than previous versions. Refactor code to facilitate TLS-1.3 additions. Change CHACHA20_POLY1305 NONCE to match RFC 7905. This will be important later when we fix interop with TLS compatible crypto invocation.
2018-10-19Write test caseRaimo Niskanen
2018-10-19Merge branch 'maint-19' into maintHans Nilsson
* maint-19: Updated OTP version Prepare release
2018-10-19Merge pull request #1975 from sirihansen/siri/logger/config-set-or-updateSiri Hansen
Forward set/update indicator to handler callback changing_config OTP-15364
2018-10-19Merge branch 'siri/cuddle' into maintSiri Hansen
* siri/cuddle: Fix gen_fsm_SUITE:start2/1 to terminate process synchronously Fix sys_SUITE:special_process/1 to terminating process synchronously
2018-10-18Prepare releaseErlang/OTP
2018-10-18Merge branch 'hans/eldap/prevent_EXIT_at_close/OTP-15342/ERIERL-242' into ↵Erlang/OTP
maint-19 * hans/eldap/prevent_EXIT_at_close/OTP-15342/ERIERL-242: eldap: Fix race at socket close
2018-10-18Merge branch 'maint-20' into maintHans Nilsson
* maint-20: Updated OTP version Prepare release
2018-10-17kernel: Fix spelling error in assert.hrlLukas Larsson
2018-10-17Merge branch 'igor/tcp-nopush-ERL-698/OTP-15357' into maintJohn Högberg
* igor/tcp-nopush-ERL-698/OTP-15357: "cork" tcp socket around file:sendfile Add nopush TCP socket option
2018-10-16Prepare releaseErlang/OTP
2018-10-16Merge branch 'sverker/erts/ets-select_replace-bug/OTP-15346' into maint-20Erlang/OTP
* sverker/erts/ets-select_replace-bug/OTP-15346: erts: Fix bug in ets:select_replace for bound key
2018-10-16Merge branch 'hans/eldap/prevent_EXIT_at_close/OTP-15342/ERIERL-242' into ↵Erlang/OTP
maint-20 * hans/eldap/prevent_EXIT_at_close/OTP-15342/ERIERL-242: eldap: Fix race at socket close
2018-10-16Fix gen_fsm_SUITE:start2/1 to terminate process synchronouslySiri Hansen
2018-10-16Fix sys_SUITE:special_process/1 to terminating process synchronouslySiri Hansen
2018-10-16Merge branch 'john/compiler/bs_match-anno-liveness-fix/OTP-15353/ERL-753' ↵John Högberg
into maint * john/compiler/bs_match-anno-liveness-fix/OTP-15353/ERL-753: beam_utils: Handle bs_start_match2 in anno_defs
2018-10-15beam_utils: Handle bs_start_match2 in anno_defsJohn Högberg
2018-10-12Merge branch 'maint-21' into maintRickard Green
* maint-21: Updated OTP version Prepare release erts: Fix UNC path handling on Windows erts: Fix a compiler warning eldap: Fix race at socket close Fix bug for sockopt pktoptions on BSD erts: Fix memory leak on file read errors
2018-10-12Prepare releaseErlang/OTP
2018-10-12Merge branch 'ingela/maint/ssl/packet-options-to-tls-sender/OTP-15348' into ↵Erlang/OTP
maint-21 * ingela/maint/ssl/packet-options-to-tls-sender/OTP-15348: ssl: TLS sender process needs to get updates of the socket option packet
2018-10-12Merge branch 'ingela/maint/ssl/close-alert-ERL-738/OTP-15337' into maint-21Erlang/OTP
* ingela/maint/ssl/close-alert-ERL-738/OTP-15337: ssl: ERL-738 - Correct alert handling with new TLS sender process
2018-10-12Merge branch 'hans/eldap/prevent_EXIT_at_close/OTP-15342/ERIERL-242' into ↵Erlang/OTP
maint-21 * hans/eldap/prevent_EXIT_at_close/OTP-15342/ERIERL-242: eldap: Fix race at socket close
2018-10-12Merge branch 'john/erts/fix-unc-paths-windows/OTP-15333/ERL-737' into maint-21Erlang/OTP
* john/erts/fix-unc-paths-windows/OTP-15333/ERL-737: erts: Fix UNC path handling on Windows erts: Fix a compiler warning
2018-10-12Merge branch 'bjorn/compiler/fix-binary-matching/ERL-689/OTP-15335' into ↵Erlang/OTP
maint-21 * bjorn/compiler/fix-binary-matching/ERL-689/OTP-15335: Fix rare bug in binary matching (again)
2018-10-12Merge branch 'raimo/BSD-sockopt-pktoptions/ERIERL-187/OTP-14297' into maint-21Erlang/OTP
* raimo/BSD-sockopt-pktoptions/ERIERL-187/OTP-14297: Fix bug for sockopt pktoptions on BSD
2018-10-12Merge pull request #1974 from ↵Raimo Niskanen
RaimoNiskanen/raimo/getifaddrs-netns/ERIERL-189/OTP-15121 Implement {netns,NS} option for inet:getifaddrs/1 and friends
2018-10-11crypto: Update RSA tests after algorithms doc chapterHans Nilsson
2018-10-11crypto: Update RSA options to match specs and different OpenSSL versionsHans Nilsson
- Put rsa_pkcs1_oaep_padding in supports/0 - #ifdef updates - Refine PKCS1_OAEP defines
2018-10-11Merge branch 'pr/1949' into maintDan Gudmundsson
* pr/1949: Run emacs tests from test_suite Emacs: consider case in erlang-get-identifier-at-point Emacs: do not accept compiler warnings in selected elisp files Emacs: add test-erlang-mode
2018-10-11ssl: Fix up incorrect automatic mergeIngela Anderton Andin
2018-10-11Merge branch 'ingela/maint/ssl/packet-options-to-tls-sender/OTP-15348' into ↵Ingela Anderton Andin
maint Conflicts: lib/ssl/src/tls_sender.erl
2018-10-11erts: Fix UNC path handling on WindowsJohn Högberg
This is unlikely to be the last of the path problems seen after OTP 21, and I'm starting to regret my decision to unconditionally use long paths. The idea to hit all long-path problems all the time was good in theory as it makes such bugs far more visible, but there just aren't enough people who test pre-release versions on Windows, making this the world's slowest game of whack-a-mole.
2018-10-11ssl: TLS sender process needs to get updates of the socket option packetIngela Anderton Andin
If the socket option is set to {packet, 1|2|3|4} sender process needs to add a packet length header. If packet is changed with ssl:setopts/2 this needs to be communicated to tls_sender.
2018-10-11Merge branch 'ingela/ssl/packet-options-to-tls-sender/OTP-15348' into maintIngela Anderton Andin
* ingela/ssl/packet-options-to-tls-sender/OTP-15348: ssl: TLS sender process needs to get updates of the socket option packet
2018-10-11Add nopush TCP socket optionIgor Slepchin
This translates to TCP_CORK on Linux and TCP_NOPUSH on BSD. In effect, this acts as super-Nagle: no partial TCP segments are sent out until this option is turned off. Once turned off, all accumulated unsent data is sent out immediately. The latter is *not* the case on OSX, hence the implementation ignores "nopush" on OSX to reduce confusion.
2018-10-10ssl: ERL-738 - Correct alert handling with new TLS sender processIngela Anderton Andin
With the new TLS sender process, solving ERL-622, TLS ALERTs sent in the connection state must be encrypted and sent by the TLS sender process. This to make sure that the correct encryption state is used to encode the ALERTS. Care must also be taken to ensure a graceful close down behavior both for normal shutdown and downgrading from TLS to TCP. The original TR ERL-738 is verified by cowboy tests, and close down behavior by our tests. However we alas have not been able to yet create a minimal test case for the originating problem. Also it seems it has become less likely that we run in to the TCP delivery problem, that is the guarantee is only on transport level, not application level. Keep work around function in ssl_test_lib but we can have better test as long as we do not get to much wobbling tests.
2018-10-10ssl: TLS sender process needs to get updates of the socket option packetIngela Anderton Andin
If the socket option is set to {packet, 1|2|3|4} sender process needs to add a packet length header. If packet is changed with ssl:setopts/2 this needs to be communicated to tls_sender.
2018-10-09Merge branch 'sverker/erts/ets-select_replace-bug/OTP-15346' into maintSverker Eriksson
* sverker/erts/ets-select_replace-bug/OTP-15346: erts: Fix bug in ets:select_replace for bound key
2018-10-09erts: Fix bug in ets:select_replace for bound keySverker Eriksson
which may cause following calls to ets:next or ets:prev to fail.
2018-10-09Run emacs tests from test_suiteDan Gudmundsson
Drive emacs test from test_suite instead of bash script.
2018-10-09Emacs: consider case in erlang-get-identifier-at-pointJohan Claesson
2018-10-09Emacs: do not accept compiler warnings in selected elisp filesJohan Claesson
2018-10-09Emacs: add test-erlang-modeJohan Claesson
2018-10-08Merge branch 'peterdmv/inets/httpc-content-type/ERL-736/OTP-15339' into maintPéter Dimitrov
* peterdmv/inets/httpc-content-type/ERL-736/OTP-15339: inets: Fix handling of 'Content-Type' (httpc) Change-Id: I8c9f48d8474dba7a83e4ecba6b8146faffb559fc
2018-10-08Merge branch 'peterdmv/inets/httpc-content-length/ERL-733/OTP-15338' into maintPéter Dimitrov
* peterdmv/inets/httpc-content-length/ERL-733/OTP-15338: inets: Fix handling of 'Content-Length' (httpc) Change-Id: I3281949d47d2494dc8d6f3af3e93b46cdbbc24b9