Commit Graph

92 Commits

Author SHA1 Message Date
Daniel Kahn Gillmor 839727503d curl-shim: clean up varargs
* keyserver/curl-shim.c (curl_easy_setopt) : 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 <honey@internot.info>

Debian-Bug-Id: #773475
2015-02-18 12:26:11 +01:00
Werner Koch cb2ee2dc50 keyserver: Show log prefix when not build with cURL.
* keyserver/ksutil.c (init_ks_options) [!HAVE_LIBCURL]: Set logging
prefix.

Signed-off-by: Werner Koch <wk@gnupg.org>
2015-02-13 11:37:17 +01:00
Werner Koch e957b9b3f4 keyserver: Allow use of cURL's default CA store.
* keyserver/gpgkeys_curl.c (main): Set CURLOPT_CAINFO only if a file
has been given.
* keyserver/gpgkeys_hkp.c (main): Ditto.
--

GnuPG-bug-id: 1542
Signed-off-by: Werner Koch <wk@gnupg.org>
2013-10-04 08:28:12 +02:00
Werner Koch 40ca0022a7 w32: Almost everywhere include winsock2.h before windows.h.
--

This is required by newer mingw toolchain versions which demand that
winsock2.h is included before windows.h.  Now, due to the use of
socket definitions in pth.h we need to include winsock2.h also in
pth.h, now pth.h is often included after an include of windows.h and
thus the compiler spits out a warning.  To avoid that we include
winsock2.h at all places the compiler complains about.
2013-04-23 18:06:46 +02:00
Werner Koch a557a74615 Allow building gpgkeys_ldap with the 32 bit mingw-w64 toolchain.
* keyserver/gpgkeys_ldap.c (my_ldap_start_tls_s): Define macro
depending on compiler version.
(main): Use new macro.
--

It seems that the LDAP keyserver helper if build with the old mingw32
toolchain never worked correctly for LDAPS.  The prototype there for
ldap_start_tls_s is plainly wrong for Windows.  However, the fix here
has special support so not to break building with the old compiler.
2013-04-23 17:04:56 +02:00
David Shaw 6d0e41815a Differentiate between success (full or partial), not-found, and failure.
* keyserver/gpgkeys_hkp.c (get_key): Use curl_easy_setinfo to get the
  HTTP status code so we can tell the difference between a successful
  retrieval, a partial retrieval, a not-found, or a server failed.
2013-03-02 20:57:29 -05:00
David Shaw 7808e4a763 Emulate curl_easy_getinfo and CURLINFO_RESPONSE_CODE in curl-shim.
* keyserver/curl-shim.h, keyserver/curl-shim.c (curl_easy_getinfo):
  New. Return the HTTP status code for the last transfer.
2013-03-02 20:54:52 -05:00
David Shaw 8c32d4de57 Make sure srvcount is initialized.
* keyserver/gpgkeys_hkp.c (srv_replace): Initialize srvcount.
2012-12-20 18:12:29 -05:00
Werner Koch 20c95ef258 Fixed indentation and indented cpp directives
--
2012-12-19 15:30:17 +01:00
David Shaw 732f3d1d47 No point in defaulting try-dns-srv to on if we don't have SRV support.
* keyserver/gpgkeys_hkp.c (main): Only default try-dns-srv to on if we
  have SRV support in the first place.
2012-12-18 00:08:51 -05:00
David Shaw 6b1f71055e Issue 1447: Pass proper Host header and SNI when SRV is used with curl.
* configure.ac: Check for inet_ntop.

* m4/libcurl.m4: Provide a #define for the version of the curl
  library.

* keyserver/gpgkeys_hkp.c (main, srv_replace): Call getaddrinfo() on
  each target.  Once we find one that resolves to an address (whether
  IPv4 or IPv6), pass it into libcurl via CURLOPT_RESOLVE using the
  SRV name as the "host".  Force the HTTP Host header to be the same.
2012-12-17 23:52:15 -05:00
David Shaw ba9e974f1f Fix issue 1446: honor ports given in SRV responses.
* common/http.c (send_request, connect_server, http_open): Use a
  struct srv instead of a single srvtag so we can pass the chosen host
  and port back to the caller.
  (connect_server): Use the proper port in the HAVE_GETADDRINFO case.

