1
0
mirror of git://git.gnupg.org/gnupg.git synced 2025-04-17 15:44:34 +02:00

gpg: Fix indendation of check_sig_and_print.

--
This commit is contained in:
Werner Koch 2014-05-07 14:08:16 +02:00
parent 09055aa0f7
commit e5279c85a0

View File

@ -1,7 +1,7 @@
/* mainproc.c - handle packets /* mainproc.c - handle packets
* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, * Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
* 2008, 2009 Free Software Foundation, Inc. * 2008, 2009 Free Software Foundation, Inc.
* Copyright (C) 2013 Werner Koch * Copyright (C) 2013, 2014 Werner Koch
* *
* This file is part of GnuPG. * This file is part of GnuPG.
* *
@ -1649,11 +1649,8 @@ check_sig_and_print( CTX c, KBNODE node )
log_error(_("can't handle this ambiguous signature data\n")); log_error(_("can't handle this ambiguous signature data\n"));
return 0; return 0;
} }
} }
/* (Indendation below not yet changed to GNU style.) */
astr = openpgp_pk_algo_name ( sig->pubkey_algo ); astr = openpgp_pk_algo_name ( sig->pubkey_algo );
if (keystrlen () > 8) if (keystrlen () > 8)
{ {
@ -1670,7 +1667,7 @@ check_sig_and_print( CTX c, KBNODE node )
/* If the key isn't found, check for a preferred keyserver */ /* If the key isn't found, check for a preferred keyserver */
if(rc==G10ERR_NO_PUBKEY && sig->flags.pref_ks) if (gpg_err_code (rc) == G10ERR_NO_PUBKEY && sig->flags.pref_ks)
{ {
const byte *p; const byte *p;
int seq = 0; int seq = 0;
@ -1678,10 +1675,10 @@ check_sig_and_print( CTX c, KBNODE node )
while ((p=enum_sig_subpkt (sig->hashed,SIGSUBPKT_PREF_KS,&n,&seq,NULL))) while ((p=enum_sig_subpkt (sig->hashed,SIGSUBPKT_PREF_KS,&n,&seq,NULL)))
{ {
/* According to my favorite copy editor, in English /* According to my favorite copy editor, in English grammar,
grammar, you say "at" if the key is located on a web you say "at" if the key is located on a web page, but
page, but "from" if it is located on a keyserver. I'm "from" if it is located on a keyserver. I'm not going to
not going to even try to make two strings here :) */ even try to make two strings here :) */
log_info(_("Key available at: ") ); log_info(_("Key available at: ") );
print_utf8_buffer (log_get_stream(), p, n); print_utf8_buffer (log_get_stream(), p, n);
log_printf ("\n"); log_printf ("\n");
@ -1712,9 +1709,9 @@ check_sig_and_print( CTX c, KBNODE node )
/* If the preferred keyserver thing above didn't work, our second /* If the preferred keyserver thing above didn't work, our second
try is to use the URI from a DNS PKA record. */ try is to use the URI from a DNS PKA record. */
if ( rc == G10ERR_NO_PUBKEY if (gpg_err_code (rc) == G10ERR_NO_PUBKEY
&& opt.keyserver_options.options&KEYSERVER_AUTO_KEY_RETRIEVE && (opt.keyserver_options.options & KEYSERVER_AUTO_KEY_RETRIEVE)
&& opt.keyserver_options.options&KEYSERVER_HONOR_PKA_RECORD) && (opt.keyserver_options.options & KEYSERVER_HONOR_PKA_RECORD))
{ {
const char *uri = pka_uri_from_sig (sig); const char *uri = pka_uri_from_sig (sig);
@ -1741,8 +1738,9 @@ check_sig_and_print( CTX c, KBNODE node )
/* If the preferred keyserver thing above didn't work and we got /* If the preferred keyserver thing above didn't work and we got
no information from the DNS PKA, this is a third try. */ no information from the DNS PKA, this is a third try. */
if( rc == G10ERR_NO_PUBKEY && opt.keyserver if (gpg_err_code (rc) == G10ERR_NO_PUBKEY
&& opt.keyserver_options.options&KEYSERVER_AUTO_KEY_RETRIEVE) && opt.keyserver
&& (opt.keyserver_options.options&KEYSERVER_AUTO_KEY_RETRIEVE))
{ {
int res; int res;
@ -1753,9 +1751,11 @@ check_sig_and_print( CTX c, KBNODE node )
rc = do_check_sig (c, node, NULL, &is_expkey, &is_revkey ); rc = do_check_sig (c, node, NULL, &is_expkey, &is_revkey );
} }
if( !rc || gpg_err_code (rc) == GPG_ERR_BAD_SIGNATURE ) { if (!rc || gpg_err_code (rc) == GPG_ERR_BAD_SIGNATURE)
KBNODE un, keyblock; {
int count=0, statno; kbnode_t un, keyblock;
int count = 0;
int statno;
char keyid_str[50]; char keyid_str[50];
PKT_public_key *pk = NULL; PKT_public_key *pk = NULL;
@ -1772,13 +1772,15 @@ check_sig_and_print( CTX c, KBNODE node )
keyblock = get_pubkeyblock (sig->keyid); keyblock = get_pubkeyblock (sig->keyid);
sprintf (keyid_str, "%08lX%08lX [uncertain] ", snprintf (keyid_str, sizeof keyid_str, "%08lX%08lX [uncertain] ",
(ulong)sig->keyid[0], (ulong)sig->keyid[1]); (ulong)sig->keyid[0], (ulong)sig->keyid[1]);
/* find and print the primary user ID */ /* Find and print the primary user ID. */
for( un=keyblock; un; un = un->next ) { for (un=keyblock; un; un = un->next)
{
char *p; char *p;
int valid; int valid;
if (un->pkt->pkttype==PKT_PUBLIC_KEY) if (un->pkt->pkttype==PKT_PUBLIC_KEY)
{ {
pk=un->pkt->pkt.public_key; pk=un->pkt->pkt.public_key;
@ -1800,9 +1802,8 @@ check_sig_and_print( CTX c, KBNODE node )
assert (pk); assert (pk);
/* Get it before we print anything to avoid interrupting /* Get it before we print anything to avoid interrupting the
the output with the "please do a --check-trustdb" output with the "please do a --check-trustdb" line. */
line. */
valid = get_validity (pk, un->pkt->pkt.user_id); valid = get_validity (pk, un->pkt->pkt.user_id);
keyid_str[17] = 0; /* cut off the "[uncertain]" part */ keyid_str[17] = 0; /* cut off the "[uncertain]" part */
@ -1829,20 +1830,24 @@ check_sig_and_print( CTX c, KBNODE node )
log_printf ("\n"); log_printf ("\n");
count++; count++;
} }
if( !count ) { /* just in case that we have no valid textual
userid */ if (!count) /* Just in case that we have no valid textual userid */
{
char *p; char *p;
/* Try for an invalid textual userid */ /* Try for an invalid textual userid */
for( un=keyblock; un; un = un->next ) { for (un=keyblock; un; un = un->next)
if( un->pkt->pkttype == PKT_USER_ID && {
!un->pkt->pkt.user_id->attrib_data ) if (un->pkt->pkttype == PKT_USER_ID
&& !un->pkt->pkt.user_id->attrib_data)
break; break;
} }
/* Try for any userid at all */ /* Try for any userid at all */
if(!un) { if (!un)
for( un=keyblock; un; un = un->next ) { {
for (un=keyblock; un; un = un->next)
{
if (un->pkt->pkttype == PKT_USER_ID) if (un->pkt->pkttype == PKT_USER_ID)
break; break;
} }
@ -1875,10 +1880,13 @@ check_sig_and_print( CTX c, KBNODE node )
/* If we have a good signature and already printed /* If we have a good signature and already printed
* the primary user ID, print all the other user IDs */ * the primary user ID, print all the other user IDs */
if ( count && !rc if (count
&& !(opt.verify_options&VERIFY_SHOW_PRIMARY_UID_ONLY)) { && !rc
&& !(opt.verify_options & VERIFY_SHOW_PRIMARY_UID_ONLY))
{
char *p; char *p;
for( un=keyblock; un; un = un->next ) { for( un=keyblock; un; un = un->next)
{
if (un->pkt->pkttype != PKT_USER_ID) if (un->pkt->pkttype != PKT_USER_ID)
continue; continue;
if ((un->pkt->pkt.user_id->is_revoked if ((un->pkt->pkt.user_id->is_revoked
@ -1886,8 +1894,8 @@ check_sig_and_print( CTX c, KBNODE node )
&& !(opt.verify_options & VERIFY_SHOW_UNUSABLE_UIDS)) && !(opt.verify_options & VERIFY_SHOW_UNUSABLE_UIDS))
continue; continue;
/* Only skip textual primaries */ /* Only skip textual primaries */
if ( un->pkt->pkt.user_id->is_primary && if (un->pkt->pkt.user_id->is_primary
!un->pkt->pkt.user_id->attrib_data ) && !un->pkt->pkt.user_id->attrib_data )
continue; continue;
if (un->pkt->pkt.user_id->attrib_data) if (un->pkt->pkt.user_id->attrib_data)
@ -1905,17 +1913,17 @@ check_sig_and_print( CTX c, KBNODE node )
log_info (_(" aka \"%s\""), p); log_info (_(" aka \"%s\""), p);
xfree (p); xfree (p);
if(opt.verify_options&VERIFY_SHOW_UID_VALIDITY) if ((opt.verify_options & VERIFY_SHOW_UID_VALIDITY))
{ {
const char *valid; const char *valid;
if (un->pkt->pkt.user_id->is_revoked) if (un->pkt->pkt.user_id->is_revoked)
valid = _("revoked"); valid = _("revoked");
else if (un->pkt->pkt.user_id->is_expired) else if (un->pkt->pkt.user_id->is_expired)
valid = _("expired"); valid = _("expired");
else else
valid=trust_value_to_string(get_validity(pk, valid = (trust_value_to_string
un->pkt-> (get_validity (pk, un->pkt->pkt.user_id)));
pkt.user_id));
log_printf (" [%s]\n",valid); log_printf (" [%s]\n",valid);
} }
else else
@ -1926,29 +1934,32 @@ check_sig_and_print( CTX c, KBNODE node )
if (!rc) if (!rc)
{ {
if(opt.verify_options&VERIFY_SHOW_POLICY_URLS) if ((opt.verify_options & VERIFY_SHOW_POLICY_URLS))
show_policy_url (sig, 0, 1); show_policy_url (sig, 0, 1);
else else
show_policy_url (sig, 0, 2); show_policy_url (sig, 0, 2);
if(opt.verify_options&VERIFY_SHOW_KEYSERVER_URLS) if ((opt.verify_options & VERIFY_SHOW_KEYSERVER_URLS))
show_keyserver_url (sig, 0, 1); show_keyserver_url (sig, 0, 1);
else else
show_keyserver_url (sig, 0, 2); show_keyserver_url (sig, 0, 2);
if(opt.verify_options&VERIFY_SHOW_NOTATIONS) if ((opt.verify_options & VERIFY_SHOW_NOTATIONS))
show_notation(sig,0,1, show_notation
((opt.verify_options&VERIFY_SHOW_STD_NOTATIONS)?1:0)+ (sig, 0, 1,
((opt.verify_options&VERIFY_SHOW_USER_NOTATIONS)?2:0)); (((opt.verify_options&VERIFY_SHOW_STD_NOTATIONS)?1:0)
+ ((opt.verify_options&VERIFY_SHOW_USER_NOTATIONS)?2:0)));
else else
show_notation (sig, 0, 2, 0); show_notation (sig, 0, 2, 0);
} }
if( !rc && is_status_enabled() ) { if (!rc && is_status_enabled ())
/* print a status response with the fingerprint */ {
/* Print a status response with the fingerprint. */
PKT_public_key *vpk = xmalloc_clear (sizeof *vpk); PKT_public_key *vpk = xmalloc_clear (sizeof *vpk);
if( !get_pubkey( vpk, sig->keyid ) ) { if (!get_pubkey (vpk, sig->keyid))
{
byte array[MAX_FINGERPRINT_LEN], *p; byte array[MAX_FINGERPRINT_LEN], *p;
char buf[MAX_FINGERPRINT_LEN*4+90], *bufp; char buf[MAX_FINGERPRINT_LEN*4+90], *bufp;
size_t i, n; size_t i, n;
@ -1960,23 +1971,24 @@ check_sig_and_print( CTX c, KBNODE node )
sprintf (bufp, "%02X", *p ); sprintf (bufp, "%02X", *p );
/* TODO: Replace the reserved '0' in the field below /* TODO: Replace the reserved '0' in the field below
with bits for status flags (policy url, notation, with bits for status flags (policy url, notation,
etc.). Remember to make the buffer larger to etc.). Remember to make the buffer larger to match! */
match! */
sprintf (bufp, " %s %lu %lu %d 0 %d %d %02X ", sprintf (bufp, " %s %lu %lu %d 0 %d %d %02X ",
strtimestamp( sig->timestamp ), strtimestamp( sig->timestamp ),
(ulong)sig->timestamp,(ulong)sig->expiredate, (ulong)sig->timestamp,(ulong)sig->expiredate,
sig->version,sig->pubkey_algo,sig->digest_algo, sig->version,sig->pubkey_algo,sig->digest_algo,
sig->sig_class); sig->sig_class);
bufp = bufp + strlen (bufp); bufp = bufp + strlen (bufp);
if (!vpk->flags.primary) { if (!vpk->flags.primary)
{
u32 akid[2]; u32 akid[2];
akid[0] = vpk->main_keyid[0]; akid[0] = vpk->main_keyid[0];
akid[1] = vpk->main_keyid[1]; akid[1] = vpk->main_keyid[1];
free_public_key (vpk); free_public_key (vpk);
vpk = xmalloc_clear (sizeof *vpk); vpk = xmalloc_clear (sizeof *vpk);
if (get_pubkey (vpk, akid)) { if (get_pubkey (vpk, akid))
/* impossible error, we simply return a zeroed out fpr */ {
/* Impossible error, we simply return a zeroed out fpr */
n = MAX_FINGERPRINT_LEN < 20? MAX_FINGERPRINT_LEN : 20; n = MAX_FINGERPRINT_LEN < 20? MAX_FINGERPRINT_LEN : 20;
memset (array, 0, n); memset (array, 0, n);
} }
@ -1993,15 +2005,14 @@ check_sig_and_print( CTX c, KBNODE node )
if (!rc) if (!rc)
{ {
if(opt.verify_options&VERIFY_PKA_LOOKUPS) if ((opt.verify_options & VERIFY_PKA_LOOKUPS))
pka_uri_from_sig (sig); /* Make sure PKA info is available. */ pka_uri_from_sig (sig); /* Make sure PKA info is available. */
rc = check_signatures_trust (sig); rc = check_signatures_trust (sig);
} }
if (sig->flags.expired) if (sig->flags.expired)
{ {
log_info(_("Signature expired %s\n"), log_info (_("Signature expired %s\n"), asctimestamp(sig->expiredate));
asctimestamp(sig->expiredate));
rc = G10ERR_GENERAL; /* need a better error here? */ rc = G10ERR_GENERAL; /* need a better error here? */
} }
else if (sig->expiredate) else if (sig->expiredate)
@ -2018,20 +2029,24 @@ check_sig_and_print( CTX c, KBNODE node )
if (opt.batch && rc) if (opt.batch && rc)
g10_exit (1); g10_exit (1);
} }
else { else
{
char buf[50]; char buf[50];
sprintf(buf, "%08lX%08lX %d %d %02x %lu %d",
snprintf (buf, sizeof buf, "%08lX%08lX %d %d %02x %lu %d",
(ulong)sig->keyid[0], (ulong)sig->keyid[1], (ulong)sig->keyid[0], (ulong)sig->keyid[1],
sig->pubkey_algo, sig->digest_algo, sig->pubkey_algo, sig->digest_algo,
sig->sig_class, (ulong)sig->timestamp, rc); sig->sig_class, (ulong)sig->timestamp, rc);
write_status_text (STATUS_ERRSIG, buf); write_status_text (STATUS_ERRSIG, buf);
if( rc == G10ERR_NO_PUBKEY ) { if (gpg_err_code (rc) == G10ERR_NO_PUBKEY)
{
buf[16] = 0; buf[16] = 0;
write_status_text (STATUS_NO_PUBKEY, buf); write_status_text (STATUS_NO_PUBKEY, buf);
} }
if( rc != G10ERR_NOT_PROCESSED ) if (gpg_err_code (rc) != G10ERR_NOT_PROCESSED)
log_error (_("Can't check signature: %s\n"), g10_errstr(rc)); log_error (_("Can't check signature: %s\n"), g10_errstr(rc));
} }
return rc; return rc;
} }