aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2016-11-02Support math:fmod/2 BIF on compilerGuilherme Andrade
2016-11-02Add math:fmod/2 BIFGuilherme Andrade
Returns the (floating point) remainder of first argument divided by second argument.
2016-11-02Add ECC curve selection order config in TLS serverFred Hebert
As per RFC 4492 Sec 5.1, the preferred order of selection of named curves is based on client preferences. Currently, the SSL application only picks entries according to the absolute order of entries as tracked in a hardcoded list in code. This patch changes things so that the client-specified order is preferred. It also allows a mode where the server can be configured to override the client's preferred order with its own, although the chosen ECC must still be within both lists. The configuration is done through the following options: - `eccs`, shared by clients and servers alike, allows the specification of the supported named curves, in their preferred order, and may eventually support more values for explicit primes and so on. - `honor_ecc_order`, a server-only option, is similar to `honor_cipher_order` and will, by default let the server pick the client-preferred ECC, and otherwise pick the server-preferred one. The default value for `eccs` is the same as before, although the server-chosen ECC now defaults to the client rather than previous choice. A function `ssl:eccs()` has been added that returns the highest supported ECCs for the library.
2016-11-02Merge branch 'essen/stdlib/proc_lib-propagate-exceptions/PR-1088/OTP-14001'Björn Gustavsson
* essen/stdlib/proc_lib-propagate-exceptions/PR-1088/OTP-14001: Propagate exceptions fully when using proc_lib
2016-11-02Merge branch 'maint'Hans Bolinder
* maint: Update preloaded erts: Correct type declaration of match specification head Conflicts: erts/preloaded/ebin/erlang.beam erts/preloaded/ebin/erts_internal.beam
2016-11-02Merge branch 'hasse/erts/fix_match_spec_head/OTP-13996' into maintHans Bolinder
* hasse/erts/fix_match_spec_head/OTP-13996: Update preloaded erts: Correct type declaration of match specification head
2016-11-02Merge branch 'maint'Lukas Larsson
2016-11-02Merge branch 'roadrunnr/tools/fprof-send-non-exist/PR-1201/OTP-13998' into maintLukas Larsson
* roadrunnr/tools/fprof-send-non-exist/PR-1201/OTP-13998: handle send_to_non_existing_process trace event in fprof
2016-11-01Merge branch 'maint'Ingela Anderton Andin
2016-11-01Merge remote-tracking branch 'github/pr/1219' into maintIngela Anderton Andin
* github/pr/1219: Correct spelling error in ssl_distribution.xml
2016-11-01Merge branch 'maint'Hans Nilsson
2016-11-01Merge branch 'hans/ssh/cuddle_tests_maint' into maintHans Nilsson
2016-11-01erts: Correct type declaration of match specification headHans Bolinder
Bug reported by Peti Gömöri <[email protected]>.
2016-10-31kernel: Add lost dependency to erts-8.1Sverker Eriksson
In OTP-19.1 (c70ca686fe269db6079a2ca1c7e09cdfc0cfa903) erts_code_purger:finish_after_on_load/2 was added and called by code_server.erl.
2016-10-31Propagate exceptions fully when using proc_libLoïc Hoguin
This makes proc_lib behaves like a normal process as far as the propagation of exceptions is concerned. Before this commit, the following difference could be observed: 6> spawn_link(fun() -> ssl:send(a,b) end). <0.43.0> 7> flush(). Shell got {'EXIT',<0.43.0>, {function_clause, [{ssl,send,[a,b],[{file,"..."},{line,275}]}]}} ok 8> proc_lib:spawn_link(fun() -> ssl:send(a,b) end). <0.46.0> 9> flush(). Shell got {'EXIT',<0.46.0>,function_clause} After this commit, we get the following instead: 3> flush(). Shell got {'EXIT',<0.61.0>, {function_clause, [{ssl,send,[a,b],[{file,"..."},{line,275}]}, {proc_lib,init_p,3,[{file,"..."},{line,232}]}]}} The stacktrace will show minor differences of course but the form is now the same as without proc_lib. The rationale behind this commit is that: * We now have a single form regardless of how the process was started * We can use the stacktrace to programmatically alter behavior (for example an HTTP server identifying problems in input decoding to send back a generic 400, or a 500 otherwise) * We can access the stacktrace to print it somewhere (for example an HTTP server could send it back to the client when a debug mode is enabled)
2016-10-31ssh: retry in ssh_options_SUITE:ssh_connect_negtimeout_*Hans Nilsson
2016-10-31ssh: make test more precise in ssh_to_openssh_SUITEHans Nilsson
2016-10-31Merge branch 'maint'Björn-Egil Dahlberg
2016-10-31Merge branch 'legoscia/kernel/clarify-permission-bits/PR-1204/OTP-13991' ↵Björn-Egil Dahlberg
into maint * legoscia/kernel/clarify-permission-bits/PR-1204/OTP-13991: Clarify permission bits in file.xml
2016-10-31Merge branch 'maint'Björn-Egil Dahlberg
2016-10-31Merge branch 'egil/mnesia/dont-tty-log-nodes' into maintBjörn-Egil Dahlberg
* egil/mnesia/dont-tty-log-nodes: mnesia: Don't show error_logger messages in tests
2016-10-31ssh: simplify test in ssh_to_openssh_SUITEHans Nilsson
2016-10-31ssh: skip erlang_server_openssh_client_renegotiate test on non-unixHans Nilsson
2016-10-31Merge branch 'maint'Hans Nilsson
2016-10-31Merge branch 'hans/eldap/docfixes' into maintHans Nilsson
2016-10-31Merge branch 'maint'Hans Nilsson
2016-10-31Merge branch 'hans/ssh/cuddle_tests_maint' into maintHans Nilsson
2016-10-31ssh: Removed tracing in ssh_to_openssh_SUITEHans Nilsson
2016-10-29Make a separate application module for MnesiaRichard Carlsson
To separate concerns and reduce confusion, avoid implementing two behaviours in a single module. Make a single start_link() helper in mnesia_sup and remove the unused mnesia_sup:start() utility function.
2016-10-28ssh: test for rekey with OpenSSH serverHans Nilsson
2016-10-28ssh: move rekeying test to ssh_test_libHans Nilsson
2016-10-28eldap: cosmetic doc fixesHans Nilsson
2016-10-28ssh: change of test helper ssh_test_lib:start_shellHans Nilsson
2016-10-28ssh: increase timeout in test in ssh_options_SUITEHans Nilsson
Prevents timeout before the processing is done on slow machines
2016-10-28sys_core_fold: Use less effort optimizing not in letsBjörn Gustavsson
There are two calls opt_not_in_let(). Since 05130e4855 introduced iteration to a fixpoint, only the first call is needed. Removing the redundant call will slightly speed up compilation.
2016-10-28sys_core_fold: Eliminate complaint from core_lintBjörn Gustavsson
2016-10-28Merge branch 'maint'Björn Gustavsson
* maint: Don't copy funs into guards
2016-10-27controlling_process can return {error, badarg}Péter Gömöri
For gen_tcp, gen_udp and gen_sctp controlling_process/2 can return badarg if erlang:port_connect/2 fails with badarg. This can easily happen if the new owner is not alive but in some race condition also when the socket is closed right before port_connect/2 (and after the previous socket function) This commit documents this behaviour.
2016-10-27Correct spelling error in ssl_distribution.xmlTrevor Brown
Correct "...an exra distribution..." to "...an extra distribution...".
2016-10-27ssh: trace all messages in ↵Hans Nilsson
ssh_to_openssh_SUITE:erlang_server_openssh_client_renegotiate/1
2016-10-27ssh: more info about shrinked binaries in ssh_dbgHans Nilsson
2016-10-27ssh: Add a 'catch' in ssh_channel.erl to prevent double close errorsHans Nilsson
2016-10-27ssh: better ssh_basic_SUITE:end_per_suite/2Hans Nilsson
The testcases shell_unicode_string and shell_no_unicode in ssh_basic_SUITE could raise an exception in the end_per_suite when stopping the dameon. This is due to a natural race condition between the server and the client.
2016-10-27ssh: improve result processing in testHans Nilsson
2016-10-27ssh: Reduce the renegotiation limit in test with OpenSSH clientHans Nilsson
in ssh_to_openssh_SUITE:erlang_server_openssh_client_renegotiate/1 The reason is that it seems that on some small machines we get an out-of-memory exception if the limit is to high. This is probably because a chunk of data larger than the limit is piped from a file into the OpenSSH runing in a shell in a port.
2016-10-27Don't copy funs into guardsBjörn Gustavsson
Funs must not be created in guards. The instruction for creating a fun clobbers all X registers, which is a bad thing to do in a guard.
2016-10-26Merge branch 'maint'Björn Gustavsson
* maint: Don't let inline_list_funcs degrade optimizations
2016-10-26Merge branch 'bjorn/compiler/inline_list_funcs/ERL-285/OTP-13985' into maintBjörn Gustavsson
* bjorn/compiler/inline_list_funcs/ERL-285/OTP-13985: Don't let inline_list_funcs degrade optimizations
2016-10-26Merge branch 'maint'Hans Bolinder
* maint: stdlib: Correct shell_default(3)
2016-10-26stdlib: Correct shell_default(3)Hans Bolinder