aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2018-01-03Disallow NULs in filename-encoded stringsJohn Högberg
Previously we accepted trailing NULs, which was backwards compatible as such usage never resulted in misbehavior in the first place. The downside is that it prevented erts_native_filename_need from returning an accurate number of *actual characters*, needlessly complicating encoding-agnostic code like erts_osenv.
2018-01-03Alter erl_ddll:load dependency search path on WindowsJohn Högberg
The standard search order does not include the directory that the loaded DLL resides in, requiring dirty $PATH hacks to get things working, which is not an option now that os:putenv/2 is divorced from the OS environment.
2018-01-03Replace the libc environment with a thread-safe emulationJohn Högberg
putenv(3) and friends aren't thread-safe regardless of how you slice it; a global lock around all environment operations (like before) keeps things safe as far as our own operations go, but we have absolutely no control over what libc or a library dragged in by a driver/NIF does -- they're free to call getenv(3) or putenv(3) without honoring our lock. This commit solves this by setting up an "emulated" environment which can't be touched without going through our interfaces. Third-party libraries can still shoot themselves in the foot but benign uses of os:putenv/2 will no longer risk crashing the emulator.
2017-12-07Merge branch 'john/erts/fix-invalid-name-xlat'John Högberg
2017-12-07Merge branch 'john/erts/fix-debug-dirty-nif-tracing'John Högberg
2017-12-06"Fix" tracing of dirty NIFs on debug buildsJohn Högberg
When a dirty NIF is executed a "schedule in" trace event is generated, which may in turn result in a generic system task being created, causing the process to be scheduled out as it can't run dirty with pending tasks. This is usually fine since said system task is seldom created, but ERTS_FORCE_ENIF_SEND_DELAY was de-facto always on for debug builds, causing the process to bounce between dirty and normal schedulers forever. This commit is not a complete fix and it can go off the rails even on normal builds; if there's a lot of dirty jobs lined up and the receiver's msgq lock happens to be busy at the wrong time, the additional trace messages generated through this will hammer the lock and keep everything bouncing.
2017-12-06Add translation for ERROR_INVALID_NAMEJohn Högberg
Most functions return this if they're given an invalid path, eg. if they contain "<" or ">". ENOENT may seem like a strange translation, but that's what open(2) returns when fed garbage, so we'll roll with that.
2017-12-05Merge branch 'john/erts/erlexec-bindir-path/OTP-14719'John Högberg
2017-12-05Merge branch 'maint'Ingela Anderton Andin
Conflicts: lib/ssl/src/ssl_cipher.erl lib/ssl/src/ssl_handshake.erl
2017-12-05Ensure that bindir is first in $PATH on startupJohn Högberg
erlexec adds $ROOT/erts-<vsn>/bin and $ROOT/bin first in $PATH on startup, but didn't do so if they were in the $PATH already, which meant that the bindir didn't point to the current release after a downgrade.
2017-12-05Merge branch 'ingela/ssl/cipher-suites/OTP-14749' into maintIngela Anderton Andin
* ingela/ssl/cipher-suites/OTP-14749: ssl: Use maps for cipher suites internally
2017-12-05ssl: Use maps for cipher suites internallyIngela Anderton Andin
This is a preparation for improvements to come in option handling and support for TLS-1.3
2017-12-05Merge branch 'maint'John Högberg
2017-12-05Merge branch 'john/erts/lcnt-fix-reg-proc-names/OTP-14803' into maintJohn Högberg
2017-12-04Merge branch 'maint'Peter Andersson
2017-12-04Merge branch 'peppe/common_test/auto_cleanup/OTP-13832' into maintPeter Andersson
* peppe/common_test/auto_cleanup/OTP-13832: Add tests and doc for the new remaining_test_procs function Implement function that finds disposable test processes Tag Common Test system processes using process dictionary Add app name tag in process dictionary OTP-13832
2017-12-04Add tests and doc for the new remaining_test_procs functionPeter Andersson
2017-12-04Merge branch 'maint'Raimo Niskanen
Conflicts: lib/ssl/src/inet_tls_dist.erl lib/ssl/src/ssl_dist_sup.erl lib/ssl/src/ssl_tls_dist_proxy.erl
2017-12-04Merge branch 'raimo/ssl-dist-bench/OTP-14657'Raimo Niskanen
* origin/raimo/ssl-dist-bench/OTP-14657: Write SSL distribution benchmarks Polish SSL distribution Handle whitebox test message Correct distribution doc Use SNI when connecting Use -ssl_dist_optfile options Read in -ssl_dist_optfile to ETS Facilitate test certs with common root Stop checking DNS name for SNI
2017-12-04Merge branch 'raimo/ssl-dist-optfile-backport/OTP-14657' into maintRaimo Niskanen
* raimo/ssl-dist-optfile-backport/OTP-14657: Use SNI when connecting Use -ssl_dist_optfile options Read in -ssl_dist_optfile to ETS Facilitate test certs with common root Stop checking DNS name for SNI
2017-12-04Merge branch 'maint'Peter Andersson
2017-12-04Merge branch 'peppe/common_test/index_last_test/OTP-14281' into maintPeter Andersson
* peppe/common_test/index_last_test/OTP-14281: Show links to latest test run by using an html redirection file OTP-14281
2017-12-04Show links to latest test run by using an html redirection filePeter Andersson
2017-12-04Write SSL distribution benchmarksRaimo Niskanen
2017-12-04Use SNI when connectingRaimo Niskanen
2017-12-04Use -ssl_dist_optfile optionsRaimo Niskanen
2017-12-04Read in -ssl_dist_optfile to ETSRaimo Niskanen
2017-12-04Facilitate test certs with common rootRaimo Niskanen
2017-12-04Stop checking DNS name for SNIRaimo Niskanen
2017-12-04Merge branch 'maint'Lars Thorsen
2017-12-04Merge branch 'lars/crypto/add-engine-ctrl-cmd-string-to-api/OTP-14801' into ↵Lars Thorsen
maint * lars/crypto/add-engine-ctrl-cmd-string-to-api/OTP-14801: [crypto] Add engine_ctrl_cmd_string() to API
2017-12-04[crypto] Add engine_ctrl_cmd_string() to APILars Thorsen
2017-12-04Polish SSL distributionRaimo Niskanen
2017-12-04Handle whitebox test messageRaimo Niskanen
2017-12-04Correct distribution docRaimo Niskanen
2017-12-04Use SNI when connectingRaimo Niskanen
2017-12-04Use -ssl_dist_optfile optionsRaimo Niskanen
2017-12-04Read in -ssl_dist_optfile to ETSRaimo Niskanen
2017-12-04Fix process name resolution in lcnt resultsJohn Högberg
2017-12-04Merge branch 'maint'Dan Gudmundsson
* maint: mnesia: Fix error handling in abort write
2017-12-04Merge branch 'dgud/mnesia/backup-error-handling/OTP-14776' into maintDan Gudmundsson
* dgud/mnesia/backup-error-handling/OTP-14776: mnesia: Fix error handling in abort write
2017-12-04Merge pull request #1646 from tsloughter/hibernate_after_specHans Bolinder
add hibernate_after to the gen options type spec
2017-12-04Merge branch 'maint'Hans Bolinder
* maint: debugger: Do not quote variables and button names in windows
2017-12-04Merge branch 'hasse/debugger/fix_unicode/OTP-14802' into maintHans Bolinder
* hasse/debugger/fix_unicode/OTP-14802: debugger: Do not quote variables and button names in windows
2017-12-04Merge branch 'maint'Björn Gustavsson
* maint: fix output formatting in several HiPE debug BIFs
2017-12-04Merge pull request #1628 from mikpe/erts-hipe-more-print-fixesBjörn Gustavsson
fix output formatting in several HiPE debug BIFs OTP-14804
2017-12-04Update primary bootstrapBjörn Gustavsson
2017-12-04Merge branch 'bjorn/compiler/clean-up-codegen'Björn Gustavsson
* bjorn/compiler/clean-up-codegen: bs_match_SUITE: Cover more clauses in v3_codegen:bs_rename_ctx/4 Clean up and comment code generation for basic blocks Stop trying to maximize the use of x(0) Clean up collection of basic blocks
2017-12-04bs_match_SUITE: Cover more clauses in v3_codegen:bs_rename_ctx/4Björn Gustavsson
2017-12-04Clean up and comment code generation for basic blocksBjörn Gustavsson