Revert "Improve error messages in the management tools when external command-line tools are run"

Command line arguments have user secrets in some cases which should not be included in error messages.

This reverts commit 26709a3c1d.

Reported by AK.
This commit is contained in:
Joshua Tauberer 2023-01-28 11:08:20 -05:00
parent 31bbef3401
commit c77d1697a7
2 changed files with 11 additions and 9 deletions

View File

@ -1,6 +1,11 @@
CHANGELOG CHANGELOG
========= =========
In Development
--------------
* Reverted "Improve error messages in the management tools when external command-line tools are run." because of the possibility of user secrets being included in error messages.
Version 61 (January 21, 2023) Version 61 (January 21, 2023)
----------------------------- -----------------------------

View File

@ -122,16 +122,13 @@ def shell(method, cmd_args, env={}, capture_stderr=False, return_bytes=False, tr
if method == "check_output" and input is not None: if method == "check_output" and input is not None:
kwargs['input'] = input kwargs['input'] = input
if not trap:
ret = getattr(subprocess, method)(cmd_args, **kwargs)
else:
try: try:
ret = getattr(subprocess, method)(cmd_args, **kwargs) ret = getattr(subprocess, method)(cmd_args, **kwargs)
code = 0 code = 0
except subprocess.CalledProcessError as e: except subprocess.CalledProcessError as e:
if not trap:
# Reformat exception.
msg = "Command failed with exit code {}: {}".format(e.returncode, subprocess.list2cmdline(cmd_args))
if e.output: msg += "\n\nOutput:\n" + e.output
raise Exception(msg)
else:
ret = e.output ret = e.output
code = e.returncode code = e.returncode
if not return_bytes and isinstance(ret, bytes): ret = ret.decode("utf8") if not return_bytes and isinstance(ret, bytes): ret = ret.decode("utf8")