From 60963d98cfd8e60f88ee43c2d992f6dd3bbbd74c Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Wed, 18 Jan 2023 18:04:50 +0100 Subject: 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 --- g10/options.h | 1 + 1 file changed, 1 insertion(+) (limited to 'g10/options.h') diff --git a/g10/options.h b/g10/options.h index c10862687..fa649f8ca 100644 --- a/g10/options.h +++ b/g10/options.h @@ -98,6 +98,7 @@ struct int def_digest_algo; int cert_digest_algo; int compress_algo; + int explicit_compress_option; /* A compress option was explicitly given. */ int compress_level; int bz2_compress_level; int bz2_decompress_lowmem; -- cgit v1.2.3