diff options
| author | tb <> | 2023-05-14 17:20:26 +0000 |
|---|---|---|
| committer | tb <> | 2023-05-14 17:20:26 +0000 |
| commit | 97eee2962a0bc1bbdbf283b7b05eac68c8a6554d (patch) | |
| tree | 69decc4ec9a4e726afbb964557dd3c37f7b10d76 | |
| parent | 816eddcf8128dfb5e2e9a4c68c07f2ca97df1275 (diff) | |
| download | openbsd-97eee2962a0bc1bbdbf283b7b05eac68c8a6554d.tar.gz openbsd-97eee2962a0bc1bbdbf283b7b05eac68c8a6554d.tar.bz2 openbsd-97eee2962a0bc1bbdbf283b7b05eac68c8a6554d.zip | |
Fix X509error() and X509V3error()
When v3err.c was merged into x509_err.c nearly three years ago, it was
overlooked that the code needed two distinct pairs of ERR_FUNC/ERR_REASON,
one for ERR_LIB_X509 and one for ERR_LIB_X509V3. The result is that the
reason strings for the X509_R_* codes would be overwritten by the ones for
X509V3_R_* with the same value while the reason strings for all X509V3_R_*
would be left undefined.
Fix this by an #undef/#define dance for ERR_LIB_X509V3 once we no longer
the ERR_FUNC/ERR_REASON pair for ERR_LIB_X509.
reported by job
ok jsing
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libcrypto/x509/x509_err.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/lib/libcrypto/x509/x509_err.c b/src/lib/libcrypto/x509/x509_err.c index bcb04f1fd8..2cbd349350 100644 --- a/src/lib/libcrypto/x509/x509_err.c +++ b/src/lib/libcrypto/x509/x509_err.c | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | /* $OpenBSD: x509_err.c,v 1.21 2023/04/24 08:39:06 job Exp $ */ | 1 | /* $OpenBSD: x509_err.c,v 1.22 2023/05/14 17:20:26 tb Exp $ */ |
| 2 | /* ==================================================================== | 2 | /* ==================================================================== |
| 3 | * Copyright (c) 1999-2006 The OpenSSL Project. All rights reserved. | 3 | * Copyright (c) 1999-2006 The OpenSSL Project. All rights reserved. |
| 4 | * | 4 | * |
| @@ -71,11 +71,6 @@ static ERR_STRING_DATA X509_str_functs[] = { | |||
| 71 | {0, NULL} | 71 | {0, NULL} |
| 72 | }; | 72 | }; |
| 73 | 73 | ||
| 74 | static ERR_STRING_DATA X509V3_str_functs[] = { | ||
| 75 | {ERR_FUNC(0xfff), "CRYPTO_internal"}, | ||
| 76 | {0, NULL} | ||
| 77 | }; | ||
| 78 | |||
| 79 | static ERR_STRING_DATA X509_str_reasons[] = { | 74 | static ERR_STRING_DATA X509_str_reasons[] = { |
| 80 | {ERR_REASON(X509_R_BAD_X509_FILETYPE) , "bad x509 filetype"}, | 75 | {ERR_REASON(X509_R_BAD_X509_FILETYPE) , "bad x509 filetype"}, |
| 81 | {ERR_REASON(X509_R_BASE64_DECODE_ERROR) , "base64 decode error"}, | 76 | {ERR_REASON(X509_R_BASE64_DECODE_ERROR) , "base64 decode error"}, |
| @@ -108,6 +103,16 @@ static ERR_STRING_DATA X509_str_reasons[] = { | |||
| 108 | {0, NULL} | 103 | {0, NULL} |
| 109 | }; | 104 | }; |
| 110 | 105 | ||
| 106 | #undef ERR_FUNC | ||
| 107 | #undef ERR_REASON | ||
| 108 | #define ERR_FUNC(func) ERR_PACK(ERR_LIB_X509V3,func,0) | ||
| 109 | #define ERR_REASON(reason) ERR_PACK(ERR_LIB_X509V3,0,reason) | ||
| 110 | |||
| 111 | static ERR_STRING_DATA X509V3_str_functs[] = { | ||
| 112 | {ERR_FUNC(0xfff), "CRYPTO_internal"}, | ||
| 113 | {0, NULL} | ||
| 114 | }; | ||
| 115 | |||
| 111 | static ERR_STRING_DATA X509V3_str_reasons[] = { | 116 | static ERR_STRING_DATA X509V3_str_reasons[] = { |
| 112 | {ERR_REASON(X509V3_R_BAD_IP_ADDRESS) , "bad ip address"}, | 117 | {ERR_REASON(X509V3_R_BAD_IP_ADDRESS) , "bad ip address"}, |
| 113 | {ERR_REASON(X509V3_R_BAD_OBJECT) , "bad object"}, | 118 | {ERR_REASON(X509V3_R_BAD_OBJECT) , "bad object"}, |
