aboutsummaryrefslogtreecommitdiffstats
path: root/lib/sasl/src
AgeCommit message (Collapse)Author
2017-02-16Merge pull request #1323 from bitwalker/erl_tar2Björn Gustavsson
Update erl_tar to support PAX format (redux) OTP-14226
2017-02-16Update erl_tar to support PAX format, etc.Paul Schoenfelder
This commit introduces the following key changes: - Support for reading tar archives in formats currently in common use, such as v7, STAR, USTAR, PAX, and GNU tar's extensions to the STAR/USTAR format. - Support for writing PAX archives, only when necessary, using USTAR when possible for greater portability. These changes result in lifting of some prior restrictions: - Support for reading archives produced by modern tar implementations when other restrictions described below are present. - Support for filenames which exceed 100 bytes in length, or paths which exceed 255 bytes (see USTAR format specification for more details on this restriction). - Support for filenames of arbitrary length - Support for unicode metadata (the previous behaviour of erl_tar was actually violating the spec, by writing unicode-encoded data to fields which are defined to be 7-bit ASCII, even though this technically worked when using erl_tar at source and destination, it may not have worked with other tar utilities, and this implementation now conforms to the spec). - Support for uid/gid values which cannot be converted to octal integers.
2017-02-09Merge branch 'maint'Siri Hansen
Conflicts: lib/sasl/test/systools_SUITE.erl
2017-02-07[systools] Fix return value for warnings_as_errors + silentSiri Hansen
When both options 'warnings_as_errors' and 'silent' were given to systools:make_script or systools:make_relup, no error reason would be returned if warnings occured. Instead only the atom 'error' was returned. This is now corrected. Options 'warnings_as_errors' and 'no_warn_sasl' are now also allowed for systools:make_tar.
2016-11-11Merge branch 'siri/appups-20.0'Siri Hansen
* siri/appups-20.0: Update sasl/test/test_lib.hrl with recent versions of kernel and stdlib Update appups in kernel, stdlib and sasl for OTP-20
2016-11-09Accept default value of 'start_phases' and 'mod' in .appTristan Sloughter
The default value of 'mod' is '[]' and 'start_phases' is 'undefined' in .app, but this value was not accepted if given in the .app file. This is now corrected.
2016-09-27Update appups in kernel, stdlib and sasl for OTP-20Siri Hansen
2016-08-29Perform check_process_code while process is executing dirtyRickard Green
2016-08-26Reclaim literal area after purge has completedRickard Green
2016-05-27Bumped runtime dependencies between erts, kernel, stdlib, saslRickard Green
2016-04-15erts: Implement tracer modulesLukas Larsson
Add the possibility to use modules as trace data receivers. The functions in the module have to be nifs as otherwise complex trace probes will be very hard to handle (complex means trace probes for ports for example). This commit changes the way that the ptab->tracer field works from always being an immediate, to now be NIL if no tracer is present or else be the tuple {TracerModule, TracerState} where TracerModule is an atom that is later used to lookup the appropriate tracer callbacks to call and TracerState is just passed to the tracer callback. The default process and port tracers have been rewritten to use the new API. This commit also changes the order which trace messages are delivered to the potential tracer process. Any enif_send done in a tracer module may be delayed indefinitely because of lock order issues. If a message is delayed any other trace message send from that process is also delayed so that order is preserved for each traced entity. This means that for some trace events (i.e. send/receive) the events may come in an unintuitive order (receive before send) to the trace receiver. Timestamps are taken when the trace message is generated so trace messages from differented processes may arrive with the timestamp out of order. Both the erlang:trace and seq_trace:set_system_tracer accept the new tracer module tracers and also the backwards compatible arguments. OTP-10267
2016-04-13Merge branch 'henrik/update-copyrightyear'Henrik Nord
* henrik/update-copyrightyear: update copyright-year
2016-03-17systools_make: Add commonly used modules to mandatory_modules/0Björn Gustavsson
Add commonly used modules to the list of modules in mandatory_modules/0. Having those modules listed will potentially help the 'init' module to load them in parallel during start-up.
2016-03-15update copyright-yearHenrik Nord
2016-03-01Update appups in kernel, stdlib and sasl for OTP-19Siri Hansen
2016-02-29Merge branch 'maint'Siri Hansen
2016-02-25Update appups in kernel, stdlib and sasl for OTP-18.3Siri Hansen
2016-02-19Remove module 'overload' from SASLSiri Hansen
The reason is that the module is not used, and that we se no obvious use case for it.
2016-02-10Merge branch 'maint'Siri Hansen
Conflicts: lib/stdlib/src/supervisor.erl
2016-02-10Merge branch 'nybek/speed_up_supervisor_count_children' into maintSiri Hansen
* nybek/speed_up_supervisor_count_children: Speed up supervisor:count_children/1; simple_one_for_one Add supervisor:get_callback_module/1 OTP-13290
2016-02-03Merge branch 'maint'Siri Hansen
2016-02-03Add supervisor:get_callback_module/1Siri Hansen
This function is used by release_handler during upgrade. This was earlier implemented in the release_handler, but it required a copy og the definition of the supervisor's internal state, which caused problems when this state was updated.
2016-01-29Fix noproc crash during release installationRichard Jones
When release_handler_1:get_supervised_procs/0 does a recursive walk of the supervision tree, it calls sys:get_status/1 on supervisors, to check if they are suspended or running. This fixes a race condition where a list of supervisor pids is gathered, one of them (legitimately) exits before release_handler can examine it, then sys:get_status/1 is called with a dead pid, causing an exit(noproc) See: http://erlang.org/pipermail/erlang-questions/2015-August/085712.html (To recreate this problem for testing, I added a timer:sleep into the release_handler_1 code, and killed a supervisor during get_supervised_procs being called).
2016-01-27Merge branch 'maint'Siri Hansen
Conflicts: lib/stdlib/src/otp_internal.erl
2016-01-13erts: Introduce erts_code_purgerSverker Eriksson
as a system process with preloaded code.
2016-01-13Deprecate module 'overload' in SASLSiri Hansen
The module is deprected and will be removed in OTP 19. The reason is that the module is not used, and that we se no obvious use case for it.
2015-12-11Update appups in kernel, stdlib and sasl for OTP-18.2Siri Hansen
2015-09-21Merge branch 'siri/sasl-vsn-OTP-18.1' into maintBjörn Gustavsson
* siri/sasl-vsn-OTP-18.1: Update sasl vsn to 2.6
2015-09-18Update application versionsHans Bolinder
2015-09-17Update sasl vsn to 2.6Siri Hansen
2015-09-07Teach sasl_report to limit crash reportsBjörn Gustavsson
2015-06-18Change license text to APLv2Bruce Yinhe
2015-05-28Customize SASL error_logger file opening modesSerge Aleynikov
Include the ability to open a SASL error log file in append mode at startup vs currently implemented "rewrite-always" mode.
2014-10-20[sasl] Remove undocumented upgrade instructionSiri Hansen
The upgrade instruction 'remove_module' was added in OTP R7B (and possibly in a patch in R5B or R6B, ticket OTP-3477), and translates to the low level instruction 'remove', but adds the parameter DepMods (modules on which Mod is dependent). The ticket says that "remove_module should be added for symmetry with the add_module instruction". remove_module was never documented or tested, and it was never mentioned in a release note. It therefore seems to be low risk in removing it. The correct instruction to use when removing a module is {delete_module,Mod} which was added in OTP R10B and which is also documented and tested. This translates to low level instructions 'remove' and 'purge' i.e. the module is brutally purged after setting the current code to old. This hardcoded brutal purge is the reason why PrePurge and PostPurge parameters can not be given with the delete_module instruction. The parameter DepMods which was inclued in the remove_module instruction does not exist for delete_module. From the documentation's point of view, this is the same for add_module, and thus the two instructions {add_module,Mod} and {delete_module,Mod} are now symmetric. However, in the code there is a second instruction for adding a module, {add_module,Mod,DepMods}, which is not documented. To add symmetry even for this, {delete_module,Mod,DepMods} is now also added. Documentation is added for all instructions.
2014-04-22Update kernel, stdlib and sasl appup files for Erlang/OTP-18Siri Hansen
2014-03-26Merge branch 'dumbbell/function_clause-in-systools_make-format_error'Siri Hansen
* dumbbell/function_clause-in-systools_make-format_error: sasl: Fix crash in systools_make:format_error/1 OTP-11819
2014-03-24sasl: Fix crash in systools_make:format_error/1Jean-Sébastien Pédron
The crash occurred when systools:make_script/2 raises the 'duplicate_modules' error. Depending on the 'silent' option, systools_make:format_error/1 is called to either format and display an error message, or return a tuple containing the error properties. When displaying a 'duplicate_modules' error message, format_error/1 receives a list of applications providing the same module(s): [ {{Mod,App1,_}, {Mod,App2,_}}, ... ] However, before this fix, format_error/1 expected the following structure, leading to a 'function_clause' exception: [ {{Mod,_,App1,_,_}, {Mod,_,App2,_,_}}, ... ] The crash never occurred with the 'silent' option, because the error and its properties are returned as is to the caller.
2014-03-20Introduce runtime_dependencies in .app filesRickard Green
Most dependencies introduced are exactly the dependencies to other applications found by xref. That is, there might be real dependencies missing. There might also be pure debug dependencies listed that probably should be removed. Each application has to be manually inspected in order to ensure that all real dependencies are listed. All dependencies introduced are to application versions used in OTP 17.0. This since the previously used version scheme wasn't designed for this, and in order to minimize the work of introducing the dependencies.
2014-02-20Merge branch 'siri/restart_app-type/OTP-11716'Siri Hansen
* siri/restart_app-type/OTP-11716: [sasl] Use restart type from .rel when restarting apps during upgrade
2014-02-18[sasl] Use restart type from .rel when restarting apps during upgradeSiri Hansen
Earlier the 'restart_application' upgrade instruction always cause the application to be restarted as permanent. This could cause the system to end up in an unexpected state after an upgrade. This is now corrected.
2014-02-12Update appups and appup tests for kernel, stdlib and saslSiri Hansen
Appups now only support one major release back, and the tests are updated accordingly. Support is also added in tests for giving previous releases in a ct config file, e.g. {otp_releases,[{r15,"/path/to/r15/bin/erl"}, {r16,"/path/to/r16/bin/erl"}, {'17',"/path/to/17/bin/erl"}]}.
2013-12-05Merge branch 'maint'Raimo Niskanen
2013-12-03Fix boot file generation for intermediate releases.Tobias Schlager
A previous refactoring messed up the paths used in the start.boot file used in intermediate releases generated for emulator upgrades.
2013-11-29Merge branch 'maint'Dan Gudmundsson
Conflicts: erts/etc/win32/Install.c
2013-11-29Merge branch 'dgud/sasl/no_dot_erlang_boot/OTP-8479' into maintDan Gudmundsson
* dgud/sasl/no_dot_erlang_boot/OTP-8479: sasl: Add no_dot_erlang documentation and tests sasl: Add no_dot_erlang start script
2013-11-07Merge branch 'maint'Fredrik Gustafsson
2013-10-16Don't try to add the log_mf_h handler in sasl unless configured to do so.Richard Carlsson
The functions add_error_logger_mf/1 and delete_error_logger_mf/1 in sasl.erl are designed to do nothing if the handler configuration as returned by get_error_logger_mf/0 is 'undefined'. However, that function returns a triple {undefined,undefined,undefined} when the error_logger_mf_* configurations have not been set. This makes SASL always try to add the log_mf_h handler on startup, passing 'undefined' for each of the Dir, MaxB and MaxF parameters. The gen_event callback function log_mf_h:init/1 will then crash with a function_clause error, causing the handler to be silently removed again. This patch fixes the problem by making get_error_logger_mf/0 return the single atom 'undefined' as it is expected to do.
2013-10-03sasl: Add no_dot_erlang start scriptDan Gudmundsson
Sometimes it is wanted to start erlang without loading the user dependent .erlang file, for example in scripts and configure tests.
2013-08-23Merge branch 'maint'Fredrik Gustafsson
2013-07-13Add Fd usage in rb loggingcrownedgrouse
rb was only accepting physical filenames as log file. This patch allow rb to accept now any io_device, valid registered name, except standard_error which is replaced by standard_io. Creation of two new exported functions : rb:log_list/0-1 that print in log file if existing, otherwise on standard_io. Add new functions documentation and tests in rb_SUITE.