* keyserver/curl-shim.c (curl_easy_perform): Use struct srv and log
  chosen host and port.

* keyserver/gpgkeys_hkp.c (main): Properly take the port given by SRV.
2012-12-15 10:11:11 -05:00
David Shaw 3005b0a6f4 Use the longest key ID available when talking to a HKP server.
This is issue 1340.  Now that PKSD is dead, and SKS supports long key
IDs, this is safe to do.  Patch from Daniel Kahn Gillmor
<dkg@fifthhorseman.net>.
2011-12-28 16:46:28 -05:00
Werner Koch 28c6cef128 Generate the ChangeLog from commit logs.
* scripts/gitlog-to-changelog: New script.  Taken from gnulib.
* scripts/git-log-fix: New file.
* scripts/git-log-footer: New file.
* scripts/git-hooks/commit-msg: New script.
* autogen.sh: Install commit-msg hook for git.
* doc/HACKING: Describe the ChangeLog policy.
* ChangeLog: New file.
* Makefile.am (EXTRA_DIST): Add new files.
(gen-ChangeLog): New.
(dist-hook): Run gen-ChangeLog.

Rename all ChangeLog files to ChangeLog-2011.
2011-12-02 19:28:02 +01:00
Werner Koch 490f747182 Make use of strconcat to make the code more robust against future changes. 2009-08-26 10:58:13 +00:00
Werner Koch bc9dd2e5f6 Expand a ~ in the ca-cert-file argument. 2009-08-26 10:12:17 +00:00
David Shaw 2e835fd6ab * gpgkeys_hkp.c (main, srv_replace): Minor tweaks to use the DNS-SD
names ("pgpkey-http" and "pgpkey-https") in SRV lookups instead of
"hkp" and "hkps".
2009-07-08 04:01:13 +00:00
Werner Koch 2e0ce7d97f Fixed a bunch of little bugs as reported by Fabian Keil.
Still one problem left; marked with a gcc #warning.
2009-06-24 14:03:09 +00:00
David Shaw bcf540f2d0 Avoid caches to get the most recent copy of the key. This is bug #1061 2009-05-28 16:20:49 +00:00
David Shaw a7205a080c * http.h, http.c (send_request): Pass in srvtag and make its presence
sufficient to turn the feature on.  (http_open): From here.
(http_document): And here.

* gpgkeys_hkp.c (srv_replace): New function to transform a SRV
hostname to a real hostname.  (main): Call it from here for the
HAVE_LIBCURL case (without libcurl is handled via the curl-shim).

* curl-shim.h, curl-shim.c (curl_easy_setopt, curl_easy_perform): Add
a CURLOPT_SRVTAG_GPG_HACK (passed through the the http engine).
2009-05-28 04:25:25 +00:00
David Shaw a0627f5a22 * gpgkeys_hkp.c (send_key, get_key, get_name, search_key, main): Add
support for SSLized HKP.
2009-05-11 03:52:34 +00:00
David Shaw 07390d3f80 From 1.4:
* curl-shim.h (curl_version): No need to provide a version for
curl-shim as it always matches the GnuPG version.

* gpgkeys_curl.c, gpgkeys_hkp.c (main): Show which version of curl
we're using as part of --version.

* gpgkeys_curl.c, gpgkeys_finger.c, gpgkeys_hkp.c, gpgkeys_ldap.c
(show_help): Document --version.
2009-05-11 03:21:41 +00:00
David Shaw 4409dbf068 * gpgkeys_mailto.in: Set 'mail-from' as a keyserver-option, rather
than the ugly ?from= syntax.
2009-05-05 03:29:56 +00:00
Werner Koch 943f783de7 New scd getinfo subcommand deny_admin 2009-02-12 17:45:40 +00:00
Werner Koch 51e4831685 Add a Geldkarte gadget application.
Minor other changes.
2009-01-27 11:30:02 +00:00
Werner Koch 0a5f742466 Marked all unused args on non-W32 platforms. 2008-10-20 13:53:23 +00:00
Werner Koch 5a8bf0bec6 Fix gpg-preset-passphrase bug.
Cleanups
2008-09-03 09:37:32 +00:00
Werner Koch 4254e90426 Fixed bug#907.
Fixed a segv in keybox and made it more robust.
2008-05-06 14:03:36 +00:00
Werner Koch 08a612f26e W32 related keyserver fixes. 2008-04-21 19:13:36 +00:00
David Shaw c15eb48603 * gpgkeys_curl.c (main), gpgkeys_hkp.c (main): Make sure all libcurl
number options are passed as long.

