2002-09-28 David Shaw <dshaw@jabberwocky.com>
authorDavid Shaw <dshaw@jabberwocky.com>
Sat, 28 Sep 2002 17:49:38 +0000 (17:49 +0000)
committerDavid Shaw <dshaw@jabberwocky.com>
Sat, 28 Sep 2002 17:49:38 +0000 (17:49 +0000)
* 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.

g10/ChangeLog
g10/export.c
g10/g10.c
g10/sig-check.c

index 84d0f32..aca6252 100644 (file)
@@ -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
index 1ec841d..5f6eadc 100644 (file)
@@ -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;
index b6ed4c6..0cf7d09 100644 (file)
--- 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))
index afcce27..2b3c647 100644 (file)
@@ -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
          {