summaryrefslogtreecommitdiffstats
path: root/scripts/ssl-common.h
diff options
context:
space:
mode:
authorJan Stancek <jstancek@redhat.com>2024-07-12 09:11:15 +0200
committerJarkko Sakkinen <jarkko@kernel.org>2024-09-20 18:49:52 +0200
commit467d60eddf55588add232feda325da7215ddaf30 (patch)
treeb10dffcbd6a4d96315fe01ddfbec018479236a64 /scripts/ssl-common.h
parentsign-file,extract-cert: move common SSL helper functions to a header (diff)
downloadlinux-467d60eddf55588add232feda325da7215ddaf30.tar.xz
linux-467d60eddf55588add232feda325da7215ddaf30.zip
sign-file,extract-cert: avoid using deprecated ERR_get_error_line()
ERR_get_error_line() is deprecated since OpenSSL 3.0. Use ERR_peek_error_line() instead, and combine display_openssl_errors() and drain_openssl_errors() to a single function where parameter decides if it should consume errors silently. Signed-off-by: Jan Stancek <jstancek@redhat.com> Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org> Tested-by: R Nageswara Sastry <rnsastry@linux.ibm.com> Reviewed-by: Neal Gompa <neal@gompa.dev> Signed-off-by: Jarkko Sakkinen <jarkko@kernel.org>
Diffstat (limited to 'scripts/ssl-common.h')
-rw-r--r--scripts/ssl-common.h23
1 files changed, 8 insertions, 15 deletions
diff --git a/scripts/ssl-common.h b/scripts/ssl-common.h
index e6711c75ed91..2db0e181143c 100644
--- a/scripts/ssl-common.h
+++ b/scripts/ssl-common.h
@@ -3,7 +3,7 @@
* SSL helper functions shared by sign-file and extract-cert.
*/
-static void display_openssl_errors(int l)
+static void drain_openssl_errors(int l, int silent)
{
const char *file;
char buf[120];
@@ -11,28 +11,21 @@ static void display_openssl_errors(int l)
if (ERR_peek_error() == 0)
return;
- fprintf(stderr, "At main.c:%d:\n", l);
+ if (!silent)
+ fprintf(stderr, "At main.c:%d:\n", l);
- while ((e = ERR_get_error_line(&file, &line))) {
+ while ((e = ERR_peek_error_line(&file, &line))) {
ERR_error_string(e, buf);
- fprintf(stderr, "- SSL %s: %s:%d\n", buf, file, line);
+ if (!silent)
+ fprintf(stderr, "- SSL %s: %s:%d\n", buf, file, line);
+ ERR_get_error();
}
}
-static void drain_openssl_errors(void)
-{
- const char *file;
- int line;
-
- if (ERR_peek_error() == 0)
- return;
- while (ERR_get_error_line(&file, &line)) {}
-}
-
#define ERR(cond, fmt, ...) \
do { \
bool __cond = (cond); \
- display_openssl_errors(__LINE__); \
+ drain_openssl_errors(__LINE__, 0); \
if (__cond) { \
errx(1, fmt, ## __VA_ARGS__); \
} \