aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-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;