Closed
Description
I did this
I built hyper
cd $HOME; git clone --depth=1 https://github.com/hyperium/hyper.git; curl https://sh.rustup.rs -sSf | sh -s -- -y; source $HOME/.cargo/env; cd $HOME/hyper; RUSTFLAGS="--cfg hyper_unstable_ffi" cargo build --features client,http1,http2,ffi
I built curl master (3aead05 2021-10-12) with hyper master (ecd5dc1 2021-09-21)
COMMON="-pthread -fsanitize=address,undefined -fno-sanitize-recover -fno-omit-frame-pointer -Wformat -Werror=format-security -Werror=array-bounds -g"
CPPFLAGS="${CPPFLAGS:-}" \
CFLAGS="${CFLAGS:-} $COMMON" \
CXXFLAGS="${CXXFLAGS:-} $COMMON" \
LDFLAGS="${LDFLAGS:-} $COMMON -Wl,-rpath,$HOME/hyper/target/debug -Wl,-rpath,/usr/local/ssl/lib -Wl,-rpath,/usr/local/lib" \
./configure --enable-debug \
--with-ssl=/usr/local/ssl \
--with-hyper=$HOME/hyper \
--with-nghttp2=/usr/local
Some tests failed due to memory leaks in rust allocation, not sure what that's about.. but more relevant is other tests such as 714, 715, 1319, 1320, 1321, 1631, 1632 fail due to this assertion:
lt-curl: http.c:2905: Curl_http_firstwrite: Assertion `conn->handler->protocol&(((1<<0)|(1<<1))|(1<<18))' failed.
curl/libcurl version
curl 7.80.0-DEV (x86_64-pc-linux-gnu) libcurl/7.80.0-DEV OpenSSL/1.1.1i zlib/1.2.8 nghttp2/1.43.0 librtmp/2.3 Hyper/0.14.13 OpenLDAP/2.4.42
Release-Date: [unreleased]
Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtmp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS Debug HSTS HTTP2 HTTPS-proxy IPv6 Largefile libz NTLM NTLM_WB SSL TLS-SRP TrackMemory UnixSockets
operating system
Ubuntu 16 LTS