aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2017-03-29Demonstrate the bug with AES CFB 128 encryptionKelly McLaughlin
Demonstrate a bug with AES CFB 128 for certain key sizes introduced with the Erlang 19.0 release. The code in the block_crypt_nif function in the crypto.c source file incorrectly calls aes_cfb_8_crypt when the specified cipher is aes_cfb8 or aes_cfb128 and the key size is 24 or 32. The aes_cfb_8_crypt function calls the AES_cfb8_encrypt function from the openssl interface, but this is incorrect when the cipher is aes_cfb128. Unfortunately the test cases in the crypto test suite are insufficient to detect an issue like this because it exercises the encryption and decryption roundtrip using the same incorrect underlying function. The problem was observed when trying to update an application to Erlang 19 that attempted to decrypt data that was encrypted using aes_cfb128 by another source. In this commit I altered the crypto test suite to provide a demonstration of this problem.
2017-03-14Updated OTP versionOTP-19.3Erlang/OTP
2017-03-14Prepare releaseErlang/OTP
2017-03-13Fix xml warnings in old release notesRickard Green
2017-03-10Update preloaded modulesRickard Green
2017-03-10Update primary bootstrapRickard Green
2017-03-10Update copyright yearRickard Green
2017-03-09Merge branch 'hans/ssh/update_app_file' into maintHans Nilsson
2017-03-09ssh: Update .app fileHans Nilsson
2017-03-09Merge pull request #1368 from bjorng/bjorn/travis/multiple-platformsBjörn Gustavsson
Extend Travis CI to test more configurations
2017-03-09Merge branch 'siri/appups-19.3' into maintSiri Hansen
* siri/appups-19.3: Update appups in kernel and stdlib for OTP-19.3
2017-03-08Travis CI: Add building of Erlang/OTP on 32-bit LinuxBjörn Gustavsson
Build Erlang and run smoke test in a Docker container running 32-bit Linxux.
2017-03-08Run the smoke test for both SMP and non-SMP emulatorBjörn Gustavsson
2017-03-08run-smoke-test: Let ERL_TOP default to current working directoryBjörn Gustavsson
2017-03-08build-docker-otp: Avoid copying the git repository to docker daemonBjörn Gustavsson
Since docker is run from the top-level of the otp repository, the entire repository will be the context for the docker daemon. In my private repository, more than 800Mb had to be copied before the build could be started. Let the ./scripts directory be the context for docker instead. That way, only the otp.tar.gz file needs to be copied. While we are it, also use the ADD command in the Dockerfiles to pack up the tar file and avoid copying the tar file itself to the Docker image.
2017-03-08Merge branch 'anders/diameter/capx_strictness/OTP-14257' into maintAnders Svensson
* anders/diameter/capx_strictness/OTP-14257: Add transport_opt() capx_strictness
2017-03-08Update appups in kernel and stdlib for OTP-19.3Siri Hansen
2017-03-08Merge branch 'anders/diameter/19.3/OTP-14252' into maintAnders Svensson
* anders/diameter/19.3/OTP-14252: vsn -> 1.12.2 Update appup for 19.3
2017-03-08Merge branch 'anders/diameter/19.2/failover/OTP-14206' into maintAnders Svensson
* anders/diameter/19.2/failover/OTP-14206: Avoid sending large terms between nodes unnecessarily Don't use request table for answer routing Fix/redo failover optimization
2017-03-08builder-docker-otp: Fix passing of commandBjörn Gustavsson
Pass all argument except the first as the command for "docker run".
2017-03-08Merge branch 'ingela/ssl/next-maint-version' into maintIngela Anderton Andin
* ingela/ssl/next-maint-version: ssl: Version update
2017-03-08Merge branch 'ingela/ssl/dtls-cont' into maintIngela Anderton Andin
* ingela/ssl/dtls-cont: dtls: Only test this for TLS for now dtls: Avoid mixup of protocol to test dtls: 'dtlsv1.2' corresponds to 'tlsv1.2' dtls: Correct dialyzer spec and postpone inclusion of test dtls: Erlang distribution over DTLS is not supported dtls: Enable some DTLS tests in ssl_to_openssl_SUITE dtls: Enable DTLS test in ssl_certificate_verify_SUITE dtls: Hibernation and retransmit timers dtls: Make sure retransmission timers are run dtls: DTLS specific handling of socket and ciphers
2017-03-08dtls: Only test this for TLS for nowIngela Anderton Andin
We want to avoid failing test cases but still be able to merge DTLS progress for 19.3
2017-03-08Add transport_opt() capx_strictnessAnders Svensson
To allow the Peer State Machine requirement that only the expected capabilities exchange message be received in the relevant state to be relaxed. If {capx_strictness, false} is configured then anything bu the expected CER/CEA is ignored. This is non-standard behaviour, and thusfar undocumented. Use at your own risk.
2017-03-08Reduce number of jobs for makeBjörn Gustavsson
Running fewer jobs in parallel reduces the risk of running out of memory.
2017-03-08Add docker images for building 32/64 bit erlangLukas Larsson
2017-03-08Travis CI: Change the language to CBjörn Gustavsson
We never use the installed Erlang package. Setting the language to C could also allow us to build on platforms that don't support the Erlang language (e.g. osx).
2017-03-08Merge pull request #1366 from bjorng/bjorn/travis/print-progress-dotsBjörn Gustavsson
Travis CI: Avoid that builds gets killed for inactivity
2017-03-07Avoid sending large terms between nodes unnecessarilyAnders Svensson
When relaying outgoing requests through transport on a remote node, terms that were stripped when sending to the transport process weren't stripped when spawning a process on the remote node. Also, don't save the request to the process dictionary in a process that just relays an answer.
2017-03-07Don't use request table for answer routingAnders Svensson
The table has existed forever, to route incoming answers to a waiting request process: each outgoing request writes to the table, and each incoming answer reads. This has been seen to suffer from lock contention at high load however, so this commit moves the routing into the diameter_peer_fsm processes that are diameter's conduit to transport processes. The request table is still used for failover detection, but entries are only written when a watchdog state transitions leaves or enters state OKAY.
2017-03-07dtls: Avoid mixup of protocol to testIngela Anderton Andin
2017-03-07Merge branch 'lars/xmerl/compiler_and_dialyzer_warnings/OTP-14212' into maintLars Thorsen
* lars/xmerl/compiler_and_dialyzer_warnings/OTP-14212: [xmerl] Fix compiler and dialyzer warnings
2017-03-07[xmerl] Fix compiler and dialyzer warningsLars Thorsen
2017-03-07dtls: 'dtlsv1.2' corresponds to 'tlsv1.2'Ingela Anderton Andin
'dtlsv1.2' should not be included in MIN_DATAGRAM_SUPPORTED_VERSIONS as this is the default when crypto does not have sufficient support for 'tlsv1.2' and 'dtlsv1.2'
2017-03-07Travis CI: Avoid that builds gets killed for inactivityBjörn Gustavsson
Travis CI will kill build jobs that have not produced output for 10 minutes. The OTP build was never killed because of inactivity before 74796de9c7739 (which started to capture the output in a temporary file). After that commit, now and then a build would be killed because it did not finish in 10 minutes. Update the build script to periodically print a ".", but only if the size of the log file has changed. That way, if there is a real hanging during the build, Travis CI will still kill the build. Alternatives considered: Using travis_wait. Rejected because travis_wait will extend the build unconditonally, even if the build does not progress at all.
2017-03-06Merge branch 'sverker/zlib-option-8/ERL-362/OTP-14254' into maintSverker Eriksson
AGAIN * sverker/zlib-option-8/ERL-362/OTP-14254: erts: Fix typo and clearify warning in zlib docs
2017-03-06erts: Fix typo and clearify warning in zlib docsSverker Eriksson
2017-03-06dtls: Correct dialyzer spec and postpone inclusion of testIngela Anderton Andin
The new_options_in_accept test is not working yet, however DTLS is still work in progress and we want to make a progress merge to avoid merge conflicts with other progress of the ssl application.
2017-03-06Merge branch 'hasse/dialyzer/fix_warnings/OTP-14177' into maintHans Bolinder
* hasse/dialyzer/fix_warnings/OTP-14177: dialyzer: Improve a warning dialyzer: Fix a weird warning dialyzer: Fix an opaque bug dialyzer: Minor fix
2017-03-06Merge branch 'maint-r14' into maintRaimo Niskanen
2017-03-06Merge branch 'maint-r13' into maintRaimo Niskanen
2017-03-06Merge branch 'sverker/zlib-option-8/ERL-362/OTP-14254' into maintSverker Eriksson
2017-03-06Merge branch 'lukas/erts/19.3-doc-fixes' into maintLukas Larsson
* lukas/erts/19.3-doc-fixes: erts: Clarify process_info(pid(), binary) docs
2017-03-06dtls: Erlang distribution over DTLS is not supportedIngela Anderton Andin
Erlang distribution requiers a reliable transport, which udp is not. Maybe could be interesting later when SCTP support is added to DTLS.
2017-03-06dtls: Enable some DTLS tests in ssl_to_openssl_SUITEIngela Anderton Andin
We need to figure out a good way of knowing if the OpenSSL-"DTLS server" is up. Some of the code in this commit is attempting this, but it is not really working yet, and hence only tests where OpenSSL is client are enabled.
2017-03-06dtls: Enable DTLS test in ssl_certificate_verify_SUITEIngela Anderton Andin
2017-03-06dtls: Hibernation and retransmit timersIngela Anderton Andin
Change retransmissions timers to use gen_statem state timeouts. We do not need a retransmission timer in the state connection as data traffic in DTLS over UDP is not retransmitted. If the last flight before transitioning into connection is lost, it will be resent when the peer resends its last flight. This will also make hibernation testing more straight forward. We need more adjustments later to handle a reliable DTLS transport such as SCTP.
2017-03-06dtls: Make sure retransmission timers are runIngela Anderton Andin
2017-03-06dtls: DTLS specific handling of socket and ciphersIngela Anderton Andin
DTLS does not support stream ciphers and needs diffrent handling of the "#ssl_socket{}" handle .
2017-03-06Merge branch 'peppe/common_test/multiply_timetraps/OTP-14210' into maintPeter Andersson
* peppe/common_test/multiply_timetraps/OTP-14210: Fix multiply/scale_timetraps in testspecs not working OTP-14210