[openssl-commits] [openssl] OpenSSL_1_1_0-stable update

Rich Salz rsalz at openssl.org
Mon Dec 12 13:24:36 UTC 2016

The branch OpenSSL_1_1_0-stable has been updated
       via  5c75e43d84ca6a56adba5bab37b868576ff8b209 (commit)
      from  550e1d07a69db5af9129533ba7983594b3ed3fec (commit)

- Log -----------------------------------------------------------------
commit 5c75e43d84ca6a56adba5bab37b868576ff8b209
Author: Benjamin Kaduk <bkaduk at akamai.com>
Date:   Thu Dec 8 12:01:31 2016 -0600

    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 <levitte at openssl.org>
    Reviewed-by: Matt Caswell <matt at openssl.org>
    Reviewed-by: Rich Salz <rsalz at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/2049)
    (cherry picked from commit 036ba500f7886ca2e7231549fa574ec2cdd45cef)


Summary of changes:
 doc/crypto/ERR_GET_LIB.pod | 12 +++++++++---
 include/openssl/err.h      |  1 +
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/doc/crypto/ERR_GET_LIB.pod b/doc/crypto/ERR_GET_LIB.pod
index 10e250f..d809d7a 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);
 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<ERR_R_...> reason codes such as B<ERR_R_MALLOC_FAILURE> 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.
+ are macros.
-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<err(3)>, L<ERR_get_error(3)>
+L<err(7)>, L<ERR_get_error(3)>
 =head1 HISTORY
diff --git a/include/openssl/err.h b/include/openssl/err.h
index f939091..904cf3a 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

More information about the openssl-commits mailing list