aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Shaw <[email protected]>2003-03-11 22:12:20 +0000
committerDavid Shaw <[email protected]>2003-03-11 22:12:20 +0000
commit2c717d9038f3e63ffd2bf1f1873299fc13670cf3 (patch)
tree8424a23110cdcd7185ddfb5bba03c8b71b26894d
parent* http.c (connect_server): Use DNS SRV to get a server list. Fail over to (diff)
downloadgnupg-2c717d9038f3e63ffd2bf1f1873299fc13670cf3.tar.gz
gnupg-2c717d9038f3e63ffd2bf1f1873299fc13670cf3.zip
* 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.
-rw-r--r--g10/ChangeLog9
-rw-r--r--g10/g10.c1
-rw-r--r--g10/keyserver.c1
-rw-r--r--g10/options.h1
-rw-r--r--g10/passphrase.c13
5 files changed, 20 insertions, 5 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog
index f27f87306..cf15e422b 100644
--- a/g10/ChangeLog
+++ b/g10/ChangeLog
@@ -1,3 +1,12 @@
+2003-03-11 David Shaw <[email protected]>
+
+ * 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 <[email protected]>
* compress.c (init_uncompress): Use a 15 bit window size so that
diff --git a/g10/g10.c b/g10/g10.c
index 82663219b..0226243ad 100644
--- 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;
diff --git a/g10/keyserver.c b/g10/keyserver.c
index 4947293d8..eb8169246 100644
--- a/g10/keyserver.c
+++ b/g10/keyserver.c
@@ -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}
};
diff --git a/g10/options.h b/g10/options.h
index f3a408eb4..12a1e2f73 100644
--- a/g10/options.h
+++ b/g10/options.h
@@ -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;
diff --git a/g10/passphrase.c b/g10/passphrase.c
index ac3f0311e..5345fb9b7 100644
--- a/g10/passphrase.c
+++ b/g10/passphrase.c
@@ -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;