aboutsummaryrefslogtreecommitdiffstats
path: root/lib
AgeCommit message (Collapse)Author
2019-03-06Add diameter_dist for ready spawn_opt callbacksAnders Svensson
That is, of functions that can be configured as spawn_opt MFAs in transport configuration. This commits adds the spawn_local described in the parent commit, and a route_session that assumes that the local node initiates all sessions with Session-Id returned by diameter:session_id/1, and handles incoming requests on the node on which the id in question was returned, diameter:session_id/1 using node() as optional value in the Session-Id format.
2019-03-06Tweak/document request handler callbackAnders Svensson
The possibility of configuring an MFA as spawn_opt was added in commit fd285079, the callback being passed an arity-0 fun to be applied in an appropriate handler process. Replace the fun by a tuple to be passed to diameter_traffic:request/1, to avoid passing funs between nodes when handler processes are remote. A list-valued spawn_opt is now equivalent to the following configured as {spawn_opt, {Mod, spawn_local, [Opts]}}. spawn_local(ReqT, Opts) -> spawn_opt(diameter_traffic, request, [ReqT], Opts). ReqT is passed by diameter and contains information that the callback may want to decide where to handle the request in question (which wasn't accessible with a fun), but this information isn't exposed in a documented way. The intention is instead to add an own callback implementation to make use of the information. Note that application lookup now takes place in the watchdog process in both the list-valued (or no configuration) and mfa-valued cases. Whether this is good, bad, or (probably) inconsequential remains to be seen.
2019-03-06Document acknowledgements in transport interfaceAnders Svensson
This is the {diameter, ack} message from a transport process to its parent that requests that every Diameter request passed to the parent be matched by a incoming send message, the atom false replacing a message() in the case that the request is unanswered, allowing the transport to keep track of the number of outstanding requests. These were added in commit ca09cf7b, and are used to implement the message_cb config in diameter_tcp/sctp, documented in commit cefcaa5c. This commit documents the interface, to make it available to other transport implementations.
2019-03-06Merge branch 'maint-21' into maintRickard Green
* maint-21: Updated OTP version Prepare release
2019-03-06Merge branch 'lukas/erts/fix_inet_buffer_auto_adjust/OTP-15651/OTP-15652' ↵Rickard Green
into maint * lukas/erts/fix_inet_buffer_auto_adjust/OTP-15651/OTP-15652: kernel runtime dependency to erts erts: Add yield via timeout to inet read_packet erts: Don't increase buffer when sctp sndbuf is set erts: Only change inet buffer if not set
2019-03-06[logger] Add better control of file modes in logger_std_hSiri Hansen
OTP-15602 It is allowed to set file modes for the handler to use when opening its log file. The given modes were earlier accepted without any checks, which could make the handler behave unexpectedly. This commit makes sure that * if none of write, append or exclusive is given, then append is added * if raw is not given, it is added * if delayed_write or {delayed_write,_,_} is not given, then delayed_write is added
2019-03-06Update appup for diameter 2.2 in OTP 21.3Anders Svensson
2019-03-06Fix comment typoAnders Svensson
2019-03-05Prepare releaseErlang/OTP
2019-03-05Merge branch 'lukas/erts/fix_inet_buffer_auto_adjust/OTP-15651/OTP-15652' ↵Erlang/OTP
into maint-21 * lukas/erts/fix_inet_buffer_auto_adjust/OTP-15651/OTP-15652: kernel runtime dependency to erts erts: Add yield via timeout to inet read_packet erts: Don't increase buffer when sctp sndbuf is set erts: Only change inet buffer if not set
2019-03-05Merge branch 'rickard/make-fixes-21/OTP-15551' into maint-21Erlang/OTP
* rickard/make-fixes-21/OTP-15551: Fix install phase in build system
2019-03-05ftp: Fix timing bugIngela Anderton Andin
Change code to not send a message to itself as this allows other messages to come in between. A change in TLS code made this scenario more likely to happen, and the symptom is that the ftp:chunk_recv/1 function hangs.
2019-03-05kernel runtime dependency to ertsRickard Green
2019-03-05stdlib: Correct and optimize pretty printing of stringsHans Bolinder
Avoid traversing all of the list/string when only part of it will be used. An explicit check that the list is flat is needed since string:slice() accepts deep lists and more.
2019-03-04Merge branch 'rickard/make-fixes-21/OTP-15551' into maintRickard Green
* rickard/make-fixes-21/OTP-15551: Fix install phase in build system
2019-03-04Merge 'rickard/make-fixes-20/OTP-15551' into 'rickard/make-fixes-21/OTP-15551'Rickard Green
* rickard/make-fixes-20/OTP-15551: Fix install phase in build system - Install of (mainly) documentation caused rebuild and modification of the source tree even when the source previously had been built. Also otp_patch_apply modified the source tree when updating documentation. This messed up the installation if installation was performed by another user than the user that originally built the system which not is an uncommon scenario. - Some documentation was installed by copying files instead of installing the files which caused faulty access rights on files. - The documentation was not properly updated when applying a patch using otp_patch_apply.
2019-03-04Merge 'rickard/make-fixes-19/OTP-15551' into 'rickard/make-fixes-20/OTP-15551'Rickard Green
* rickard/make-fixes-19/OTP-15551: Fix install phase in build system - Install of (mainly) documentation caused rebuild and modification of the source tree even when the source previously had been built. Also otp_patch_apply modified the source tree when updating documentation. This messed up the installation if installation was performed by another user than the user that originally built the system which not is an uncommon scenario. - Some documentation was installed by copying files instead of installing the files which caused faulty access rights on files. - The documentation was not properly updated when applying a patch using otp_patch_apply.
2019-03-04Merge 'rickard/make-fixes-18/OTP-15551' into 'rickard/make-fixes-19/OTP-15551'Rickard Green
* rickard/make-fixes-18/OTP-15551: Fix install phase in build system - Install of (mainly) documentation caused rebuild and modification of the source tree even when the source previously had been built. Also otp_patch_apply modified the source tree when updating documentation. This messed up the installation if installation was performed by another user than the user that originally built the system which not is an uncommon scenario. - Some documentation was installed by copying files instead of installing the files which caused faulty access rights on files. - The documentation was not properly updated when applying a patch using otp_patch_apply.
2019-03-04Merge 'rickard/make-fixes-17/OTP-15551' into 'rickard/make-fixes-18/OTP-15551'Rickard Green
* rickard/make-fixes-17/OTP-15551: Fix install phase in build system - Install of (mainly) documentation caused rebuild and modification of the source tree even when the source previously had been built. Also otp_patch_apply modified the source tree when updating documentation. This messed up the installation if installation was performed by another user than the user that originally built the system which not is an uncommon scenario. - Some documentation was installed by copying files instead of installing the files which caused faulty access rights on files. - The documentation was not properly updated when applying a patch using otp_patch_apply.
2019-03-04Fix install phase in build systemRickard Green
- Install of (mainly) documentation caused rebuild and modification of the source tree even when the source previously had been built. Also otp_patch_apply modified the source tree when updating documentation. This messed up the installation if installation was performed by another user than the user that originally built the system which not is an uncommon scenario. - Some documentation was installed by copying files instead of installing the files which caused faulty access rights on files. - The documentation was not properly updated when applying a patch using otp_patch_apply.
2019-03-04Merge PR-2160 'sverker/erl_docgen/prettify-cfunc-docs/OTP-15637' into maintSverker Eriksson
* sverker/erl_docgen/prettify-cfunc-docs/OTP-15637: erl_docgen: Prettify c-function argument lists erl_docgen: Indent c-function line continuations
2019-03-04Merge branch 'inet_db-startup-fix' into maintRaimo Niskanen
* inet_db-startup-fix: Set early enough start time inet_db: fix a bug when .hosts file is never reloaded
2019-03-04Set early enough start timeRaimo Niskanen
Adhering to the review in GitHub PR #2066: The start time should be set so the resolver file can get re-read as soon as possible to not get the whole timeout time before detecting that the resolver file has been created.
2019-03-04Merge branch 'hasse/stdlib/optimize_calendar_rfc3339/OTP-15630' into maintHans Bolinder
* hasse/stdlib/optimize_calendar_rfc3339/OTP-15630: stdlib: Optimize calendar:system_time_to_rfc3339()
2019-03-04Merge branch 'siri/logger/os-timestamp/OTP-15625' into maintSiri Hansen
* siri/logger/os-timestamp/OTP-15625: Update preloaded [logger] Change timestamp from erlang:system_time to os:system_time
2019-03-04Merge branch 'essen/ssl-active-n' into maintRaimo Niskanen
* essen/ssl-active-n: fixup! ssl: Add support for {active,N} ssl: Use common fonction to update {active,N} ssl: Document {active,N} ssl: Add support for {active,N} Conflicts: lib/ssl/src/ssl.erl
2019-03-04Merge pull request #2164 from josevalim/jv-set-env-maintSiri Hansen
Add application:set_env/1 and application:set_env/2 OTP-15642
2019-03-01Add application:set_env/1 and application:set_env/2José Valim
It is equivalent to calling application:set_env/4 on each application individually, except it is more efficient. When given duplicate apps or duplicate keys, set_env/1 and set_env/2 will warn. The warning will also be emitted during boot: $ erl -config dupkeys.config -s erlang halt 2019-02-27 11:16:02.653100 application: kernel; duplicate parameter: key1 =WARNING REPORT==== 27-Feb-2019::11:16:02.653100 === application: kernel; duplicate parameter: key1 $ erl -config dupapps.config -s erlang halt 2019-02-27 11:16:02.653100 duplicate application config: kernel =WARNING REPORT==== 27-Feb-2019::11:16:02.653100 === duplicate application config: kernel Prior to this patch, the behaviour was unspecified, and duplicate keys and duplicate apps would behave different depending on the amount of config, the name of the config files, and how those configs would be listed. The goal is to raise an error in the future.
2019-02-28Merge branch 'hans/crypto/bad_ret_fips/OTP-15634' into maintHans Nilsson
* hans/crypto/bad_ret_fips/OTP-15634: crypto: Fix bad return value for aes_cfb8 and aes_cfb128 if FIPS_SUPPORT crypto: Fix bad return code for eddsa if FIPS_SUPPORT
2019-02-27crypto: Remove assertionHans Nilsson
This is not needed any more
2019-02-27crypto: Fail if FIPS mode is present but can't be enabledHans Nilsson
2019-02-27crypto: Remove blowfish_SUITE.Hans Nilsson
The tests are a subset of the newer and larger crypto_SUITE.
2019-02-27crypto: Update crypto_SUITE checking of FIPSHans Nilsson
The testing for not supported were missing in some cases
2019-02-27Merge branch 'hasse/edoc/helpful_message/OTP-15605/ERL-841' into maintHans Bolinder
* hasse/edoc/helpful_message/OTP-15605/ERL-841: edoc: Print a helpful message if reading source file fails
2019-02-26erl_docgen: Prettify c-function argument listsSverker Eriksson
with line breaks before each argument. Q: Why the 'APPLY' hack to "title_link"? A: I found no way to make a <br> survive when passed through <xsl:with-param>.
2019-02-26crypto: Fix bad return value for aes_cfb8 and aes_cfb128 if FIPS_SUPPORTHans Nilsson
2019-02-25crypto: Fix bad return code for eddsa if FIPS_SUPPORTHans Nilsson
2019-02-25Merge branch 'dgud/mnesia/overload-raise/ERIERL-310/OTP-15619' into maintDan Gudmundsson
* dgud/mnesia/overload-raise/ERIERL-310/OTP-15619: mnesia: Avoid raise in overload reports
2019-02-25Merge branch 'dialyzer/hasse/fix_bug_erl_bif_types/OTP-15570' into maintHans Bolinder
* dialyzer/hasse/fix_bug_erl_bif_types/OTP-15570: dialyzer: Fix maps as parameter of opaque types dialyzer: Fix key check of lists:key{search,member,find}()
2019-02-22erl_docgen: Indent c-function line continuationsSverker Eriksson
2019-02-22[logger] Refactor logger_std_hSiri Hansen
2019-02-22[logger] Change timestamp from erlang:system_time to os:system_timeSiri Hansen
This is to align the timestamps with external logs.
2019-02-22Clarify the atomic guarantees for ets:update_counter()Björn Gustavsson
The phrasing "no process can access the ETS table in the middle of the operation" implies that the entire table is looked during the operation, which is not true if `write_concurrency` is enabled.
2019-02-22Merge pull request #2148 from llelf/sed-otp_buildLukas Larsson
Fix a particular sed invocation in otp_build
2019-02-22Merge branch ssl-active-n of essen:erlang/otp into essen/ssl-active-nRaimo Niskanen
* essen:erlang/otp: fixup! ssl: Add support for {active,N} ssl: Use common fonction to update {active,N} ssl: Document {active,N} ssl: Add support for {active,N} Conflicts: lib/ssl/src/ssl_connection.erl
2019-02-22Merge branch 'ingela/diameter/ssl-dialyzer-types' into maintIngela Anderton Andin
* ingela/diameter/ssl-dialyzer-types: diameter: Update to use exported types
2019-02-22Merge branch 'ingela/ssl/doc-enhancements' into maintIngela Anderton Andin
* ingela/ssl/doc-enhancements: ssl: Enhance documentation after "use-spec-rewrite"
2019-02-22ssl: Enhance documentation after "use-spec-rewrite"Ingela Anderton Andin
2019-02-22mnesia: Avoid raise in overload reportsDan Gudmundsson
Several processes could invoke adjust_log_writes, which could cause overload reports.
2019-02-21[logger] Make sure log file is re-opened with configured file optionsSiri Hansen
Earlier, if the log file had to be re-opened, e.g. due to it being renamed or removed, it would always be opened with the default file options, even if other options were set in the configuration. Now, the configured options are used, except that 'append' is always added and 'exclusive' is always removed.