diff options
| -rw-r--r-- | NEWS | 3 | ||||
| -rw-r--r-- | doc/gpgme.texi | 15 | ||||
| -rw-r--r-- | src/engine-gpg.c | 6 | ||||
| -rw-r--r-- | src/gpgme-tool.c | 6 | ||||
| -rw-r--r-- | src/gpgme.h.in | 3 | 
5 files changed, 30 insertions, 3 deletions
| @@ -12,6 +12,8 @@ Noteworthy changes in version 1.5.0 (unreleased)   * Add feature to use the gpgme I/O subsystem to run arbitrary     commands. + * Add flag to force encryption without the default comprtession step. +   * Interface changes relative to the 1.4.3 release:   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   gpgme_get_dirinfo              NEW. @@ -20,6 +22,7 @@ Noteworthy changes in version 1.5.0 (unreleased)   GPGME_PROTOCOL_SPAWN           NEW.   GPGME_SPAWN_DETACHED           NEW.   GPGME_SPAWN_ALLOW_SET_FG       NEW. + GPGME_ENCRYPT_NO_COMPRESS      NEW.  Noteworthy changes in version 1.4.3 (2013-08-12) diff --git a/doc/gpgme.texi b/doc/gpgme.texi index 7697ff12..eaf1fcb7 100644 --- a/doc/gpgme.texi +++ b/doc/gpgme.texi @@ -5141,6 +5141,21 @@ The @code{GPGME_ENCRYPT_NO_ENCRYPT_TO} symbol specifies that no  default or hidden default recipients as configured in the crypto  backend should be included.  This can be useful for managing different  user profiles. + +@item GPGME_ENCRYPT_NO_COMPRESS +The @code{GPGME_ENCRYPT_NO_COMPRESS} symbol specifies that the +plaintext shall not be compressed before it is encrypted.  This is +in some cases useful if the length of the encrypted message +may reveal information about the plaintext. + +@item GPGME_ENCRYPT_PREPARE +@itemx GPGME_ENCRYPT_EXPECT_SIGN +The @code{GPGME_ENCRYPT_PREPARE} symbol is used with the UI Server +protocol to prepare an encryption (i.e. sending the +@code{PREP_ENCRYPT} command).  With the +@code{GPGME_ENCRYPT_EXPECT_SIGN} symbol the UI Server is advised to +also expect a sign command. +  @end table  If @code{GPG_ERR_UNUSABLE_PUBKEY} is returned, some recipients in diff --git a/src/engine-gpg.c b/src/engine-gpg.c index ce9e3494..ede098ef 100644 --- a/src/engine-gpg.c +++ b/src/engine-gpg.c @@ -1662,6 +1662,9 @@ gpg_encrypt (void *engine, gpgme_key_t recp[], gpgme_encrypt_flags_t flags,    if (!err && use_armor)      err = add_arg (gpg, "--armor"); +  if (!err && (flags & GPGME_ENCRYPT_NO_COMPRESS)) +    err = add_arg (gpg, "--compress-algo=none"); +    if (!symmetric)      {        /* If we know that all recipients are valid (full or ultimate trust) @@ -1719,6 +1722,9 @@ gpg_encrypt_sign (void *engine, gpgme_key_t recp[],    if (!err && use_armor)      err = add_arg (gpg, "--armor"); +  if (!err && (flags & GPGME_ENCRYPT_NO_COMPRESS)) +    err = add_arg (gpg, "--compress-algo=none"); +    if (!symmetric)      {        /* If we know that all recipients are valid (full or ultimate trust) diff --git a/src/gpgme-tool.c b/src/gpgme-tool.c index a980347c..be8ed078 100644 --- a/src/gpgme-tool.c +++ b/src/gpgme-tool.c @@ -2806,6 +2806,8 @@ _cmd_sign_encrypt (assuan_context_t ctx, char *line, int sign)      flags |= GPGME_ENCRYPT_PREPARE;    if (strstr (line, "--expect-sign"))      flags |= GPGME_ENCRYPT_EXPECT_SIGN; +  if (strstr (line, "--no-compress")) +    flags |= GPGME_ENCRYPT_NO_COMPRESS;    inp_fd = server->input_fd;    inp_fn = server->input_filename; @@ -2842,7 +2844,7 @@ _cmd_sign_encrypt (assuan_context_t ctx, char *line, int sign)  static const char hlp_encrypt[] =    "ENCRYPT [--always-trust] [--no-encrypt-to]\n" -  "  [--prepare] [--expect-sign]\n" +  "  [--no-compress] [--prepare] [--expect-sign]\n"    "\n"    "Encrypt the object set by the last INPUT command to\n"    "the keys specified by previous RECIPIENT commands.  \n" @@ -2857,7 +2859,7 @@ cmd_encrypt (assuan_context_t ctx, char *line)  static const char hlp_sign_encrypt[] =    "SIGN_ENCRYPT [--always-trust] [--no-encrypt-to]\n" -  "  [--prepare] [--expect-sign]\n" +  "  [--no-compress] [--prepare] [--expect-sign]\n"    "\n"    "Sign the object set by the last INPUT command with the\n"    "keys specified by previous SIGNER commands and encrypt\n" diff --git a/src/gpgme.h.in b/src/gpgme.h.in index 655602df..efc58ea5 100644 --- a/src/gpgme.h.in +++ b/src/gpgme.h.in @@ -1283,7 +1283,8 @@ typedef enum      GPGME_ENCRYPT_ALWAYS_TRUST = 1,      GPGME_ENCRYPT_NO_ENCRYPT_TO = 2,      GPGME_ENCRYPT_PREPARE = 4, -    GPGME_ENCRYPT_EXPECT_SIGN = 8 +    GPGME_ENCRYPT_EXPECT_SIGN = 8, +    GPGME_ENCRYPT_NO_COMPRESS = 16    }  gpgme_encrypt_flags_t; | 
