1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-07-05 03:09:21 +02:00
gnupg/dirmngr
Werner Koch 9f1c11cd3f
dirmngr: Fix handling of the HTTP Content-Length
* dirmngr/http.c (cookie_s): Add fields pending, up_to_empty_line,
last_was_lf, and last_was_lfcr.
(http_context_s): Add field keep-alive.
(http_wait_response): Set up_to_empty_line.  Take care of keep_alive
flag.
(coookie_read): Implement detection of empty lines.
(cookie_write): Free the pending buffer.
--

The problem we fix here is that we already buffered stuff beyond the
empty line which marks the start of the content-length counting.  Thus
we tried to wait for more bytes despite that everything had already
been read.  This bug might have showed up more often in the real world
since the we changed the BUFSIZ on Windows from 512 byte to 8k.  It
also depends on the length of the headers and whether the server
closed the connection so that we ignored the Content-Length.

The bug was introduced earlier than 2010 and could have the effect
that a connection got stuck until the network layer timed out.

Note that the keep-alive parts of the patch are not yet used.
2023-09-26 12:37:45 +02:00
..
cdb.h Tweaks for gpgconf. 2010-12-14 19:17:58 +00:00
cdblib.c g10, sm, dirmngr, common: Add comment for fall through. 2017-05-10 11:13:12 +09:00
certcache.c dirmngr: New option --debug-cache-expired-certs. 2022-08-31 18:13:25 +02:00
certcache.h dirmngr: Use system certs if --hkp-cacert is not used. 2017-09-18 22:49:05 +02:00
ChangeLog-2011 delete redundant characters 2023-06-20 09:06:30 +09:00
ChangeLog-2011-ks Remove the obsolete keyserver directory from the repo. 2015-04-20 18:20:45 +02:00
crlcache.c dirmngr: New option --ignore-crl-extensions. 2023-07-05 12:12:18 +02:00
crlcache.h move some file encodings to UTF-8 2016-09-17 15:57:31 +09:00
crlfetch.c dirmngr: Rewrite the LDAP wrapper tool 2021-06-08 08:51:11 +02:00
crlfetch.h dirmngr: Rewrite the LDAP wrapper tool 2021-06-08 08:51:11 +02:00
dirmngr_ldap-w32info.rc w32: Add missing manifests and set a requestedExecutionLevel. 2023-05-25 11:10:21 +02:00
dirmngr_ldap.c dirmngr: New command AD_QUERY. 2023-08-25 14:23:39 +02:00
dirmngr_ldap.w32-manifest.in w32: Add missing manifests and set a requestedExecutionLevel. 2023-05-25 11:10:21 +02:00
dirmngr-client-w32info.rc w32: Add missing manifests and set a requestedExecutionLevel. 2023-05-25 11:10:21 +02:00
dirmngr-client.c Backport of the new option parser from 2.3 2020-12-04 12:12:20 +01:00
dirmngr-client.w32-manifest.in w32: Add missing manifests and set a requestedExecutionLevel. 2023-05-25 11:10:21 +02:00
dirmngr-err.h Some work on porting dirmngr (unfinished) 2010-07-16 13:19:45 +00:00
dirmngr-status.h dirmngr: Factor some prototypes out to dirmngr-status.h. 2019-11-18 18:44:30 +01:00
dirmngr-w32info.rc w32: Add missing manifests and set a requestedExecutionLevel. 2023-05-25 11:10:21 +02:00
dirmngr.c dirmngr: Implement automatic proxy detection on Windows. 2023-09-19 15:04:49 +02:00
dirmngr.h dirmngr: New command AD_QUERY. 2023-08-25 14:23:39 +02:00
dirmngr.w32-manifest.in w32: Add missing manifests and set a requestedExecutionLevel. 2023-05-25 11:10:21 +02:00
dns-stuff.c dirmngr: Fixed typo in recently added diagnostic. 2019-11-18 18:44:28 +01:00
dns-stuff.h dirmngr: Use IPv4 or IPv6 interface only if available. 2019-11-12 20:31:34 +01:00
dns.c build: Update for newer autoconf. 2023-08-31 10:25:45 +02:00
dns.h dirmngr: dns: Fix allocation of string buffer in stack. 2020-05-21 14:37:03 +09:00
domaininfo.c dirmngr: Improve domaininfo cache update algorithm. 2019-04-02 13:25:48 +02:00
http-common.c dirmngr: Fix commit de6d8313 2017-03-03 17:17:26 +01:00
http-common.h dirmngr: Implement automatic proxy detection on Windows. 2023-09-19 15:04:49 +02:00
http-ntbtls.c dirmngr: Change the default keyserver. 2021-06-25 19:15:24 +02:00
http.c dirmngr: Fix handling of the HTTP Content-Length 2023-09-26 12:37:45 +02:00
http.h dirmngr: Cleanup the http module. 2023-09-18 17:37:47 +02:00
ks-action.c dirmngr: Return modifyTimestamp and add server option --newer. 2023-08-25 14:34:33 +02:00
ks-action.h dirmngr: Return modifyTimestamp and add server option --newer. 2023-08-25 14:34:33 +02:00
ks-engine-finger.c dirmngr: Implement HTTP connect timeouts of 15 or 2 seconds. 2017-06-08 09:37:36 +02:00
ks-engine-hkp.c dirmngr: Improve error codes returned from http fetching. 2023-09-19 16:14:01 +02:00
ks-engine-http.c dirmngr: Improve error codes returned from http fetching. 2023-09-19 16:14:01 +02:00
ks-engine-kdns.c Remove -I option to common. 2017-03-07 20:25:54 +09:00
ks-engine-ldap.c dirmngr: Extend the AD_QUERY command. 2023-08-25 14:50:17 +02:00
ks-engine.h dirmngr: Extend the AD_QUERY command. 2023-08-25 14:50:17 +02:00
ldap-misc.c dirmngr: Fix LDAP time parser. 2023-08-25 14:35:56 +02:00
ldap-misc.h dirmngr: Return modifyTimestamp and add server option --newer. 2023-08-25 14:34:33 +02:00
ldap-parse-uri.c dirmngr: Support new gpgNtds parameter in LDAP keyserver URLs. 2021-02-17 17:31:36 +01:00
ldap-parse-uri.h Remove -I option to common. 2017-03-07 20:25:54 +09:00
ldap-url.c dirmngr,w32: Silence compiler warnings for the LDAP API. 2022-06-03 15:36:58 +02:00
ldap-url.h Merged Dirmngr with GnuPG. 2010-06-09 16:53:51 +00:00
ldap-wrapper.c dirnmgr: Fix the function prototype. 2022-10-07 13:22:03 +02:00
ldap-wrapper.h dirmngr: Remove use of USE_LDAPWRAPPER. 2021-06-11 10:06:24 +09:00
ldap.c dirmngr: New server flag "areconly" (A-record-only) 2022-09-28 09:43:25 +02:00
ldapserver.c dirmngr: Fix lost flags during LDAP upload 2022-09-28 15:40:22 +02:00
ldapserver.h dirmngr: Fix lost flags during LDAP upload 2022-09-28 15:40:22 +02:00
loadswdb.c dirmngr: Allow redirection from https to http for CRLs 2018-04-25 12:38:04 +02:00
Makefile.am dirmngr: Implement automatic proxy detection on Windows. 2023-09-19 15:04:49 +02:00
misc.c common: Change argument order of log_printhex. 2020-05-12 18:51:47 +02:00
misc.h dirmngr: Rearrange files to fix de6d831. 2017-03-02 18:35:03 +01:00
OAUTHORS Nuked almost all trailing white space. 2011-02-04 12:57:53 +01:00
ocsp.c dirmngr: Silence debug diagnostics in OCSP 2022-11-17 17:14:15 +01:00
ocsp.h Merged Dirmngr with GnuPG. 2010-06-09 16:53:51 +00:00
ONEWS Nuked almost all trailing white space. 2011-02-04 12:57:53 +01:00
server.c dirmngr: Relax the detection of the "none" keyserver. 2023-09-11 11:31:32 +02:00
sks-keyservers.netCA.pem dirmngr: Add support for hkps keyservers. 2014-05-05 16:23:37 +02:00
t-dns-stuff.c Remove -I option to common. 2017-03-07 20:25:54 +09:00
t-http-basic.c dirmngr: Avoid possible CSRF attacks via http redirects. 2018-11-23 09:23:26 +01:00
t-http.c dirmngr: Improve error codes returned from http fetching. 2023-09-19 16:14:01 +02:00
t-ldap-misc.c dirmngr: Rewrite the LDAP wrapper tool 2021-06-08 08:51:11 +02:00
t-ldap-parse-uri.c Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
t-support.c dirmngr: Factor some prototypes out to dirmngr-status.h. 2019-11-18 18:44:30 +01:00
t-support.h dirmngr: Rewrite the LDAP wrapper tool 2021-06-08 08:51:11 +02:00
tls-ca.pem Move http module from common/ to dirmngr/. 2015-10-18 20:08:26 +02:00
validate.c dirmngr: Fix verification of ECDSA signed CRLs. 2022-11-15 10:47:33 +01:00
validate.h dirmngr: Support ECDSA for OCSP. 2022-11-15 10:47:32 +01:00
w32-ldap-help.h Change all http://www.gnu.org in license notices to https:// 2016-11-05 12:02:19 +01:00
workqueue.c dirmngr: Add a background task framework. 2017-12-11 11:30:45 +01:00