Commit 10bca8f9 authored by jan.koester's avatar jan.koester
Browse files

new debian version

parent 5d091d04
Loading
Loading
Loading
Loading
+27 −0
Original line number Diff line number Diff line
libhttppp (20260718+11) unstable; urgency=high

  * HttpUrl: track the original URL scheme (http/https) separately from
    _protocol, which the http3=true constructor flag permanently pins to
    HTTP3. Add HttpUrl::getOriginalProtocol() for the fallback decisions
    below, which need to know the actual scheme regardless of that flag.
  * HttpClient: fix HTTP/3 clients constructed against a non-QUIC endpoint
    (e.g. mediadb::Client(url, ..., /*http3=*/true) against a plain HTTP
    server) always failing outright instead of falling back to HTTP/1.1.
    tryHttp3First() correctly detected and cached the QUIC failure, but the
    ctor's own fallback-strategy check (getProtocol() == HTTPS, meant to
    tell "try HTTP/2 next" apart from "go cleartext") could never see HTTPS
    once http3=true had pinned that field to HTTP3, so cleartext targets
    always fell into the cleartext branch and called resetConnection() --
    which re-derived the transport from that same permanently-HTTP3 field
    and re-entered the QUIC branch a second time. That second attempt runs
    quic::connect() in blocking mode with no surrounding try/catch, so it
    blocks for the full 5s handshake timeout and then throws instead of
    falling back, surfacing on every request as "HttpClient ctor connect
    failed: quic::completeHandshake: handshake timed out". resetConnection()
    and reconnect() now only take the QUIC branch when _vers == 3 (HTTP/3 is
    still what's wanted, not a downgraded fallback attempt), and choose
    between TLS and plain TCP based on the URL's original scheme instead of
    the pinned field.

 -- Jan Koester <jan.koester@tuxist.de>  Sat, 18 Jul 2026 14:50:00 +0200

libhttppp (20260707+10) unstable; urgency=medium

  * HttpEvent::_resumeH2Streams: on a genuine upstream stall (emptyCount >