gnupg/tools
Justus Winter e064c75b08
common,tools: Always escape newlines when escaping data.
* common/stringhelp.c (do_percent_escape): Always escape newlines.
* tools/gpgconf-comp.c (gc_percent_escape): Likewise.
--
Newlines always pose a problem for a line-based communication format.

GnuPG-bug-id: 2387
Signed-off-by: Justus Winter <justus@g10code.com>
2017-03-02 09:31:11 +01:00
..
ChangeLog-2011 Generate the ChangeLog from commit logs. 2011-12-01 11:09:02 +01:00
Makefile.am tools,build: Build WKS tools against libintl. 2016-11-29 16:00:48 +01:00
Manifest * Manifest: New. 2004-01-05 09:28:27 +00:00
README.gpgconf Remove what is now in the texi docs. 2004-09-29 23:06:58 +00:00
addgnupghome Nuked almost all trailing white space. 2011-02-04 12:57:53 +01:00
applygnupgdefaults Fix more spelling 2016-09-17 16:00:37 +09:00
call-dirmngr.c wks: New option --check for gpg-wks-client. 2016-12-08 16:59:12 +01:00
call-dirmngr.h wks: New option --check for gpg-wks-client. 2016-12-08 16:59:12 +01:00
ccidmon.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +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-check-pattern.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
gpg-connect-agent-w32info.rc w32: Add icons and version information. 2013-05-07 21:35:48 +02:00
gpg-connect-agent.c Clean up word replication. 2017-02-21 13:11:46 -05:00
gpg-wks-client.c wks: Make sure that the draft 2 request is correctly detected. 2017-02-23 20:10:59 +01:00
gpg-wks-server.c wks: Make sure that the draft 2 request is correctly detected. 2017-02-23 20:10:59 +01:00
gpg-wks.h wks: Make sure that the draft 2 request is correctly detected. 2017-02-23 20:10:59 +01:00
gpg-zip.in tests: Silence output of some tests. 2016-05-03 11:26:06 +02:00
gpgconf-comp.c common,tools: Always escape newlines when escaping data. 2017-03-02 09:31:11 +01:00
gpgconf.c Clean up word replication. 2017-02-21 13:11:46 -05:00
gpgconf.h tools: Fix memory leaks and improve error handling. 2017-01-10 15:42:27 +01:00
gpgparsemail.c Fix spelling. 2017-02-21 13:11:46 -05:00
gpgsplit.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
gpgtar-create.c Silence two -Wlogical-op warnings. 2017-01-05 20:43:40 +01:00
gpgtar-extract.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
gpgtar-list.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
gpgtar.c Clean up word replication. 2017-02-21 13:11:46 -05:00
gpgtar.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
lspgpot Migrated more stuff to doc/ 2006-08-21 20:20:23 +00:00
mail-signed-keys Clean up word replication. 2017-02-21 13:11:46 -05:00
make-dns-cert.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
mime-maker.c tools: Fix use of uninitialized var in mime-maker. 2016-12-08 13:08:02 +01:00
mime-maker.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
mime-parser.c wks: New callback for the mime parser. 2017-02-23 20:01:30 +01:00
mime-parser.h wks: New callback for the mime parser. 2017-02-23 20:01:30 +01:00
no-libgcrypt.c Fix left over use of jnlib on some platforms 2012-08-24 09:29:56 +02:00
pgpgroup-to-gpggroup Changed to GPLv3. 2007-07-04 19:49:40 +00:00
rfc822parse.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
rfc822parse.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
send-mail.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
send-mail.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
sockprox.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
symcryptrun.c Clean up word replication. 2017-02-21 13:11:46 -05:00
watchgnupg.c Update copyright notices for 2017. 2017-01-23 19:16:55 +01:00
wks-receive.c wks: Make sure that the draft 2 request is correctly detected. 2017-02-23 20:10:59 +01:00
wks-util.c wks: New option --status-fd for gpg-wks-client. 2016-12-08 17:56:12 +01:00

README.gpgconf

============
  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.