* options.h, g10.c (main), keyserver.c (kopts): Add "try-dns-srv"
authorDavid Shaw <dshaw@jabberwocky.com>
Tue, 11 Mar 2003 22:12:20 +0000 (22:12 +0000)
committerDavid Shaw <dshaw@jabberwocky.com>
Tue, 11 Mar 2003 22:12:20 +0000 (22:12 +0000)
keyserver option.  Defaults to on.

* passphrase.c (agent_get_passphrase): Fix memory leak with symmetric
messages.  Fix segfault with symmetric messages.  Fix incorrect prompt
with symmetric messages.

g10/ChangeLog
g10/g10.c
g10/keyserver.c
g10/options.h
g10/passphrase.c

index f27f873..cf15e42 100644 (file)
@@ -1,3 +1,12 @@
+2003-03-11  David Shaw  <dshaw@jabberwocky.com>
+
+       * options.h, g10.c (main), keyserver.c (kopts): Add "try-dns-srv"
+       keyserver option.  Defaults to on.
+
+       * passphrase.c (agent_get_passphrase): Fix memory leak with
+       symmetric messages.  Fix segfault with symmetric messages.  Fix
+       incorrect prompt with symmetric messages.
+
 2003-03-10  Werner Koch  <wk@gnupg.org>
 
        * compress.c (init_uncompress): Use a 15 bit window size so that
index 8266321..0226243 100644 (file)
--- a/g10/g10.c
+++ b/g10/g10.c
@@ -1166,6 +1166,7 @@ main( int argc, char **argv )
       EXPORT_INCLUDE_NON_RFC|EXPORT_INCLUDE_ATTRIBUTES;
     opt.keyserver_options.include_subkeys=1;
     opt.keyserver_options.include_revoked=1;
+    opt.keyserver_options.try_dns_srv=1;
     opt.trust_model=TM_OPENPGP;
     opt.mangle_dos_filenames = 1;
 
index 4947293..eb81692 100644 (file)
@@ -67,6 +67,7 @@ struct kopts
   {"broken-http-proxy",1,&opt.keyserver_options.broken_http_proxy},
   {"refresh-add-fake-v3-keyids",0,&opt.keyserver_options.fake_v3_keyids},
   {"auto-key-retrieve",0,&opt.keyserver_options.auto_key_retrieve},
+  {"try-dns-srv",1,&opt.keyserver_options.try_dns_srv},
   {NULL}
 };
 
index f3a408e..12a1e2f 100644 (file)
@@ -129,6 +129,7 @@ struct {
       int keep_temp_files;
       int fake_v3_keyids;
       int auto_key_retrieve;
+      int try_dns_srv;
       unsigned int import_options;
       unsigned int export_options;
       STRLIST other;
index ac3f031..5345fb9 100644 (file)
@@ -614,9 +614,12 @@ agent_get_passphrase ( u32 *keyid, int mode, const char *tryagain_text )
 
   memset (fpr, 0, MAX_FINGERPRINT_LEN );
   if( keyid && get_pubkey( pk, keyid ) )
-    pk = NULL; /* oops: no key for some reason */
+    {
+      free_public_key( pk );      
+      pk = NULL; /* oops: no key for some reason */
+    }
   
-  if ( !mode && pk )
+  if ( !mode && pk && keyid )
     { 
       char *uid;
       size_t uidlen;
@@ -658,10 +661,10 @@ agent_get_passphrase ( u32 *keyid, int mode, const char *tryagain_text )
       }
       
     }
-  else if (mode == 1 ) 
-    atext = m_strdup ( _("Enter passphrase\n") );
-  else 
+  else if (mode == 2 ) 
     atext = m_strdup ( _("Repeat passphrase\n") );
+  else
+    atext = m_strdup ( _("Enter passphrase\n") );
                 
   if ( (fd = agent_open (&prot)) == -1 ) 
     goto failure;