<pre style='margin:0'>
Aaron Madlon-Kay (amake) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/fadff969e758e6abd6c57c73291d18642a41944b">https://github.com/macports/macports-ports/commit/fadff969e758e6abd6c57c73291d18642a41944b</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new fadff969e75 gnupg2: backport fix for Emacs EasyPG compatibility
</span>fadff969e75 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit fadff969e758e6abd6c57c73291d18642a41944b
</span>Author: Aaron Madlon-Kay <amake@macports.org>
AuthorDate: Fri Dec 15 09:00:49 2023 +0900
<span style='display:block; white-space:pre;color:#404040;'> gnupg2: backport fix for Emacs EasyPG compatibility
</span>---
mail/gnupg2/Portfile | 4 +-
mail/gnupg2/files/patch-fix-emacs-easypg.diff | 546 ++++++++++++++++++++++++++
2 files changed, 549 insertions(+), 1 deletion(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/mail/gnupg2/Portfile b/mail/gnupg2/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 41173981cd3..fe217ab87c5 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/mail/gnupg2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/mail/gnupg2/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,7 +5,7 @@ PortSystem 1.0
</span> set my_name gnupg
name ${my_name}2
version 2.4.3
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 1
</span>
# Putting the SHA1 hash because that is published on the website
checksums rmd160 390bc6ae2011fa691f09cc65f0dee38c6ca73f2f \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -35,6 +35,8 @@ default_variants +openldap
</span>
# See: https://dev.gnupg.org/T6579
patchfiles-append patch-fix-build-without-openldap.diff
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# See: https://dev.gnupg.org/T6481
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append patch-fix-emacs-easypg.diff
</span>
platform darwin {
if {![variant_isset pinentry] && ![variant_isset pinentry_mac]} {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/mail/gnupg2/files/patch-fix-emacs-easypg.diff b/mail/gnupg2/files/patch-fix-emacs-easypg.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..c603aab3853
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/mail/gnupg2/files/patch-fix-emacs-easypg.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,546 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git common/iobuf.c common/iobuf.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 62cde27f9..e088812a6 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- common/iobuf.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ common/iobuf.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3057,3 +3057,123 @@ iobuf_skip_rest (iobuf_t a, unsigned long n, int partial)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Check whether (BUF,LEN) is valid header for an OpenPGP compressed
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * packet. LEN should be at least 6. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++is_openpgp_compressed_packet (const unsigned char *buf, size_t len)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int c, ctb, pkttype;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int lenbytes;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ctb = *buf++; len--;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (!(ctb & 0x80))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 0; /* Invalid packet. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if ((ctb & 0x40)) /* New style (OpenPGP) CTB. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ pkttype = (ctb & 0x3f);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (!len)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 0; /* Expected first length octet missing. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ c = *buf++; len--;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (c < 192)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else if (c < 224)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (!len)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 0; /* Expected second length octet missing. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else if (c == 255)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (len < 4)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 0; /* Expected length octets missing */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else /* Old style CTB. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ pkttype = (ctb>>2)&0xf;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ lenbytes = ((ctb&3)==3)? 0 : (1<<(ctb & 3));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (len < lenbytes)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 0; /* Not enough length bytes. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return (pkttype == 8);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * Check if the file is compressed, by peeking the iobuf. You need to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * pass the iobuf with INP. Returns true if the buffer seems to be
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * compressed.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++is_file_compressed (iobuf_t inp)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int i;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ char buf[32];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int buflen;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ struct magic_compress_s
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ byte len;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ byte extchk;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ byte magic[5];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ } magic[] =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { 3, 0, { 0x42, 0x5a, 0x68, 0x00 } }, /* bzip2 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { 3, 0, { 0x1f, 0x8b, 0x08, 0x00 } }, /* gzip */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { 4, 0, { 0x50, 0x4b, 0x03, 0x04 } }, /* (pk)zip */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { 5, 0, { '%', 'P', 'D', 'F', '-'} }, /* PDF */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { 4, 1, { 0xff, 0xd8, 0xff, 0xe0 } }, /* Maybe JFIF */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ { 5, 2, { 0x89, 'P','N','G', 0x0d} } /* Likely PNG */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (!inp)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for ( ; inp->chain; inp = inp->chain )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ buflen = iobuf_ioctl (inp, IOBUF_IOCTL_PEEK, sizeof buf, buf);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (buflen < 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ buflen = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ log_debug ("peeking at input failed\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if ( buflen < 6 )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 0; /* Too short to check - assume uncompressed. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for ( i = 0; i < DIM (magic); i++ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (!memcmp( buf, magic[i].magic, magic[i].len))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ switch (magic[i].extchk)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case 0:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 1; /* Is compressed. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case 1:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (buflen > 11 && !memcmp (buf + 6, "JFIF", 5))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 1; /* JFIF: this likely a compressed JPEG. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ case 2:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (buflen > 8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ && buf[5] == 0x0a && buf[6] == 0x1a && buf[7] == 0x0a)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 1; /* This is a PNG. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ default:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (buflen >= 6 && is_openpgp_compressed_packet (buf, buflen))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 1; /* Already compressed. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return 0; /* Not detected as compressed. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git common/iobuf.h common/iobuf.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index c132c2f3c..ad416fe86 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- common/iobuf.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ common/iobuf.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -629,6 +629,9 @@ void iobuf_set_partial_body_length_mode (iobuf_t a, size_t len);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ from the following filter (which may or may not return EOF). */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void iobuf_skip_rest (iobuf_t a, unsigned long n, int partial);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* Check if the file is compressed, by peeking the iobuf. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++int is_file_compressed (iobuf_t inp);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define iobuf_where(a) "[don't know]"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Each time a filter is allocated (via iobuf_alloc()), a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git common/miscellaneous.c common/miscellaneous.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f19cc539d..1a090b1f5 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- common/miscellaneous.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ common/miscellaneous.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -415,112 +415,6 @@ decode_c_string (const char *src)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* Check whether (BUF,LEN) is valid header for an OpenPGP compressed
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- * packet. LEN should be at least 6. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-static int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-is_openpgp_compressed_packet (const unsigned char *buf, size_t len)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- int c, ctb, pkttype;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- int lenbytes;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ctb = *buf++; len--;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (!(ctb & 0x80))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return 0; /* Invalid packet. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if ((ctb & 0x40)) /* New style (OpenPGP) CTB. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- pkttype = (ctb & 0x3f);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (!len)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return 0; /* Expected first length octet missing. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- c = *buf++; len--;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (c < 192)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- else if (c < 224)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (!len)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return 0; /* Expected second length octet missing. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- else if (c == 255)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (len < 4)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return 0; /* Expected length octets missing */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- else /* Old style CTB. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- pkttype = (ctb>>2)&0xf;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- lenbytes = ((ctb&3)==3)? 0 : (1<<(ctb & 3));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (len < lenbytes)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return 0; /* Not enough length bytes. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return (pkttype == 8);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- * Check if the file is compressed. You need to pass the first bytes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- * of the file as (BUF,BUFLEN). Returns true if the buffer seems to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- * be compressed.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-is_file_compressed (const byte *buf, unsigned int buflen)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- int i;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- struct magic_compress_s
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- byte len;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- byte extchk;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- byte magic[5];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- } magic[] =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- { 3, 0, { 0x42, 0x5a, 0x68, 0x00 } }, /* bzip2 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- { 3, 0, { 0x1f, 0x8b, 0x08, 0x00 } }, /* gzip */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- { 4, 0, { 0x50, 0x4b, 0x03, 0x04 } }, /* (pk)zip */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- { 5, 0, { '%', 'P', 'D', 'F', '-'} }, /* PDF */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- { 4, 1, { 0xff, 0xd8, 0xff, 0xe0 } }, /* Maybe JFIF */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- { 5, 2, { 0x89, 'P','N','G', 0x0d} } /* Likely PNG */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- };
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if ( buflen < 6 )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return 0; /* Too short to check - assume uncompressed. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- for ( i = 0; i < DIM (magic); i++ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (!memcmp( buf, magic[i].magic, magic[i].len))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- switch (magic[i].extchk)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- case 0:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return 1; /* Is compressed. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- case 1:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (buflen > 11 && !memcmp (buf + 6, "JFIF", 5))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return 1; /* JFIF: this likely a compressed JPEG. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- case 2:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (buflen > 8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- && buf[5] == 0x0a && buf[6] == 0x1a && buf[7] == 0x0a)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return 1; /* This is a PNG. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- default:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (buflen >= 6 && is_openpgp_compressed_packet (buf, buflen))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return 1; /* Already compressed. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- return 0; /* Not detected as compressed. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Try match against each substring of multistr, delimited by | */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ match_multistr (const char *multistr,const char *match)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git common/util.h common/util.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index aa24e39e6..6b948510e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- common/util.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ common/util.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -360,8 +360,6 @@ char *try_make_printable_string (const void *p, size_t n, int delim);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ char *make_printable_string (const void *p, size_t n, int delim);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ char *decode_c_string (const char *src);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-int is_file_compressed (const byte *buf, unsigned int buflen);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int match_multistr (const char *multistr,const char *match);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int gnupg_compare_version (const char *a, const char *b);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git g10/cipher-aead.c g10/cipher-aead.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 640d8432f..0c07e65de 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- g10/cipher-aead.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ g10/cipher-aead.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -174,8 +174,6 @@ write_header (cipher_filter_context_t *cfx, iobuf_t a)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ log_debug ("aead packet: len=%lu extralen=%d\n",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (unsigned long)ed.len, ed.extralen);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- write_status_printf (STATUS_BEGIN_ENCRYPTION, "0 %d %d",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- cfx->dek->algo, ed.aead_algo);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ print_cipher_algo_note (cfx->dek->algo);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (build_packet( a, &pkt))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -488,6 +486,11 @@ cipher_filter_aead (void *opaque, int control,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mem2str (buf, "cipher_filter_aead", *ret_len);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else if (control == IOBUFCTRL_INIT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ write_status_printf (STATUS_BEGIN_ENCRYPTION, "0 %d %d",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ cfx->dek->algo, cfx->dek->use_aead);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return rc;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git g10/cipher-cfb.c g10/cipher-cfb.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 3ba8eb738..29bf2477c 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- g10/cipher-cfb.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ g10/cipher-cfb.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -72,9 +72,6 @@ write_header (cipher_filter_context_t *cfx, iobuf_t a)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ log_info (_("Hint: Do not use option %s\n"), "--rfc2440");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- write_status_printf (STATUS_BEGIN_ENCRYPTION, "%d %d",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- ed.mdc_method, cfx->dek->algo);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ init_packet (&pkt);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pkt.pkttype = cfx->dek->use_mdc? PKT_ENCRYPTED_MDC : PKT_ENCRYPTED;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pkt.pkt.encrypted = &ed;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -182,6 +179,12 @@ cipher_filter_cfb (void *opaque, int control,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mem2str (buf, "cipher_filter_cfb", *ret_len);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ else if (control == IOBUFCTRL_INIT)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ write_status_printf (STATUS_BEGIN_ENCRYPTION, "%d %d",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ cfx->dek->use_mdc ? DIGEST_ALGO_SHA1 : 0,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ cfx->dek->algo);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return rc;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git g10/encrypt.c g10/encrypt.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 687b4344e..a524326bb 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- g10/encrypt.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ g10/encrypt.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -410,8 +410,6 @@ encrypt_simple (const char *filename, int mode, int use_seskey)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ text_filter_context_t tfx;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ progress_filter_context_t *pfx;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int do_compress = !!default_compress_algo();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- char peekbuf[32];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- int peekbuflen;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (!gnupg_rng_is_compliant (opt.compliance))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -448,14 +446,6 @@ encrypt_simple (const char *filename, int mode, int use_seskey)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return rc;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- peekbuflen = iobuf_ioctl (inp, IOBUF_IOCTL_PEEK, sizeof peekbuf, peekbuf);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (peekbuflen < 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- peekbuflen = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (DBG_FILTER)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- log_debug ("peeking at input failed\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ handle_progress (pfx, inp, filename);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (opt.textmode)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -517,17 +507,6 @@ encrypt_simple (const char *filename, int mode, int use_seskey)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /**/ : "CFB");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (do_compress
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- && cfx.dek
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- && (cfx.dek->use_mdc || cfx.dek->use_aead)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- && !opt.explicit_compress_option
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- && is_file_compressed (peekbuf, peekbuflen))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (opt.verbose)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- log_info(_("'%s' already compressed\n"), filename? filename: "[stdin]");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- do_compress = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if ( rc || (rc = open_outfile (-1, filename, opt.armor? 1:0, 0, &out )))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ iobuf_cancel (inp);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -598,6 +577,24 @@ encrypt_simple (const char *filename, int mode, int use_seskey)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ filesize = opt.set_filesize ? opt.set_filesize : 0; /* stdin */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Register the cipher filter. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (mode)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ iobuf_push_filter (out,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ cfx.dek->use_aead? cipher_filter_aead
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /**/ : cipher_filter_cfb,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ &cfx );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (do_compress
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ && cfx.dek
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ && (cfx.dek->use_mdc || cfx.dek->use_aead)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ && !opt.explicit_compress_option
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ && is_file_compressed (inp))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (opt.verbose)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ log_info(_("'%s' already compressed\n"), filename? filename: "[stdin]");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ do_compress = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (!opt.no_literal)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Note that PT has been initialized above in !no_literal mode. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -617,13 +614,6 @@ encrypt_simple (const char *filename, int mode, int use_seskey)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pkt.pkt.generic = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- /* Register the cipher filter. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (mode)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- iobuf_push_filter (out,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- cfx.dek->use_aead? cipher_filter_aead
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- /**/ : cipher_filter_cfb,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- &cfx );
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Register the compress filter. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if ( do_compress )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -783,7 +773,7 @@ encrypt_crypt (ctrl_t ctrl, int filefd, const char *filename,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PKT_plaintext *pt = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ DEK *symkey_dek = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ STRING2KEY *symkey_s2k = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- int rc = 0, rc2 = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ int rc = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ u32 filesize;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cipher_filter_context_t cfx;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ armor_filter_context_t *afx = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -792,8 +782,6 @@ encrypt_crypt (ctrl_t ctrl, int filefd, const char *filename,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ progress_filter_context_t *pfx;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PK_LIST pk_list;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int do_compress;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- char peekbuf[32];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- int peekbuflen;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (filefd != -1 && filename)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return gpg_error (GPG_ERR_INV_ARG); /* Both given. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -866,14 +854,6 @@ encrypt_crypt (ctrl_t ctrl, int filefd, const char *filename,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (opt.verbose)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ log_info (_("reading from '%s'\n"), iobuf_get_fname_nonnull (inp));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- peekbuflen = iobuf_ioctl (inp, IOBUF_IOCTL_PEEK, sizeof peekbuf, peekbuf);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (peekbuflen < 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- peekbuflen = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (DBG_FILTER)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- log_debug ("peeking at input failed\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ handle_progress (pfx, inp, filename);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (opt.textmode)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -900,25 +880,6 @@ encrypt_crypt (ctrl_t ctrl, int filefd, const char *filename,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (!cfx.dek->use_aead)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cfx.dek->use_mdc = !!use_mdc (pk_list, cfx.dek->algo);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- /* Only do the is-file-already-compressed check if we are using a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- * MDC or AEAD. This forces compressed files to be re-compressed if
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- * we do not have a MDC to give some protection against chosen
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- * ciphertext attacks. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (do_compress
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- && (cfx.dek->use_mdc || cfx.dek->use_aead)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- && !opt.explicit_compress_option
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- && is_file_compressed (peekbuf, peekbuflen))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (opt.verbose)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- log_info(_("'%s' already compressed\n"), filename? filename: "[stdin]");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- do_compress = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (rc2)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- rc = rc2;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- goto leave;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ make_session_key (cfx.dek);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (DBG_CRYPTO)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ log_printhex (cfx.dek->key, cfx.dek->keylen, "DEK is: ");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -960,6 +921,26 @@ encrypt_crypt (ctrl_t ctrl, int filefd, const char *filename,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ filesize = opt.set_filesize ? opt.set_filesize : 0; /* stdin */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Register the cipher filter. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ iobuf_push_filter (out,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ cfx.dek->use_aead? cipher_filter_aead
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /**/ : cipher_filter_cfb,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ &cfx);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ /* Only do the is-file-already-compressed check if we are using a
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * MDC or AEAD. This forces compressed files to be re-compressed if
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * we do not have a MDC to give some protection against chosen
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * ciphertext attacks. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (do_compress
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ && (cfx.dek->use_mdc || cfx.dek->use_aead)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ && !opt.explicit_compress_option
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ && is_file_compressed (inp))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (opt.verbose)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ log_info(_("'%s' already compressed\n"), filename? filename: "[stdin]");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ do_compress = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (!opt.no_literal)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pt->timestamp = make_timestamp();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -974,12 +955,6 @@ encrypt_crypt (ctrl_t ctrl, int filefd, const char *filename,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ cfx.datalen = filesize && !do_compress ? filesize : 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- /* Register the cipher filter. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- iobuf_push_filter (out,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- cfx.dek->use_aead? cipher_filter_aead
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- /**/ : cipher_filter_cfb,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- &cfx);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Register the compress filter. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (do_compress)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git g10/sign.c g10/sign.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index b5e9d422d..fcb1bb749 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- g10/sign.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ g10/sign.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1035,9 +1035,6 @@ sign_file (ctrl_t ctrl, strlist_t filenames, int detached, strlist_t locusr,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int multifile = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ u32 duration=0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pt_extra_hash_data_t extrahash = NULL;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- char peekbuf[32];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- int peekbuflen = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pfx = new_progress_context ();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ afx = new_armor_context ();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1096,14 +1093,6 @@ sign_file (ctrl_t ctrl, strlist_t filenames, int detached, strlist_t locusr,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ goto leave;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- peekbuflen = iobuf_ioctl (inp, IOBUF_IOCTL_PEEK, sizeof peekbuf, peekbuf);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (peekbuflen < 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- peekbuflen = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- if (DBG_FILTER)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- log_debug ("peeking at input failed\n");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ handle_progress (pfx, inp, fname);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1261,7 +1250,7 @@ sign_file (ctrl_t ctrl, strlist_t filenames, int detached, strlist_t locusr,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int compr_algo = opt.compress_algo;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (!opt.explicit_compress_option
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- && is_file_compressed (peekbuf, peekbuflen))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ && is_file_compressed (inp))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (opt.verbose)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ log_info(_("'%s' already compressed\n"), fname? fname: "[stdin]");
</span></pre><pre style='margin:0'>
</pre>