aboutsummaryrefslogtreecommitdiffstats
path: root/g10
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2020-03-14 17:53:43 +0000
committerWerner Koch <[email protected]>2020-03-14 18:12:41 +0000
commit451cd1b3928172b312ca2597c3318e6e9e8be97d (patch)
tree3f8b8aa7052753d26a585e71a5861a35786e5ebc /g10
parentgpg: New option --auto-key-import (diff)
downloadgnupg-451cd1b3928172b312ca2597c3318e6e9e8be97d.tar.gz
gnupg-451cd1b3928172b312ca2597c3318e6e9e8be97d.zip
gpgconf: Further simplify the gpgconf option processing.
* common/gc-opt-flags.h (GC_OPT_FLAG_RUNTIME): Move to ... * tools/gpgconf-comp.c: here. (known_options_scdaemon): Remove "options". (known_options_dirmngr): Remove "options". (known_options_gpgsm): Remove "options". (known_options_gpg): Remove "options" and "keyserver". (struct gc_option_s): Rename active t gpgconf_list. (gc_component_list_options): Do not act upon active. (option_check_validity): Ditto. (is_known_option): Make it work correctly for unknown options. (retrieve_options_from_program): Use renamed flag gpgconf_list only to detect duplicated items from --gpgconf-list. Do not set runtime. Only e set the options if set by --gpgconf-list; never clear them. * agent/gpg-agent.c: Simplify the --gpgconf-list output. * dirmngr/dirmngr.c: Ditto. * g10/gpg.c: Ditto. * kbx/keyboxd.c: Ditto. * scd/scdaemon.c: Ditto. * sm/gpgsm.c: Ditto. * tests/openpgp/gpgconf.scm: Use "compliance" instead of "keyserver" for the string arg test. -- There is no need to read the list of options from the components unless they convey a default value. It is better to consult only the list we have in gpgconf-comp.c to decide on whether an option should be displayed. Right, this might mess up thing if a newer gpgconf version is used with an older component, but we already print warnings in this case and in general we do not want to support this anymore - the times of gpg 1.4. and 2.0 are long over now. GnuPG-bug-id: 4788 Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'g10')
-rw-r--r--g10/gpg.c37
1 files changed, 3 insertions, 34 deletions
diff --git a/g10/gpg.c b/g10/gpg.c
index c5ba72fb3..3239983a1 100644
--- a/g10/gpg.c
+++ b/g10/gpg.c
@@ -1928,48 +1928,17 @@ list_config(char *items)
}
-/* List options and default values in the GPG Conf format. This is a
- new tool distributed with gnupg 1.9.x but we also want some limited
- support in older gpg versions. The output is the name of the
- configuration file and a list of options available for editing by
- gpgconf. */
+/* List default values for use by gpgconf. */
static void
-gpgconf_list (const char *configfile)
+gpgconf_list (void)
{
- char *configfile_esc = percent_escape (configfile, NULL);
-
- es_printf ("%s-%s.conf:%lu:\"%s\n",
- GPGCONF_NAME, GPG_NAME,
- GC_OPT_FLAG_DEFAULT,
- configfile_esc ? configfile_esc : "/dev/null");
- es_printf ("verbose:%lu:\n", GC_OPT_FLAG_NONE);
- es_printf ("quiet:%lu:\n", GC_OPT_FLAG_NONE);
- es_printf ("keyserver:%lu:\n", GC_OPT_FLAG_NONE);
- es_printf ("reader-port:%lu:\n", GC_OPT_FLAG_NONE);
- es_printf ("default-key:%lu:\n", GC_OPT_FLAG_NONE);
- es_printf ("encrypt-to:%lu:\n", GC_OPT_FLAG_NONE);
- es_printf ("try-secret-key:%lu:\n", GC_OPT_FLAG_NONE);
- es_printf ("auto-key-locate:%lu:\n", GC_OPT_FLAG_NONE);
- es_printf ("auto-key-import:%lu:\n", GC_OPT_FLAG_NONE);
- es_printf ("include-key-block:%lu:\n", GC_OPT_FLAG_NONE);
- es_printf ("auto-key-retrieve:%lu:\n", GC_OPT_FLAG_NONE);
- es_printf ("log-file:%lu:\n", GC_OPT_FLAG_NONE);
es_printf ("debug-level:%lu:\"none:\n", GC_OPT_FLAG_DEFAULT);
- es_printf ("group:%lu:\n", GC_OPT_FLAG_NONE);
es_printf ("compliance:%lu:\"%s:\n", GC_OPT_FLAG_DEFAULT, "gnupg");
- es_printf ("default-new-key-algo:%lu:\n", GC_OPT_FLAG_NONE);
- es_printf ("trust-model:%lu:\n", GC_OPT_FLAG_NONE);
- es_printf ("disable-dirmngr:%lu:\n", GC_OPT_FLAG_NONE);
- es_printf ("max-cert-depth:%lu:\n", GC_OPT_FLAG_NONE);
- es_printf ("completes-needed:%lu:\n", GC_OPT_FLAG_NONE);
- es_printf ("marginals-needed:%lu:\n", GC_OPT_FLAG_NONE);
/* The next one is an info only item and should match the macros at
the top of keygen.c */
es_printf ("default_pubkey_algo:%lu:\"%s:\n", GC_OPT_FLAG_DEFAULT,
get_default_pubkey_algo ());
-
- xfree (configfile_esc);
}
@@ -3680,7 +3649,7 @@ main (int argc, char **argv)
directly after the option parsing. */
if (cmd == aGPGConfList)
{
- gpgconf_list (last_configname ? last_configname : "UNKNOWN");
+ gpgconf_list ();
g10_exit (0);
}
xfree (last_configname);