aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--g10/ChangeLog8
-rw-r--r--g10/g10.c29
-rw-r--r--g10/trustdb.c20
3 files changed, 50 insertions, 7 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog
index ddb50192d..7350871c4 100644
--- a/g10/ChangeLog
+++ b/g10/ChangeLog
@@ -1,3 +1,11 @@
+2003-12-02 David Shaw <[email protected]>
+
+ * g10.c (strusage, main): Show development version warning in
+ --version output.
+
+ * trustdb.c (mark_usable_uid_certs): Disallow signatures to and
+ from an Elgamal signing key in the trustdb.
+
2003-11-29 David Shaw <[email protected]>
* keygen.c (ask_algo): Remove ability to generate Elgamal
diff --git a/g10/g10.c b/g10/g10.c
index 1553cdddb..54083a09f 100644
--- a/g10/g10.c
+++ b/g10/g10.c
@@ -645,6 +645,19 @@ strusage( int level )
case 19: p =
_("Please report bugs to <[email protected]>.\n");
break;
+
+#ifdef IS_DEVELOPMENT_VERSION
+ case 20:
+ p="NOTE: THIS IS A DEVELOPMENT VERSION!";
+ break;
+ case 21:
+ p="It is only intended for test purposes and should NOT be";
+ break;
+ case 22:
+ p="used in a production environment or with production keys!";
+ break;
+#endif
+
case 1:
case 40: p =
_("Usage: gpg [options] [files] (-h for help)");
@@ -1754,11 +1767,17 @@ main( int argc, char **argv )
fprintf(stderr, "%s\n", strusage(15) );
}
#ifdef IS_DEVELOPMENT_VERSION
- if( !opt.batch ) {
- log_info("NOTE: THIS IS A DEVELOPMENT VERSION!\n");
- log_info("It is only intended for test purposes and should NOT be\n");
- log_info("used in a production environment or with production keys!\n");
- }
+ if( !opt.batch )
+ {
+ const char *s;
+
+ if((s=strusage(20)))
+ log_info("%s\n",s);
+ if((s=strusage(21)))
+ log_info("%s\n",s);
+ if((s=strusage(22)))
+ log_info("%s\n",s);
+ }
#endif
if (opt.verbose > 2)
diff --git a/g10/trustdb.c b/g10/trustdb.c
index 39a21aa26..04ae07171 100644
--- a/g10/trustdb.c
+++ b/g10/trustdb.c
@@ -1,6 +1,6 @@
/* trustdb.c
- * Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003
- * Free Software Foundation, Inc.
+ * Copyright (C) 1998, 1999, 2000, 2001, 2002,
+ * 2003 Free Software Foundation, Inc.
*
* This file is part of GnuPG.
*
@@ -1194,6 +1194,22 @@ mark_usable_uid_certs (KBNODE keyblock, KBNODE uidnode,
continue; /* we only look at these signature classes */
if (!is_in_klist (klist, sig))
continue; /* no need to check it then */
+ if(sig->pubkey_algo==PUBKEY_ALGO_ELGAMAL)
+ {
+ if(opt.verbose)
+ log_info(_("signature from Elgamal signing key %08lX "
+ "to %08lX skipped\n"),
+ (ulong)sig->keyid[1],(ulong)main_kid[1]);
+ continue;
+ }
+ if(keyblock->pkt->pkt.public_key->pubkey_algo==PUBKEY_ALGO_ELGAMAL)
+ {
+ if(opt.verbose)
+ log_info(_("signature from %08lX to Elgamal signing key "
+ "%08lX skipped\n"),
+ (ulong)sig->keyid[1],(ulong)main_kid[1]);
+ continue;
+ }
if (check_key_signature (keyblock, node, NULL))
continue; /* ignore invalid signatures */
node->flag |= 1<<9;