wget-dev
[Top][All Lists]
Advanced

[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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]