mirror of
git://git.gnupg.org/gnupg.git
synced 2025-02-01 16:33:02 +01:00
gpg: Remove commented code.
--
This commit is contained in:
parent
b47fe2b14e
commit
cb46e32628
143
g10/getkey.c
143
g10/getkey.c
@ -3041,146 +3041,3 @@ have_secret_key_with_kid (u32 *keyid)
|
||||
keydb_release (kdbhd);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#if 0
|
||||
/*
|
||||
* Merge the secret keys from secblock into the pubblock thereby
|
||||
* replacing the public (sub)keys with their secret counterparts Hmmm:
|
||||
* It might be better to get away from the concept of entire secret
|
||||
* keys at all and have a way to store just the real secret parts
|
||||
* from the key.
|
||||
*
|
||||
* FIXME: this is not anymore needed but we keep it as example code for the
|
||||
* new code we need to write for the import/export feature.
|
||||
*/
|
||||
static void
|
||||
merge_public_with_secret (KBNODE pubblock, KBNODE secblock)
|
||||
{
|
||||
KBNODE pub;
|
||||
|
||||
assert (pubblock->pkt->pkttype == PKT_PUBLIC_KEY);
|
||||
assert (secblock->pkt->pkttype == PKT_SECRET_KEY);
|
||||
|
||||
for (pub = pubblock; pub; pub = pub->next)
|
||||
{
|
||||
if (pub->pkt->pkttype == PKT_PUBLIC_KEY)
|
||||
{
|
||||
PKT_public_key *pk = pub->pkt->pkt.public_key;
|
||||
PKT_secret_key *sk = secblock->pkt->pkt.secret_key;
|
||||
assert (pub == pubblock); /* Only in the first node. */
|
||||
/* There is nothing to compare in this case, so just replace
|
||||
* some information. */
|
||||
copy_public_parts_to_secret_key (pk, sk);
|
||||
free_public_key (pk);
|
||||
pub->pkt->pkttype = PKT_SECRET_KEY;
|
||||
pub->pkt->pkt.secret_key = copy_secret_key (NULL, sk);
|
||||
}
|
||||
else if (pub->pkt->pkttype == PKT_PUBLIC_SUBKEY)
|
||||
{
|
||||
KBNODE sec;
|
||||
PKT_public_key *pk = pub->pkt->pkt.public_key;
|
||||
|
||||
/* This is more complicated: It may happen that the sequence
|
||||
* of the subkeys dosn't match, so we have to find the
|
||||
* appropriate secret key. */
|
||||
for (sec = secblock->next; sec; sec = sec->next)
|
||||
{
|
||||
if (sec->pkt->pkttype == PKT_SECRET_SUBKEY)
|
||||
{
|
||||
PKT_secret_key *sk = sec->pkt->pkt.secret_key;
|
||||
if (!cmp_public_secret_key (pk, sk))
|
||||
{
|
||||
copy_public_parts_to_secret_key (pk, sk);
|
||||
free_public_key (pk);
|
||||
pub->pkt->pkttype = PKT_SECRET_SUBKEY;
|
||||
pub->pkt->pkt.secret_key = copy_secret_key (NULL, sk);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!sec)
|
||||
BUG (); /* Already checked in premerge. */
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* This function checks that for every public subkey a corresponding
|
||||
* secret subkey is available and deletes the public subkey otherwise.
|
||||
* We need this function because we can't delete it later when we
|
||||
* actually merge the secret parts into the pubring.
|
||||
* The function also plays some games with the node flags.
|
||||
*
|
||||
* FIXME: this is not anymore needed but we keep it as example code for the
|
||||
* new code we need to write for the import/export feature.
|
||||
*/
|
||||
static void
|
||||
premerge_public_with_secret (KBNODE pubblock, KBNODE secblock)
|
||||
{
|
||||
KBNODE last, pub;
|
||||
|
||||
assert (pubblock->pkt->pkttype == PKT_PUBLIC_KEY);
|
||||
assert (secblock->pkt->pkttype == PKT_SECRET_KEY);
|
||||
|
||||
for (pub = pubblock, last = NULL; pub; last = pub, pub = pub->next)
|
||||
{
|
||||
pub->flag &= ~3; /* Reset bits 0 and 1. */
|
||||
if (pub->pkt->pkttype == PKT_PUBLIC_SUBKEY)
|
||||
{
|
||||
KBNODE sec;
|
||||
PKT_public_key *pk = pub->pkt->pkt.public_key;
|
||||
|
||||
for (sec = secblock->next; sec; sec = sec->next)
|
||||
{
|
||||
if (sec->pkt->pkttype == PKT_SECRET_SUBKEY)
|
||||
{
|
||||
PKT_secret_key *sk = sec->pkt->pkt.secret_key;
|
||||
if (!cmp_public_secret_key (pk, sk))
|
||||
{
|
||||
if (sk->protect.s2k.mode == 1001)
|
||||
{
|
||||
/* The secret parts are not available so
|
||||
we can't use that key for signing etc.
|
||||
Fix the pubkey usage */
|
||||
pk->pubkey_usage &= ~(PUBKEY_USAGE_SIG
|
||||
| PUBKEY_USAGE_AUTH);
|
||||
}
|
||||
/* Transfer flag bits 0 and 1 to the pubblock. */
|
||||
pub->flag |= (sec->flag & 3);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!sec)
|
||||
{
|
||||
KBNODE next, ll;
|
||||
|
||||
if (opt.verbose)
|
||||
log_info (_("no secret subkey"
|
||||
" for public subkey %s - ignoring\n"),
|
||||
keystr_from_pk (pk));
|
||||
/* We have to remove the subkey in this case. */
|
||||
assert (last);
|
||||
/* Find the next subkey. */
|
||||
for (next = pub->next, ll = pub;
|
||||
next && next->pkt->pkttype != PKT_PUBLIC_SUBKEY;
|
||||
ll = next, next = next->next)
|
||||
;
|
||||
/* Make new link. */
|
||||
last->next = next;
|
||||
/* Release this public subkey with all sigs. */
|
||||
ll->next = NULL;
|
||||
release_kbnode (pub);
|
||||
/* Let the loop continue. */
|
||||
pub = last;
|
||||
}
|
||||
}
|
||||
}
|
||||
/* We need to copy the found bits (0 and 1) from the secret key to
|
||||
the public key. This has already been done for the subkeys but
|
||||
got lost on the primary key - fix it here. */
|
||||
pubblock->flag |= (secblock->flag & 3);
|
||||
}
|
||||
#endif /*0*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user