aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Shaw <[email protected]>2003-02-02 15:47:43 +0000
committerDavid Shaw <[email protected]>2003-02-02 15:47:43 +0000
commit6291f18371bedc974055649ea96ad19ba56f87e9 (patch)
tree533f53a35ffc2c924eb182fb99e8d242fa129746
parent* gpgkeys_mailto.in: Fix regexp to work properly if the "keyid" is not a (diff)
downloadgnupg-6291f18371bedc974055649ea96ad19ba56f87e9.tar.gz
gnupg-6291f18371bedc974055649ea96ad19ba56f87e9.zip
* keyedit.c (menu_revuid): Properly handle a nonselfsigned uid on a v4 key
(treat as a v4 revocation). * import.c (print_import_check): Do not re-utf8 convert user IDs.
Diffstat (limited to '')
-rw-r--r--g10/ChangeLog7
-rw-r--r--g10/import.c10
-rw-r--r--g10/keyedit.c16
3 files changed, 17 insertions, 16 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog
index ed892b167..0fb74e5db 100644
--- a/g10/ChangeLog
+++ b/g10/ChangeLog
@@ -1,3 +1,10 @@
+2003-02-02 David Shaw <[email protected]>
+
+ * keyedit.c (menu_revuid): Properly handle a nonselfsigned uid on
+ a v4 key (treat as a v4 revocation).
+
+ * import.c (print_import_check): Do not re-utf8 convert user IDs.
+
2003-01-27 David Shaw <[email protected]>
* mainproc.c (list_node): Show signature expiration date in
diff --git a/g10/import.c b/g10/import.c
index 200b53360..83ae0b804 100644
--- a/g10/import.c
+++ b/g10/import.c
@@ -555,11 +555,10 @@ print_import_ok (PKT_public_key *pk, PKT_secret_key *sk, unsigned int reason)
write_status_text (STATUS_IMPORT_OK, buf);
}
-
void
print_import_check (PKT_public_key * pk, PKT_user_id * id)
{
- char * buf, * p;
+ char * buf;
byte fpr[24];
u32 keyid[2];
size_t i, pos = 0, n;
@@ -573,14 +572,11 @@ print_import_check (PKT_public_key * pk, PKT_user_id * id)
sprintf (buf+pos, "%02X", fpr[i]);
strcat (buf, " ");
pos += 1;
- p = native_to_utf8 (id->name);
- strcat (buf, p);
+ strcat (buf, id->name);
write_status_text (STATUS_IMPORT_CHECK, buf);
m_free (buf);
- m_free (p);
}
-
/****************
* Try to import one keyblock. Return an error only in serious cases, but
* never for an invalid keyblock. It uses log_error to increase the
@@ -632,7 +628,7 @@ import_one( const char *fname, KBNODE keyblock,
if (opt.interactive) {
if(is_status_enabled())
print_import_check (pk, uidnode->pkt->pkt.user_id);
- merge_keys_and_selfsig (keyblock);
+ merge_keys_and_selfsig (keyblock);
tty_printf ("\n");
show_basic_key_info (keyblock);
tty_printf ("\n");
diff --git a/g10/keyedit.c b/g10/keyedit.c
index e431bc1fc..9a7d1f2a7 100644
--- a/g10/keyedit.c
+++ b/g10/keyedit.c
@@ -3352,8 +3352,8 @@ menu_revuid( KBNODE pub_keyblock, KBNODE sec_keyblock )
probably be safe to use v4 revocations everywhere. -ds */
for( node = pub_keyblock; node; node = node->next )
- if(node->pkt->pkttype==PKT_USER_ID &&
- node->pkt->pkt.user_id->selfsigversion>3)
+ if(pk->version>3 || (node->pkt->pkttype==PKT_USER_ID &&
+ node->pkt->pkt.user_id->selfsigversion>3))
{
if((reason = ask_revocation_reason( 0, 1, 4 )))
break;
@@ -3413,13 +3413,11 @@ menu_revuid( KBNODE pub_keyblock, KBNODE sec_keyblock )
pkt->pkt.signature = sig;
insert_kbnode( node, new_kbnode(pkt), 0 );
- if(!update_trust)
- {
- /* If the trustdb has an entry for this key+uid then the
- trustdb needs an update. */
- if((get_validity(pk,uid)&TRUST_MASK)>=TRUST_UNDEFINED)
- update_trust=1;
- }
+ /* If the trustdb has an entry for this key+uid then the
+ trustdb needs an update. */
+ if(!update_trust
+ && (get_validity(pk,uid)&TRUST_MASK)>=TRUST_UNDEFINED)
+ update_trust=1;
changed = 1;
node->pkt->pkt.user_id->is_revoked=1;