aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2016-04-25Merge branch 'raimo/new-gen-state-machine/OTP-13065'Raimo Niskanen
* raimo/new-gen-state-machine/OTP-13065: (52 commits) Add section on state filtering Promote gen_statem over gen_fsm Modify code_change/4 to return CallbackMode Use ?NAME macro in examples Introduce Fred Herbert suggested additions Introduce corrections from Fred Hebert and Ingela Use .png pictures instead of .gif Write Design Principles chapter Fix missing short forms for event timeout Do more intricate Fred Hebert doc changes Change Caller -> From as suggested by Fred Hebert Do documentation improvements from Fred Hebert Fix broken documenation reference Rename state_timeout -> event_timeout Fix most of the system docs and emacs mode Change code_change/4 to {ok,State,Data} Fixup sharpened test suite Sharpen test suite Remove the remove_event action and all alike Relax caller() type check and cleanup ... Conflicts: lib/stdlib/src/gen.erl lib/stdlib/src/gen_event.erl lib/stdlib/src/gen_fsm.erl lib/stdlib/src/gen_server.erl lib/stdlib/test/error_logger_forwarder.erl
2016-04-25Merge branch 'egil/runtime_tools/modernize-tests'Björn-Egil Dahlberg
* egil/runtime_tools/modernize-tests: Eliminate use of doc and suite clauses Replace ?t with test_server Replace use of test_server:format/2 with io:format/2 Eliminate use of test_server:fail/0,1 Eliminate use of ?config() macro Modernize use of timetraps Remove ?line macros
2016-04-25Merge branch 'ingela/master/ssl/3-4-tuples-cipher-suites-mix/OTP-13511'Ingela Anderton Andin
* ingela/master/ssl/3-4-tuples-cipher-suites-mix/OTP-13511: ssl: Corrections to cipher suite handling
2016-04-25Merge branch 'ingela/master/inets/http_server-ssl-peer-cert/OTP-13510'Ingela Anderton Andin
* ingela/master/inets/http_server-ssl-peer-cert/OTP-13510: inets: Add peer_cert to ESI environment
2016-04-25inets: Add peer_cert to ESI environmentIngela Anderton Andin
2016-04-25Add section on state filteringRaimo Niskanen
Misc documentation fixes.
2016-04-25ssl: Corrections to cipher suite handlingIngela Anderton Andin
It was not possible to mix ssl 3 and 4 tuple cipher suites in the ciphers option. Some ssl_cipher:suite/1 clauses wrongly returned 3-tuples that should have been 4 tuples Conflicts: lib/ssl/test/ssl_basic_SUITE.erl
2016-04-25Merge branch 'ingela/otp/deprecated-rand_bytes/OTP-13214'Ingela Anderton Andin
* ingela/otp/deprecated-rand_bytes/OTP-13214: stdlib: Remove use of crypto:rand_bytes/1 compiler: Remove use of crypto:rand_bytes/1 ssh: Remove use of crypto:rand_bytes/1 public_key: Remove use of crypto:rand_bytes/1 ssl: Remove use of crypto:rand_bytes/1 crypto: Deprecate rand_bytes/1
2016-04-25stdlib: Remove use of crypto:rand_bytes/1Ingela Anderton Andin
The use case is not cryptographical but we want to compare Erlang implementation to c implementation so use crypto:strong_rand_bytes anyway.
2016-04-25compiler: Remove use of crypto:rand_bytes/1Ingela Anderton Andin
Use case in compile.erl is cryptographical so use crypto:strong_rand_bytes/1 instead. Use case in test suite is not cryptographical so use other test instead.
2016-04-25ssh: Remove use of crypto:rand_bytes/1Ingela Anderton Andin
ssh use cases are cryptographical so use crypto:strong_rand_bytes/1 instead.
2016-04-25public_key: Remove use of crypto:rand_bytes/1Ingela Anderton Andin
public_key use cases are cryptographical so use crypto:strong_rand_bytes/1 instead.
2016-04-25ssl: Remove use of crypto:rand_bytes/1Ingela Anderton Andin
ssl already used crypto:strong_rand_bytes/1 for most operations as its use cases are mostly cryptographical. Now crypto:strong_rand_bytes/1 will be used everywhere. However crypto:rand_bytes/1 was used as fallback if crypto:strong_rand_bytes/1 throws low_entropy, this will no longer be the case. This is a potential incompatibility. The fallback was introduced a long time ago for interoperability reasons. Now days this should not be a problem, and if it is, the security compromise is not acceptable anyway.
2016-04-25crypto: Deprecate rand_bytes/1Ingela Anderton Andin
OpenSSL has deprecated the function RAND_pseudo_bytes used by crypto:rand_bytes/1, so this function is now deprecated in OTP too. rand_bytes/3 also used this function, but was not documented so we can remove it right away. This commit also removes the fallback in generate_key to use rand_bytes/1 if strong_rand_bytes/1 throws low entropy. This is a potential incompatibility but we think it is desirable as crypto should provide cryptographically secure functions.
2016-04-25Update primary bootstrapBjörn Gustavsson
2016-04-25Merge branch 'bjorn/compiler/remove-timestamps/OTP-13504'Björn Gustavsson
* bjorn/compiler/remove-timestamps/OTP-13504: Remove timestamps from BEAM files
2016-04-25Remove timestamps from BEAM filesBjörn Gustavsson
As long as anyone can remember, the compilation time has been included in BEAM files (and can be retrieved using Mod:module_info(compile)). The timestamp has caused problems for anyone using tools such as 'cmp' to compare BEAM files or for package managers: http://erlang.org/pipermail/erlang-questions/2016-April/088717.html Rarely has the timestamp been of any use. Yes, sometimes the timestamp could help to figuring out which version of a module was used, but nowadays a better way is to use Mod:module_info(md5). To get rid of this problem, remove the timestamp from BEAM files in OTP 19. Don't add an option to include timestamps. Utilities that depend on the timestamp will need to be modified. For example: http://erlang.org/pipermail/erlang-questions/2016-April/088730.html Instead of using the compilation time, the MD5 for the BEAM code can be used. Example: 1> c:module_info(md5). <<79,26,188,243,168,60,58,45,34,69,19,222,138,190,214,118>> 2> beam_lib:md5(code:which(c)). {ok,{c,<<79,26,188,243,168,60,58,45,34,69,19,222,138,190,214,118>>}} 3>
2016-04-25Update primary bootstrapBjörn Gustavsson
2016-04-25Merge branch 'bjorn/compiler/core-erlang-fixes'Björn Gustavsson
* bjorn/compiler/core-erlang-fixes: Add compile_SUITE:core_roundtrip/1 v3_core: Construct {badmap,Map} as literal if possible core_pp: Print {file,File} annotations more compactly core_pp: Add format_all/1 that prints all annotations core_parse: Don't sort map patterns core_parse: Handle annotations in more contexts cerl_trees: Correct handling of maps in label/2 cerl: Add missing API function is_c_map_pattern/1
2016-04-22Eliminate use of doc and suite clausesBjörn-Egil Dahlberg
Those clause are obsolete and never used by common_test.
2016-04-22Replace ?t with test_serverBjörn-Egil Dahlberg
The macro ?t is deprecated. Replace its use with 'test_server'.
2016-04-22Replace use of test_server:format/2 with io:format/2Björn-Egil Dahlberg
2016-04-22Eliminate use of test_server:fail/0,1Björn-Egil Dahlberg
2016-04-22Promote gen_statem over gen_fsmRaimo Niskanen
2016-04-22Eliminate use of ?config() macroBjörn-Egil Dahlberg
2016-04-22Modernize use of timetrapsBjörn-Egil Dahlberg
2016-04-22Remove ?line macrosBjörn-Egil Dahlberg
2016-04-22Merge branch 'egil/fix-lock-order-trace-status'Björn-Egil Dahlberg
* egil/fix-lock-order-trace-status: erts: Fix lock-order trace status
2016-04-22Merge branch 'egil/erts/fix-copy-share-heap'Björn-Egil Dahlberg
* egil/erts/fix-copy-share-heap: erts: Fix comments erts: Fix copy share with onheap messages
2016-04-22erts: Fix commentsBjörn-Egil Dahlberg
2016-04-22Merge branch 'dgud/test-cuddle'Dan Gudmundsson
* dgud/test-cuddle: Windows: Skip tests that requires admin privileges observer: add debug info to ttb_SUITE mnesia: add debug printouts
2016-04-22Windows: Skip tests that requires admin privilegesDan Gudmundsson
Windows 8 and later have stronger admin checks which requires erlang to run in privileged shells, ignore for now.
2016-04-22observer: add debug info to ttb_SUITEDan Gudmundsson
2016-04-22mnesia: add debug printoutsDan Gudmundsson
and increase some timeouts for very slow machines (arm)
2016-04-22Merge branch 'dgud/wx/new-func'Dan Gudmundsson
* dgud/wx/new-func: wx: add object set/check funcions
2016-04-22wx: add object set/check funcionsDan Gudmundsson
Needed functionality, to avoid abusing opauqe objects.
2016-04-22Merge branch 'dgud/wx/show_modal_callback_hangs/OTP-13491'Dan Gudmundsson
* dgud/wx/show_modal_callback_hangs/OTP-13491: wx test: Setup timetraps wx: Fix callback problems
2016-04-22wx test: Setup timetrapsDan Gudmundsson
and avoid large logs when tests succed
2016-04-22wx: Fix callback problemsDan Gudmundsson
Commands could be executed twice, if the command was dispatched from a callback and caused a recursive invocation of command loop. Solution is to mark op as -1 before calling wxWidgets. Also commands could be missed when idle processing was done inside while executing a recursive callback, solved be always resetting peak index after idle processing is done.
2016-04-22Merge branch 'richcarl/assert-shut-up-dialyzer/PR-1002'Hans Bolinder
* richcarl/assert-shut-up-dialyzer/PR-1002: eunit: Remove -dialyzer attributes Avoid dialyzer warnings for unreachable code in asserts Make assert macro implementations uniform
2016-04-21erts: Fix copy share with onheap messagesBjörn-Egil Dahlberg
2016-04-21Modify code_change/4 to return CallbackModeRaimo Niskanen
Also move check of non-atom states in callback mode state_functions to where the state function is called. This gives homogenous diagnostics for state functions, code_change/4 and system_replace_state StateFun. Irregularities pointed out by James Fish.
2016-04-21erts: Fix lock-order trace statusBjörn-Egil Dahlberg
2016-04-21eunit: Remove -dialyzer attributesHans Bolinder
2016-04-21Add compile_SUITE:core_roundtrip/1Björn Gustavsson
When debugging, it is important that we can trust the Core Erlang pretty printer and Core Erlang parser.
2016-04-21v3_core: Construct {badmap,Map} as literal if possibleBjörn Gustavsson
2016-04-21core_pp: Print {file,File} annotations more compactlyBjörn Gustavsson
This will speed up test cases that print all annotations.
2016-04-21core_pp: Add format_all/1 that prints all annotationsBjörn Gustavsson
2016-04-21core_parse: Don't sort map patternsBjörn Gustavsson
If we pretty print to a file and read it back in, we expect to get the same cerl data structures back.
2016-04-21core_parse: Handle annotations in more contextsBjörn Gustavsson
Annotations would not be accepted for all constructs.