diff options
author | Werner Koch <[email protected]> | 2020-03-14 17:53:43 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2020-03-14 18:12:41 +0000 |
commit | 451cd1b3928172b312ca2597c3318e6e9e8be97d (patch) | |
tree | 3f8b8aa7052753d26a585e71a5861a35786e5ebc /agent | |
parent | gpg: New option --auto-key-import (diff) | |
download | gnupg-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 'agent')
-rw-r--r-- | agent/gpg-agent.c | 67 |
1 files changed, 12 insertions, 55 deletions
diff --git a/agent/gpg-agent.c b/agent/gpg-agent.c index bec4ba2e9..a7573c2ab 100644 --- a/agent/gpg-agent.c +++ b/agent/gpg-agent.c @@ -1399,70 +1399,27 @@ main (int argc, char **argv) agent_exit (0); else if (gpgconf_list) { - char *filename_esc; - - /* List options and default values in the GPG Conf format. */ - filename_esc = percent_escape (config_filename, NULL); - - es_printf ("%s-%s.conf:%lu:\"%s\n", - GPGCONF_NAME, GPG_AGENT_NAME, - GC_OPT_FLAG_DEFAULT, filename_esc); - xfree (filename_esc); - - es_printf ("verbose:%lu:\n" - "quiet:%lu:\n" - "debug-level:%lu:\"none:\n" - "log-file:%lu:\n", - GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME, - GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME, - GC_OPT_FLAG_DEFAULT|GC_OPT_FLAG_RUNTIME, - GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME ); + /* Note: If an option is runtime changeable, please set the + * respective flag in the gpgconf-comp.c table. */ + es_printf ("debug-level:%lu:\"none:\n", GC_OPT_FLAG_DEFAULT); es_printf ("default-cache-ttl:%lu:%d:\n", - GC_OPT_FLAG_DEFAULT|GC_OPT_FLAG_RUNTIME, DEFAULT_CACHE_TTL ); + GC_OPT_FLAG_DEFAULT, DEFAULT_CACHE_TTL ); es_printf ("default-cache-ttl-ssh:%lu:%d:\n", - GC_OPT_FLAG_DEFAULT|GC_OPT_FLAG_RUNTIME, DEFAULT_CACHE_TTL_SSH ); + GC_OPT_FLAG_DEFAULT, DEFAULT_CACHE_TTL_SSH ); es_printf ("max-cache-ttl:%lu:%d:\n", - GC_OPT_FLAG_DEFAULT|GC_OPT_FLAG_RUNTIME, MAX_CACHE_TTL ); + GC_OPT_FLAG_DEFAULT, MAX_CACHE_TTL ); es_printf ("max-cache-ttl-ssh:%lu:%d:\n", - GC_OPT_FLAG_DEFAULT|GC_OPT_FLAG_RUNTIME, MAX_CACHE_TTL_SSH ); - es_printf ("enforce-passphrase-constraints:%lu:\n", - GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME); + GC_OPT_FLAG_DEFAULT, MAX_CACHE_TTL_SSH ); es_printf ("min-passphrase-len:%lu:%d:\n", - GC_OPT_FLAG_DEFAULT|GC_OPT_FLAG_RUNTIME, MIN_PASSPHRASE_LEN ); + GC_OPT_FLAG_DEFAULT, MIN_PASSPHRASE_LEN ); es_printf ("min-passphrase-nonalpha:%lu:%d:\n", - GC_OPT_FLAG_DEFAULT|GC_OPT_FLAG_RUNTIME, - MIN_PASSPHRASE_NONALPHA); + GC_OPT_FLAG_DEFAULT, MIN_PASSPHRASE_NONALPHA); es_printf ("check-passphrase-pattern:%lu:\n", - GC_OPT_FLAG_DEFAULT|GC_OPT_FLAG_RUNTIME); + GC_OPT_FLAG_DEFAULT); es_printf ("max-passphrase-days:%lu:%d:\n", - GC_OPT_FLAG_DEFAULT|GC_OPT_FLAG_RUNTIME, - MAX_PASSPHRASE_DAYS); - es_printf ("enable-passphrase-history:%lu:\n", - GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME); - es_printf ("no-grab:%lu:\n", - GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME); - es_printf ("ignore-cache-for-signing:%lu:\n", - GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME); - es_printf ("no-allow-external-cache:%lu:\n", - GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME); - es_printf ("no-allow-mark-trusted:%lu:\n", - GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME); - es_printf ("disable-scdaemon:%lu:\n", - GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME); - es_printf ("enable-ssh-support:%lu:\n", GC_OPT_FLAG_NONE); + GC_OPT_FLAG_DEFAULT, MAX_PASSPHRASE_DAYS); es_printf ("ssh-fingerprint-digest:%lu:\"%s:\n", - GC_OPT_FLAG_DEFAULT|GC_OPT_FLAG_RUNTIME, "md5"); -#ifdef HAVE_W32_SYSTEM - es_printf ("enable-putty-support:%lu:\n", GC_OPT_FLAG_NONE); -#endif - es_printf ("no-allow-loopback-pinentry:%lu:\n", - GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME); - es_printf ("allow-emacs-pinentry:%lu:\n", - GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME); - es_printf ("pinentry-timeout:%lu:0:\n", - GC_OPT_FLAG_DEFAULT|GC_OPT_FLAG_RUNTIME); - es_printf ("grab:%lu:\n", - GC_OPT_FLAG_NONE|GC_OPT_FLAG_RUNTIME); + GC_OPT_FLAG_DEFAULT, "md5"); agent_exit (0); } |