aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2018-06-04public_key: Matchfun for HTTPSHans Nilsson
2018-06-04Merge branch 'hasse/syntax_tools/fix_map_type/OTP-15098/ERIERL-177'Hans Bolinder
* hasse/syntax_tools/fix_map_type/OTP-15098/ERIERL-177: syntax_tools: Fix a bug regarding reverting map types.
2018-06-04Fix *case bugs for binariesDan Gudmundsson
Bad optimizing code introduced in 5c51e87bee9d
2018-06-04sys_core_fold: Fix name capture problemBjörn Gustavsson
sys_core_fold could do unsafe transformations on the code from the old inliner (invoked using the compiler option `{inline,[{F/A}]}` to request inlining of specific functions). To explain the bug, let's first look at an example that sys_core_fold handles correctly. Consider this code: 'foo'/2 = fun (Arg1,Arg2) -> let <B> = Arg2 in let <A,B> = <B,Arg1> in {A,B} In this example, the lets can be completely eliminated, since the arguments for the lets are variables (as opposed to expressions). Since the variable B is rebound in the inner let, `sys_core_fold` must take special care when doing the substitutions. Here is the correct result: 'foo'/2 = fun (Arg1, Arg2) -> {Arg2,Arg1} Consider a slight modifictation of the example: 'bar'/2 = fun (Arg1,Arg2) -> let <B> = [Arg2] in let <A,B> = <B,[Arg1]> in {A,B} Here some of the arguments for the lets are expressions, so the lets must be kept. sys_core_fold does not handle this example correctly: 'bar'/2 = fun (Arg1,Arg2) -> let <B> = [Arg2] in let <B> = [Arg1] in {B,B} In the inner let, the variable A has been eliminated and replaced with the variable B in the body (the first B in the tuple). Since the B in the outer let is never used, the outer let will be eliminated, giving: 'bar'/2 = fun (Arg1,Arg2) -> let <B> = [Arg1] in {B,B} To handle this example correctly, sys_core_fold must rename the variable B in the inner let like this to avoid capturing B: 'bar'/2 = fun (Arg1,Arg2) -> let <B> = [Arg2] in let <NewName> = [Arg1] in {B,NewName} (Note: The `v3_kernel` pass alreday handles those examples correctly in case `sys_core_fold` has been disabled.)
2018-06-04sys_core_inline: Avoid spurious warningsBjörn Gustavsson
Add more `compiler_generated` attributes to avoid spurious compiler warnings triggered by the bug fix in the next commit.
2018-06-04Merge branch 'lukas/stdlib/fix-io_o_request_raise/OTP-15101'Lukas Larsson
* lukas/stdlib/fix-io_o_request_raise/OTP-15101: stdlib: Fix io:put_chars/2 error
2018-06-02Fix typo in inet docArtur Cygan
2018-06-01Merge branch 'hans/ssh/channel_polish/OTP-15083'Hans Nilsson
* hans/ssh/channel_polish/OTP-15083: ssh: Better crash report for bad channel callback module
2018-06-01Merge branch 'hans/ssh/channel_testsuite/OTP-15051'Hans Nilsson
* hans/ssh/channel_testsuite/OTP-15051: ssh: Channel testsuite
2018-06-01Merge branch 'hans/ssh/rm_depr'Hans Nilsson
* hans/ssh/rm_depr: ssh: Change get_stacktrace
2018-05-30Update gen_event.xmlArtur Cygan
Missing space
2018-05-30syntax_tools: Fix a bug regarding reverting map types.Hans Bolinder
2018-05-30ssh: Channel testsuiteHans Nilsson
2018-05-30ssh: Better crash report for bad channel callback moduleHans Nilsson
2018-05-30stdlib: Fix io:put_chars/2 errorLukas Larsson
Before this fix an error in io:put_chars/2 would signal a fault in io:put_chars/3 because of the way that raise is used and there is no such function.
2018-05-30ssh: Change get_stacktraceHans Nilsson
2018-05-30stdlib: Add links to RFC 3339 in calendar(3)Hans Bolinder
2018-05-29Revert "Prepare release"Henrik
This reverts commit fd8e49b5bddceaae803670121b603b5eee8c5c08.
2018-05-28kernel: Improve contractsHans Bolinder
2018-05-28stdlib: Improve a contractHans Bolinder
2018-05-28compiler: Improve a contractHans Bolinder
2018-05-25Prepare releaseErlang/OTP
2018-05-25dialyzer: Refine the test for overspecified functionsHans Bolinder
The -Woverspecs (-Wspecdiffs) option generates warnings in a few more cases. The refinement is analogous to the test that -Wunderspecs already does: it checks if the contract has nothing in common with some element (see erl_types:t_elements/1) of the success typing.
2018-05-24Merge branch 'siri/logger-fix'Siri Hansen
* siri/logger-fix: Update documentation of logger and error_logger Change type name logger:log() to logger:log_event() Update preloaded Update primary bootstrap Rename module logger_simple to logger_simple_h Change env var logger_log_progress to logger_progress_reports Remove HandlerId from handler callback functions and add it to Config Change handler id for sasl handler from sasl_h to sasl Change Compare parameter to logger_filters:domain/2 Update Logger documentation Rename reset_module_level to unset_module_level Allow chars_limit to limit strings Add logger:update_formatter_config/2,3 Set legacy_header=true for kernel's default handler only Improve documentation of logger and error_logger Use system_time instead of monotonic_time as timestamp in logger
2018-05-24Merge pull request #1816 from cspiegel/netns-bind-device-typespecsRaimo Niskanen
OTP-14359: Add typespecs for netns and bind_to_device options
2018-05-24Merge pull request #1821 from IngelaAndin/ingela/ssl/DTLS-transparancyIngela Andin
ssl: Generalize DTLS packet multiplexing OTP-14888
2018-05-23Update logger.xmlKenneth Lundin
corrected spelling reffering -> referring
2018-05-23ssl: Generalize DTLS packet multiplexingIngela Anderton Andin
We want to prepare the code for more advanced DTLS usage and possibility to run over SCTP. First assumption was that the demultiplexer process "dtls listener" was needed for UDP only and SCTP could be made more TLS like. However the assumption seems not to hold. This commit prepares for customization possibilities.
2018-05-23Update documentation of logger and error_loggerSiri Hansen
2018-05-23Change type name logger:log() to logger:log_event()Siri Hansen
2018-05-23Rename module logger_simple to logger_simple_hSiri Hansen
Also, change HandlerId from logger_simple to simple.
2018-05-23Change env var logger_log_progress to logger_progress_reportsSiri Hansen
2018-05-23Remove HandlerId from handler callback functions and add it to ConfigSiri Hansen
2018-05-23Change handler id for sasl handler from sasl_h to saslSiri Hansen
2018-05-23Change Compare parameter to logger_filters:domain/2Siri Hansen
This configuration option has been removed. logger_formatter will read the utc_log configuration parameter and format the timestamp accordingly.
2018-05-23Update Logger documentationSiri Hansen
2018-05-23Rename reset_module_level to unset_module_levelSiri Hansen
2018-05-23Allow chars_limit to limit stringsSiri Hansen
Earlier, only reports and {Format,Args} was limited by chars_limit, and max_size was needed to limit the size of a string.
2018-05-23Add logger:update_formatter_config/2,3Siri Hansen
2018-05-23Set legacy_header=true for kernel's default handler onlySiri Hansen
2018-05-23Improve documentation of logger and error_loggerSiri Hansen
2018-05-23Use system_time instead of monotonic_time as timestamp in loggerSiri Hansen
2018-05-23Merge branch 'ingela/gen-fsm-deprecation'Ingela Anderton Andin
* ingela/gen-fsm-deprecation: gen_fsm: should be deprecated eventually
2018-05-23Merge pull request #1788 from max-au/pkcs8_private_key_supportIngela Andin
Compleate PKCS-8 encoding support and enhance the decoding of 'PrivateKeyInfo' to conform to the rest of Erlang public_key API. OTP-15093
2018-05-23Merge branch 'lukas/kernel/logger-config/OTP-13295'Lukas Larsson
* lukas/kernel/logger-config/OTP-13295: Add Action=differs to logger_filters:domain/2 Format logger timestamps according to RFC3339 Add update_logger_config/1 and update_handler_config/2 to logger Hide handlers field in logger config map from the API Improve santiy check of formatter config Fix error_logger:tty/1 to turn on/off tty logging Add filter to sasl_h which stops log events with remote gl Remove logger env vars for format_depth, max_size and utc Fix some link errors in logger documentation kernel: Make all handler callbacks not block logger logger: Rework configuration of logger
2018-05-23Merge branch 'ingela/ssl/openssl-test-cuddle'Ingela Anderton Andin
* ingela/ssl/openssl-test-cuddle: ssl: anon test should use dh or ecdh anon keyexchange ssl: Cuddle no delivery guarantee at application level ssl: Cuddle timeout ssl: Correct option handling to OpenSSL
2018-05-22inets: Gracefully handle bad headersIngela Anderton Andin
max_headers operated on the individual header length instead of the total length of all headers. Also headers with empty keys are now discarded.
2018-05-22Merge branch 'lars/erl_docgen/fix-xsl-makefile/OTP-15091'Lars Thorsen
* lars/erl_docgen/fix-xsl-makefile/OTP-15091: [erl_docgen] Update version [erl_docgen] Add missing file db_funcs.xsl to file list
2018-05-22Merge branch 'hasse/stdlib/chars_limit_io/OTP-14983'Hans Bolinder
* hasse/stdlib/chars_limit_io/OTP-14983: stdlib: Document details of fwrite/3 option chars_limit
2018-05-22ERL-629 Do not free() module buffer until it has been usedJesper Eskilson