From a5ed3e692541a3aa71eab75ce85c0443fd13cb32 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Fri, 27 Jul 2001 09:33:00 +0000 Subject: [PATCH] Fixed lsign using v3 problem --- g10/ChangeLog | 5 +++++ g10/keyedit.c | 11 +++++++++++ 2 files changed, 16 insertions(+) diff --git a/g10/ChangeLog b/g10/ChangeLog index 85a66e75f..9966c4199 100644 --- a/g10/ChangeLog +++ b/g10/ChangeLog @@ -1,3 +1,8 @@ +2001-07-27 Werner Koch + + * keyedit.c (sign_uids): Check that we are not trying to to a + lsign with a pre-v4 key. Bug noticed by Thomas Roessler. + 2001-07-26 Werner Koch * parse-packet.c (parse_photo_id): Reset all variables. diff --git a/g10/keyedit.c b/g10/keyedit.c index 8b6386f71..565e9994e 100644 --- a/g10/keyedit.c +++ b/g10/keyedit.c @@ -282,6 +282,17 @@ sign_uids( KBNODE keyblock, STRLIST locusr, int *ret_modified, int local ) if( rc ) goto leave; + if (local) { + for( sk_rover = sk_list; sk_rover; sk_rover = sk_rover->next ) { + if (sk_rover->sk->version < 4) { + tty_printf ("Local only signing not possible " + "due to an old style key\n"); + rc = G10ERR_UNU_SECKEY; + goto leave; + } + } + } + /* loop over all signaturs */ for( sk_rover = sk_list; sk_rover; sk_rover = sk_rover->next ) { u32 sk_keyid[2];