[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
wget2 | Regression in version 2.2.0 (#689)
From: |
@omos |
Subject: |
wget2 | Regression in version 2.2.0 (#689) |
Date: |
Mon, 06 Jan 2025 18:37:25 +0000 |
Ondrej Mosnáček created an issue: https://gitlab.com/gnuwget/wget2/-/issues/689
The following command correctly downloads the requested files with version
2.1.0, but fails with version 2.2.0:
```
wget2 -r -nd -l 1 -H -A '*Fedora-Cloud-Base-Generic[.-]*.qcow2,*-CHECKSUM'
https://download.fedoraproject.org/pub/fedora/linux/development/rawhide/Cloud/x86_64/images
```
I ran a `git bisect`, which gave me back the following as the first bad commit:
```
ec27488feadd44b5e126592bc18ff2441f8cae5a is the first bad commit
commit ec27488feadd44b5e126592bc18ff2441f8cae5a
Author: Tim Rühsen <tim.ruehsen@gmx.de>
Date: Wed Sep 11 17:45:09 2024 +0200
Fix downloading multiple files via HTTP/2
* include/wget/wget.h: New function declaration
wget_http_connection_receive_only().
* libwget/http.c: New function definition
wget_http_connection_receive_only().
* libwget/http.h (struct wget_http_connection_st): Add member goaway.
* libwget/http2.c (struct http2_stream_context): Add member conn,
(on_frame_recv_callback): Handle NGHTTP2_GOAWAY,
(wget_http2_send_request): Initialize conn member.
* src/host.c (_release_job): Don't release parts if in 'done' state.
* src/wget.c (process_response_header): Remove handling of LINK headers,
(process_response): Add handling of LINK headers,
(downloader_thread): Handle pending responses correctly.
This patch fixes two related issues:
1. With HTTP/2, servers sometimes limit the number of requests per
connection.
Beforethis patch, the connection was closed too early after GOAWAY and
pending
responses weren't received.
2. In _release_job(), already downloaded parts of a file were erroneous
released.
This caused successful metalink and chunked downloads to fail in
combination with
a GOAWAY or a remotely closed connection.
include/wget/wget.h | 2 +
libwget/http.c | 13 +++++++
libwget/http.h | 3 +-
libwget/http2.c | 13 ++++++-
src/host.c | 2 +-
src/wget.c | 105 +++++++++++++++++++++++++++++++---------------------
6 files changed, 93 insertions(+), 45 deletions(-)
bisect found first bad commit
```
--
Reply to this email directly or view it on GitLab:
https://gitlab.com/gnuwget/wget2/-/issues/689
You're receiving this email because of your account on gitlab.com.
- wget2 | Regression in version 2.2.0 (#689),
@omos <=