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-06Fix comment typoAnders Svensson
2018-09-24Prepare releaseErlang/OTP
2018-09-24ftp, tftp: Version should not be hardcoded in <app>.app.srcIngela Anderton Andin
2018-09-21crypto: Fix accidental mergeHans Nilsson
Commit 8c47a7657d03777a03a6838c7ec937b6347d07f8 accidently reverted the changes in lib/crypto/src/crypto.erl correctly introduced in e8de0736005e91afd992e49f434e08c940eddfa0 This fix re-introduces the correct changes.
2018-09-21Update copyright yearHenrik Nord
2018-09-20ssl: Improve interop checksIngela Anderton Andin
2018-09-20Merge branch 'ingela/ERL-622/fix' into maintIngela Anderton Andin
* ingela/ERL-622/fix: ssl: Move link to correct process
2018-09-20ssl: Move link to correct processIngela Anderton Andin
The link should be between the connection process and the tls_sender process. But the start of the tls_sender process needs to be done by the process that also starts the connection process in order to correctly create the opaque #ssl_socket{}.
2018-09-19Merge branch 'raimo/receive-TOS-TCLASS/ERIERL-187/OTP-15145' into maintRaimo Niskanen
* raimo/receive-TOS-TCLASS/ERIERL-187/OTP-15145: Elaborate the disclaimer for 'pktoptions' Improve platform filter Fix endianness bug for CMSG parsing
2018-09-19Elaborate the disclaimer for 'pktoptions'Raimo Niskanen
2018-09-19Improve platform filterRaimo Niskanen
2018-09-19crypto: Re-work the 'Description' sectionHans Nilsson
Links and contents needs update.
2018-09-18crypto: Add warnings in RefMan and User's Guide for experimental RSA optsHans Nilsson
2018-09-18Merge branch 'maint-20' into maintJohn Högberg
* maint-20: Updated OTP version Update release notes Update version numbers Fix include-path regression caused by dd0a39c
2018-09-18Merge branch 'sverker/erts/robustify-dist-entry-states/OTP-15297' into maintSverker Eriksson
* sverker/erts/robustify-dist-entry-states/OTP-15297: erts: Refactor port dist_entry & conn_id into PRTSD Remove ugly fail case macros Consolidate distribution entry state transitions erts: Fix bug in undocumented system_flag(scheduling_statistics)
2018-09-18Consolidate distribution entry state transitionsSverker Eriksson
* Make connection_id part of the distribution handle as {ConnId, DistEntry} in order for BIFs to verify correct connection. * Make distribution handle opaque to net_kernel. * Remove some unsafe lockless reads of DistEntry.flags * Change state ERTS_DE_STATE_EXITING to be more of an internal state that prevents erts from enqueue, encode or schedule new data to be sent. Otherwise it should behave like ERTS_DE_STATE_CONNECTED.
2018-09-18Merge branch 'siri/cuddle' into maintSiri Hansen
* siri/cuddle: [logger] Skip app level test if app cannot be loaded Terminate nodes after failed test cases in erl_distribution_SUITE Skip performance test on build types other than 'opt'
2018-09-18Merge branch 'hasse/stdlib/binary_in_format/OTP-15304' into maintHans Bolinder
* hasse/stdlib/binary_in_format/OTP-15304: stdlib: Allow lists with binaries in the Format argument
2018-09-18Merge pull request #1956 from erlang/sverker-ets-patch-1Sverker Eriksson
ets:new/2 doc update
2018-09-18crypto: Fix bad return/exception for unsupported cipherHans Nilsson
Accidently f11391139c4165e8541a52d45cd1525343a83927 merged by 0a218353e4360e36bac304b6a4e0effe78d95615 changed the return exception 'notsup' to 'badarg' for unsupported chipher names. This changes that back.
2018-09-18crypto: Use aead functions for CHACHA20_POLY1305Hans Nilsson
This previously implemented cipher is a block cipher despite using chacha. It also uses the EVP_CIPHER_CTX api which now unifies AES_GCM and AES_CCM into one pair of encrypt and decrypt functions. By integrating the existing chacha20_poly1305 code into aead_encrypt and aead_decrypt we could remove two C-functions and simplify both the C-code and the corresponding Erlang code in the CRYPTO application.
2018-09-18crypto: Disable problematic RSA options in LibreSSLHans Nilsson
2018-09-18crypto: Disable bad testsHans Nilsson
They do not test what was intended.
2018-09-17test ets doc updatesverker-ets-patch-1Sverker Eriksson
2018-09-17[logger] Skip app level test if app cannot be loadedSiri Hansen
2018-09-17Merge branch 'raimo/receive-TOS-TCLASS/ERIERL-187/OTP-15145' into maintRaimo Niskanen
* raimo/receive-TOS-TCLASS/ERIERL-187/OTP-15145: Write testcases for recvtos and friends Fix term buffer overflow bug Fix documentation due to feedback Implement socket option recvtos and friends
2018-09-17Write testcases for recvtos and friendsRaimo Niskanen
Use os:type() and os:version() to predict if the individual options are supposed to be supported. We'll see if this holds.
2018-09-17Terminate nodes after failed test cases in erl_distribution_SUITESiri Hansen
A hanging node from this suite can fail later tests, so terminate all nodes() after each test case.
2018-09-17Merge branch 'bmk/snmp/20180907/atl_conversion_failure/OTP-15287' into maintMicael Karlberg
2018-09-17Merge branch 'bmk/snmp/20180910/compiler_version_printout/OTP-15290' into maintMicael Karlberg
2018-09-17[snmp] Updated versionMicael Karlberg
OTP-15290
2018-09-17[snmp|compiler] Spurious version message removedMicael Karlberg
The snmp mib compiler printed an spurious version message if the 'version' option was provided. OTP-15290
2018-09-17[snmp] Add proper versionMicael Karlberg
Also fixed case clause. OTP-15287 (ERIERL-206)
2018-09-17stdlib: Allow lists with binaries in the Format argumentHans Bolinder
As a consequence of some refactoring (OTP-14983, option 'chars_limit'), the Format argument of io_lib:format() no longer accepts binaries in lists in Erlang/OTP 21.0. Note that if Format is not of type io:format(), control sequences in Format are ignored. This can result in unpredictable behaviour if, for example, the output of io_lib:format() is used as Format: if the output happens to be a string(), then control sequences are interpreted, otherwise not. A check that Format is of type io:format() will likely be introduced in Erlang/OTP 22.0. That will probably mean work for some users, but considering how unpredictable io_lib:format() is, we should try to fix that.
2018-09-17Merge branch 'hasse/kernel/adjust_tests' into maintHans Bolinder
* hasse/kernel/adjust_tests: kernel: Adjust disk_log tests kernel: Adjust global testcase
2018-09-17Merge branch 'siri/logger/post-21-continues/OTP-15132' into maintSiri Hansen
* siri/logger/post-21-continues/OTP-15132: [logger] Read config before terminating handler process [error_logger] Handle report_cb with arity 2 [proc_lib] Improve crash reports for single line logging [logger] Include single_line option to report_cb [logger] Check for deadlock when removing filters [logger] Fix spec for handler callbacks to always return ok [logger] Increase timetrap timer for handler_requests_under_load test [logger] Improve code coverage in test [logger] Refactor, and add error detection for configuration [logger] Fix logger_disk_log_h_SUITE:sync and add som debug info [logger] Update doc about file options in logger_std_h [logger] Remove encoding option from logger_formatter Remove outdated reference to error loggers [logger] Refactor some logger internals
2018-09-17Skip performance test on build types other than 'opt'Siri Hansen
2018-09-17Merge branch 'hans/crypto/aes_ccm/OTP-15286' into maintHans Nilsson
* hans/crypto/aes_ccm/OTP-15286: crypto: Fix no_aead test crypto: Document AES_CCM and fix errors in User's Guide The sizes in the Algorithms chapter for aes_gcm was wrong or incomplete. crypto: AES_CCM test case crypto: All aes_ccm vectors (including unused) This directory contains all aes_ccm vectors. However, effort is needed to include them in the test suite so they are left for later. crypto: Add AES_CCM crypto Will be increase interoperability of future SSL application versions. crypto: Generalize aes_gcm_(de|en)crypt nifs
2018-09-14[logger] Read config before terminating handler processSiri Hansen
When a handler process is terminated due to overload, it reads its configuration from the configuration database, so it can be restarted with the same configuration after a small delay. This was earlier done in a different process, which was spawned off from the terminate function. This caused a race condition, where in some cases, the configuration was already removed before it could be read. The reason for spawning off a process, is to avoid a deadlock due to the call to logger:remove_handler/1. This commit moves the call to logger:get_handler_config/1 back to the handler process - to ensure that the data is still there, but keeps the call to logger:remove_handler/1 in the spawned off process - to avoid deadlock.
2018-09-14crypto: Fix no_aead testHans Nilsson
2018-09-14crypto: Document AES_CCM and fix errors in User's GuideHans Nilsson
The sizes in the Algorithms chapter for aes_gcm was wrong or incomplete.
2018-09-14crypto: AES_CCM test caseHans Nilsson
2018-09-14crypto: All aes_ccm vectors (including unused)Hans Nilsson
This directory contains all aes_ccm vectors. However, effort is needed to include them in the test suite so they are left for later. The aes_ccm cipher is already covered by the vectors in crypt_SUITE_data Source: https://csrc.nist.gov/projects/cryptographic-algorithm-validation-program
2018-09-14crypto: Add AES_CCM cryptoHans Nilsson
Will be increase interoperability of future SSL application versions.
2018-09-14crypto: Generalize aes_gcm_(de|en)crypt nifsHans Nilsson
The EVP_CIPHER_CTX interface aims at enabling using the same code for many ciphers. Since we are going to add aes_ccm which is similar to aes_gcm, this commit is a preparation. It creates the aead_(de|en)crypt nifs and removes the old ones.
2018-09-14crypto: Add forgotten #ifdefHans Nilsson
MAY prevent compilation errors if the symbol is configured to not be defined in an OpenSSL version where it exists by default.
2018-09-14crypto: Change condition for RSA_PKCS1_PSSHans Nilsson
Trubble on a couple of cross-building machines