aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2017-03-30kernel: Refactor supervision treeBjörn-Egil Dahlberg
Use maps in definitions to make them more readable.
2017-03-30dtls: Implement DTLS cookie secret generationIngela Anderton Andin
2017-03-30Merge branch 'goeldeepak/erts/fix_inet_gethost_long/ERL-61/PR-1345/OTP-14310'Lukas Larsson
* goeldeepak/erts/fix_inet_gethost_long/ERL-61/PR-1345/OTP-14310: This patch fixes the issue in which erlang fails to start if the hostname is 64 characters on a linux system.
2017-03-30Add a missing 0 to an address, which was suspiciously missingKostis Sagonas
2017-03-29Partially revert commit 37d63e9b8a0a96125ada858205286a58a5bed1aeKostis Sagonas
The above commit erroneously declared 'ppc64le' as a 'ppc64' for HiPE enabling. These two architectures are different and one can NOT expect that native code generated for one architecture runs on the other one. Rather than reverting this commit, make sure that the architecture is declared correctly instead of pretending it's a PPC64.
2017-03-29Fix bug with AES CFB 128Kelly McLaughlin
Fix a bug with the use of the aes_cfb128 cipher by calling the correct underlying openssl interface function when the cipher is specified.
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-29Close FD after trying to open a directoryRaimo Niskanen
2017-03-29Merge branch 'egil/erts/fix-copy-sharing-assert'Björn-Egil Dahlberg
* egil/erts/fix-copy-sharing-assert: erts: Fix faulty assert for refs in copy sharing
2017-03-28Merge PR-1379 from ostrovsky/erl-294 OTP-14307Sverker Eriksson
Improve no-pie solution from bug report ERL-294
2017-03-28erts: Fix faulty assert for refs in copy sharingBjörn-Egil Dahlberg
2017-03-28Fix use of uninitialized variable 'ret'Sverker Eriksson
DID_TRAP will read 'ret' even when error is returned. Found by valgrind.
2017-03-28observer: (re)store configDan Gudmundsson
Store config when exiting app and restore config when starting again.
2017-03-28Merge PR-1392 from margnus1/hipe-range-fixpoint-bug OTP-14306Sverker Eriksson
HiPE: Fix ERL-278: Fix range analysis miscompilation bug
2017-03-28hipe_icode_range: Add comment about side-effectsMagnus Lång
2017-03-28observer: Use event info to get active tabDan Gudmundsson
Previously changing tabs during high cpu-load, could make the change go unnoticed, and thus the graphs did not get updated.
2017-03-28Merge branch 'sverker/hipe-long-lived'Sverker Eriksson
* sverker/hipe-long-lived: Make hipe_bifs:alloc_data/3 pad addr to alignment erts: Change HIPE allocations from sys_alloc
2017-03-28Merge branch 'lukas/erts/hide-debug-consoles'Lukas Larsson
* lukas/erts/hide-debug-consoles: erts: Only show debug consoles if ERL_CONSOLE_MODE is defined
2017-03-28Merge branch 'lukas/erts/fix_enif_inspect_binary_emasculate/OTP-14304'Lukas Larsson
* lukas/erts/fix_enif_inspect_binary_emasculate/OTP-14304: erts: Add enif_inspect_binary emasculation of refc bins
2017-03-28observer: Keep sel after column change tvDan Gudmundsson
2017-03-28observer: Keep port selection after refreshDan Gudmundsson
2017-03-28observer: Keep tv selection after refreshDan Gudmundsson
Selection was lost after updates
2017-03-28Merge branch 'lukas/kernel/gen_tcp_close_docs'Lukas Larsson
* lukas/kernel/gen_tcp_close_docs: kernel: Expand gen_tcp:close docs with send text
2017-03-28kernel: Expand gen_tcp:close docs with send textLukas Larsson
This commit attempts to clarify some of the guarantees given by the TCP standard when issuing close. This is quite a complex topic so there are probably corner cases still left, but this at least tells the user that things can go wrong when doing a close.
2017-03-27Merge branch 'sverker/make-config-dep'Sverker Eriksson
ERL-379 * sverker/make-config-dep: erts: Make generated files depend on Makefile
2017-03-27Make hipe_bifs:alloc_data/3 pad addr to alignmentMagnus Lång
7814ec18b made hipe_bifs:alloc_data/3 expect alignments greater than 8 from erts_alloc(), which is not something that it guarantees. Fix it up so that it pads the allocation up to the required alignment, in case it does not initially satisfy the alignment requirement.
2017-03-27Merge PR-1386 from kostis/hipe-const-alignment OTP-14302Sverker Eriksson
hipe: Fix alignment of byte-sized constants
2017-03-27Merge pull request #1387 from margnus1/hipe-spilllimit-fixSverker Eriksson
HiPE: Fix off-by-one bug in register allocators Fix for PR-1380
2017-03-27hipe: Fix range analysis of calls with ignored resMagnus Lång
HiPE's range analysis would not update the arguments of a callee when the result of the call was ignored. Fixes ERL-278.
2017-03-27ssl: Prepare for releaseIngela Anderton Andin
2017-03-27Add a no_native option wherever there is an on_loadKostis Sagonas
This is a poor man's solution that allows to build and test the system with all files compiled to native code simply by setting the ERL_COMPILER_OPTS environment variable. Better solutions, like automatically setting the no_native option whenever the compiler sees an on_load attribute, obviously exist but require more time to implement.
2017-03-27ssl: Avoid data loss in active onceIngela Anderton Andin
Emulate active once in such a way that data recived by the TLS connection process, but not fetch via active once option by the user, can be delivered at next active once before final close.
2017-03-27hipe: Fix range analysis of 'rem' operatorMagnus Lång
erl_bif_types contains a fixed and improved copy-paste (obvious from the dead Max_range2_leq_zero if branches) of hipe_icode_range:range_rem/2. For now, delete the dead code and propagate back fixes and improvements to hipe_icode_range.
2017-03-27Merge pull request #1389 from josevalim/patch-10Björn Gustavsson
Remove inets from runtime dependencies in tools
2017-03-27Merge pull request #1388 from bjorng/bjorn/travis/smoke-test-hipeBjörn Gustavsson
Smoke test HiPE in the 32-bit build
2017-03-24Remove inets from runtime dependencies in toolsJosé Valim
Commit d8ff1e3 removed cover_web and therefore tools no longer depends on inets.
2017-03-24Fix double hit bug of select/3 with bound keySverker Eriksson
2017-03-24ssh: fixed crash in ssh:daemon_infoHans Nilsson
2017-03-24Smoke test HiPE in the 32-bit buildBjörn Gustavsson
HiPE is tested when running dialyzer in the 64-bit build. To avoid running out of memory or time, dialyzer is not run in the 32-bit build job. Do a smoke test of HiPE by letting dialyzer create a small PLT. We could catch more bugs by using 'configure --enable-native-libs', but I am worried that the build would not finish in 50 minutes (the time limit for a Travis job).
2017-03-24Merge branch 'egil/compiler/is_tagged_tuple/OTP-12148'Björn-Egil Dahlberg
* egil/compiler/is_tagged_tuple/OTP-12148: Update primary bootstrap compiler: Cover beam_record in tests hipe: Transform is_tagged_tuple instruction compiler: Add is_tagged_tuple instruction
2017-03-24Update primary bootstrapBjörn-Egil Dahlberg
2017-03-24compiler: Cover beam_record in testsBjörn-Egil Dahlberg
2017-03-24hipe: Transform is_tagged_tuple instructionBjörn-Egil Dahlberg
2017-03-24compiler: Add is_tagged_tuple instructionBjörn-Egil Dahlberg
Rewrite the instruction stream on tagged tuple tests. Tagged tuples means a tuple of any arity with an atom as its first element. Typically records, ok-tuples and error-tuples. from: ... {test,is_tuple,Fail,[Src]}. {test,test_arity,Fail,[Src,Sz]}. ... {get_tuple_element,Src,0,Dst}. ... {test,is_eq_exact,Fail,[Dst,Atom]}. ... to: ... {test,is_tagged_tuple,Fail,[Src,Sz,Atom]}. ...
2017-03-23HiPE: Fix off-by-one in register allocatorsMagnus Lång
hipe_regalloc_loop considers SpillLimit to be an inclusive lower bound, the allocators considered it to be an exclusive lower bound. The allocators are changed to also consider it an inclusive lower bound. This caused the register allocators to occasionally spill the first "unspillable" temporary. This caused a failure in a newly added assertion when hipe-compiling dets_v9 on x86.
2017-03-23Merge branch 'ingela/ssl/make-cert-test-data/OTP-14294'Ingela Anderton Andin
* ingela/ssl/make-cert-test-data/OTP-14294: ssl, public_key: Add functionality for generating X509 cert test data
2017-03-23ssl, public_key: Add functionality for generating X509 cert test dataIngela Anderton Andin
For now this functionality is located in ssl. And existing public_key function is extended. However some of the functionality may be moved to public_key in a later stage.
2017-03-23Merge branch 'ingela/ssl/dtls-frag'Ingela Anderton Andin
* ingela/ssl/dtls-frag: dtls: Handle overlapping fragments
2017-03-23dtls: Handle overlapping fragmentsIngela Anderton Andin
Fragment reassembling needs to handle that a smaller fragment then sent originally might overlap an earlier received fragment.
2017-03-23Merge branch 'hans/ssh/benchmarks'Hans Nilsson
Old ssh_benchmark_SUITE was very resource demanding. The new ssh_bench_SUITE is start of a new way to measure.