1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-06-04 22:57:47 +02:00
gnupg/tools
Werner Koch 0e8f6e2aa9
gpg: Use gpgrt's new option parser to provide a global conf file.
* common/util.h: Remove argparse.h.
* common/argparse.c: Undef GPGRT_ENABLE_ARGPARSE_MACROS.
* configure.ac (GPGRT_ENABLE_ARGPARSE_MACROS): Define.
* agent/gpg-agent.c: Undef GPGRT_ENABLE_ARGPARSE_MACROS and include
argparse.h.  Do this also for all main modules which use our option
parser except for gpg.  Replace calls to strusage by calls to
gpgrt_strusage everywhere.

* g10/gpg.c (opts): Change type to gpgrt_opt_t.  Flag oOptions and
oNoOptions with ARGPARSE_conffile and ARGPARSE_no_conffile.
(main): Change type of pargs to gpgrt_argparse_t.  Rework the option
parser to make use of the new gpgrt_argparser.
--

This is not yet finished but a make check works.  gpg has the most
complex and oldest option handling and thus this is the first
migration target.  SE-Linux checks and version-ed config files are
missing and will be added later.

GnuPG-bug-id: 4788
Signed-off-by: Werner Koch <wk@gnupg.org>
2020-02-20 11:13:32 +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 gpg: Use gpgrt's new option parser to provide a global conf file. 2020-02-20 11:13:32 +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 gpg: Use gpgrt's new option parser to provide a global conf file. 2020-02-20 11:13:32 +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 gpg: Use gpgrt's new option parser to provide a global conf file. 2020-02-20 11:13:32 +01:00
gpg-pair-tool.c gpg: Use gpgrt's new option parser to provide a global conf file. 2020-02-20 11:13:32 +01:00
gpg-wks-client.c gpg: Use gpgrt's new option parser to provide a global conf file. 2020-02-20 11:13:32 +01:00
gpg-wks-server.c gpg: Use gpgrt's new option parser to provide a global conf file. 2020-02-20 11:13:32 +01:00
gpg-wks.h build: Always use EXTERN_UNLESS_MAIN_MODULE pattern. 2020-02-10 16:50:47 +01:00
gpgconf-comp.c Spelling cleanup. 2020-02-18 18:07:46 -05:00
gpgconf.c gpg: Use gpgrt's new option parser to provide a global conf file. 2020-02-20 11:13:32 +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 gpg: Use gpgrt's new option parser to provide a global conf file. 2020-02-20 11:13:32 +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 gpg: Use gpgrt's new option parser to provide a global conf file. 2020-02-20 11:13:32 +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.