aboutsummaryrefslogtreecommitdiffstats
path: root/g10/gpg.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2023-01-18 17:04:50 +0000
committerWerner Koch <[email protected]>2023-01-19 09:45:54 +0000
commit60963d98cfd8e60f88ee43c2d992f6dd3bbbd74c (patch)
tree766f37c0531a72f5d11e3920b87ba2e51ce23b46 /g10/gpg.c
parentcommon: Replace all assert by log_assert. (diff)
downloadgnupg-60963d98cfd8e60f88ee43c2d992f6dd3bbbd74c.tar.gz
gnupg-60963d98cfd8e60f88ee43c2d992f6dd3bbbd74c.zip
gpg: Detect already compressed data also when using a pipe.
* common/iobuf.c (file_filter_ctx_t): Add fields for the peek feature. (file_filter): Implement peeking. (iobuf_ioctl): Add new IOBUF_IOCTL_PEEK. * common/iobuf.h (IOBUF_IOCTL_PEEK, IOBUFCTRL_PEEK): New. * common/miscellaneous.c (is_file_compressed): Rewrite. Detect PDF. * g10/encrypt.c (encrypt_simple): Peek before detecting compression. (encrypt_crypt): Ditto. * g10/sign.c (sign_file): Also detect already compressed data. * g10/options.h (opt): Add explicit_compress_option. * g10/gpg.c (main): Set opt.explicit_compress_option for -z. -- Note that this patch also introduces a compression check for signing which was never done in the past. GnuPG-bug-id: 6332
Diffstat (limited to 'g10/gpg.c')
-rw-r--r--g10/gpg.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/g10/gpg.c b/g10/gpg.c
index 68c0454ee..de40d3828 100644
--- a/g10/gpg.c
+++ b/g10/gpg.c
@@ -3203,6 +3203,7 @@ main (int argc, char **argv)
case oCompress:
/* this is the -z command line option */
opt.compress_level = opt.bz2_compress_level = pargs.r.ret_int;
+ opt.explicit_compress_option = 1;
break;
case oCompressLevel: opt.compress_level = pargs.r.ret_int; break;
case oBZ2CompressLevel: opt.bz2_compress_level = pargs.r.ret_int; break;