From 05c39de18b200d6f262d6dced13cdde7b12fdae3 Mon Sep 17 00:00:00 2001 From: Thomas Vogt Date: Tue, 16 Jul 2024 14:24:04 +0200 Subject: [PATCH] grepMetaUrls: do not send stderr output on success, fix #81 --- src/passff.py | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/src/passff.py b/src/passff.py index b45cf2b..b2d57fc 100755 --- a/src/passff.py +++ b/src/passff.py @@ -127,11 +127,21 @@ if __name__ == "__main__": # Run and communicate with pass script proc = subprocess.run(cmd, **proc_params) + responseMessage = { + "exitCode": proc.returncode, + "stdout": proc.stdout.decode(CHARSET), + "stderr": proc.stderr.decode(CHARSET), + "version": VERSION + } + + if ( + responseMessage["exitCode"] == 0 + and opt_args[0] == "grep" + ): + # GPG debug outputs for `grep` over the whole password store + # can easily exceed the size limit for native messages (1 MB). + # In case of exit code 0, they are not used anyways. + responseMessage["stderr"] = "" + # Send response - sendMessage( - encodeMessage({ - "exitCode": proc.returncode, - "stdout": proc.stdout.decode(CHARSET), - "stderr": proc.stderr.decode(CHARSET), - "version": VERSION - })) + sendMessage(encodeMessage(responseMessage))