aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2017-02-03dialyzer: Compress some PLT tablesHans Bolinder
Compressing the signatures or the contract records would cost time. The contract records are still held in two places (code server and PLT) in many cases.
2017-02-03dialyzer: Check return value of digrahp:add_edge()Hans Bolinder
2017-02-03dialyzer: Use less memory for the PLT when analyzingHans Bolinder
The two tables for (record) types and exported types are no longer kept in memory (by the PLT) when analyzing, which reduces memory consumption. A first step towards removing (or replacing) the #plt{} record.
2017-02-03typer: Fix a bug regarding the -T optionHans Bolinder
The -T option has not been working for a long time.
2017-02-03dialyzer: Do not keep the code server's type info on the heapHans Bolinder
The table used during translation of forms to types used to be a dictionary of the type info (-type(), -opaque(), and -record()) for all modules. Now it is reduced to the modules that are needed to handle references to types in other modules. The PLT:s type info is still kept on the heap.
2017-02-03Merge branch 'maint'Hans Bolinder
* maint: dialyzer: Increase time limit for tests dialyzer: Optimize typesig dialyzer: Optimize evaluation of complex code dialyzer: Optimize collection of variables Conflicts: lib/dialyzer/src/dialyzer_typesig.erl
2017-02-03Merge branch 'hasse/dialyzer/memory_opt/OTP-14126' into maintHans Bolinder
* hasse/dialyzer/memory_opt/OTP-14126: dialyzer: Increase time limit for tests dialyzer: Optimize typesig dialyzer: Optimize evaluation of complex code dialyzer: Optimize collection of variables
2017-02-02ssh: document crypto:genarate_key(dh, [P,G,L])Hans Nilsson
2017-02-02ssh: document new and retired algorithmsHans Nilsson
2017-02-02kernel: Document signal serverBjörn-Egil Dahlberg
2017-02-02Merge branch 'hans/ssh/default_algo_list/OTP-14110'Hans Nilsson
2017-02-02Merge branch 'maint'Hans Nilsson
2017-02-02Merge branch 'hans/ssh/cuddle_tests' into maintHans Nilsson
2017-02-02Make "~s" fail for Unicode atomsBjörn Gustavsson
26b59dfe67e introduced support for arbitrary Unicode characters in atoms. After that commit, it is possible to print any atom with a "~s" format string: 1> io:format("~s\n", ['спутник']). спутник Note that the same text as a string will fail: 2> io:format("~s\n", ["спутник"]). ** exception error: bad argument in function io:format/3 called as io:format(<0.53.0>,"~s\n", [[1089,1087,1091,1090,1085,1080,1082]]) Being more permissive for atoms is probably beneficial for io:format/2. However, for io_lib:format/2, the new behavior breaks this guarantee in the documentation for io_lib:format/2: If and only if the Unicode translation modifier is used in the format string (that is, ~ts or ~tc), the resulting list can contain characters beyond the ISO Latin-1 character range (that is, numbers > 255). The problem is that you can no longer be sure whether io_lib:format/2 will return an iolist that can be successfully passed to a port or iolist_to_binary/1. We see three solutions: 1. Keep the new behavior. That means that you can get non-iolist data when you use ~s for printing an atom, but a 'badarg' when printing Unicode strings. That is inconsistent, and it delays error detection if the result is passed to a port or iolist_to_binary/1. 2. Always allow Unicode characters for ~s. That would be incompatible, because ~s says that any binary is encoded in latin1, while ~ts says that any binary is encoded in UTF-8. To implement this solution, we could no longer support latin1 binaries; all binaries would have to be encoded in UTF-8. 3. Only allow ~s for atoms where all characters are less than 256. Require ~ts to print atoms such as 'спутник'. We reject solution 1 because it is slightly incompatible and is inconsistent. We reject solution 2 because it too incompatible. Therefore, this commit implements solution 3.
2017-02-02Merge branch 'maint'Ingela Anderton Andin
2017-02-02Merge branch 'ingela/inets/maint/httpd-gracefull-shutdown/OTP-14174' into maintIngela Anderton Andin
* ingela/inets/maint/httpd-gracefull-shutdown/OTP-14174: inets: httpd - shutdown gracefully on connection or TLS handshake errors
2017-02-02Optimize by using async cancel_timerRaimo Niskanen
2017-02-02Merge branch 'maint'Ingela Anderton Andin
2017-02-02Merge branch 'ingela/ssl/config-propagation' into maintIngela Anderton Andin
* ingela/ssl/config-propagation: ssl: Simplify configuration code ssl: Make sure PEM cache works as intended
2017-02-02erts: Use os module instead of erts_internal for set_signal/2Björn-Egil Dahlberg
* Add specs * Change return signature to 'ok' instead of 'true'
2017-02-02erts: Use generic signal handlerBjörn-Egil Dahlberg
2017-02-01Bugfix: callback mode not cached after code changeRaimo Niskanen
Fix lots of internal state updates just before termination that could cause crash reports confused about timers.
2017-02-01Prepare releaseErlang/OTP
2017-02-01Merge branch 'hans/ssh/dh_group_exc_optimize/OTP-14169' into maint-18Erlang/OTP
* hans/ssh/dh_group_exc_optimize/OTP-14169: ssh: optimize kex dh_gex using new crypto functionality crypto: Added optional length to paramlist in generate_key ssh,crypto: prepare for release # Conflicts: # lib/ssh/src/ssh_transport.erl
2017-02-01Merge branch 'hans/ssh/kex_gex_min_max/OTP-14166' into maint-18Erlang/OTP
* hans/ssh/kex_gex_min_max/OTP-14166: ssh: correct host key signature calculation
2017-02-01file: match enoent and enotdir in path_openpulitta
2017-02-01ssh: Enable usage of supported but not default host key algorithmsHans Nilsson
2017-02-01ssh: minor code unfoldingHans Nilsson
2017-02-01ssh: clearer hash calculationHans Nilsson
2017-02-01ssh: update tests for removed algorithmsHans Nilsson
2017-02-01Merge branch 'josevalim/atu8-chunk/PR-1078/OTP-14178'Björn Gustavsson
* josevalim/atu8-chunk/PR-1078/OTP-14178: Add new AtU8 beam chunk
2017-02-01ssl: Simplify configuration codeIngela Anderton Andin
Use map instead of large tuple, which was not an option when the code was written originally. More simplifications along these lines may be done later to the state record.
2017-02-01ssl: Make sure PEM cache works as intendedIngela Anderton Andin
Move of PEM cache to own process was flawed and not all PEM files where cached properly. We must properly handle both the ditributed and the normal mode of the ssl application.
2017-02-01ssh: remove test timetrap for ssh_kex_group_exchangeHans Nilsson
This kex algorithm is now optimized so a long timetrap is not needed
2017-02-01Merge branch 'maint'Dan Gudmundsson
* maint: Updated OTP version Prepare release Fixed crash when a table was deleted during checkpoint traversal
2017-02-01Merge branch 'maint-19' into maintDan Gudmundsson
* maint-19: Updated OTP version Prepare release Fixed crash when a table was deleted during checkpoint traversal
2017-02-01dialyzer: Increase time limit for testsHans Bolinder
2017-02-01dialyzer: Optimize typesigHans Bolinder
dialyzer_typesig:traverse_scc() now resets the context for each element of the SCC. Since the results of traversing the elements are saved in the 'cmap' table, there is no need to create an SCC conjunction. For huge SCCs this saves quite some time: the lift_lists() function added one element at a time, which made the calculation of deps very slow.
2017-02-01dialyzer: Optimize evaluation of complex codeHans Bolinder
Improve the evaluation of long lists of constraints.
2017-02-01dialyzer: Optimize collection of variablesHans Bolinder
2017-01-31ssh: optimize kex dh_gex using new crypto functionalityHans Nilsson
Conflicts: lib/ssh/src/ssh_connection_handler.erl lib/ssh/src/ssh_transport.erl
2017-01-31crypto: Added optional length to paramlist in generate_keyHans Nilsson
Conflicts: lib/crypto/c_src/crypto.c
2017-01-31ssh,crypto: prepare for releaseHans Nilsson
2017-01-31ssh: better error msg at kex failureHans Nilsson
2017-01-31ssh: removed 'ssh-dss' from default listHans Nilsson
Reason: insecure
2017-01-31ssh: removed 'diffie-hellman-group1-sha1' from default listHans Nilsson
Reason: very insecure
2017-01-31ssh: added stronger diffie-hellman groupsHans Nilsson
diffie-hellman-group16-sha512 diffie-hellman-group18-sha512 diffie-hellman-group14-sha256
2017-01-31ssh: reordered default algorithms listHans Nilsson
2017-01-31Merge branch 'maint'Hans Nilsson
Conflicts: lib/crypto/c_src/crypto.c lib/crypto/src/crypto.erl
2017-01-31Merge branch 'hans/ssh/speed_dh_keygen/OTP-14169' into maintHans Nilsson