Skip to content

Commit

Permalink
Add {lib}_R_{lib}_LIB, for our engines and other "external" modules
Browse files Browse the repository at this point in the history
Engines lacked the possibility to refer to themselves in this form:

    WHATEVERerr(WHATEVER_F_SOMETHING, WHATEVER_R_WHATEVER_LIB);

This little change makes that possible, and gets used in e_capi.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
(Merged from #19301)
  • Loading branch information
levitte committed Oct 5, 2022
1 parent e077455 commit 79c8dcf
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 3 deletions.
9 changes: 8 additions & 1 deletion engines/e_capi_err.c
@@ -1,6 +1,6 @@
/*
* Generated by util/mkerr.pl DO NOT EDIT
* Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
* Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
Expand Down Expand Up @@ -92,3 +92,10 @@ static void ERR_CAPI_error(int function, int reason, const char *file, int line)
ERR_raise(lib_code, reason);
ERR_set_debug(file, line, NULL);
}

static int ERR_CAPI_lib(void)
{
if (lib_code == 0)
lib_code = ERR_get_next_error_library();
return lib_code;
}
3 changes: 2 additions & 1 deletion engines/e_capi_err.h
@@ -1,6 +1,6 @@
/*
* Generated by util/mkerr.pl DO NOT EDIT
* Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
* Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
Expand All @@ -17,6 +17,7 @@


# define CAPIerr(f, r) ERR_CAPI_error(0, (r), OPENSSL_FILE, OPENSSL_LINE)
# define ERR_R_CAPI_LIB ERR_CAPI_lib()


/*
Expand Down
10 changes: 9 additions & 1 deletion util/mkerr.pl
@@ -1,5 +1,5 @@
#! /usr/bin/env perl
# Copyright 1999-2021 The OpenSSL Project Authors. All Rights Reserved.
# Copyright 1999-2022 The OpenSSL Project Authors. All Rights Reserved.
#
# Licensed under the Apache License 2.0 (the "License"). You may not use
# this file except in compliance with the License. You can obtain a copy
Expand Down Expand Up @@ -450,6 +450,7 @@ sub help
} else {
print OUT <<"EOF";
# define ${lib}err(f, r) ERR_${lib}_error(0, (r), OPENSSL_FILE, OPENSSL_LINE)
# define ERR_R_${lib}_LIB ERR_${lib}_lib()
EOF
if ( ! $static ) {
Expand Down Expand Up @@ -629,6 +630,13 @@ sub help
ERR_raise(lib_code, reason);
ERR_set_debug(file, line, NULL);
}
${st}int ERR_${lib}_lib(void)
{
if (lib_code == 0)
lib_code = ERR_get_next_error_library();
return lib_code;
}
EOF

}
Expand Down

0 comments on commit 79c8dcf

Please sign in to comment.