aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--g10/gpg.c1
-rw-r--r--g10/openfile.c12
-rw-r--r--g10/options.h5
3 files changed, 15 insertions, 3 deletions
diff --git a/g10/gpg.c b/g10/gpg.c
index da14747d3..99fe5b844 100644
--- a/g10/gpg.c
+++ b/g10/gpg.c
@@ -1064,6 +1064,7 @@ static struct compatibility_flags_s compatibility_flags [] =
{ COMPAT_T7014_OLD, "t7014-old" },
{ COMPAT_COMPR_KEYS, "compr-keys" },
{ COMPAT_NO_MANU, "no-manu" },
+ { COMPAT_SUGGEST_EMBEDDED_NAME, "suggest-embedded-name" },
{ 0, NULL }
};
diff --git a/g10/openfile.c b/g10/openfile.c
index 42d470889..04545ea75 100644
--- a/g10/openfile.c
+++ b/g10/openfile.c
@@ -125,7 +125,7 @@ make_outfile_name (const char *iname)
NAMELEN is its actual length.
*/
char *
-ask_outfile_name( const char *name, size_t namelen )
+ask_outfile_name (const char *name, size_t namelen)
{
size_t n;
const char *s;
@@ -136,8 +136,14 @@ ask_outfile_name( const char *name, size_t namelen )
if ( opt.batch )
return NULL;
- defname = name && namelen? make_printable_string (name, namelen, 0) : NULL;
-
+ /* To avoid tricking the user into using the embedded filename we do
+ * not anymore include that name in the prompt as default. For
+ * modern v5 signature this might make sense as they are now covered
+ * by the signature but we better leave such a decision to a GUI. */
+ if (name && namelen && (opt.compat_flags & COMPAT_SUGGEST_EMBEDDED_NAME))
+ defname = make_printable_string (name, namelen, 0);
+ else
+ defname = NULL;
s = _("Enter new filename");
n = strlen(s) + (defname?strlen (defname):0) + 10;
prompt = xmalloc (n);
diff --git a/g10/options.h b/g10/options.h
index 5512ecb11..962f45f16 100644
--- a/g10/options.h
+++ b/g10/options.h
@@ -404,6 +404,11 @@ EXTERN_UNLESS_MAIN_MODULE int memory_stat_debug_mode;
#define COMPAT_T7014_OLD 2 /* Use initial T7014 test data. */
#define COMPAT_COMPR_KEYS 4 /* Allow import of compressed keys. (T7014) */
#define COMPAT_NO_MANU 8 /* Do not include a "manu" notation. */
+#define COMPAT_SUGGEST_EMBEDDED_NAME 16 /* Show the non-signed
+ * embedded filename as
+ * suggestion. */
+
+
/* Compliance test macros. */
#define GNUPG (opt.compliance==CO_GNUPG || opt.compliance==CO_DE_VS)