From: Stefan Eissing Date: Fri, 13 Jun 2025 11:29:17 +0000 (+0200) Subject: digest: fix build with disabled digest auth X-Git-Tag: curl-8_15_0~264 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=984c96e307a84f16cf62976f81414e98f7b7ad22;p=thirdparty%2Fcurl.git digest: fix build with disabled digest auth Fix building with `--disable-digest-auth`. Make test cases run in such a build. Add such a build to our CI jobs. Reported-by: Tristan Perrault Fixes #17612 Closes #17614 --- diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index a8bea98b1d..62354742f8 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -177,8 +177,8 @@ jobs: install_steps: skipall generate: -DCURL_USE_OPENSSL=ON -DCURL_USE_GSSAPI=ON -DENABLE_DEBUG=ON -DCURL_LTO=ON - - name: openssl !ipv6 !--libcurl - configure: --with-openssl --disable-ipv6 --enable-debug --disable-unity --disable-libcurl-option + - name: openssl !ipv6 !--libcurl !--digest-auth + configure: --with-openssl --disable-ipv6 --enable-debug --disable-unity --disable-libcurl-option --disable-digest-auth - name: openssl https-only configure: >- diff --git a/lib/vauth/vauth.h b/lib/vauth/vauth.h index ab54e35f34..7d085e33fd 100644 --- a/lib/vauth/vauth.h +++ b/lib/vauth/vauth.h @@ -116,6 +116,8 @@ CURLcode Curl_auth_create_digest_http_message(struct Curl_easy *data, /* This is used to clean up the digest specific data */ void Curl_auth_digest_cleanup(struct digestdata *digest); +#else +#define Curl_auth_is_digest_supported() FALSE #endif /* !CURL_DISABLE_DIGEST_AUTH */ #ifdef USE_GSASL diff --git a/tests/data/test1001 b/tests/data/test1001 index 63eb072fdc..6755e7a1ec 100644 --- a/tests/data/test1001 +++ b/tests/data/test1001 @@ -67,6 +67,7 @@ http !SSPI crypto proxy +digest HTTP POST --digest with PUT and resumed upload and modified method diff --git a/tests/data/test1002 b/tests/data/test1002 index 50f7dcf2a8..de08c0e722 100644 --- a/tests/data/test1002 +++ b/tests/data/test1002 @@ -66,6 +66,7 @@ http !SSPI crypto proxy +digest HTTP PUT with Digest auth, resumed upload and modified method, twice diff --git a/tests/data/test1030 b/tests/data/test1030 index 1421e769ba..200bd72b3c 100644 --- a/tests/data/test1030 +++ b/tests/data/test1030 @@ -62,6 +62,7 @@ http !SSPI crypto +digest HTTP PUT with --anyauth authorization (picking Digest) diff --git a/tests/data/test1060 b/tests/data/test1060 index ce7a37ea09..50ce55a87f 100644 --- a/tests/data/test1060 +++ b/tests/data/test1060 @@ -870,6 +870,7 @@ http !SSPI crypto proxy +digest HTTP proxy CONNECT auth Digest, large headers and data diff --git a/tests/data/test1061 b/tests/data/test1061 index 0e383598d0..9e2402a584 100644 --- a/tests/data/test1061 +++ b/tests/data/test1061 @@ -875,6 +875,7 @@ http !SSPI crypto proxy +digest HTTP proxy CONNECT auth Digest, large headers and chunked data diff --git a/tests/data/test1071 b/tests/data/test1071 index 180c467b1c..1b320c2bfa 100644 --- a/tests/data/test1071 +++ b/tests/data/test1071 @@ -68,6 +68,7 @@ http !SSPI crypto +digest Downgraded HTTP PUT to HTTP 1.0 with authorization diff --git a/tests/data/test1079 b/tests/data/test1079 index 180c48316e..83de2aedbf 100644 --- a/tests/data/test1079 +++ b/tests/data/test1079 @@ -44,6 +44,7 @@ http !SSPI crypto +digest HTTP retry after closed connection and empty response diff --git a/tests/data/test1095 b/tests/data/test1095 index 8480c8a473..8e23ae6a3a 100644 --- a/tests/data/test1095 +++ b/tests/data/test1095 @@ -54,6 +54,7 @@ http !SSPI crypto +digest HTTP with Digest and realm with quoted quotes diff --git a/tests/data/test1229 b/tests/data/test1229 index 96cdbfe133..cc179499ad 100644 --- a/tests/data/test1229 +++ b/tests/data/test1229 @@ -54,6 +54,7 @@ http !SSPI crypto +digest HTTP with Digest authorization with user name needing escape diff --git a/tests/data/test1284 b/tests/data/test1284 index 2900c512ef..925150b6e7 100644 --- a/tests/data/test1284 +++ b/tests/data/test1284 @@ -52,6 +52,7 @@ http !SSPI crypto +digest HTTP POST --digest with user-specified Content-Length header diff --git a/tests/data/test1285 b/tests/data/test1285 index ee5f13c5e5..1b65245521 100644 --- a/tests/data/test1285 +++ b/tests/data/test1285 @@ -52,6 +52,7 @@ http !SSPI crypto +digest HTTP PUT --digest with user-specified Content-Length header diff --git a/tests/data/test1286 b/tests/data/test1286 index e898a37d30..b8b47e7ef5 100644 --- a/tests/data/test1286 +++ b/tests/data/test1286 @@ -64,6 +64,7 @@ http crypto +digest HTTP GET --digest increasing nonce-count diff --git a/tests/data/test1412 b/tests/data/test1412 index e4720dcdcc..56e016a0c0 100644 --- a/tests/data/test1412 +++ b/tests/data/test1412 @@ -89,6 +89,7 @@ http !SSPI crypto +digest HTTP GET with --anyauth with two URLs (picking Digest) diff --git a/tests/data/test1418 b/tests/data/test1418 index 748040811c..9fff0b63a3 100644 --- a/tests/data/test1418 +++ b/tests/data/test1418 @@ -82,6 +82,7 @@ http !SSPI crypto +digest HTTP with --anyauth and connection reuse diff --git a/tests/data/test1437 b/tests/data/test1437 index 29e800a43d..ad8fa080e1 100644 --- a/tests/data/test1437 +++ b/tests/data/test1437 @@ -54,6 +54,7 @@ http !SSPI crypto +digest HTTP with duplicated WWW-Authenticate parameters diff --git a/tests/data/test153 b/tests/data/test153 index b55a70a038..6dfaf6e405 100644 --- a/tests/data/test153 +++ b/tests/data/test153 @@ -76,6 +76,7 @@ http !SSPI crypto +digest HTTP with Digest authorization with stale=true diff --git a/tests/data/test154 b/tests/data/test154 index 4f818f00f7..7612ce05ff 100644 --- a/tests/data/test154 +++ b/tests/data/test154 @@ -62,6 +62,7 @@ http !SSPI crypto +digest HTTP PUT with --anyauth authorization (picking Digest) diff --git a/tests/data/test1568 b/tests/data/test1568 index 409f11f920..899d9b59f1 100644 --- a/tests/data/test1568 +++ b/tests/data/test1568 @@ -56,6 +56,7 @@ http !SSPI crypto +digest HTTP with Digest authorization on custom CURLOPT_PORT diff --git a/tests/data/test167 b/tests/data/test167 index 031b92077f..f8ccd2e9a3 100644 --- a/tests/data/test167 +++ b/tests/data/test167 @@ -46,6 +46,7 @@ http !SSPI crypto proxy +digest HTTP with proxy-requiring-Basic to site-requiring-Digest diff --git a/tests/data/test168 b/tests/data/test168 index d6d4e895cb..94e3ec4c1e 100644 --- a/tests/data/test168 +++ b/tests/data/test168 @@ -60,6 +60,7 @@ http !SSPI crypto proxy +digest HTTP with proxy-requiring-Digest to site-requiring-Digest diff --git a/tests/data/test169 b/tests/data/test169 index 3a86cdf516..3e66ee481e 100644 --- a/tests/data/test169 +++ b/tests/data/test169 @@ -81,6 +81,7 @@ NTLM SSL !SSPI proxy +digest HTTP with proxy-requiring-NTLM to site-requiring-Digest diff --git a/tests/data/test175 b/tests/data/test175 index 19537ebf3e..ed6928ce92 100644 --- a/tests/data/test175 +++ b/tests/data/test175 @@ -51,6 +51,7 @@ http crypto +digest HTTP POST --digest to server not requiring any auth at all diff --git a/tests/data/test177 b/tests/data/test177 index 528b722d6f..2034876d90 100644 --- a/tests/data/test177 +++ b/tests/data/test177 @@ -27,6 +27,7 @@ http crypto +digest HTTP POST --digest to server doing a 302-location response diff --git a/tests/data/test2024 b/tests/data/test2024 index 376552f3fe..8407944a1a 100644 --- a/tests/data/test2024 +++ b/tests/data/test2024 @@ -118,6 +118,7 @@ http !SSPI crypto +digest lib2023 diff --git a/tests/data/test2026 b/tests/data/test2026 index 75fee9b2c2..f5d1db87e6 100644 --- a/tests/data/test2026 +++ b/tests/data/test2026 @@ -154,6 +154,7 @@ http !SSPI crypto +digest lib2023 diff --git a/tests/data/test2027 b/tests/data/test2027 index f134830077..259e439504 100644 --- a/tests/data/test2027 +++ b/tests/data/test2027 @@ -177,6 +177,7 @@ http !SSPI crypto +digest lib2023 diff --git a/tests/data/test2028 b/tests/data/test2028 index ad37813c86..461d7ba6a8 100644 --- a/tests/data/test2028 +++ b/tests/data/test2028 @@ -234,6 +234,7 @@ Finally, this is the real page! NTLM SSL !SSPI +digest http diff --git a/tests/data/test2030 b/tests/data/test2030 index f423adc84e..4961e668d6 100644 --- a/tests/data/test2030 +++ b/tests/data/test2030 @@ -223,6 +223,7 @@ Finally, this is the real page! NTLM SSL !SSPI +digest http diff --git a/tests/data/test2058 b/tests/data/test2058 index c85d534c9a..773aab0587 100644 --- a/tests/data/test2058 +++ b/tests/data/test2058 @@ -67,6 +67,7 @@ http !SSPI crypto proxy +digest HTTP POST --digest with PUT, resumed upload, modified method and SHA-256 diff --git a/tests/data/test2059 b/tests/data/test2059 index 5b924a5847..949d0cb960 100644 --- a/tests/data/test2059 +++ b/tests/data/test2059 @@ -67,6 +67,7 @@ http !SSPI crypto proxy +digest HTTP POST --digest with PUT, resumed upload, modified method, SHA-256 and userhash=true diff --git a/tests/data/test206 b/tests/data/test206 index 60e103d098..99a9493023 100644 --- a/tests/data/test206 +++ b/tests/data/test206 @@ -74,6 +74,7 @@ http !SSPI crypto proxy +digest HTTP proxy CONNECT auth Digest diff --git a/tests/data/test2061 b/tests/data/test2061 index d232f6251f..605d827be7 100644 --- a/tests/data/test2061 +++ b/tests/data/test2061 @@ -54,6 +54,7 @@ http !SSPI crypto +digest HTTP with RFC7616 SHA256 Digest authorization diff --git a/tests/data/test2063 b/tests/data/test2063 index f769428a95..07e12f3c77 100644 --- a/tests/data/test2063 +++ b/tests/data/test2063 @@ -54,6 +54,7 @@ http !SSPI crypto +digest HTTP with RFC7616 SHA-256 Digest authorization and userhash=true diff --git a/tests/data/test2064 b/tests/data/test2064 index 6d6fb14ace..d314270464 100644 --- a/tests/data/test2064 +++ b/tests/data/test2064 @@ -54,6 +54,7 @@ http !SSPI crypto +digest HTTP with RFC7616 Digest authorization with bad password and SHA256 diff --git a/tests/data/test2066 b/tests/data/test2066 index 999f55ae4b..19de8ad642 100644 --- a/tests/data/test2066 +++ b/tests/data/test2066 @@ -54,6 +54,7 @@ http !SSPI crypto +digest HTTP with RFC7616 Digest authorization with bad password, SHA-256 and userhash=true diff --git a/tests/data/test2067 b/tests/data/test2067 index a65fb52500..20120e1873 100644 --- a/tests/data/test2067 +++ b/tests/data/test2067 @@ -52,6 +52,7 @@ http !SSPI crypto +digest HTTP POST --digest with SHA256 and user-specified Content-Length header diff --git a/tests/data/test2069 b/tests/data/test2069 index 86aa18301a..424ce44a1b 100644 --- a/tests/data/test2069 +++ b/tests/data/test2069 @@ -52,6 +52,7 @@ http !SSPI crypto +digest HTTP POST --digest with SHA-256, userhash=true and user-specified Content-Length header diff --git a/tests/data/test2076 b/tests/data/test2076 index 646b7dfc85..6ef44c2c72 100644 --- a/tests/data/test2076 +++ b/tests/data/test2076 @@ -46,6 +46,7 @@ http !SSPI crypto +digest HTTP with digest auth and URI contains query diff --git a/tests/data/test245 b/tests/data/test245 index 60319ebc2d..da26369215 100644 --- a/tests/data/test245 +++ b/tests/data/test245 @@ -52,6 +52,7 @@ http !SSPI crypto +digest HTTP POST --digest diff --git a/tests/data/test246 b/tests/data/test246 index 67bf446d74..3ab338213c 100644 --- a/tests/data/test246 +++ b/tests/data/test246 @@ -62,6 +62,7 @@ http !SSPI crypto +digest HTTP POST --digest with server doing a 100 before 401 response diff --git a/tests/data/test258 b/tests/data/test258 index 69f2613f5f..23acb02006 100644 --- a/tests/data/test258 +++ b/tests/data/test258 @@ -60,6 +60,7 @@ Mime !SSPI crypto proxy +digest HTTP POST multipart without Expect: header using proxy anyauth (Digest) diff --git a/tests/data/test259 b/tests/data/test259 index b3796cef37..2b65e5076b 100644 --- a/tests/data/test259 +++ b/tests/data/test259 @@ -56,6 +56,7 @@ Mime !SSPI crypto proxy +digest HTTP POST multipart with Expect: header using proxy anyauth (Digest) diff --git a/tests/data/test273 b/tests/data/test273 index 4dc23e0dd5..eb7ab1cc6a 100644 --- a/tests/data/test273 +++ b/tests/data/test273 @@ -54,6 +54,7 @@ http !SSPI crypto +digest HTTP with two Digest authorization headers diff --git a/tests/data/test335 b/tests/data/test335 index a376f4018d..2101d4f290 100644 --- a/tests/data/test335 +++ b/tests/data/test335 @@ -62,6 +62,7 @@ http !SSPI crypto proxy +digest HTTP with proxy Digest and site Digest with creds in URLs diff --git a/tests/data/test388 b/tests/data/test388 index 300c88f754..aee2063e45 100644 --- a/tests/data/test388 +++ b/tests/data/test388 @@ -76,6 +76,7 @@ http !SSPI crypto +digest HTTP with Digest and multiple qop values with leading space diff --git a/tests/data/test540 b/tests/data/test540 index ef13108b19..308d5b3397 100644 --- a/tests/data/test540 +++ b/tests/data/test540 @@ -68,6 +68,7 @@ lib%TESTNUMBER !SSPI crypto proxy +digest HTTP proxy auth Digest multi API re-using connection diff --git a/tests/data/test551 b/tests/data/test551 index 452da3927f..c7a560e812 100644 --- a/tests/data/test551 +++ b/tests/data/test551 @@ -64,6 +64,7 @@ lib547 !SSPI crypto proxy +digest HTTP proxy auth Digest with POST data from read callback diff --git a/tests/data/test552 b/tests/data/test552 index 2658e73e66..b38a6b5e29 100644 --- a/tests/data/test552 +++ b/tests/data/test552 @@ -57,6 +57,7 @@ lib%TESTNUMBER !SSPI crypto proxy +digest HTTP proxy auth Digest with 70K POST data from read callback diff --git a/tests/data/test565 b/tests/data/test565 index a6b29e17c2..b8e418ec7b 100644 --- a/tests/data/test565 +++ b/tests/data/test565 @@ -60,6 +60,7 @@ http !SSPI crypto +digest # tool is what to use instead of 'curl' diff --git a/tests/data/test579 b/tests/data/test579 index eaee6e3235..c8e1700b81 100644 --- a/tests/data/test579 +++ b/tests/data/test579 @@ -58,6 +58,7 @@ http crypto +digest # tool is what to use instead of 'curl' diff --git a/tests/data/test64 b/tests/data/test64 index 0f0516ea4b..d56b2514c9 100644 --- a/tests/data/test64 +++ b/tests/data/test64 @@ -54,6 +54,7 @@ http !SSPI crypto +digest HTTP with Digest authorization diff --git a/tests/data/test65 b/tests/data/test65 index fcf43563fc..8f82c92b4b 100644 --- a/tests/data/test65 +++ b/tests/data/test65 @@ -54,6 +54,7 @@ http !SSPI crypto +digest HTTP with Digest authorization with bad password diff --git a/tests/data/test70 b/tests/data/test70 index 69cba7da47..5d44a28e85 100644 --- a/tests/data/test70 +++ b/tests/data/test70 @@ -54,6 +54,7 @@ This IS the real page! !SSPI NTLM +digest http diff --git a/tests/data/test72 b/tests/data/test72 index 176d0dff8e..775642f8cd 100644 --- a/tests/data/test72 +++ b/tests/data/test72 @@ -56,6 +56,7 @@ http !SSPI crypto +digest HTTP with Digest *OR* Basic authorization diff --git a/tests/data/test821 b/tests/data/test821 index 101c40084d..4179220800 100644 --- a/tests/data/test821 +++ b/tests/data/test821 @@ -35,6 +35,7 @@ imap crypto +digest IMAP CRAM-MD5 authentication diff --git a/tests/data/test823 b/tests/data/test823 index a3736a6fd8..3a7686affd 100644 --- a/tests/data/test823 +++ b/tests/data/test823 @@ -38,6 +38,7 @@ imap !SSPI Debug crypto +digest IMAP DIGEST-MD5 authentication diff --git a/tests/data/test830 b/tests/data/test830 index 64172f1b5a..1465406e1b 100644 --- a/tests/data/test830 +++ b/tests/data/test830 @@ -28,6 +28,7 @@ imap crypto +digest IMAP CRAM-MD5 graceful cancellation diff --git a/tests/data/test832 b/tests/data/test832 index bbbc0ac737..5787bbc797 100644 --- a/tests/data/test832 +++ b/tests/data/test832 @@ -30,6 +30,7 @@ imap !SSPI Debug crypto +digest IMAP DIGEST-MD5 graceful cancellation diff --git a/tests/data/test833 b/tests/data/test833 index f958df4cb3..bda66c514c 100644 --- a/tests/data/test833 +++ b/tests/data/test833 @@ -39,6 +39,7 @@ imap crypto +digest IMAP CRAM-MD5 authentication with SASL downgrade diff --git a/tests/data/test835 b/tests/data/test835 index 17c8675eb2..aa3a446706 100644 --- a/tests/data/test835 +++ b/tests/data/test835 @@ -41,6 +41,7 @@ imap !SSPI Debug crypto +digest IMAP DIGEST-MD5 authentication with SASL downgrade diff --git a/tests/data/test864 b/tests/data/test864 index 4f40a52ab0..233764f64e 100644 --- a/tests/data/test864 +++ b/tests/data/test864 @@ -32,6 +32,7 @@ pop3 crypto +digest POP3 APOP authentication diff --git a/tests/data/test867 b/tests/data/test867 index 5be5ad6fb8..76ad1aa57c 100644 --- a/tests/data/test867 +++ b/tests/data/test867 @@ -37,6 +37,7 @@ pop3 crypto +digest POP3 CRAM-MD5 authentication diff --git a/tests/data/test869 b/tests/data/test869 index 56873e0386..be374dc2c0 100644 --- a/tests/data/test869 +++ b/tests/data/test869 @@ -40,6 +40,7 @@ pop3 !SSPI Debug crypto +digest POP3 DIGEST-MD5 authentication diff --git a/tests/data/test876 b/tests/data/test876 index a34b97a9d3..3cbed8b5ee 100644 --- a/tests/data/test876 +++ b/tests/data/test876 @@ -29,6 +29,7 @@ pop3 crypto +digest POP3 CRAM-MD5 graceful cancellation diff --git a/tests/data/test878 b/tests/data/test878 index 657dc71c72..fe578c816f 100644 --- a/tests/data/test878 +++ b/tests/data/test878 @@ -31,6 +31,7 @@ pop3 !SSPI Debug crypto +digest POP3 DIGEST-MD5 graceful cancellation diff --git a/tests/data/test879 b/tests/data/test879 index c7b99efb89..cdf25d02a1 100644 --- a/tests/data/test879 +++ b/tests/data/test879 @@ -41,6 +41,7 @@ pop3 crypto +digest POP3 CRAM-MD5 authentication with SASL downgrade diff --git a/tests/data/test88 b/tests/data/test88 index e3f68c0ee0..c483649804 100644 --- a/tests/data/test88 +++ b/tests/data/test88 @@ -58,6 +58,7 @@ http !SSPI crypto +digest HTTP PUT with Digest authorization diff --git a/tests/data/test881 b/tests/data/test881 index 20e3527885..a197cb1e60 100644 --- a/tests/data/test881 +++ b/tests/data/test881 @@ -43,6 +43,7 @@ pop3 !SSPI Debug crypto +digest POP3 DIGEST-MD5 authentication with SASL downgrade diff --git a/tests/data/test891 b/tests/data/test891 index f022db96a7..6d02428005 100644 --- a/tests/data/test891 +++ b/tests/data/test891 @@ -22,6 +22,7 @@ pop3 crypto +digest POP3 with short authentication response diff --git a/tests/data/test905 b/tests/data/test905 index de0b08ac3c..9f8d417a44 100644 --- a/tests/data/test905 +++ b/tests/data/test905 @@ -27,6 +27,7 @@ smtp crypto +digest SMTP CRAM-MD5 authentication diff --git a/tests/data/test907 b/tests/data/test907 index 8c24b68c40..30d05370ca 100644 --- a/tests/data/test907 +++ b/tests/data/test907 @@ -30,6 +30,7 @@ smtp !SSPI Debug crypto +digest SMTP DIGEST-MD5 authentication diff --git a/tests/data/test932 b/tests/data/test932 index e814cc0f72..e2c9b29a8b 100644 --- a/tests/data/test932 +++ b/tests/data/test932 @@ -28,6 +28,7 @@ smtp crypto +digest SMTP CRAM-MD5 graceful cancellation diff --git a/tests/data/test934 b/tests/data/test934 index 5ebf67fec2..891232e5b8 100644 --- a/tests/data/test934 +++ b/tests/data/test934 @@ -30,6 +30,7 @@ smtp !SSPI Debug crypto +digest SMTP DIGEST-MD5 graceful cancellation diff --git a/tests/data/test935 b/tests/data/test935 index bbd4d94757..57a4c36ca5 100644 --- a/tests/data/test935 +++ b/tests/data/test935 @@ -31,6 +31,7 @@ smtp crypto +digest SMTP CRAM-MD5 authentication with SASL downgrade diff --git a/tests/data/test937 b/tests/data/test937 index bb761f8543..ddd2037e84 100644 --- a/tests/data/test937 +++ b/tests/data/test937 @@ -33,6 +33,7 @@ smtp !SSPI Debug crypto +digest SMTP DIGEST-MD5 authentication with SASL downgrade diff --git a/tests/http/test_14_auth.py b/tests/http/test_14_auth.py index d52b42fce4..944cb56fc2 100644 --- a/tests/http/test_14_auth.py +++ b/tests/http/test_14_auth.py @@ -53,6 +53,8 @@ class TestAuth: # download 1 file, authenticated @pytest.mark.parametrize("proto", ['http/1.1', 'h2', 'h3']) def test_14_02_digest_get_auth(self, env: Env, httpd, nghttpx, proto): + if not env.curl_has_feature('digest'): + pytest.skip("curl built without digest") if proto == 'h3' and not env.have_h3(): pytest.skip("h3 not supported") curl = CurlClient(env=env) @@ -65,6 +67,8 @@ class TestAuth: # PUT data, authenticated @pytest.mark.parametrize("proto", ['http/1.1', 'h2', 'h3']) def test_14_03_digest_put_auth(self, env: Env, httpd, nghttpx, proto): + if not env.curl_has_feature('digest'): + pytest.skip("curl built without digest") if proto == 'h3' and not env.have_h3(): pytest.skip("h3 not supported") if proto == 'h3' and env.curl_uses_ossl_quic(): @@ -80,6 +84,8 @@ class TestAuth: # PUT data, digest auth large pw @pytest.mark.parametrize("proto", ['h2', 'h3']) def test_14_04_digest_large_pw(self, env: Env, httpd, nghttpx, proto): + if not env.curl_has_feature('digest'): + pytest.skip("curl built without digest") if proto == 'h3' and not env.have_h3(): pytest.skip("h3 not supported") data='0123456789'