mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-07 07:37:02 +02:00
BUG/MINOR: ssl/sample: x509_v_err_str converter output when not found
The x509_v_err_str converter now outputs the numerical value as a string when the corresponding constant name was not found. Must be backported as far as 2.7.
This commit is contained in:
parent
9867987182
commit
117c7fde06
@ -19105,6 +19105,9 @@ x509_v_err_str
|
|||||||
is useful in ACL in order to have a configuration which works with multiple
|
is useful in ACL in order to have a configuration which works with multiple
|
||||||
version of OpenSSL since some codes might change when changing version.
|
version of OpenSSL since some codes might change when changing version.
|
||||||
|
|
||||||
|
When the corresponding constant name was not found, outputs the numerical
|
||||||
|
value as a string.
|
||||||
|
|
||||||
The list of constant provided by OpenSSL can be found at
|
The list of constant provided by OpenSSL can be found at
|
||||||
https://www.openssl.org/docs/manmaster/man3/X509_STORE_CTX_get_error.html#ERROR-CODES
|
https://www.openssl.org/docs/manmaster/man3/X509_STORE_CTX_get_error.html#ERROR-CODES
|
||||||
Be careful to read the page for the right version of OpenSSL.
|
Be careful to read the page for the right version of OpenSSL.
|
||||||
@ -19121,6 +19124,9 @@ x509_v_err_str
|
|||||||
http-response add-header X-SSL Expired if cert_expired
|
http-response add-header X-SSL Expired if cert_expired
|
||||||
http-response add-header X-SSL Revoked if cert_revoked
|
http-response add-header X-SSL Revoked if cert_revoked
|
||||||
|
|
||||||
|
http-response add-header X-SSL-verify %[ssl_c_verify,x509_v_err_str]
|
||||||
|
|
||||||
|
|
||||||
7.3.2. Fetching samples from internal states
|
7.3.2. Fetching samples from internal states
|
||||||
--------------------------------------------
|
--------------------------------------------
|
||||||
|
|
||||||
|
@ -410,6 +410,17 @@ static int sample_conv_x509_v_err(const struct arg *arg_p, struct sample *smp, v
|
|||||||
smp->data.type = SMP_T_STR;
|
smp->data.type = SMP_T_STR;
|
||||||
smp->flags |= SMP_F_CONST;
|
smp->flags |= SMP_F_CONST;
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
} else {
|
||||||
|
struct buffer *smp_trash = get_trash_chunk();
|
||||||
|
|
||||||
|
/* if the conversion failed, output the numbers as string */
|
||||||
|
chunk_printf(smp_trash, "%llu", smp->data.u.sint);
|
||||||
|
|
||||||
|
smp->data.u.str = *smp_trash;
|
||||||
|
smp->data.type = SMP_T_STR;
|
||||||
|
smp->flags &= ~SMP_F_CONST;
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user