diff options
Diffstat (limited to 'log_gpg_warnings.patch')
-rw-r--r-- | log_gpg_warnings.patch | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/log_gpg_warnings.patch b/log_gpg_warnings.patch new file mode 100644 index 000000000000..fc3c039bc4fa --- /dev/null +++ b/log_gpg_warnings.patch @@ -0,0 +1,30 @@ +diff --git a/lib/schleuder/gpgme/ctx.rb b/lib/schleuder/gpgme/ctx.rb +index 295f4de..0011112 100644 +--- a/lib/schleuder/gpgme/ctx.rb ++++ b/lib/schleuder/gpgme/ctx.rb +@@ -211,7 +211,7 @@ module GPGME + errors = [] + output = [] + base_cmd = gpg_engine.file_name +- base_args = '--no-greeting --no-permission-warning --quiet --armor --trust-model always --no-tty --command-fd 0 --status-fd 1' ++ base_args = '--no-greeting --quiet --armor --trust-model always --no-tty --command-fd 0 --status-fd 1' + cmd = [base_cmd, base_args, args].flatten.join(' ') + Open3.popen3(cmd) do |stdin, stdout, stderr, thread| + if block_given? +@@ -224,6 +224,16 @@ module GPGME + exitcode = thread.value.exitstatus + end + ++ # Don't treat warnings as errors but log them. ++ errors = errors.map do |line| ++ if line.match?(/gpg: WARNING: (unsafe permissions on homedir|using insecure memory)/i) ++ Schleuder.logger.warn(line) ++ nil ++ else ++ line ++ end ++ end.compact ++ + [errors, output, exitcode] + rescue Errno::ENOENT + raise 'Need gpg in $PATH or in $GPGBIN' |