summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Shaw <dshaw@jabberwocky.com>2002-09-28 19:49:38 +0200
committerDavid Shaw <dshaw@jabberwocky.com>2002-09-28 19:49:38 +0200
commit9380f80b14b1eb2ad1e62803b2905595ad66f57a (patch)
tree2bb307ce20a5a6ad265d343c1b01d00457f24f0e
parentFrom stable branch (diff)
downloadgnupg2-9380f80b14b1eb2ad1e62803b2905595ad66f57a.tar.xz
gnupg2-9380f80b14b1eb2ad1e62803b2905595ad66f57a.zip
2002-09-28 David Shaw <dshaw@jabberwocky.com>
* export.c (do_export_stream): Comment. * sig-check.c (check_key_signature2): Properly handle a non-designated revocation import. 2002-09-26 Werner Koch <wk@gnupg.org> * g10.c (set_homedir): New. Changed all direct assignments to use this. * gpgv.c (set_homedir): Ditto.
-rw-r--r--g10/ChangeLog13
-rw-r--r--g10/export.c8
-rw-r--r--g10/g10.c26
-rw-r--r--g10/sig-check.c7
4 files changed, 40 insertions, 14 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog
index 84d0f32d2..aca625272 100644
--- a/g10/ChangeLog
+++ b/g10/ChangeLog
@@ -1,3 +1,16 @@
+2002-09-28 David Shaw <dshaw@jabberwocky.com>
+
+ * export.c (do_export_stream): Comment.
+
+ * sig-check.c (check_key_signature2): Properly handle a
+ non-designated revocation import.
+
+2002-09-26 Werner Koch <wk@gnupg.org>
+
+ * g10.c (set_homedir): New. Changed all direct assignments to use
+ this.
+ * gpgv.c (set_homedir): Ditto.
+
2002-09-25 David Shaw <dshaw@jabberwocky.com>
* Makefile.am: Link gpg with EGDLIBS (i.e. NETLIBS) as EGD uses
diff --git a/g10/export.c b/g10/export.c
index 1ec841dab..5f6eadcd5 100644
--- a/g10/export.c
+++ b/g10/export.c
@@ -265,10 +265,10 @@ do_export_stream( IOBUF out, STRLIST users, int secret,
!node->pkt->pkt.signature->flags.exportable )
continue; /* not exportable */
- /* do not export packets with a "sensitive" revocation
- key. This will need revisiting when we start
- supporting creating revocation keys and not just
- reading them. */
+ /* Do not export packets with a "sensitive" revocation
+ key unless the user wants us to. Note that we do
+ export these when issuing the actual revocation (see
+ revoke.c). */
if( !(options&EXPORT_INCLUDE_SENSITIVE_REVKEYS) &&
node->pkt->pkt.signature->revkey ) {
int i;
diff --git a/g10/g10.c b/g10/g10.c
index b6ed4c60a..0cf7d09e0 100644
--- a/g10/g10.c
+++ b/g10/g10.c
@@ -779,6 +779,17 @@ set_debug(void)
}
+/* We need the home directory also in some other directories, so make
+ sure that both variables are always in sync. */
+static void
+set_homedir (char *dir)
+{
+ if (!dir)
+ dir = "";
+ g10_opt_homedir = opt.homedir = dir;
+}
+
+
static void
set_cmd( enum cmd_and_opt_values *ret_cmd, enum cmd_and_opt_values new_cmd )
{
@@ -1122,13 +1133,13 @@ main( int argc, char **argv )
opt.keyserver_options.include_subkeys=1;
opt.keyserver_options.include_revoked=1;
#if defined (__MINGW32__) || defined (__CYGWIN32__)
- opt.homedir = read_w32_registry_string( NULL, "Software\\GNU\\GnuPG", "HomeDir" );
+ set_homedir ( read_w32_registry_string( NULL,
+ "Software\\GNU\\GnuPG", "HomeDir" ));
#else
- opt.homedir = getenv("GNUPGHOME");
+ set_homedir ( getenv("GNUPGHOME") );
#endif
- if( !opt.homedir || !*opt.homedir ) {
- opt.homedir = GNUPG_HOMEDIR;
- }
+ if( !*opt.homedir )
+ set_homedir ( GNUPG_HOMEDIR );
/* check whether we have a config file on the commandline */
orig_argc = argc;
@@ -1148,7 +1159,7 @@ main( int argc, char **argv )
else if( pargs.r_opt == oNoOptions )
default_config = 0; /* --no-options */
else if( pargs.r_opt == oHomedir )
- opt.homedir = pargs.r.ret_str;
+ set_homedir ( pargs.r.ret_str );
else if( pargs.r_opt == oNoPermissionWarn )
opt.no_perm_warn=1;
#ifdef USE_SHM_COPROCESSING
@@ -1173,7 +1184,7 @@ main( int argc, char **argv )
for (d=buf,s=opt.homedir; *s; s++)
*d++ = *s == '\\'? '/': *s;
*d = 0;
- opt.homedir = buf;
+ set_homedir (buf);
}
#endif
#ifdef USE_SHM_COPROCESSING
@@ -1744,7 +1755,6 @@ main( int argc, char **argv )
secmem_set_flags( secmem_get_flags() & ~2 ); /* resume warnings */
set_debug();
- g10_opt_homedir = opt.homedir;
/* Do these after the switch(), so they can override settings. */
if(opt.pgp2 && (opt.pgp6 || opt.pgp7))
diff --git a/g10/sig-check.c b/g10/sig-check.c
index afcce2744..2b3c6472c 100644
--- a/g10/sig-check.c
+++ b/g10/sig-check.c
@@ -521,8 +521,11 @@ check_key_signature2( KBNODE root, KBNODE node, int *is_selfsig,
return rc;
if( sig->sig_class == 0x20 ) { /* key revocation */
- /* designated revoker? */
- if(pk->keyid[0]!=sig->keyid[0] || pk->keyid[1]!=sig->keyid[1])
+ u32 keyid[2];
+ keyid_from_pk( pk, keyid );
+
+ /* is it a designated revoker? */
+ if(keyid[0]!=sig->keyid[0] || keyid[1]!=sig->keyid[1])
rc=check_revocation_keys(pk,sig);
else
{