mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
gpg: Pass CTRL to many more functions.
-- For proper operations as a server we need to avoid global variables. Thus we need to pass the session state CTRL to most functions. Quite a lot of changes but fortunately straightforward to do. Signed-off-by: Werner Koch <wk@gnupg.org>
This commit is contained in:
parent
5e89144cbc
commit
8f2671d2cc
38 changed files with 885 additions and 751 deletions
36
g10/revoke.c
36
g10/revoke.c
|
@ -238,7 +238,7 @@ gen_desig_revoke (ctrl_t ctrl, const char *uname, strlist_t locusr)
|
|||
}
|
||||
|
||||
/* To parse the revkeys */
|
||||
merge_keys_and_selfsig(keyblock);
|
||||
merge_keys_and_selfsig (ctrl, keyblock);
|
||||
|
||||
/* get the key from the keyblock */
|
||||
node = find_kbnode( keyblock, PKT_PUBLIC_KEY );
|
||||
|
@ -294,7 +294,7 @@ gen_desig_revoke (ctrl_t ctrl, const char *uname, strlist_t locusr)
|
|||
else
|
||||
{
|
||||
pk2 = xmalloc_clear (sizeof *pk2);
|
||||
rc = get_pubkey_byfprint (pk2, NULL,
|
||||
rc = get_pubkey_byfprint (ctrl, pk2, NULL,
|
||||
pk->revkey[i].fpr, MAX_FINGERPRINT_LEN);
|
||||
}
|
||||
|
||||
|
@ -305,11 +305,11 @@ gen_desig_revoke (ctrl_t ctrl, const char *uname, strlist_t locusr)
|
|||
|
||||
any = 1;
|
||||
|
||||
print_pubkey_info (NULL, pk);
|
||||
print_pubkey_info (ctrl, NULL, pk);
|
||||
tty_printf ("\n");
|
||||
|
||||
tty_printf (_("To be revoked by:\n"));
|
||||
print_seckey_info (pk2);
|
||||
print_seckey_info (ctrl, pk2);
|
||||
|
||||
if(pk->revkey[i].class&0x40)
|
||||
tty_printf(_("(This is a sensitive revocation key)\n"));
|
||||
|
@ -343,7 +343,7 @@ gen_desig_revoke (ctrl_t ctrl, const char *uname, strlist_t locusr)
|
|||
push_armor_filter (afx, out);
|
||||
|
||||
/* create it */
|
||||
rc = make_keysig_packet( &sig, pk, NULL, NULL, pk2, 0x20, 0,
|
||||
rc = make_keysig_packet (ctrl, &sig, pk, NULL, NULL, pk2, 0x20, 0,
|
||||
0, 0,
|
||||
revocation_reason_build_cb, reason,
|
||||
NULL);
|
||||
|
@ -445,7 +445,8 @@ gen_desig_revoke (ctrl_t ctrl, const char *uname, strlist_t locusr)
|
|||
just the naked revocation signature; it may be NULL. If LEADINTEXT
|
||||
is not NULL, it is written right before the (armored) output.*/
|
||||
static int
|
||||
create_revocation (const char *filename,
|
||||
create_revocation (ctrl_t ctrl,
|
||||
const char *filename,
|
||||
struct revocation_reason_info *reason,
|
||||
PKT_public_key *psk,
|
||||
kbnode_t keyblock,
|
||||
|
@ -470,7 +471,7 @@ create_revocation (const char *filename,
|
|||
afx->hdrlines = "Comment: This is a revocation certificate\n";
|
||||
push_armor_filter (afx, out);
|
||||
|
||||
rc = make_keysig_packet (&sig, psk, NULL, NULL, psk, 0x20, 0,
|
||||
rc = make_keysig_packet (ctrl, &sig, psk, NULL, NULL, psk, 0x20, 0,
|
||||
0, 0,
|
||||
revocation_reason_build_cb, reason, cache_nonce);
|
||||
if (rc)
|
||||
|
@ -520,7 +521,7 @@ create_revocation (const char *filename,
|
|||
key must be available. CACHE_NONCE is optional but can be used to
|
||||
help gpg-agent to avoid an extra passphrase prompt. */
|
||||
int
|
||||
gen_standard_revoke (PKT_public_key *psk, const char *cache_nonce)
|
||||
gen_standard_revoke (ctrl_t ctrl, PKT_public_key *psk, const char *cache_nonce)
|
||||
{
|
||||
int rc;
|
||||
estream_t memfp;
|
||||
|
@ -549,14 +550,14 @@ gen_standard_revoke (PKT_public_key *psk, const char *cache_nonce)
|
|||
es_fprintf (memfp, "%s\n\n",
|
||||
_("This is a revocation certificate for the OpenPGP key:"));
|
||||
|
||||
print_key_line (memfp, psk, 0);
|
||||
print_key_line (ctrl, memfp, psk, 0);
|
||||
|
||||
if (opt.keyid_format != KF_NONE)
|
||||
print_fingerprint (memfp, psk, 3);
|
||||
print_fingerprint (ctrl, memfp, psk, 3);
|
||||
|
||||
kl = opt.keyid_format == KF_NONE? 0 : keystrlen ();
|
||||
|
||||
tmpstr = get_user_id (keyid, &len);
|
||||
tmpstr = get_user_id (ctrl, keyid, &len);
|
||||
es_fprintf (memfp, "uid%*s%.*s\n\n",
|
||||
kl + 10, "",
|
||||
(int)len, tmpstr);
|
||||
|
@ -585,7 +586,8 @@ gen_standard_revoke (PKT_public_key *psk, const char *cache_nonce)
|
|||
|
||||
reason.code = 0x00; /* No particular reason. */
|
||||
reason.desc = NULL;
|
||||
rc = create_revocation (fname, &reason, psk, NULL, leadin, 3, cache_nonce);
|
||||
rc = create_revocation (ctrl,
|
||||
fname, &reason, psk, NULL, leadin, 3, cache_nonce);
|
||||
if (!rc && !opt.quiet)
|
||||
log_info (_("revocation certificate stored as '%s.rev'\n"), fname);
|
||||
|
||||
|
@ -601,7 +603,7 @@ gen_standard_revoke (PKT_public_key *psk, const char *cache_nonce)
|
|||
* Generate a revocation certificate for UNAME
|
||||
*/
|
||||
int
|
||||
gen_revoke (const char *uname)
|
||||
gen_revoke (ctrl_t ctrl, const char *uname)
|
||||
{
|
||||
int rc = 0;
|
||||
PKT_public_key *psk;
|
||||
|
@ -660,7 +662,7 @@ gen_revoke (const char *uname)
|
|||
lines with secret key infos are printed after this message. */
|
||||
log_error (_("'%s' matches multiple secret keys:\n"), uname);
|
||||
|
||||
info = format_seckey_info (keyblock->pkt->pkt.public_key);
|
||||
info = format_seckey_info (ctrl, keyblock->pkt->pkt.public_key);
|
||||
log_error (" %s\n", info);
|
||||
xfree (info);
|
||||
release_kbnode (keyblock);
|
||||
|
@ -668,7 +670,7 @@ gen_revoke (const char *uname)
|
|||
rc = keydb_get_keyblock (kdbhd, &keyblock);
|
||||
while (! rc)
|
||||
{
|
||||
info = format_seckey_info (keyblock->pkt->pkt.public_key);
|
||||
info = format_seckey_info (ctrl, keyblock->pkt->pkt.public_key);
|
||||
log_info (" %s\n", info);
|
||||
xfree (info);
|
||||
release_kbnode (keyblock);
|
||||
|
@ -704,7 +706,7 @@ gen_revoke (const char *uname)
|
|||
}
|
||||
|
||||
keyid_from_pk (psk, keyid );
|
||||
print_seckey_info (psk);
|
||||
print_seckey_info (ctrl, psk);
|
||||
|
||||
tty_printf("\n");
|
||||
if (!cpr_get_answer_is_yes ("gen_revoke.okay",
|
||||
|
@ -726,7 +728,7 @@ gen_revoke (const char *uname)
|
|||
if (!opt.armor)
|
||||
tty_printf (_("ASCII armored output forced.\n"));
|
||||
|
||||
rc = create_revocation (NULL, reason, psk, keyblock, NULL, 0, NULL);
|
||||
rc = create_revocation (ctrl, NULL, reason, psk, keyblock, NULL, 0, NULL);
|
||||
if (rc)
|
||||
goto leave;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue