1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-03 22:56:33 +02:00
gnupg/tools
Werner Koch d2425d1495
gpgconf: Support reading global options (part 1).
* tools/gpgconf.c (main): Set the coinfig directories.
* tools/gpgconf-comp.c (gc_backend): Change the name of the config
files.
(struct gc_option): Add new field 'attr'.
(retrieve_options_from_program): Rewrite to use gpgrt_argparser.
--

We need to do larger changes to gpgconf so that it is possible to get
also global config options and their attributes.  The old code worked
along its own list of option and used a generic option file parser.
This has no support for global config files.  We now use
gpgrt_argparser so that we to do exactly the same as the component
does and thus delivers the actual option values as seen by the
component.

This is just a first step and we need to change more things.

Signed-off-by: Werner Koch <wk@gnupg.org>
2020-03-05 16:23:52 +01:00
..
addgnupghome tools: Use POSIX compatible arguments for find 2018-12-11 08:42:33 +01:00
applygnupgdefaults conf: New option --status-fd. 2017-12-18 17:46:05 +01:00
call-dirmngr.c Change license of some files to LGPLv2.1. 2017-06-19 12:42:13 +02:00
call-dirmngr.h Change license of some files to LGPLv2.1. 2017-06-19 12:42:13 +02:00
card-call-scd.c gpg: Use gpgrt's new option parser to provide a global conf file. 2020-02-20 11:13:32 +01:00
card-keys.c card: List more info for an OpenPGP key. 2020-02-12 12:50:38 +01:00
card-misc.c card: Rename gpg-card-tool to gpg-card. 2019-02-25 09:34:30 +01:00
card-yubikey.c Spelling cleanup. 2020-02-18 18:07:46 -05:00
ccidmon.c tools: Some changes to the ccidmon.c debug helper. 2019-04-30 08:28:54 +02:00
ChangeLog-2011 Generate the ChangeLog from commit logs. 2011-12-01 11:09:02 +01:00
clean-sat.c Nuked almost all trailing white space. 2011-02-04 12:57:53 +01:00
convert-from-106 Changed to GPLv3. 2007-07-04 19:49:40 +00:00
crlf.c Migrated more stuff to doc/ 2006-08-21 20:20:23 +00:00
der-to-pem Added a very simple tool. 2003-12-01 10:54:59 +00:00
gpg-card-w32info.rc card: Rename gpg-card-tool to gpg-card. 2019-02-25 09:34:30 +01:00
gpg-card.c card: Add yet another vendor. 2020-03-03 13:37:28 +01:00
gpg-card.h card: List more info for an OpenPGP key. 2020-02-12 12:50:38 +01:00
gpg-check-pattern.c Use gpgrt's new option parser for the tools. 2020-02-21 20:28:47 +01:00
gpg-connect-agent-w32info.rc card-tool: Add skeleton for new tool 2019-01-22 09:07:24 +01:00
gpg-connect-agent.c Use gpgrt's new option parser for the tools. 2020-02-21 20:28:47 +01:00
gpg-pair-tool.c Use gpgrt's new option parser for the tools. 2020-02-21 20:28:47 +01:00
gpg-wks-client.c Use gpgrt's new option parser for the tools. 2020-02-21 20:28:47 +01:00
gpg-wks-server.c Use gpgrt's new option parser for the tools. 2020-02-21 20:28:47 +01:00
gpg-wks.h build: Always use EXTERN_UNLESS_MAIN_MODULE pattern. 2020-02-10 16:50:47 +01:00
gpgconf-comp.c gpgconf: Support reading global options (part 1). 2020-03-05 16:23:52 +01:00
gpgconf.c gpgconf: Support reading global options (part 1). 2020-03-05 16:23:52 +01:00
gpgconf.h build: Always use EXTERN_UNLESS_MAIN_MODULE pattern. 2020-02-10 16:50:47 +01:00
gpgparsemail.c gpgparsemail: Die on parse error, printing errno thing. 2019-06-07 13:28:07 +09:00
gpgsplit.c Use gpgrt's new option parser for the tools. 2020-02-21 20:28:47 +01:00
gpgtar-create.c gpgtar: Make option -C work for archive creation. 2019-03-06 20:08:26 +01:00
gpgtar-extract.c gpgtar: Improve error messages. 2019-03-06 17:46:40 +01:00
gpgtar-list.c gpgtar: Improve error messages. 2019-03-06 17:46:40 +01:00
gpgtar.c Use gpgrt's new option parser for the tools. 2020-02-21 20:28:47 +01:00
gpgtar.h build: Always use EXTERN_UNLESS_MAIN_MODULE pattern. 2020-02-10 16:50:47 +01:00
lspgpot Migrated more stuff to doc/ 2006-08-21 20:20:23 +00:00
mail-signed-keys Spelling fixes in docs and comments. 2017-04-28 10:06:33 +09:00
make-dns-cert.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
Makefile.am build: Build gpg-pair-tool only when there is newer libgcrypt. 2019-09-20 14:19:18 +09:00
Manifest * Manifest: New. 2004-01-05 09:28:27 +00:00
mime-maker.c tools: Replace duplicated code in mime-maker. 2018-10-15 11:45:14 +02:00
mime-maker.h tools: New function mime_maker_add_body_data. 2017-09-12 14:35:06 +02:00
mime-parser.c Spelling cleanup. 2020-02-18 18:07:46 -05:00
mime-parser.h Change license of some files to LGPLv2.1. 2017-06-19 12:42:13 +02:00
no-libgcrypt.c all: fix spelling and typos 2018-10-24 15:56:18 -04:00
pgpgroup-to-gpggroup Changed to GPLv3. 2007-07-04 19:49:40 +00:00
README.gpgconf Remove what is now in the texi docs. 2004-09-29 23:06:58 +00:00
rfc822parse.c gpgparsemail: Die on parse error, printing errno thing. 2019-06-07 13:28:07 +09:00
rfc822parse.h tools: Replace duplicated code in mime-maker. 2018-10-15 11:45:14 +02:00
send-mail.c wks: Take name of sendmail from configure. 2018-06-19 08:07:59 +02:00
send-mail.h Change license of some files to LGPLv2.1. 2017-06-19 12:42:13 +02:00
sockprox.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
symcryptrun.c Fix usage of ARGPARSE_OPTS. 2017-07-19 13:41:18 +09:00
watchgnupg.c Spelling cleanup. 2020-02-18 18:07:46 -05:00
wks-receive.c wkd: Change client/server limit back to 64 KiB 2019-07-05 10:33:13 +02:00
wks-util.c wkd: Let --install-key write a template policy file. 2019-11-23 13:49:27 +01:00

============
  GPG Conf
============

Main documentation for this tool can be found in doc/tools.texi.

BACKENDS
========

Backends should support the following commands:

Command --gpgconf-list
----------------------

List the location of the configuration file, and all default values of
all options.  The location of the configuration file must be an
absolute pathname.

The format of each line is:

NAME:FLAGS:DEFAULT:ARGDEF

NAME

This field contains a name tag for the group or option.  The name tag
is used to specify the group or option in all communication with
GPGConf.  The name tag is to be used verbatim.  It is not in any
escaped format.

FLAGS

The flags field contains an unsigned number.  Its value is the
OR-wise combination of the following flag values:

	16 default	If this flag is set, a default value is available.
	32 default desc If this flag is set, a (runtime) default is available.
			This and the "default" flag are mutually exclusive.
	64 no arg desc	If this flag is set, and the "optional arg" flag
			is set, then the option has a special meaning if no
			argument is given.

DEFAULT

This field is defined only for options.  Its format is that of an
option argument (see section Format Conventions for details).  If the
default value is empty, then no default is known.  Otherwise, the
value specifies the default value for this option.  Note that this
field is also meaningful if the option itself does not take a real
argument.

ARGDEF

This field is defined only for options for which the "optional arg"
flag is set.  If the "no arg desc" flag is not set, its format is that
of an option argument (see section Format Conventions for details).
If the default value is empty, then no default is known.  Otherwise,
the value specifies the default value for this option.  If the "no arg
desc" flag is set, the field is either empty or contains a description
of the effect of this option if no argument is given.  Note that this
field is also meaningful if the option itself does not take a real
argument.


Example:
$ dirmngr --gpgconf-list
gpgconf-config-file:/mnt/marcus/.gnupg/dirmngr.conf
ldapservers-file:/mnt/marcus/.gnupg/dirmngr_ldapservers.conf
add-servers:0
max-replies:10


TODO
----

* Implement --dry-run and --quiet.

* Extend the backend interface to include gettext domain and
description, if available, to avoid repeating this information in
gpgconf.