aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2017-04-24Merge pull request #1419 from michalmuskala/consistency-fixBjörn Gustavsson
Make beam_validator track type formation for binary operations
2017-04-22erts: Allow for easier future enif_hash expansionGuilherme Andrade
Allow for expanding support to 64-bit hashes without breaking the interface.
2017-04-22erts: Improve enif_hash documentationGuilherme Andrade
2017-04-22erts: Add test cases for salted enif_hash callsGuilherme Andrade
2017-04-22erts: Support custom salt in enif_hashGuilherme Andrade
2017-04-22Make beam_validator track type formation for binary operationsMichal Muskala
Fixes https://bugs.erlang.org/browse/ERL-406 - a bug introduced in 0377592dc2238f561291be854d2ce859dd9a5fb1
2017-04-21Updated OTP versionOTP-19.3.2Erlang/OTP
2017-04-21Prepare releaseErlang/OTP
2017-04-21Merge branch 'rickard/sigterm/OTP-14358' into maint-19Erlang/OTP
* rickard/sigterm/OTP-14358: Do not ignore SIGTERM when VM has been started with +Bi
2017-04-21Do not ignore SIGTERM when VM has been started with +BiRickard Green
2017-04-21stdlib: Make gen_statem callbacks optionalZandra Norman
2017-04-21Implement {timeout,Name} timeoutsRaimo Niskanen
2017-04-21Merge branch 'rickard/timer-improvements'Rickard Green
OTP-14356 * rickard/timer-improvements: Fix of later timer wheel Minimum timeout position in each timer wheel Manage timers to trigger at once in a slot similar to other timers Introduce timer slot range counters Timer wheel divided into a "soon wheel" and a "later wheel" Remove unnecessary cancel callback from timer-wheel timers Rearrange timer struct fields in order to simplify Use timer wheel for short BIF timers Use magic refs for BIF timers Remove accessor BIF timer implementation Fix aux-work timer implementation
2017-04-21Merge branch 'rand/arbitrary_normal_distributions'Raimo Niskanen
* rand/arbitrary_normal_distributions: rand: Support arbitrary normal distributions Conflicts: lib/stdlib/test/rand_SUITE.erl
2017-04-21wx: make wx_object callbacks optionalZandra Norman
2017-04-21stdlib: Make gen_fsm callbacks optionalZandra Norman
2017-04-21stdlib: Make gen_event callbacks optionalZandra Norman
2017-04-21stdlib: Make gen_server callbacks optionalZandra Norman
2017-04-21erts: Polish off erlang:list_to_ref/1Lukas Larsson
2017-04-21ssl: TLS-1.2 clients will now always send hello messages on its own format.Ingela Anderton Andin
Note this is a change form how it works for earlier versions that will send the first hello message on the lowest supported version. From RFC 5246 Appendix E. Backward Compatibility E.1. Compatibility with TLS 1.0/1.1 and SSL 3.0 Since there are various versions of TLS (1.0, 1.1, 1.2, and any future versions) and SSL (2.0 and 3.0), means are needed to negotiate the specific protocol version to use. The TLS protocol provides a built-in mechanism for version negotiation so as not to bother other protocol components with the complexities of version selection. TLS versions 1.0, 1.1, and 1.2, and SSL 3.0 are very similar, and use compatible ClientHello messages; thus, supporting all of them is relatively easy. Similarly, servers can easily handle clients trying to use future versions of TLS as long as the ClientHello format remains compatible, and the client supports the highest protocol version available in the server. A TLS 1.2 client who wishes to negotiate with such older servers will send a normal TLS 1.2 ClientHello, containing { 3, 3 } (TLS 1.2) in ClientHello.client_version. If the server does not support this version, it will respond with a ServerHello containing an older version number. If the client agrees to use this version, the negotiation will proceed as appropriate for the negotiated protocol. If the version chosen by the server is not supported by the client (or not acceptable), the client MUST send a "protocol_version" alert message and close the connection. If a TLS server receives a ClientHello containing a version number greater than the highest version supported by the server, it MUST reply according to the highest version supported by the server. A TLS server can also receive a ClientHello containing a version number smaller than the highest supported version. If the server wishes to negotiate with old clients, it will proceed as appropriate for the highest version supported by the server that is not greater than ClientHello.client_version. For example, if the server supports TLS 1.0, 1.1, and 1.2, and client_version is TLS 1.0, the server will proceed with a TLS 1.0 ServerHello. If server supports (or is willing to use) only versions greater than client_version, it MUST send a "protocol_version" alert message and close the connection. Whenever a client already knows the highest protocol version known to a server (for example, when resuming a session), it SHOULD initiate the connection in that native protocol. Note: some server implementations are known to implement version negotiation incorrectly. For example, there are buggy TLS 1.0 servers that simply close the connection when the client offers a version newer than TLS 1.0. Also, it is known that some servers will refuse the connection if any TLS extensions are included in ClientHello. Interoperability with such buggy servers is a complex topic beyond the scope of this document, and may require multiple connection attempts by the client. Earlier versions of the TLS specification were not fully clear on what the record layer version number (TLSPlaintext.version) should contain when sending ClientHello (i.e., before it is known which version of the protocol will be employed). Thus, TLS servers compliant with this specification MUST accept any value {03,XX} as the record layer version number for ClientHello. TLS clients that wish to negotiate with older servers MAY send any value {03,XX} as the record layer version number. Typical values would be {03,00}, the lowest version number supported by the client, and the value of ClientHello.client_version. No single value will guarantee interoperability with all old servers, but this is a complex topic beyond the scope of this document.
2017-04-21erts: Fix testcases for smp +S 1:1Lukas Larsson
2017-04-21erts: Deprecate the non-smp emulatorsLukas Larsson
2017-04-21erl_mseg.c: don't use invalid indices in - > cache_powered_node[]Mikael Pettersson
2017-04-21Merge branch 'raimo/rand-dev/OTP-14295'Raimo Niskanen
* raimo/rand-dev/OTP-14295: Implement Xoroshiro116+ and improve statisticals
2017-04-21Implement Xoroshiro116+ and improve statisticalsRaimo Niskanen
Implement Xoroshiro116+ as 'exrop' with fixes. Deprecate all old algorithms but reincarnate 'exs1024' as 'exs1024s' and 'exsplus' as 'exsp' with fixes. Fixes: * Avoid skew for uniform integers caused by using a simple 'rem' operation for range confinement. Correctness requires retry with new random value for an unfortunate first value. * Implement a correct algorithm that collects enough random bits for ranges larger than the generator's precision. * Fix uniform density for floats by acquiring 53 bits then multiplying with 2.0^(-53) which produces floats on the form N * 2.0^(-53).
2017-04-21Merge branch 'bjorn/remove-r12-r15-compatibility' into run-travisBjörn Gustavsson
* bjorn/remove-r12-r15-compatibility: compile: Remove the r12 through r15 options test_server: Change compatibility to R16 crashdump_helper: Change compatibility to R18 Remove test case for testing compatibility with R9B Do atom roundtripping with an R16B node Remove -compile(r12)
2017-04-21Merge branch 'bjorn/dialyzer/add-typer/OTP-14336' into run-travisBjörn Gustavsson
* bjorn/dialyzer/add-typer/OTP-14336: Add smoke test for TypER Add back TypEr to the main OTP repository
2017-04-21Merge branch 'ingela/ssl/AEAD'Ingela Anderton Andin
* ingela/ssl/AEAD: ssl, dtls: Refactor so that DTLS records are handled correctly together with AEAD handling ssl, dtls: Correct integer type for sequence number
2017-04-21Merge branch 'ingela/ssl/test-data'Ingela Anderton Andin
* ingela/ssl/test-data: ssl: Rewrite test data generation
2017-04-21ssl: Rewrite test data generationIngela Anderton Andin
With the new help functions for creating test data we can simplify the code. And sometimes corrections have been made so that the test actually perform the test intended.
2017-04-20erts: Refactor enif_phash2 into enif_hashGuilherme Andrade
A more generic hashing function which can also hash terms based on `make_internal_hash'.
2017-04-20erts: Fix random floats in enif_phash2 testsGuilherme Andrade
2017-04-20erts: Remove enif_phash2_rangedGuilherme Andrade
2017-04-20rand: Support arbitrary normal distributionsGuilherme Andrade
2017-04-20observer: add new bind_to_device port optionAndreas Schultz
2017-04-20implement SO_BINDTODEVICE for inet protocolsAndreas Schultz
bind to device is needed to properly support VRF-Lite under Linux (see [1] for details). [1]: https://www.kernel.org/doc/Documentation/networking/vrf.txt
2017-04-20Implement erlang:start_timer optsRaimo Niskanen
2017-04-20Make Module:init/1 mandatoryRaimo Niskanen
2017-04-20Add smoke test for TypERBjörn Gustavsson
2017-04-20Add back TypEr to the main OTP repositoryBjörn Gustavsson
It turned out that the dependencies between Dialyzer and TypEr makes it impractical to have TypEr in a separate repository. Add it back to the OTP repository, but put the Erlang module 'typer' in the dialyzer application.
2017-04-20erts: Initialize esdp->type in non-smp to normalLukas Larsson
The previous code worked through luck because the memory returned from erts_alloc was zero:ed and SCHED_NORMAL is 0. But if you run with +Meamin that is not always the case which is how this error was detected.
2017-04-20compile: Remove the r12 through r15 optionsBjörn Gustavsson
The main purpose of these options is compatibility with old Erlang systems. Since it is no longer possible to communicate with R15B or earlier, we no longer need the r12 through r15 options.
2017-04-20test_server: Change compatibility to R16Björn Gustavsson
2017-04-20crashdump_helper: Change compatibility to R18Björn Gustavsson
Compatibility two releases back are tested, which implies R18.
2017-04-20Remove test case for testing compatibility with R9BBjörn Gustavsson
It is no longer possible to commuicate with R9B nodes.
2017-04-20Do atom roundtripping with an R16B nodeBjörn Gustavsson
It is no longer possible to communicate with R15B nodes.
2017-04-20Remove -compile(r12)Björn Gustavsson
b25725ec0f65 removed the test cases for testing the R12 protocol. There is no reason to keep compatibility with R12.
2017-04-20Update primary bootstrapBjörn Gustavsson
2017-04-20Merge pull request #1410 from fxn/patch-1Hans Bolinder
Removes spurious ">"
2017-04-20Merge pull request #1414 from michalmuskala/type-optimBjörn Gustavsson
Enhance type-driven optimisation in beam_type.erl