aboutsummaryrefslogtreecommitdiffstats
path: root/dirmngr (follow)
Commit message (Collapse)AuthorAgeFilesLines
* dirmngr: Fix help string and argument.NIIBE Yutaka2016-10-271-2/+2
| | | | | | | | * dirmngr/server.c (hlp_versioncheck): Add a newline. (cmd_versioncheck): Fix argument. -- Signed-off-by: NIIBE Yutaka <[email protected]>
* dirmngr: Fix hang due to deferred thread initialization.Werner Koch2016-10-261-13/+12
| | | | | | | | | * dirmngr/dirmngr.c (main): Call ldap_wrapper_launch_thread after thread_init. -- Fixes-commit: eda17649f8bd3b8ce7bfc00a3c11cbcae63c845d Signed-off-by: Werner Koch <[email protected]>
* dirmngr: Allow command VERSIONCHECK to handle 3 part version numbers.Werner Koch2016-10-251-35/+83
| | | | | | | | | | * dirmngr/server.c (parse_version_string): Add arg MICRO and set it. (cmp_version): Extend to handle the MICRO part. (confucius_mktmpdir): Rename to my_mktmpdir. (my_mktmpdir): xstrconcat does not fail; use strconcat. (fetch_into_tmpdir): Improve error checking. Signed-off-by: Werner Koch <[email protected]>
* dirmngr: Fix segfault in VERSIONCHECK.Kai Michaelis2016-10-241-2/+2
| | | | | * dirmngr/server.c (cmd_versioncheck): The VERSIONCHECK command crashes when called without program version.
* Fix use cases of snprintf.NIIBE Yutaka2016-10-211-2/+1
| | | | | | | | | | | * agent/call-pinentry.c, agent/call-scd.c, agent/command.c, build-aux/speedo/w32/g4wihelp.c, common/get-passphrase.c, dirmngr/dirmngr.c, g10/call-agent.c, g10/cpr.c, g10/keygen.c, g10/openfile.c, g10/passphrase.c, scd/app-openpgp.c, scd/scdaemon.c, sm/call-agent.c, sm/call-dirmngr.c, sm/certreqgen.c: Fix assuming C99. -- Signed-off-by: NIIBE Yutaka <[email protected]>
* dirmngr: improve VERSIONCHECKKai Michaelis2016-10-191-99/+133
| | | | | Replace strtok_r() and code formatting. Use code from libgpg-error for version comparison.
* dirmngr: use gnupg_mkdtemp instead of mkstempKai Michaelis2016-10-141-20/+44
| | | | MinGW on debian does not support mkstemp.
* dirmngr: add VERSIONCHECK commandKai Michaelis2016-10-141-0/+227
| | | | | | | Given an application name and version VERSIONCHECK fetches the software version list from version.gnupg.org, verifies the signature and returns whenever the given version is older (UPDATE), current (CURRENT) or newer (ROLLBACK).
* agent, dirmngr, scd: Fix init_common_subsystems.NIIBE Yutaka2016-10-071-0/+1
| | | | | | | | | | | * common/init.c (_init_common_subsystems): Don't call gpgrt_set_syscall_clamp in this function. * agent/gpg-agent.c, dirmngr/dirmngr.c, scd/scdaemon.c: Call gpgrt_set_syscall_clamp after npth_init. -- Signed-off-by: NIIBE Yutaka <[email protected]>
* agent, dirmngr, scd: npth_init must be after fork.NIIBE Yutaka2016-10-041-11/+20
| | | | | | | | | | | | | | | | | | * agent/gpg-agent.c (thread_init_once, initialize_modules): New. (main): Make sure no daemonizing-fork call after npth_init, and no npth calls before npth_init, with care of npth calls by assuan hooks. * dirmngr/dirmngr.c (thread_init): New. (main): Make sure npth_init must not be called before daemonizing fork. * scd/scdaemon.c (main): Likewise. -- It is simply the best for nPth not to allow the daemonizing fork after npth_init, because semantics and implementations of forked child process in a threaded application is a difficult corner case. GnuPG-bug-id: 1779 Signed-off-by: NIIBE Yutaka <[email protected]>
* w32: Fix STARTTLS on LDAP connections.Justus Winter2016-09-301-1/+15
| | | | | | | | | | * dirmngr/ks-engine-ldap.c (my_ldap_connect): Fix build against <winldap.h>. GnuPG-bug-id: 1338 Debian-bug-id: 623526 Fixes-commit: 9e6f8a55 Signed-off-by: Justus Winter <[email protected]>
* dirmngr: Fix STARTTLS on LDAP connections.Justus Winter2016-09-291-1/+1
| | | | | | | | * dirmngr/ks-engine-ldap.c (my_ldap_connect): Fix unfortunate typo. -- Courtesy of pkgsrc contributor fhajny. Signed-off-by: Justus Winter <[email protected]>
* dirmngr: Removal of no-libgcrypt.o.NIIBE Yutaka2016-09-271-8/+1
| | | | | | | | | | | | | * dirmngr/Makefile.am (dirmngr_ldap_LDADD): Remove no-libgcrypt.o. -- Thanks to Rainer Perske who located the issue. GnuPG-bug-id: 2698 Signed-off-by: NIIBE Yutaka <[email protected]> This is a fix for the commit: 49829c29e541546084950b8a153067db371d101a
* dirmngr: Fix type.Justus Winter2016-09-201-1/+1
| | | | | | * dirmngr/dns-stuff.c (get_dns_cert): Fix type in fallback code. Signed-off-by: Justus Winter <[email protected]>
* dirmngr: Open file CRL's in binary modeAndre Heinecke2016-09-201-1/+1
| | | | | | | | | | * dirmngr/crlcache.c (crl_cache_load): Open file in binary mode. -- This fixes conversion bugs with binary CRL's on Windows. GnuPG-bug-id: issue2448 Signed-off-by: Andre Heinecke <[email protected]>
* dirmngr: Silence diagnostics about starting housekeeping.Werner Koch2016-09-191-2/+2
| | | | | | | * dirmngr/dirmngr.c (housekeeping_thread): Print info only in very verbose mode. Signed-off-by: Werner Koch <[email protected]>
* move some file encodings to UTF-8Daniel Kahn Gillmor2016-09-172-8/+7
| | | | | | | | | | | | | | | * dirmgnr/cdblib.c: comment used unnecesary hyphenation * dirmngr/crlcache.h: comment was iso-8859-1 * doc/contrib.text: list contributors using UTF-8 (now we can acknowledge many more people using their preferred orthography) At least one other files remains in a non-UTF-8 encoding, which i'm not sure what to do with: - build-aux/speedo/w32/inst.nsi is ISO-8859-1, but maybe Windows needs it that way? Signed-off-by: Daniel Kahn Gillmor <[email protected]>
* spelling: conenction should be connectionDaniel Kahn Gillmor2016-09-151-1/+1
| | | | | | * dirmngr/server.c, sm/server.c: s/conenction/connection/ Signed-off-by: Daniel Kahn Gillmor <[email protected]>
* Portability build fix.Ben Kibbey2016-09-101-1/+1
| | | | | | | | | | * kbx/Makefile.am: Add NETLIBS. * dirmngr/Makefile.am: Ditto for dirmngr_ldap. -- Fixes OpenIndiana (Solaris) builds. Signed-off-by: Ben Kibbey <[email protected]>
* dirmngr: Terminate on deletion of the socket file (Linux only).Werner Koch2016-09-071-4/+99
| | | | | | | | | | | | * dirmngr/dirmngr.c [HAVE_INOTIFY_INIT]: Include sys/inotify.h. (oDisableCheckOwnSocket): New. (opts): Add --disable-check-own-socket. (disable_check_own_socket): New var. (parse_rereadable_options): Set that var. (my_inotify_is_name) [HAVE_INOTIFY_INIT]: New. (handle_connections) [HAVE_INOTIFY_INIT]: New. Signed-off-by: Werner Koch <[email protected]>
* dirmngr: Exclude D lines from the IPC debug output.Werner Koch2016-09-053-5/+76
| | | | | | | | | | | | | | | | * dirmngr/dirmngr.h: Include asshelp.h. * dirmngr/server.c (server_local_s): Add inhibit_dara_logging fields. (data_line_write): Implement logging inhibit. (data_line_cookie_close): Print non-logged D lines. (cmd_wkd_get, cmd_ks_get, cmd_ks_fetch): Do not log D lines. (dirmngr_assuan_log_monitor): New. * dirmngr/dirmngr.c (main): Register monitor function. -- In particular with large keys the D lines clutter the log output and make it unusable. Signed-off-by: Werner Koch <[email protected]>
* common: Add an assuan logging monitor.Werner Koch2016-09-051-1/+1
| | | | | | | | | * common/asshelp.c (my_log_monitor): New var. (my_libassuan_log_handler): Run that monitor. (setup_libassuan_logging): Add arg to set a log monitor and change all callers. Signed-off-by: Werner Koch <[email protected]>
* dirmngr: Add --policy-flags option to WKD_GET.Werner Koch2016-09-021-3/+12
| | | | | | * dirmngr/server.c (cmd_wkd_get): Add new option. Signed-off-by: Werner Koch <[email protected]>
* tests: Run test requiring the network only in maintainer-mode.Werner Koch2016-09-011-3/+11
| | | | | | | | | | * dirmngr/Makefile.am (noinst_PROGRAMS, TESTS): Add module_net_tests. (module_tests): Move t-dns-test to ... (module_net_tests): here. -- Debian-bug-id: 836259 Signed-off-by: Werner Koch <[email protected]>
* dirmngr: Remove all system daemon features.Werner Koch2016-08-187-237/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * dirmngr/dirmngr.h (opts): Remove fields 'system_service' and 'system_daemon'. * common/homedir.c (dirmngr_sys_socket_name): Remove. (dirmngr_user_socket_name): Rename to ... (dirmngr_socket_name): this. Change call callers. * common/asshelp.c (start_new_dirmngr): Remove the system socket feature. * tools/gpgconf.c (list_dirs): Do not print "dirmngr-sys-socket". * sm/server.c (gpgsm_server): Adjust for removed system socket feature. * dirmngr/server.c (cmd_getinfo): Ditto. (cmd_killdirmngr): Remove check for system daemon. (cmd_reloaddirmngr): Ditto. * dirmngr/dirmngr.c (USE_W32_SERVICE): Remove macro. (aService): Remove. (opts): Remove --service. (w32_service_control): Remove. (real_main, call_real_main) [W32]: Remove wrapper. (main): Remove Windows system service feature. Remove system dameon feature. Use only the "~/.gnupg/dirmngr_ldapservers.conf" file. * dirmngr/certcache.c (load_certs_from_dir): Remove warning in the system dameon case. * dirmngr/crlcache.c (DBDIR_D): Always use "~/.gnupg/crls.d". * dirmngr/ocsp.c (validate_responder_cert): Do not call validate_cert_chain which was used only in system daemon mode. * dirmngr/validate.c (validate_cert_chain): Always use the code. -- We are now starting dirmngr as needed as a user daemon. The deprecated system daemon mode does not anymore make sense. In case a system wide daemon is required, it is better to setup a dedicated account to run dirmngr and tweak socket permissions accordingly. Signed-off-by: Werner Koch <[email protected]>
* Call log_set_prefix() with human-readable labels.Daniel Kahn Gillmor2016-08-122-3/+3
| | | | | | | | | | | | | | | | | | * agent/preset-passphrase.c, agent/protect-tool.c, dirmngr/dirmngr.c * dirmngr/t-http.c, g10/gpg.c, g10/gpgv.c, g13/g13-syshelp.c * g13/g13.c, kbx/kbxutil.c, scd/scdaemon.c, sm/gpgsm.c * tests/gpgscm/main.c, tools/gpg-check-pattern.c * tools/gpg-connect-agent.c, tools/gpgconf.c, tools/gpgtar.c * tools/symcryptrun.c: Invoke log_set_prefix() with human-readable labels. -- Some invocations of log_set_prefix() were done with raw numeric values instead of values that humans can understand. Use symbolic representations instead of numeric for better readability. Signed-off-by: Daniel Kahn Gillmor <[email protected]>
* common: New function string_to_u64.Werner Koch2016-08-111-11/+2
| | | | | | | | | | | | | * common/stringhelp.c (string_to_u64): New. * dirmngr/http.c (longcounter_t): Remove. (struct cookie_s): Change content_length to uint64_t. (parse_response): Use string_to_u64. -- Meanwhile we allow some C99 features including stdint.h. Thus we can simplify things now. Signed-off-by: Werner Koch <[email protected]>
* Cleanup initialization of libgcrypt.Ben Kibbey2016-08-092-6/+2
| | | | | | | | | | | | * common/init.c (init_common_subsystems): Initialize libgcrypt. * dirmngr/Makefile.am (dirmngr_ldap): Link with libgcrypt. -- Most other modules already call gcry_check_version() after init_common_subsystems() so may as well move initialization of libgcrypt to here. Also fixes a warning in the system log from gpgconf --homedir. Signed-off-by: Ben Kibbey <[email protected]>
* More cleanup of "allow to".Daniel Kahn Gillmor2016-08-032-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | * README, agent/command.c, agent/keyformat.txt, common/i18n.c, common/iobuf.c, common/keyserver.h, dirmngr/cdblib.c, dirmngr/ldap-wrapper.c, doc/DETAILS, doc/TRANSLATE, doc/announce-2.1.txt, doc/gpg.texi, doc/gpgsm.texi, doc/scdaemon.texi, doc/tools.texi, doc/whats-new-in-2.1.txt, g10/export.c, g10/getkey.c, g10/import.c, g10/keyedit.c, m4/ksba.m4, m4/libgcrypt.m4, m4/ntbtls.m4, po/ca.po, po/cs.po, po/da.po, po/de.po, po/el.po, po/eo.po, po/es.po, po/et.po, po/fi.po, po/fr.po, po/gl.po, po/hu.po, po/id.po, po/it.po, po/ja.po, po/nb.po, po/pl.po, po/pt.po, po/ro.po, po/ru.po, po/sk.po, po/sv.po, po/tr.po, po/uk.po, po/zh_CN.po, po/zh_TW.po, scd/app-p15.c, scd/ccid-driver.c, scd/command.c, sm/gpgsm.c, sm/sign.c, tools/gpgconf-comp.c, tools/gpgtar.h: replace "Allow to" with clearer text. In standard English, the normal construction is "${XXX} allows ${YYY} to" -- that is, the subject (${XXX}) of the sentence is allowing the object (${YYY}) to do something. When the object is missing, the phrasing sounds awkward, even if the object is implied by context. There's almost always a better construction that isn't as awkward. These changes should make the language a bit clearer. Signed-off-by: Daniel Kahn Gillmor <[email protected]>
* dirmngr: Emit correct spelling of "superseded".Daniel Kahn Gillmor2016-08-032-2/+2
| | | | | | | | | | | * dirmngr/crlcache.c (list_one_crl_entry): Spell superseded correctly. * dirmngr/ocsp.c (ocsp_invalid): Likewise. This might break some tools which parse the existing output and expect misspellings, but i'm not sure there are many such tools, and we should use standardized orthography going forward. Signed-off-by: Daniel Kahn Gillmor <[email protected]>
* dirmngr: fix handling of HTTP redirectionsDamien Goutte-Gattat2016-07-141-1/+2
| | | | | | | * dirmngr/ks-engine-http.c (ks_http_fetch): Reinitialize HTTP session when following a HTTP redirection. Signed-off-by: Damien Goutte-Gattat <[email protected]>
* gpg: Fix regression since 2.1 in --search-key with a fingerprint.Werner Koch2016-07-141-2/+6
| | | | | | | | | | | | | * dirmngr/ks-engine-hkp.c (ks_hkp_search): Prefix fingerprint with 0x. -- pre-2.1 made sure that the 0x prefix was put before the fingerprint so that the search command works. Actually --recv-key should be used with a fingerprint but some users are using --search-key, probably to use the interactive mode. GnuPG-bug-id: 2412 Signed-off-by: Werner Koch <[email protected]>
* build: Require latest released librariesWerner Koch2016-07-141-7/+2
| | | | | | | | | | | | | | * agent/protect.c (OCB_MODE_SUPPORTED): Remove macro. (do_encryption): Always support OCB. (do_decryption): Ditto. (agent_unprotect): Ditto. * dirmngr/server.c (is_tor_running): Unconditionally build this. -- Although not technically required, it is easier to require them to avoid bug reports due to too old library versions. Signed-off-by: Werner Koch <[email protected]>
* dirmngr: Fix typo.Daniel Kahn Gillmor2016-07-121-1/+1
| | | | | -- Signed-off-by: Justus Winter <[email protected]>
* Fix trivial memory leaks in tests.Justus Winter2016-07-011-0/+2
| | | | | | | * dirmngr/t-ldap-parse-uri.c (check_ldap_escape_filter): Free result. * g10/t-stutter.c (main): Free file name. Signed-off-by: Justus Winter <[email protected]>
* dirmngr: add option to retrieve extra WKS info.Werner Koch2016-06-281-8/+22
| | | | | | * dirmngr/server.c (cmd_wkd_get): Add option --submission-address. Signed-off-by: Werner Koch <[email protected]>
* ldap: Improve info output for v3 fallbackWerner Koch2016-06-141-2/+3
| | | | | | | | * dirmngr/dirmngr_ldap.c (fetch_ldap): Do not use log_debug in an unprotected section. Replace log_debug by log_info in verbose mode. -- GnuPG-bug-id: 2376
* dirmngr: Try ldap protocol V3 as fallbackAndre Heinecke2016-06-141-0/+12
| | | | | | | | | | | | | * dirmngr/dirmngr_ldap.c (fetch_ldap): Try V3 Protocol in case default Protocol gives error. -- Servers may have blocked V2 Protocol, in which case the bind will result in a Protocol Error. In that case we try again with v3 Protocol if the ldap libarary used to compile dirmngr supports V3. Signed-off-by: Andre Heinecke <[email protected]>
* dirmngr: Print ldap error if bind failsAndre Heinecke2016-06-141-1/+1
| | | | | | | | | | * dirmngr/dirmngr_ldap.c (fetch_ldap): Use ldap_err2string on bind return. -- ldap_simple_bind_s does not set errno. Signed-off-by: Andre Heinecke <[email protected]>
* doc: Consistently use 'keyserver'.Werner Koch2016-06-141-1/+1
| | | | | | | -- GnuPG-bug-id: 2383 Signed-off-by: Werner Koch <[email protected]>
* Explicitly restrict socket permissions.Werner Koch2016-06-081-0/+4
| | | | | | | | | | * agent/gpg-agent.c (create_server_socket): Call chmod before listen. * scd/scdaemon.c (create_server_socket): Ditto. * dirmngr/dirmngr.c (main): Ditto. -- This is just in case of a improperly set umask. Note that a connect requires a write permissions.
* Do not use no-libgcrypt dummy for toolsWerner Koch2016-06-081-5/+4
| | | | | | | | | | | | | | | * tools/Makefile.am (gpgconf_SOURCES): Remove no-libgcrypt.c. (gpgconf_LDADD): Add LIBGCRYPT_LIBS. (gpg_connect_agent_LDADD): Ditto. (gpgtar_LDADD): Ditto. * dirmngr/Makefile.am (dirmngr_client_LDADD): Ditto. (t_common_ldadd): Ditto. Remove no-libgcrypt.o. -- We need this change so that a future code in common/ can use Libgcrypt functions; in particular hashing. Signed-off-by: Werner Koch <[email protected]>
* common: Remove homedir arg from start_new_{dirmngr,gpg_agent}.Werner Koch2016-06-071-1/+0
| | | | | | | | | | * common/asshelp.c (start_new_gpg_agent): Remove arg 'homedir' in favor of gnupg_homedir (). Change all callers. (start_new_dirmngr): Ditto. * common/get-passphrase.c (gnupg_prepare_get_passphrase): Remove arg 'homedir'. Signed-off-by: Werner Koch <[email protected]>
* Replace use of opt.homedir by accessor functions.Werner Koch2016-06-073-31/+20
| | | | | | | | | | | | | | | | | | | * common/homedir.c (the_gnupg_homedir): New var. (gnupg_set_homedir): New. (gnupg_homedir): New. * g10/options.h (struct opt): Remove 'homedir' and replace all users by the new accessor functions. * g13/g13-common.h (struct opt): Ditto. * scd/scdaemon.h (struct opt): Ditto. * sm/gpgsm.h (struct opt): Ditto. * dirmngr/dirmngr.h (struct opt): Ditto. * agent/preset-passphrase.c (opt_homedir): Ditto. * agent/protect-tool.c (opt_homedir): Ditto. -- This will make detection of a non-default homedir easier. Signed-off-by: Werner Koch <[email protected]>
* common: Extend gnupg_create_inbound_pipe et al.Werner Koch2016-05-271-2/+2
| | | | | | | | | | | | | | * common/exechelp-posix.c (gnupg_create_inbound_pipe): Add args 'r_fp' and 'nonblock'. (gnupg_create_outbound_pipe): Ditto. * common/exechelp-w32.c (gnupg_create_inbound_pipe): Add non yet functional args 'r_fp' and 'nonblock'. (gnupg_create_outbound_pipe): Ditto. * common/exechelp-w32ce.c (gnupg_create_inbound_pipe): Ditto. (gnupg_create_outbound_pipe): Ditto. -- Signed-off-by: Werner Koch <[email protected]>
* dirmngr: Adjust the WKD lookup to specs version -01.Werner Koch2016-05-181-2/+0
| | | | | | | | | * dirmngr/server.c (cmd_wkd_get): Remove second occurrence of the domain part. -- This change updates gnupg to comply with draft-koch-openpgp-webkey-service-01
* dirmngr: Add experimental command WKD_GET.Werner Koch2016-04-271-4/+74
| | | | | | | * dirmngr/server.c (cmd_wkd_get): New. (register_commands): Add command WKD_GET. Signed-off-by: Werner Koch <[email protected]>
* dirmngr: Use system provided root CAs with KS_FETCH.Werner Koch2016-04-271-1/+3
| | | | | | * dirmngr/ks-engine-http.c (ks_http_fetch): Use HTTP_FLAG_TRUST_SYS. Signed-off-by: Werner Koch <[email protected]>
* http: Allow to request system defined CAs for TLS.Werner Koch2016-04-265-14/+41
| | | | | | | | | | | | * dirmngr/http.h (HTTP_FLAG_TRUST_DEF, HTTP_FLAG_TRUST_SYS): New. * dirmngr/http.c (http_session_new): Add arg "flags". * dirmngr/ks-engine-hkp.c (send_request): Use new flag HTTP_FLAG_TRUST_DEF for the new arg of http_session_new. * dirmngr/ks-engine-http.c (ks_http_fetch): Ditto. * dirmngr/t-http.c (main): Ditto. -- Signed-off-by: Werner Koch <[email protected]>
* dirmngr: Fix https never reported in general helpAndre Heinecke2016-04-151-1/+7
| | | | | | | | * dirmngr/ks-engine-http.c (ks_hkp_help): Also print https when supported and no uri provided. -- Wrong reporting was pointed out by K_F, again.