aboutsummaryrefslogtreecommitdiffstats
path: root/g10/gpgcompose.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2019-01-26 22:10:38 +0000
committerWerner Koch <[email protected]>2019-01-26 22:10:38 +0000
commitec13b1c562e34c0fcbc7b848ab6dc187b79cf2c1 (patch)
tree33ad3af6094e2a64625772e0f60104e48e8b917e /g10/gpgcompose.c
parentscd: Improve app selection for app "undefined". (diff)
downloadgnupg-ec13b1c562e34c0fcbc7b848ab6dc187b79cf2c1.tar.gz
gnupg-ec13b1c562e34c0fcbc7b848ab6dc187b79cf2c1.zip
gpg: Move S2K encoding function to a shared file.
* g10/passphrase.c (encode_s2k_iterations): Move function to ... * common/openpgp-s2k.c: new file. Remove default intialization code. * common/openpgpdefs.h (S2K_DECODE_COUNT): New to keep only one copy. * g10/call-agent.c (agent_get_s2k_count): Change to return the count and print an error. * agent/protect.c: Include openpgpdefs.h * g10/card-util.c (gen_kdf_data): Adjust for changes * g10/gpgcompose.c: Include call-agent.h. (sk_esk): Adjust for changes. * g10/passphrase (passphrase_to_dek): Adjust for changes. * g10/main.h (S2K_DECODE_COUNT): Remove macro. Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to '')
-rw-r--r--g10/gpgcompose.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/g10/gpgcompose.c b/g10/gpgcompose.c
index 6f573ce46..5c0857590 100644
--- a/g10/gpgcompose.c
+++ b/g10/gpgcompose.c
@@ -25,6 +25,7 @@
#include "keydb.h"
#include "main.h"
#include "options.h"
+#include "call-agent.h"
static int do_debug;
#define debug(fmt, ...) \
@@ -2248,9 +2249,12 @@ sk_esk (const char *option, int argc, char *argv[], void *cookie)
log_assert (sizeof (si.salt) == sizeof (ske->s2k.salt));
memcpy (ske->s2k.salt, si.salt, sizeof (ske->s2k.salt));
if (! si.s2k_is_session_key)
- /* 0 means get the default. */
- ske->s2k.count = encode_s2k_iterations (si.iterations);
-
+ {
+ if (!si.iterations)
+ ske->s2k.count = encode_s2k_iterations (agent_get_s2k_count ());
+ else
+ ske->s2k.count = encode_s2k_iterations (si.iterations);
+ }
/* Derive the symmetric key that is either the session key or the
key used to encrypt the session key. */