summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConny Seifert <conny.martin@t-systems.com>2021-01-18 15:01:05 +0000
committerTimo Teräs <timo.teras@iki.fi>2021-01-19 12:09:16 +0200
commitb1935a1e79854b332b04916a2829b0c09d1b26c9 (patch)
tree1f25b38db7e81155f15f93835b6fa708cf57ce2f
parenta968dc456d7c8fb2547df3568351a2bf7ec9f303 (diff)
downloadapk-tools-b1935a1e79854b332b04916a2829b0c09d1b26c9.tar.gz
apk-tools-b1935a1e79854b332b04916a2829b0c09d1b26c9.tar.bz2
apk-tools-b1935a1e79854b332b04916a2829b0c09d1b26c9.tar.xz
apk-tools-b1935a1e79854b332b04916a2829b0c09d1b26c9.zip
libfetch: fix parsing of proxy response to CONNECT requests
Instead of skipping just one line, properly parse the response headers. [TT: reworded commit message]
-rw-r--r--libfetch/http.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/libfetch/http.c b/libfetch/http.c
index 7141b98..95c57f6 100644
--- a/libfetch/http.c
+++ b/libfetch/http.c
@@ -725,11 +725,6 @@ http_connect(struct url *URL, struct url *purl, const char *flags, int *cached)
http_seterr(conn->err);
goto ouch;
}
- /* Read and discard the rest of the proxy response */
- if (fetch_getln(conn) < 0) {
- fetch_syserr();
- goto ouch;
- }
do {
switch ((h = http_next_header(conn, &p))) {
case hdr_syserror:
@@ -741,7 +736,7 @@ http_connect(struct url *URL, struct url *purl, const char *flags, int *cached)
default:
/* ignore */ ;
}
- } while (h < hdr_end);
+ } while (h > hdr_end);
}
if (strcasecmp(URL->scheme, SCHEME_HTTPS) == 0 &&
fetch_ssl(conn, URL, verbose) == -1) {