Expected Behavior
fj should work on Forgejo instances behind TLS v1.3-only proxies
Actual Behavior
% fj repo view
Error: error sending request for url (###)
Caused by:
0: client error (Connect)
1: bad protocol version
Location:
src/repo.rs:1556:16
recompiling without ?'ing into eyre::Result and just adding .unwrap() at src/repo.rs:1556:
% RUST_BACKTRACE=1 ~/vendor/forgejo-cli/target/release/fj repo view
thread 'main' (1451536) panicked at src/repo.rs:1556:62:
called `Result::unwrap()` on an `Err` value: ReqwestError(reqwest::Error { kind: Request, url: "###", source: hyper_util::client::legacy::Error(Connect, Error { code: -9836, message: "bad protocol version" }) })
stack backtrace:
0: __rustc::rust_begin_unwind
1: core::panicking::panic_fmt
2: core::result::unwrap_failed
3: fj::repo::view_repo::{{closure}}
4: fj::repo::RepoCommand::run::{{closure}}
5: fj::Command::run::{{closure}}
6: fj::main::{{closure}}
7: fj::main
Steps to Reproduce
Configure a Forgejo instance behind a TLS 1.3-only proxy (f.ex. with nginx ssl_protocols TLSv1.3;) , then try fj repo view
I have tried reqwest/default-tls, reqwest/rustls-tls and reqwest/native-tls features through forgejo-api but none of them fix this issue. I am guessing the "legacy" in hyper_util::client::legacy::Error explains why, but I'm not sure who calls for that.
fj Version
% ~/vendor/forgejo-cli/target/release/fj version --verbose
fj v0.5.0
user agent: forgejo-cli/0.5.0 (https://codeberg.org/forgejo-contrib/forgejo-cli/)
build type: from source
target: aarch64-apple-darwin
Forgejo Version
v15.0
Code of Conduct
- I agree to act in accordance with the CoC & AI Agreement.
- This issue was not generated by an LLM, even in part.