diff options
Diffstat (limited to '')
-rw-r--r-- | src/lib/libcrypto/err/err.c | 34 | ||||
-rw-r--r-- | src/lib/libcrypto/err/err.h | 79 | ||||
-rw-r--r-- | src/lib/libcrypto/err/err_local.h | 30 |
3 files changed, 47 insertions, 96 deletions
diff --git a/src/lib/libcrypto/err/err.c b/src/lib/libcrypto/err/err.c index 25fbb03875..a60769fc2a 100644 --- a/src/lib/libcrypto/err/err.c +++ b/src/lib/libcrypto/err/err.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: err.c,v 1.75 2024/11/02 12:46:36 tb Exp $ */ | 1 | /* $OpenBSD: err.c,v 1.78 2025/06/10 08:53:37 tb Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -484,33 +484,27 @@ err_build_SYS_str_reasons(void) | |||
484 | { | 484 | { |
485 | /* malloc cannot be used here, use static storage instead */ | 485 | /* malloc cannot be used here, use static storage instead */ |
486 | static char strerror_tab[NUM_SYS_STR_REASONS][LEN_SYS_STR_REASON]; | 486 | static char strerror_tab[NUM_SYS_STR_REASONS][LEN_SYS_STR_REASON]; |
487 | const char *errstr; | ||
487 | int save_errno; | 488 | int save_errno; |
488 | int i; | 489 | int i; |
489 | 490 | ||
490 | /* strerror(3) will set errno to EINVAL when i is an unknown errno. */ | 491 | /* strerror(3) will set errno to EINVAL when i is an unknown errno. */ |
491 | save_errno = errno; | 492 | save_errno = errno; |
492 | for (i = 1; i <= NUM_SYS_STR_REASONS; i++) { | 493 | for (i = 0; i < NUM_SYS_STR_REASONS; i++) { |
493 | ERR_STRING_DATA *str = &SYS_str_reasons[i - 1]; | 494 | ERR_STRING_DATA *str = &SYS_str_reasons[i]; |
494 | 495 | ||
495 | str->error = (unsigned long)i; | 496 | str->error = i + 1; |
496 | if (str->string == NULL) { | 497 | str->string = "unknown"; |
497 | char (*dest)[LEN_SYS_STR_REASON] = | 498 | |
498 | &(strerror_tab[i - 1]); | 499 | if ((errstr = strerror((int)str->error)) != NULL) { |
499 | const char *src = strerror(i); | 500 | strlcpy(strerror_tab[i], errstr, sizeof(strerror_tab[i])); |
500 | if (src != NULL) { | 501 | str->string = strerror_tab[i]; |
501 | strlcpy(*dest, src, sizeof *dest); | ||
502 | str->string = *dest; | ||
503 | } | ||
504 | } | 502 | } |
505 | if (str->string == NULL) | ||
506 | str->string = "unknown"; | ||
507 | } | 503 | } |
508 | errno = save_errno; | 504 | errno = save_errno; |
509 | 505 | ||
510 | /* | 506 | SYS_str_reasons[NUM_SYS_STR_REASONS].error = 0; |
511 | * Now we still have SYS_str_reasons[NUM_SYS_STR_REASONS] = {0, NULL}, | 507 | SYS_str_reasons[NUM_SYS_STR_REASONS].string = NULL; |
512 | * as required by ERR_load_strings. | ||
513 | */ | ||
514 | } | 508 | } |
515 | #endif | 509 | #endif |
516 | 510 | ||
@@ -830,7 +824,7 @@ err_clear_last_constant_time(int clear) | |||
830 | 824 | ||
831 | es = ERR_get_state(); | 825 | es = ERR_get_state(); |
832 | if (es == NULL) | 826 | if (es == NULL) |
833 | return; | 827 | return; |
834 | 828 | ||
835 | top = es->top; | 829 | top = es->top; |
836 | 830 | ||
diff --git a/src/lib/libcrypto/err/err.h b/src/lib/libcrypto/err/err.h index fe6c34dd0a..093db4316e 100644 --- a/src/lib/libcrypto/err/err.h +++ b/src/lib/libcrypto/err/err.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: err.h,v 1.36 2025/03/09 15:12:18 tb Exp $ */ | 1 | /* $OpenBSD: err.h,v 1.38 2025/05/10 06:17:09 tb Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -192,80 +192,9 @@ extern "C" { | |||
192 | #define ERR_LIB_USER 128 | 192 | #define ERR_LIB_USER 128 |
193 | 193 | ||
194 | #ifndef LIBRESSL_INTERNAL | 194 | #ifndef LIBRESSL_INTERNAL |
195 | #define SYSerr(f,r) ERR_PUT_error(ERR_LIB_SYS,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | 195 | #define PEMerr(f,r) ERR_PUT_error(ERR_LIB_PEM,(f),(r),OPENSSL_FILE,OPENSSL_LINE) |
196 | #define BNerr(f,r) ERR_PUT_error(ERR_LIB_BN,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | 196 | #define RSAerr(f,r) ERR_PUT_error(ERR_LIB_RSA,(f),(r),OPENSSL_FILE,OPENSSL_LINE) |
197 | #define RSAerr(f,r) ERR_PUT_error(ERR_LIB_RSA,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | 197 | #define SSLerr(f,r) ERR_PUT_error(ERR_LIB_SSL,(f),(r),OPENSSL_FILE,OPENSSL_LINE) |
198 | #define DHerr(f,r) ERR_PUT_error(ERR_LIB_DH,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
199 | #define EVPerr(f,r) ERR_PUT_error(ERR_LIB_EVP,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
200 | #define BUFerr(f,r) ERR_PUT_error(ERR_LIB_BUF,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
201 | #define OBJerr(f,r) ERR_PUT_error(ERR_LIB_OBJ,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
202 | #define PEMerr(f,r) ERR_PUT_error(ERR_LIB_PEM,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
203 | #define DSAerr(f,r) ERR_PUT_error(ERR_LIB_DSA,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
204 | #define X509err(f,r) ERR_PUT_error(ERR_LIB_X509,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
205 | #define ASN1err(f,r) ERR_PUT_error(ERR_LIB_ASN1,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
206 | #define CONFerr(f,r) ERR_PUT_error(ERR_LIB_CONF,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
207 | #define CRYPTOerr(f,r) ERR_PUT_error(ERR_LIB_CRYPTO,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
208 | #define ECerr(f,r) ERR_PUT_error(ERR_LIB_EC,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
209 | #define BIOerr(f,r) ERR_PUT_error(ERR_LIB_BIO,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
210 | #define PKCS7err(f,r) ERR_PUT_error(ERR_LIB_PKCS7,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
211 | #define X509V3err(f,r) ERR_PUT_error(ERR_LIB_X509V3,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
212 | #define PKCS12err(f,r) ERR_PUT_error(ERR_LIB_PKCS12,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
213 | #define RANDerr(f,r) ERR_PUT_error(ERR_LIB_RAND,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
214 | #define DSOerr(f,r) ERR_PUT_error(ERR_LIB_DSO,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
215 | #define ENGINEerr(f,r) ERR_PUT_error(ERR_LIB_ENGINE,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
216 | #define OCSPerr(f,r) ERR_PUT_error(ERR_LIB_OCSP,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
217 | #define UIerr(f,r) ERR_PUT_error(ERR_LIB_UI,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
218 | #define COMPerr(f,r) ERR_PUT_error(ERR_LIB_COMP,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
219 | #define ECDSAerr(f,r) ERR_PUT_error(ERR_LIB_ECDSA,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
220 | #define ECDHerr(f,r) ERR_PUT_error(ERR_LIB_ECDH,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
221 | #define STOREerr(f,r) ERR_PUT_error(ERR_LIB_STORE,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
222 | #define FIPSerr(f,r) ERR_PUT_error(ERR_LIB_FIPS,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
223 | #define CMSerr(f,r) ERR_PUT_error(ERR_LIB_CMS,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
224 | #define TSerr(f,r) ERR_PUT_error(ERR_LIB_TS,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
225 | #define HMACerr(f,r) ERR_PUT_error(ERR_LIB_HMAC,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
226 | #define JPAKEerr(f,r) ERR_PUT_error(ERR_LIB_JPAKE,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
227 | #define GOSTerr(f,r) ERR_PUT_error(ERR_LIB_GOST,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
228 | #define SSLerr(f,r) ERR_PUT_error(ERR_LIB_SSL,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
229 | #define CTerr(f, r) ERR_PUT_error(ERR_LIB_CT,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
230 | #define KDFerr(f, r) ERR_PUT_error(ERR_LIB_KDF,(f),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
231 | #endif | ||
232 | |||
233 | #ifdef LIBRESSL_INTERNAL | ||
234 | #define SYSerror(r) ERR_PUT_error(ERR_LIB_SYS,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
235 | #define BNerror(r) ERR_PUT_error(ERR_LIB_BN,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
236 | #define RSAerror(r) ERR_PUT_error(ERR_LIB_RSA,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
237 | #define DHerror(r) ERR_PUT_error(ERR_LIB_DH,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
238 | #define EVPerror(r) ERR_PUT_error(ERR_LIB_EVP,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
239 | #define BUFerror(r) ERR_PUT_error(ERR_LIB_BUF,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
240 | #define OBJerror(r) ERR_PUT_error(ERR_LIB_OBJ,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
241 | #define PEMerror(r) ERR_PUT_error(ERR_LIB_PEM,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
242 | #define DSAerror(r) ERR_PUT_error(ERR_LIB_DSA,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
243 | #define X509error(r) ERR_PUT_error(ERR_LIB_X509,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
244 | #define ASN1error(r) ERR_PUT_error(ERR_LIB_ASN1,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
245 | #define CONFerror(r) ERR_PUT_error(ERR_LIB_CONF,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
246 | #define CRYPTOerror(r) ERR_PUT_error(ERR_LIB_CRYPTO,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
247 | #define ECerror(r) ERR_PUT_error(ERR_LIB_EC,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
248 | #define BIOerror(r) ERR_PUT_error(ERR_LIB_BIO,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
249 | #define PKCS7error(r) ERR_PUT_error(ERR_LIB_PKCS7,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
250 | #define X509V3error(r) ERR_PUT_error(ERR_LIB_X509V3,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
251 | #define PKCS12error(r) ERR_PUT_error(ERR_LIB_PKCS12,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
252 | #define RANDerror(r) ERR_PUT_error(ERR_LIB_RAND,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
253 | #define DSOerror(r) ERR_PUT_error(ERR_LIB_DSO,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
254 | #define ENGINEerror(r) ERR_PUT_error(ERR_LIB_ENGINE,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
255 | #define OCSPerror(r) ERR_PUT_error(ERR_LIB_OCSP,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
256 | #define UIerror(r) ERR_PUT_error(ERR_LIB_UI,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
257 | #define COMPerror(r) ERR_PUT_error(ERR_LIB_COMP,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
258 | #define ECDSAerror(r) ERR_PUT_error(ERR_LIB_ECDSA,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
259 | #define ECDHerror(r) ERR_PUT_error(ERR_LIB_ECDH,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
260 | #define STOREerror(r) ERR_PUT_error(ERR_LIB_STORE,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
261 | #define FIPSerror(r) ERR_PUT_error(ERR_LIB_FIPS,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
262 | #define CMSerror(r) ERR_PUT_error(ERR_LIB_CMS,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
263 | #define TSerror(r) ERR_PUT_error(ERR_LIB_TS,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
264 | #define HMACerror(r) ERR_PUT_error(ERR_LIB_HMAC,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
265 | #define JPAKEerror(r) ERR_PUT_error(ERR_LIB_JPAKE,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
266 | #define GOSTerror(r) ERR_PUT_error(ERR_LIB_GOST,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
267 | #define CTerror(r) ERR_PUT_error(ERR_LIB_CT,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
268 | #define KDFerror(r) ERR_PUT_error(ERR_LIB_KDF,(0xfff),(r),OPENSSL_FILE,OPENSSL_LINE) | ||
269 | #endif | 198 | #endif |
270 | 199 | ||
271 | #define ERR_PACK(l,f,r) (((((unsigned long)l)&0xffL)<<24L)| \ | 200 | #define ERR_PACK(l,f,r) (((((unsigned long)l)&0xffL)<<24L)| \ |
diff --git a/src/lib/libcrypto/err/err_local.h b/src/lib/libcrypto/err/err_local.h index d091b979cc..87cd40f4a8 100644 --- a/src/lib/libcrypto/err/err_local.h +++ b/src/lib/libcrypto/err/err_local.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: err_local.h,v 1.1 2024/06/24 06:43:22 tb Exp $ */ | 1 | /* $OpenBSD: err_local.h,v 1.5 2025/05/10 06:45:46 tb Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -118,6 +118,34 @@ __BEGIN_HIDDEN_DECLS | |||
118 | 118 | ||
119 | void ERR_load_const_strings(const ERR_STRING_DATA *str); | 119 | void ERR_load_const_strings(const ERR_STRING_DATA *str); |
120 | 120 | ||
121 | #define ERR_PUT_ERROR(l, r) ERR_PUT_error((l), 0xfff, (r), OPENSSL_FILE, OPENSSL_LINE) | ||
122 | |||
123 | #define ASN1error(r) ERR_PUT_ERROR(ERR_LIB_ASN1, (r)) | ||
124 | #define BIOerror(r) ERR_PUT_ERROR(ERR_LIB_BIO, (r)) | ||
125 | #define BNerror(r) ERR_PUT_ERROR(ERR_LIB_BN, (r)) | ||
126 | #define BUFerror(r) ERR_PUT_ERROR(ERR_LIB_BUF, (r)) | ||
127 | #define CMSerror(r) ERR_PUT_ERROR(ERR_LIB_CMS, (r)) | ||
128 | #define CONFerror(r) ERR_PUT_ERROR(ERR_LIB_CONF, (r)) | ||
129 | #define CRYPTOerror(r) ERR_PUT_ERROR(ERR_LIB_CRYPTO, (r)) | ||
130 | #define CTerror(r) ERR_PUT_ERROR(ERR_LIB_CT, (r)) | ||
131 | #define DHerror(r) ERR_PUT_ERROR(ERR_LIB_DH, (r)) | ||
132 | #define DSAerror(r) ERR_PUT_ERROR(ERR_LIB_DSA, (r)) | ||
133 | #define ECerror(r) ERR_PUT_ERROR(ERR_LIB_EC, (r)) | ||
134 | #define EVPerror(r) ERR_PUT_ERROR(ERR_LIB_EVP, (r)) | ||
135 | #define KDFerror(r) ERR_PUT_ERROR(ERR_LIB_KDF, (r)) | ||
136 | #define OBJerror(r) ERR_PUT_ERROR(ERR_LIB_OBJ, (r)) | ||
137 | #define OCSPerror(r) ERR_PUT_ERROR(ERR_LIB_OCSP, (r)) | ||
138 | #define PEMerror(r) ERR_PUT_ERROR(ERR_LIB_PEM, (r)) | ||
139 | #define PKCS12error(r) ERR_PUT_ERROR(ERR_LIB_PKCS12, (r)) | ||
140 | #define PKCS7error(r) ERR_PUT_ERROR(ERR_LIB_PKCS7, (r)) | ||
141 | #define RANDerror(r) ERR_PUT_ERROR(ERR_LIB_RAND, (r)) | ||
142 | #define RSAerror(r) ERR_PUT_ERROR(ERR_LIB_RSA, (r)) | ||
143 | #define SYSerror(r) ERR_PUT_ERROR(ERR_LIB_SYS, (r)) | ||
144 | #define TSerror(r) ERR_PUT_ERROR(ERR_LIB_TS, (r)) | ||
145 | #define UIerror(r) ERR_PUT_ERROR(ERR_LIB_UI, (r)) | ||
146 | #define X509V3error(r) ERR_PUT_ERROR(ERR_LIB_X509V3, (r)) | ||
147 | #define X509error(r) ERR_PUT_ERROR(ERR_LIB_X509, (r)) | ||
148 | |||
121 | __END_HIDDEN_DECLS | 149 | __END_HIDDEN_DECLS |
122 | 150 | ||
123 | #endif /* HEADER_ERR_LOCAL_H */ | 151 | #endif /* HEADER_ERR_LOCAL_H */ |