Modernise the ERR functionality further (new functions and deprecations)
authorRichard Levitte <levitte@openssl.org>
Wed, 4 Sep 2019 20:04:08 +0000 (22:04 +0200)
committerRichard Levitte <levitte@openssl.org>
Thu, 12 Sep 2019 15:59:52 +0000 (17:59 +0200)
commitb13342e933c507c4ce0eda0a0193339a111f27a5
tree27251f00624c771cd42e0f649513ef8330659a40
parent06ff79bd773d0b4214e4b6a8a1332a3355b17742
Modernise the ERR functionality further (new functions and deprecations)

ERR_func_error_string() essentially returns NULL, and since all
function codes are now removed for all intents and purposes, this
function has fallen out of use and cannot be modified to suit the
data, since its only function is to interpret an error code.

To compensate for the loss of error code, we instead provide new
functions that extracts the function name strings from an error
record:

- ERR_get_error_func()
- ERR_peek_error_func()
- ERR_peek_last_error_func()

Similarly, the once all encompasing functions
ERR_peek_last_error_line_data(), ERR_peek_error_line_data() and
ERR_get_error_line_data() lack the capability of getting the function
name string, so we deprecate those and add these functions to replace
them:

- ERR_get_error_all()
- ERR_peek_error_all()
- ERR_peek_last_error_all()

Finally, we adjust a few lines of code that used the now deprecated
functions.

Fixes #9756

Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/9756)
crypto/err/err.c
doc/man3/ERR_get_error.pod
include/openssl/err.h
test/errtest.c
test/evp_test.c
util/libcrypto.num