[ruby/openssl] ossl.c: use ERR_get_error_all() if available
OpenSSL 3.0 deprecated ERR_get_error_line_data() in favor of ERR_get_error_all(), as part of the error queue structure changes. https://github.com/ruby/openssl/commit/8e98d2ecc8
This commit is contained in:
parent
32d49e93cf
commit
3d16401508
@ -172,6 +172,7 @@ have_func("EVP_PKEY_check")
|
|||||||
|
|
||||||
# added in 3.0.0
|
# added in 3.0.0
|
||||||
have_func("SSL_set0_tmp_dh_pkey")
|
have_func("SSL_set0_tmp_dh_pkey")
|
||||||
|
have_func("ERR_get_error_all")
|
||||||
|
|
||||||
Logging::message "=== Checking done. ===\n"
|
Logging::message "=== Checking done. ===\n"
|
||||||
|
|
||||||
|
@ -314,22 +314,26 @@ ossl_clear_error(void)
|
|||||||
{
|
{
|
||||||
if (dOSSL == Qtrue) {
|
if (dOSSL == Qtrue) {
|
||||||
unsigned long e;
|
unsigned long e;
|
||||||
const char *file, *data, *errstr;
|
const char *file, *data, *func, *lib, *reason;
|
||||||
|
char append[256] = "";
|
||||||
int line, flags;
|
int line, flags;
|
||||||
|
|
||||||
|
#ifdef HAVE_ERR_GET_ERROR_ALL
|
||||||
|
while ((e = ERR_get_error_all(&file, &line, &func, &data, &flags))) {
|
||||||
|
#else
|
||||||
while ((e = ERR_get_error_line_data(&file, &line, &data, &flags))) {
|
while ((e = ERR_get_error_line_data(&file, &line, &data, &flags))) {
|
||||||
errstr = ERR_error_string(e, NULL);
|
func = ERR_func_error_string(e);
|
||||||
if (!errstr)
|
#endif
|
||||||
errstr = "(null)";
|
lib = ERR_lib_error_string(e);
|
||||||
|
reason = ERR_reason_error_string(e);
|
||||||
|
|
||||||
if (flags & ERR_TXT_STRING) {
|
if (flags & ERR_TXT_STRING) {
|
||||||
if (!data)
|
if (!data)
|
||||||
data = "(null)";
|
data = "(null)";
|
||||||
rb_warn("error on stack: %s (%s)", errstr, data);
|
snprintf(append, sizeof(append), " (%s)", data);
|
||||||
}
|
|
||||||
else {
|
|
||||||
rb_warn("error on stack: %s", errstr);
|
|
||||||
}
|
}
|
||||||
|
rb_warn("error on stack: error:%08lX:%s:%s:%s%s", e, lib ? lib : "",
|
||||||
|
func ? func : "", reason ? reason : "", append);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user