aboutsummaryrefslogtreecommitdiffstats
path: root/tools (unfollow)
Commit message (Collapse)AuthorFilesLines
2015-11-05tools: Fix gpgkey2ssh's most gratuitous errors. Use gpg2, not gpg.Neal H. Walfield1-9/+38
* tools/gpgkey2ssh.c (main): Add support for --help. Replace the most gratuitous asserts with error messages. Invoke gpg2, not gpg. -- Signed-off-by: Neal H. Walfield <[email protected]> Debian-bug-id: 380241
2015-10-21Change capitalization of TOR to Tor.Werner Koch1-2/+2
--
2015-10-05gpg: Deprecate the --keyserver option.Werner Koch1-4/+9
* g10/keyserver.c (keyserver_refresh): Change return type to gpg_error_t. Use gpg_dirmngr_ks_list to print the name of the keyserver to use. (keyserver_search): Do not print the "no keyserver" error message. The same error is anyway returned from dirmngr. * g10/call-dirmngr.c (ks_status_parm_s): Add field "keyword". (ks_status_cb): Handle other status keywords. (gpg_dirmngr_ks_list): New. * tools/gpgconf-comp.c (gc_options_gpg): Deprecate "keyserver". (gc_options_dirmngr): Add "Keyserver" group and "keyserver". -- Along with the corresponding dirmngr change this option allows to configure the keyserver only in dirmngr.conf. Existing configurations will continue to work. However, GUIs using gpgconf now the keyserver option under the dirmngr (aka Key Acquirer) tab unless they are in export mode in which the keyserver option is also show for gpg. Signed-off-by: Werner Koch <[email protected]>
2015-10-05dirmngr: Make clear that --use-tor is not yet ready for use.Werner Koch1-1/+1
* dirmngr/dirmngr.c (main): Print a warning if --use-tor has been given. * tools/gpgconf-comp.c (gc_options_dirmngr): Make --use-tor invisible.
2015-10-05gpgconf: Change displayed name of Dirmngr to "Key Acquirer".Werner Koch1-1/+1
* tools/gpgconf-comp.c (gc_component): Change printed name. -- All network access is handled by Dirmngr so at least in the GUI option dialog we should acknowledge that by changing the name to an issuer to understand term. This is an update of 819bba75aaed11ecef2e274add173718358212b9 suggested by Neal Walfield. The former term "Network Manager" conflicts with the well known GNOME network manager tool.
2015-09-18gpgconf: Change displayed name of Dirmngr to "Network Manager".Werner Koch1-1/+1
* tools/gpgconf-comp.c (gc_component): Change printed name. -- All network access is handled by Dirmngr so at least in the GUI option dialog we should acknowledge that by changing the name to an issuer to understand term. Signed-off-by: Werner Koch <[email protected]>
2015-09-18dirmngr: Add option --use-tor as a stub.Werner Koch1-0/+7
* dirmngr/dirmngr.h (opt): Add field "use_tor". * dirmngr/dirmngr.c (oUseTor): New. (opts): Add --use-tor. (parse_rereadable_options): Set option. (main): Tell gpgconf about that option. * dirmngr/crlfetch.c (crl_fetch): Pass TOR flag to the http module and return an error if LDAP is used in TOR mode. (ca_cert_fetch): Return an error in TOR mode. (start_cert_fetch): Ditto. * dirmngr/ks-engine-finger.c (ks_finger_fetch): Pass TOR flag to the http module. * dirmngr/ks-engine-hkp.c (send_request): Ditto. * dirmngr/ks-engine-http.c (ks_http_fetch): Ditto. * dirmngr/ks-engine-ldap.c (ks_ldap_get): Return an error in TOR mode. (ks_ldap_search): Ditto. (ks_ldap_put): Ditto. * dirmngr/ocsp.c (do_ocsp_request): Ditto. Also pass TOR flag to the http module. * dirmngr/server.c (option_handler): Add "honor-keyserver-url-used". (cmd_dns_cert): Return an error in TOR mode. (cmd_getinfo): Add subcommand "tor" * tools/gpgconf-comp.c (gc_options_dirmngr): Add TOR group. -- More work is required to actually make --use-tor useful. For now it returns an error for almost all network access but as soon as we have added the TOR feature to the http module some parts will start to work. Signed-off-by: Werner Koch <[email protected]>
2015-07-03drop long-deprecated gpgsm-gencert.shDaniel Kahn Gillmor2-205/+1
* tools/gpgsm-gencert.sh: remove deprecated script entirely. It is fully replaced by gpgsm --gen-key * doc/tools.texi: remove gpgsm-gencert.sh documentation * .gitignore: no longer ignore gpgsm-gencert.sh manpage * doc/Makefile.am: quit making the manpage * tools/Makefile.am: quit distributing the script * doc/howto-create-a-server-cert.texi: overhaul documentation to use gpgsm --gen-key and tweak explanations -- The commit deprecating gpgsm-gencert.sh (81972ca7d53ff1996e0086702a09d4405bdc2a7e) dates back exactly 6 years. https://codesearch.debian.net/results/gpgsm-gencert.sh suggests that in all of debian it is only referenced in documentation (for poldi and scute) and example files (libept), and isn't actually used directly anywhere. Furthermore, trying to use gpgsm-gencert.sh to make a simple webserver certificate-signing request failed for me, following the examples in doc/howto-create-a-server-cert.texi exactly. It's time we ripped off this band-aid :) Signed-off-by: Daniel Kahn Gillmor <[email protected]>
2015-06-10agent: Add option --allow-emacs-pinentryDaiki Ueno1-0/+4
* agent/agent.h (opt): Add field allow_emacs_pinentry. * agent/call-pinentry.c (start_pinentry): Act upon new var. * agent/gpg-agent.c (oAllowEmacsPinentry): New. (opts): Add option --allow-emacs-pinentry. (parse_rereadable_options): Set this option. * tools/gpgconf-comp.c (gc_options_gpg_agent): Add new option. -- gpgconf-comp and manual entry added by wk. Signed-off-by: Werner Koch <[email protected]>
2015-05-12gpgparsemail: Rename a variable.Werner Koch1-14/+14
-- For unknown reason I used the term MOSS for an RFC1847 structure. MOSS is a historic and broken security format for MIME define in 1848. To avoid misunderstandings this patch changes the term to SMFM which stands for Security Multiparts for MIME (rfc-1847).
2015-05-11gpg-connect-agent: Fix quoting of internal percent+ function.Werner Koch1-4/+4
* tools/gpg-connect-agent.c (get_var_ext) <percent, percent+): Also escape '+'. -- GnuPG-bug-id: 1841 Signed-off-by: Werner Koch <[email protected]>
2015-05-11agent: Add option --no-allow-external-cache.Werner Koch1-0/+3
* agent/agent.h (opt): Add field allow_external_cache. * agent/call-pinentry.c (start_pinentry): Act upon new var. * agent/gpg-agent.c (oNoAllowExternalCache): New. (opts): Add option --no-allow-external-cache. (parse_rereadable_options): Set this option. -- Pinentry 0.9.2 may be build with libsecret support and thus an extra checkbox is displayed to allow the user to get passwords out of an libsecret maintained cache. Security aware user may want to avoid this feature and may do this at runtime by enabling this option. Signed-off-by: Werner Koch <[email protected]>
2015-04-24common: Rename log and gcc attribute macros (jnlib merge).Werner Koch2-2/+2
* common/logging.h: Rename JNLIB_LOG_* to GPGRT_LOG_*. * common/mischelp.h: Rename JNLIB_GCC_* to GPGRT_GCC_*. -- JNLIB has no more meaning. Thus we switch to a GPGRT_ prefix in anticipation that some code may eventually be moved to libgpg-error. Signed-off-by: Werner Koch <[email protected]>
2015-04-24common: Remove two JNLIB_ macros (jnlib merge).Werner Koch4-5/+1
* configure.ac: Merge seperate jnlib checks. (HAVE_JNLIB_LOGGING): Remove. * common/logging.c, common/simple-pwquery.c (JNLIB_NEED_AFLOCAL): Rename to GNUPG_COMMON_NEED_AFLOCAL. Change all tests. -- Signed-off-by: Werner Koch <[email protected]>
2015-04-10Remove obsolete directories from AM_CPPFLAGS.Werner Koch1-1/+1
2015-04-10gpgparsemail: Fix last commit (3f2bdac)Werner Koch1-1/+2
* tools/rfc822parse.c (parse_field): Replace break by goto. -- Brown paper bag bug: Changing an IF to a WHILE inside another loop requires to fix the inner break. Reported-by: Hanno Böck Signed-off-by: Werner Koch <[email protected]>
2015-04-09tools: Remove trailing spaces.Werner Koch1-20/+20
--
2015-04-09gpgparsemail: Fix case of zero length continuation lines.Werner Koch1-5/+8
* tools/rfc822parse.c (parse_field): Loop after continuation line. -- Using header lines like Name:[lf] [space][lf] [lf] resulted in running into the "(s2 = strchr (delimiters2, *s)" branch and inserting a new token for the empty continuation line. This also led to one byte read after the string which is what Hanno figured. The new code should handle empty continuation lines correct. Reported-by: Hanno Böck Signed-off-by: Werner Koch <[email protected]>
2015-03-23Improve spelling and grammar of some comments.Neal H. Walfield1-1/+1
-- Signed-off-by: Neal H. Walfield <[email protected]>
2015-03-17gpgtar: Fix extracting files with !(size % 512)Andre Heinecke1-1/+5
* tools/gpgtar-extract.c (extract_regular): Handle size multiples of RECORDSIZE. -- If a hdr->size was a multiple of 512 the last record would not have been written and the files corrupted accordingly. GnuPG-bug-id: 1926 Signed-off-by: Andre Heinecke <[email protected]> Changed to use only if-else. Signed-off-by: Werner Koch <[email protected]>
2015-02-11Use inline functions to convert buffer data to scalars.Werner Koch1-1/+1
* common/host2net.h (buf16_to_ulong, buf16_to_uint): New. (buf16_to_ushort, buf16_to_u16): New. (buf32_to_size_t, buf32_to_ulong, buf32_to_uint, buf32_to_u32): New. -- Commit 91b826a38880fd8a989318585eb502582636ddd8 was not enough to avoid all sign extension on shift problems. Hanno Böck found a case with an invalid read due to this problem. To fix that once and for all almost all uses of "<< 24" and "<< 8" are changed by this patch to use an inline function from host2net.h. Signed-off-by: Werner Koch <[email protected]>
2015-01-28Add a hook to be called right after main.Werner Koch4-0/+4
* common/init.c (early_system_init): New stub function. Signed-off-by: Werner Koch <[email protected]>
2015-01-23gpgconf: Fix validity check for UINT32 values.Werner Koch1-1/+1
* tools/gpgconf-comp.c (option_check_validity): Enable check for UINT32. -- Reported-by: Günther Noack <[email protected]> This is actually a bug which inhibited the checking of values of type UINT32. Signed-off-by: Werner Koch <[email protected]>
2015-01-04agent: Make --allow-loopback-pinentry gpgconf changeable.Werner Koch1-0/+3
2014-12-22tools: Free variable before returnJoshua Rogers1-1/+4
* tools/gpgconf-comp.c: Free 'dest_filename' before it is returned upon error. -- Signed-off-by: Joshua Rogers <[email protected]>
2014-12-22gpgkey2ssh: clean up varargsDaniel Kahn Gillmor1-0/+2
* tools/gpgkey2ssh.c (key_to_blob) : ensure that va_end is called. -- stdarg(3) says: Each invocation of va_start() must be matched by a corresponding invocation of va_end() in the same function. Observed by Joshua Rogers <[email protected]> Debian-Bug-Id: 773415
2014-12-17gpgconf: Exit with failure if --launch fails.Werner Koch3-4/+13
* tools/gpgconf-comp.c (gc_component_launch): Return an error code. * tools/gpgconf.c (main): Exit if launch failed. -- GnuPG-bug-id: 1791
2014-12-01tools: Improve watchgnupg portability.Werner Koch1-0/+3
* configure.ac (AC_CHECK_HEADERS): Check for sys.select.h * tools/watchgnupg.c: Include it. -- It seems http://www.musl-libc.org/ is quite limited and requires the use sys/select.h instead of unistd.h et al.
2014-11-19gpg-connect-agent: Add convenience option --uiserver.Werner Koch1-0/+10
2014-11-19Add "gpgconf --kill dirmngr" and avoid useless launch before a kill.Werner Koch2-17/+66
* common/asshelp.c (start_new_gpg_agent): Add arg autostart. Change all callers to use 1 for it. (start_new_dirmngr): Ditto. * tools/gpg-connect-agent.c: Add option --no-autostart. (main): Default autostart to 1. (start_agent): Implement no-autostart. * tools/gpgconf-comp.c (gpg_agent_runtime_change): Use --no-autostart. (scdaemon_runtime_change): Ditto. (dirmngr_runtime_change): New. Signed-off-by: Werner Koch <[email protected]>
2014-11-11Remove use of gnulib (part 2)Werner Koch1-1/+2
* configure.ac (strpbrk): Add to AC_CHECK_FUNCS. (gl_EARLY): Remove. * common/stringhelp.c (strpbrk) [!HAVE_STRPBRK]: New. * common/sysutils.c (gnupg_mkdtemp): New. Based on code from glibc-2.6. (gnupg_setenv): Rewrite. (gnupg_unsetenv): Rewrite. * g10/exec.c: Include sysutils.h and replace mkdtemp by gnupg_mkdtemp. * g13/be-encfs.c: Ditto. * g13/mount.c: Ditto. * tools/symcryptrun.c (confucius_mktmpdir): Ditto. Signed-off-by: Werner Koch <[email protected]>
2014-11-11Remove use of gnulib (part 1)Werner Koch2-3/+2
* gl/: Remove entire tree. * configure.ac: Remove gnulib tests and the gl/ Makefile. (setenv): Add to AC_CHECK_FUNCS. * autogen.rc (extra_aclocal_flags): Set to empty. * Makefile.am (ACLOCAL_AMFLAGS): Remove -I gl/m4 (SUBDIRS): Remove gl/. * agent/Makefile.am (common_libs): Remove ../gl/gnulib.a * common/Makefile.am (t_common_ldadd): Ditto. * dirmngr/Makefile.am (dirmngr_LDADD): Ditto. (dirmngr_ldap_LDADD, dirmngr_client_LDADD): Ditto. * g10/Makefile.am (needed_libs): Ditto. * g13/Makefile.am (g13_LDADD): Ditto. * kbx/Makefile.am (kbxutil_LDADD): Ditto. ($(PROGRAMS)): Ditto. * scd/Makefile.am (scdaemon_LDADD): Ditto. * sm/Makefile.am (common_libs): Ditto. * tools/Makefile.am (common_libs, commonpth_libs): Ditto. * agent/gpg-agent.c: Remove "mkdtemp.h" * g10/exec.c: Ditto. * scd/scdaemon.c: Ditto. * tools/symcryptrun.c: Ditto. * common/sysutils.c: Remove "setenv.h" * common/t-timestuff.c: Use putenv if setenv is not available. -- gnulib has always been a cause of trouble in GnuPG because we used only a very few functions and the complex include machinery of gnulib is quite complex and the cause for many build problems for example on OS X. This is not gnulib's fault but due to our limited use of gnulib and that we only rarely update the gnulib code to avoid regressions. In part two we will address the functions mkdtemp setenv unsetenv strpbrk which may bot be implemented on all platforms. They are not required on a libc based system. Signed-off-by: Werner Koch <[email protected]>
2014-10-10Use a unique capitalization for "Note:".Werner Koch2-2/+2
--
2014-10-09Avoid unnecessary library linkageDaniel Kahn Gillmor1-1/+1
* dirmngr/Makefile.am: Avoid $(DNSLIBS) for dirmngr_ldap * g10/Makefile.am: $(LIBREADLINE) is only for gpg2; gpgv2 does not need $(LIBASSUAN_LIBS) * sm/Makefile.am: gpgsm does not need $(ZLIBS) * tools/Makefile.am: gpgconf does not need $(NPTH_LIBS) -- In the course of building GnuPG 2.1.0 beta864 on debian, i found that several of the installed executables were linked to libraries that they did not need to be linked to, which would cause unnecessary package dependencies at runtime. The changeset here removes these unnecessary libraries from linking. Something similar could possibly also be done by passing --as-needed to the linker, but trimming the depenencies seems more parsimonious.
2014-10-03Remove support for the GPG_AGENT_INFO envvar.Werner Koch1-21/+3
* agent/agent.h (opt): Remove field use_standard_socket. * agent/command.c (cmd_killagent): Always allow killing. * agent/gpg-agent.c (main): Turn --{no,}use-standard-socket and --write-env-file into dummy options. Always return true for --use-standard-socket-p. Do not print the GPG_AGENT_INFO envvar setting or set that envvar. (create_socket_name): Simplify by removing non standard socket support. (check_for_running_agent): Ditto. * common/asshelp.c (start_new_gpg_agent): Remove GPG_AGENT_INFO use. * common/simple-pwquery.c (agent_open): Ditto. * configure.ac (GPG_AGENT_INFO_NAME): Remove. * g10/server.c (gpg_server): Do not print the AgentInfo comment. * g13/server.c (g13_server): Ditto. * sm/server.c (gpgsm_server): Ditto. * tools/gpgconf.c (main): Simplify by removing non standard socket support. -- The indented fix to allow using a different socket than the one in the gnupg home directory is to change Libassuan to check whether the socket files exists as a regualr file with a special keyword to redirect to another socket file name.
2014-05-08Make more use of *_NAME macros.Werner Koch3-40/+54
* configure.ac (GPG_DISP_NAME, GPGSM_DISP_NAME): New. (GPG_AGENT_DISP_NAME, SCDAEMON_DISP_NAME): New. (DIRMNGR_DISP_NAME, G13_DISP_NAME): New. (GPGCONF_DISP_NAME): New. (SCDAEMON_SOCK_NAME): New. * common/argparse.c (show_help): Map description string.
2014-04-22common: Add function gnupg_getcwd.Werner Koch1-25/+1
* tools/gpg-connect-agent.c (gnu_getcwd): Move to ... * common/sysutils.c (gnupg_getcwd): .. here. * tools/gpg-connect-agent.c (get_var_ext): Use gnupg_getcwd.
2014-04-16Two minor code cleanups and one NULL deref on error fix.Werner Koch1-1/+2
* common/estream.c (es_freopen): Remove useless check for STREAM. * kbx/keybox-blob.c (_keybox_create_x509_blob): Remove useless check for BLOB. * tools/sockprox.c (run_proxy): Do not fclose(NULL). -- Found by Hans-Christoph Steiner with cppcheck.
2014-04-08gpgconf: Add command --launch.Werner Koch3-4/+49
* tools/gpgconf.c: Add command --launch. * tools/gpgconf-comp.c (gc_component_launch): New. Signed-off-by: Werner Koch <[email protected]>
2014-03-18tools: Fix NULL deref in gpg-connect-agent.Werner Koch1-1/+4
* tools/gpg-connect-agent.c (handle_inquire): Do not pass NULL to strlen.
2014-03-14gpg-connect-agent: Make it easier to connect to the dirmngr.Werner Koch1-6/+22
* tools/gpg-connect-agent.c: Add options --dirmngr and --dirmngr-program.
2014-03-14dirmngr: Default to a user socket name and enable autostart.Werner Koch1-2/+14
* common/homedir.c (dirmngr_socket_name): Rename to dirmngr_sys_socket_name. (dirmngr_user_socket_name): New. * common/asshelp.c (start_new_dirmngr): Handle sys and user dirmngr socket. * dirmngr/dirmngr.c (main): Ditto. * dirmngr/server.c (cmd_getinfo): Ditto. * sm/server.c (gpgsm_server): Ditto. * dirmngr/dirmngr-client.c (start_dirmngr): Likewise. * tools/gpgconf.c (main): Print "dirmngr-sys-socket" with --list-dirs. * configure.ac (USE_DIRMNGR_AUTO_START): Set by default.
2014-03-12gpg: Add option --dirmngr-program.Werner Koch1-5/+0
* g10/gpg.c: Add option --dirmngr-program. * g10/options.h (struct opt): Add field dirmngr_program. * g10/call-dirmngr.c (create_context): Use new var. * dirmngr/dirmngr.c: Include gc-opt-flags.h. (main): Remove GC_OPT_FLAG_*. * tools/gpgconf-comp.c (GC_OPT_FLAG_NO_CHANGE): Move macro to ... * common/gc-opt-flags.h: here.
2014-03-07w32: Fix a potential problem in gpgconf's gettext.Werner Koch1-0/+2
* tools/gpgconf-comp.c (my_dgettext) [USE_SIMPLE_GETTEXT]: Make sure to return something even DOMAIN is not given.
2014-03-07agent: Make --allow-mark-trusted the default.Werner Koch1-2/+2
* agent/gpg-agent.c (opts, main): Add option --no-allow-mark-trusted. Put this option into the gpgconf-list. (main): Enable opt.allow_mark_trusted by default. * tools/gpgconf-comp.c (gc_options_gpg_agent): Replace allow-mark-trusted by no-allow-mark-trusted. * agent/trustlist.c (agent_marktrusted): Always set the "relax" flag. -- These changes have been in effect for the Gpg4win Windows version since 2011-01-24 and thus first released with Gpg4win 2.1.0. Given the current state of PKIX it does not make any sense to lure the Unix user into false security by making it harder to trust self-signed or CAcert certificates. Signed-off-by: Werner Koch <[email protected]> (cherry picked from commit 90b419f3e9d05e509348d047e05fcc79e87be6cf) Resolved conflicts: NEWS agent/gpg-agent.c
2014-03-07ssh: Add support for Putty.Werner Koch1-1/+7
* agent/gpg-agent.c [W32]: Include Several Windows header. (opts): Change help text for enable-ssh-support. (opts, main): Add option --enable-putty-support (putty_support, PUTTY_IPC_MAGIC, PUTTY_IPC_MAXLEN): New for W32. (agent_init_default_ctrl): Add and asssert call. (putty_message_proc, putty_message_thread): New. (handle_connections) [W32]: Start putty message thread. * common/sysutils.c (w32_get_user_sid): New for W32 only * tools/gpgconf-comp.c (gc_options_gpg_agent): Add --enable-ssh-support and --enable-putty-support. Make the configuration group visible at basic level. * agent/command-ssh.c (serve_mmapped_ssh_request): New for W32 only. -- This patch enables support for Putty. It has been tested with Putty 0.62 using an Unix created ssh key copied to the private-keys-v1.d directory on Windows and with a manually crafted sshcontrol file. It also works with a smartcard key. May thanks to gniibe who implemented a proxy in Python to test the putty/gpg-agent communication. Signed-off-by: Werner Koch <[email protected]> (cherry picked from commit 9f32499f99a0817f63f7a73b09bdcebe60d4775d) Resolved conflicts: NEWS agent/agent.h agent/gpg-agent.c: Convert from pth to npth. common/sysutils.c common/sysutils.h
2014-02-10gpg: Cleanup compiler warnings due to some configure options.Werner Koch1-1/+4
* g10/photoid.c (show_photos) [DISABLE_PHOTO_VIEWER]: Mark args as unused. * tools/gpgconf-comp.c (my_dgettext): Mark DOMAIN as unused if NLS is not configured.
2014-01-09gpgsplit: Allow building without zlib support.Werner Koch1-3/+11
* tools/gpgsplit.c [!HAVE_ZLIB]: Do not include zlib.h. (handle_zlib): Build only if HAVE_ZLIB is defined. (write_part): Support zlib and zip only if HAVE_ZLIB is defined. Signed-off-by: Werner Koch <[email protected]>
2013-11-18Make use of the *_NAME etc macros.Werner Koch10-113/+114
Replace hardwired strings at many places with new macros from config.h and use the new strusage macro replacement feature. * common/asshelp.c (lock_spawning) [W32]: Change the names of the spawn sentinels. * agent/command.c (cmd_import_key): Use asprintf to create the prompt.
2013-08-30gpgtar: Fix building for systems with a separate libintl.Werner Koch1-1/+2
* tools/Makefile.am (gpgtar_LDADD): Add LIBINTL and LIBICONV. Signed-off-by: Werner Koch <[email protected]>