* curl-shim.c (curl_easy_setopt): Minor tweak to match the real curl
better - libcurl uses 'long', not 'unsigned int'.
2008-04-14 19:41:40 +00:00
Werner Koch 7707a7e5f8 Allow requesting TCP queries. 2008-04-07 19:55:44 +00:00
Werner Koch 86f35a55d0 Minor cleanups.
Implemented key helper kdns
2008-04-07 19:31:12 +00:00
Werner Koch 9a8ee6e6be Changed the way i18n files are located under Windows. The setting of the
Registry key is not anymore required.  Helpfiles are not properly located.
2008-03-25 19:41:11 +00:00
Werner Koch cd2d9288aa Ported changes from 1.4.
Add copyright notices.
2007-10-25 09:06:21 +00:00
Werner Koch 93d3811abc Changed to GPLv3.
Removed intl/.
2007-07-04 19:49:40 +00:00
Werner Koch 0cfbfd6186 A whole bunch of changes to allow building for Windows.
See the ChangeLogs for details.
2007-06-14 17:05:07 +00:00
Werner Koch 2c9791db55 First steps towards supporting W32.
This is mainly source code reorganization.
Update gnulib.
g10/ does currently not build.
2007-06-06 18:12:30 +00:00
Werner Koch d5052fd228 Upgraded gettext.
Fixed accidental dependency on libgcrypt 1.3.0.
2007-05-07 19:49:12 +00:00
Werner Koch 2ec906db3a Fixed installation of gpg2keys_mailto 2007-05-04 09:23:51 +00:00
David Shaw 458efc1d6f From STABLE-BRANCH-1-4
* gpgkeys_curl.c (main): Use curl_version_info to verify that the
protocol we're about to use is actually available.

* curl-shim.h, curl-shim.c (curl_free): Make into a macro.
(curl_version_info): New.  Only advertises "http" for our shim, of
course.
2007-03-14 04:24:55 +00:00
David Shaw c1239f5a44 From STABLE-BRANCH-1-4
* gpgkeys_ldap.c (send_key): Missing a free().

* curl-shim.c (curl_easy_perform): Some debugging items that may be
handy.
2007-03-10 04:07:20 +00:00
David Shaw b111b0ed69 * gpgkeys_hkp.c (search_key): HKP keyservers like the 0x to be present
when searching by keyID.
2006-12-03 06:04:58 +00:00
Werner Koch 218380395e Preparing 2.0.1rc1 2006-11-23 09:53:17 +00:00
Werner Koch e50c5f39cc No more warnings for AMD64 (at least when cross-compiling). Thus tehre is a
good chance that gpg2 will now work. 
Other cleanups.
Updated gettext.
2006-11-21 11:00:14 +00:00
David Shaw 8add46fcee * gpgkeys_hkp.c (curl_mrindex_writer): Revert previous change.
Key-not-found still has a HTML response.
2006-11-06 04:03:44 +00:00
Marcus Brinkmann 86852e7eed 2006-10-24 Marcus Brinkmann <marcus@g10code.de>
* Makefile.am (gpg2keys_ldap_CPPFLAGS): Rename second instance to ...
	(gpg2keys_finger_CPPFLAGS): ... this.
2006-10-24 14:28:01 +00:00
Werner Koch 7b8ea82ab6 . 2006-10-23 14:02:13 +00:00
David Shaw 11935a4c18 * gpgkeys_hkp.c (curl_mrindex_writer): Print a warning if we see HTML
coming back from a MR hkp query.
2006-10-20 04:00:19 +00:00
Werner Koch be410be660 Pth tweaks and improved estream.c 2006-10-17 14:34:42 +00:00
Werner Koch 13e4f5c95c Made buliding w/o curl work 2006-09-26 14:35:24 +00:00