From: Benjamin Kaduk Date: Thu, 8 Dec 2016 18:01:31 +0000 (-0600) Subject: Restore the ERR_FATAL_ERROR() macro X-Git-Tag: OpenSSL_1_1_0d~82 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=5c75e43d84ca6a56adba5bab37b868576ff8b209;p=oweals%2Fopenssl.git Restore the ERR_FATAL_ERROR() macro Commit 0cd0a820abc6124cf8e176fa92d620a2abf9e419 removed this macro along with many unused function and reason codes; ERR_FATAL_ERROR() was not used in the tree, but did have external consumers. Add it back to restore the API compatibility and avoid breaking applications for no internal benefit. Reviewed-by: Richard Levitte Reviewed-by: Matt Caswell Reviewed-by: Rich Salz (Merged from https://github.com/openssl/openssl/pull/2049) (cherry picked from commit 036ba500f7886ca2e7231549fa574ec2cdd45cef) --- diff --git a/doc/crypto/ERR_GET_LIB.pod b/doc/crypto/ERR_GET_LIB.pod index 10e250f445..d809d7a54e 100644 --- a/doc/crypto/ERR_GET_LIB.pod +++ b/doc/crypto/ERR_GET_LIB.pod @@ -15,12 +15,16 @@ reason code int ERR_GET_REASON(unsigned long e); + int ERR_FATAL_ERROR(unsigned long e); + =head1 DESCRIPTION The error code returned by ERR_get_error() consists of a library number, function code and reason code. ERR_GET_LIB(), ERR_GET_FUNC() and ERR_GET_REASON() can be used to extract these. +ERR_FATAL_ERROR() indicates whether a given error code is a fatal error. + The library number and function code describe where the error occurred, the reason code is the information about what went wrong. @@ -33,15 +37,17 @@ B reason codes such as B are globally unique. However, when checking for sub-library specific reason codes, be sure to also compare the library number. -ERR_GET_LIB(), ERR_GET_FUNC() and ERR_GET_REASON() are macros. +ERR_GET_LIB(), ERR_GET_FUNC(), ERR_GET_REASON(), and ERR_FATAL_ERROR() + are macros. =head1 RETURN VALUES -The library number, function code and reason code respectively. +The library number, function code, reason code, and whether the error +is fatal, respectively. =head1 SEE ALSO -L, L +L, L =head1 HISTORY diff --git a/include/openssl/err.h b/include/openssl/err.h index f9390919ab..904cf3a59e 100644 --- a/include/openssl/err.h +++ b/include/openssl/err.h @@ -140,6 +140,7 @@ typedef struct err_state_st { # define ERR_GET_LIB(l) (int)(((l) >> 24L) & 0x0FFL) # define ERR_GET_FUNC(l) (int)(((l) >> 12L) & 0xFFFL) # define ERR_GET_REASON(l) (int)( (l) & 0xFFFL) +# define ERR_FATAL_ERROR(l) (int)( (l) & ERR_R_FATAL) /* OS functions */ # define SYS_F_FOPEN 1