mirror of
https://github.com/curl/curl.git
synced 2026-08-06 11:16:15 +03:00
pytest: replace allowlist with feature check to enable OCSP test 17_08
Add a `cert-status` feature flag to `curlinfo`, based on the conditions
used in `lib/vtls` sources.
To:
- fix disabling this test when using OpenSSL (or fork) built with
the `no-ocsp` option.
- enable this test for AWS-LC in CI.
Note:
- BoringSSL (and quiche) has OSCP disabled by default.
- MultiSSL dynamic selection continues to confuse this test.
(To fix it, support would need to be detected by querying libcurl
via curl. Probably overkill given that OCSP is on its way out.)
Follow-up to f2c765028f #20149
Closes #20133
This commit is contained in:
parent
f2c765028f
commit
8292820b73
3 changed files with 18 additions and 4 deletions
|
|
@ -39,6 +39,10 @@
|
|||
|
||||
#include <stdio.h>
|
||||
|
||||
#if defined(USE_QUICHE) || defined(USE_OPENSSL)
|
||||
#include <openssl/opensslconf.h> /* for OPENSSL_NO_OCSP */
|
||||
#endif
|
||||
|
||||
static const char *disabled[] = {
|
||||
"bindlocal: "
|
||||
#ifdef CURL_DISABLE_BINDLOCAL
|
||||
|
|
@ -242,6 +246,14 @@ static const char *disabled[] = {
|
|||
"ON"
|
||||
#else
|
||||
"OFF"
|
||||
#endif
|
||||
,
|
||||
"cert-status: "
|
||||
#if defined(USE_GNUTLS) || \
|
||||
((defined(USE_QUICHE) || defined(USE_OPENSSL)) && !defined(OPENSSL_NO_OCSP))
|
||||
"ON"
|
||||
#else
|
||||
"OFF"
|
||||
#endif
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -292,10 +292,7 @@ class TestSSLUse:
|
|||
|
||||
@pytest.mark.parametrize("proto", Env.http_protos())
|
||||
def test_17_08_cert_status(self, env: Env, proto, httpd, nghttpx):
|
||||
if not env.curl_uses_lib('openssl') and \
|
||||
not env.curl_uses_lib('quictls') and \
|
||||
not env.curl_uses_lib('libressl') and \
|
||||
not env.curl_uses_lib('gnutls'):
|
||||
if not env.curl_can_cert_status():
|
||||
pytest.skip("TLS library does not support --cert-status")
|
||||
curl = CurlClient(env=env)
|
||||
domain = 'localhost'
|
||||
|
|
|
|||
|
|
@ -164,6 +164,7 @@ class EnvConfig:
|
|||
if p.returncode != 0:
|
||||
raise RuntimeError(f'{self.curlinfo} failed with exit code: {p.returncode}')
|
||||
self.curl_is_verbose = 'verbose-strings: ON' in p.stdout
|
||||
self.curl_can_cert_status = 'cert-status: ON' in p.stdout
|
||||
|
||||
self.ports = {}
|
||||
|
||||
|
|
@ -506,6 +507,10 @@ class Env:
|
|||
def curl_is_verbose() -> bool:
|
||||
return Env.CONFIG.curl_is_verbose
|
||||
|
||||
@staticmethod
|
||||
def curl_can_cert_status() -> bool:
|
||||
return Env.CONFIG.curl_can_cert_status
|
||||
|
||||
@staticmethod
|
||||
def curl_can_early_data() -> bool:
|
||||
if Env.curl_uses_lib('gnutls'):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue