diff options
author | Werner Koch <[email protected]> | 2010-01-08 19:18:49 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2010-01-08 19:18:49 +0000 |
commit | be45bf3d544873ff4bc86496c6ab6c5f16c6a26e (patch) | |
tree | 31c443f6d989917ea476143abc4fd5d2ae749faa /g10/call-agent.c | |
parent | Fix bug 1146 (diff) | |
download | gnupg-be45bf3d544873ff4bc86496c6ab6c5f16c6a26e.tar.gz gnupg-be45bf3d544873ff4bc86496c6ab6c5f16c6a26e.zip |
Add dummu option --passwd for gpg.
Collected changes.
Diffstat (limited to '')
-rw-r--r-- | g10/call-agent.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/g10/call-agent.c b/g10/call-agent.c index 5ee7f8e06..260cd48a9 100644 --- a/g10/call-agent.c +++ b/g10/call-agent.c @@ -1254,3 +1254,38 @@ gpg_agent_get_confirmation (const char *desc) } +/* Return the S2K iteration count as computed by gpg-agent. */ +gpg_error_t +agent_get_s2k_count (unsigned long *r_count) +{ + gpg_error_t err; + membuf_t data; + char *buf; + + *r_count = 0; + + err = start_agent (0); + if (err) + return err; + + init_membuf (&data, 32); + err = assuan_transact (agent_ctx, "GETINFO s2k_count", + membuf_data_cb, &data, + NULL, NULL, NULL, NULL); + if (err) + xfree (get_membuf (&data, NULL)); + else + { + put_membuf (&data, "", 1); + buf = get_membuf (&data, NULL); + if (!buf) + err = gpg_error_from_syserror (); + else + { + *r_count = strtoul (buf, NULL, 10); + xfree (buf); + } + } + return err; +} + |