summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjsing <>2024-10-11 12:40:25 +0000
committerjsing <>2024-10-11 12:40:25 +0000
commit23dcdce4760fe666605895961399c1961e402969 (patch)
tree1665d006560a9457f07c8ba682882817a206adb7 /src
parent61723d7ef03ea0d6dfb9984e183d118cac3846fa (diff)
downloadopenbsd-23dcdce4760fe666605895961399c1961e402969.tar.gz
openbsd-23dcdce4760fe666605895961399c1961e402969.tar.bz2
openbsd-23dcdce4760fe666605895961399c1961e402969.zip
Apply some style(9) and tidy some comments.
Diffstat (limited to 'src')
-rw-r--r--src/lib/libcrypto/err/err.c135
1 files changed, 73 insertions, 62 deletions
diff --git a/src/lib/libcrypto/err/err.c b/src/lib/libcrypto/err/err.c
index d7b1728bac..0d0500a004 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.71 2024/10/11 12:27:24 jsing Exp $ */ 1/* $OpenBSD: err.c,v 1.72 2024/10/11 12:40:25 jsing 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 *
@@ -140,49 +140,49 @@ typedef struct err_state_st {
140 140
141#ifndef OPENSSL_NO_ERR 141#ifndef OPENSSL_NO_ERR
142static const ERR_STRING_DATA ERR_str_libraries[] = { 142static const ERR_STRING_DATA ERR_str_libraries[] = {
143 {ERR_PACK(ERR_LIB_NONE,0,0), "unknown library"}, 143 {ERR_PACK(ERR_LIB_NONE, 0, 0), "unknown library"},
144 {ERR_PACK(ERR_LIB_SYS,0,0), "system library"}, 144 {ERR_PACK(ERR_LIB_SYS, 0, 0), "system library"},
145 {ERR_PACK(ERR_LIB_BN,0,0), "bignum routines"}, 145 {ERR_PACK(ERR_LIB_BN, 0, 0), "bignum routines"},
146 {ERR_PACK(ERR_LIB_RSA,0,0), "rsa routines"}, 146 {ERR_PACK(ERR_LIB_RSA, 0, 0), "rsa routines"},
147 {ERR_PACK(ERR_LIB_DH,0,0), "Diffie-Hellman routines"}, 147 {ERR_PACK(ERR_LIB_DH, 0, 0), "Diffie-Hellman routines"},
148 {ERR_PACK(ERR_LIB_EVP,0,0), "digital envelope routines"}, 148 {ERR_PACK(ERR_LIB_EVP, 0, 0), "digital envelope routines"},
149 {ERR_PACK(ERR_LIB_BUF,0,0), "memory buffer routines"}, 149 {ERR_PACK(ERR_LIB_BUF, 0, 0), "memory buffer routines"},
150 {ERR_PACK(ERR_LIB_OBJ,0,0), "object identifier routines"}, 150 {ERR_PACK(ERR_LIB_OBJ, 0, 0), "object identifier routines"},
151 {ERR_PACK(ERR_LIB_PEM,0,0), "PEM routines"}, 151 {ERR_PACK(ERR_LIB_PEM, 0, 0), "PEM routines"},
152 {ERR_PACK(ERR_LIB_DSA,0,0), "dsa routines"}, 152 {ERR_PACK(ERR_LIB_DSA, 0, 0), "dsa routines"},
153 {ERR_PACK(ERR_LIB_X509,0,0), "x509 certificate routines"}, 153 {ERR_PACK(ERR_LIB_X509, 0, 0), "x509 certificate routines"},
154 {ERR_PACK(ERR_LIB_ASN1,0,0), "asn1 encoding routines"}, 154 {ERR_PACK(ERR_LIB_ASN1, 0, 0), "asn1 encoding routines"},
155 {ERR_PACK(ERR_LIB_CONF,0,0), "configuration file routines"}, 155 {ERR_PACK(ERR_LIB_CONF, 0, 0), "configuration file routines"},
156 {ERR_PACK(ERR_LIB_CRYPTO,0,0), "common libcrypto routines"}, 156 {ERR_PACK(ERR_LIB_CRYPTO, 0, 0), "common libcrypto routines"},
157 {ERR_PACK(ERR_LIB_EC,0,0), "elliptic curve routines"}, 157 {ERR_PACK(ERR_LIB_EC, 0, 0), "elliptic curve routines"},
158 {ERR_PACK(ERR_LIB_SSL,0,0), "SSL routines"}, 158 {ERR_PACK(ERR_LIB_SSL, 0, 0), "SSL routines"},
159 {ERR_PACK(ERR_LIB_BIO,0,0), "BIO routines"}, 159 {ERR_PACK(ERR_LIB_BIO, 0, 0), "BIO routines"},
160 {ERR_PACK(ERR_LIB_PKCS7,0,0), "PKCS7 routines"}, 160 {ERR_PACK(ERR_LIB_PKCS7, 0, 0), "PKCS7 routines"},
161 {ERR_PACK(ERR_LIB_X509V3,0,0), "X509 V3 routines"}, 161 {ERR_PACK(ERR_LIB_X509V3, 0, 0), "X509 V3 routines"},
162 {ERR_PACK(ERR_LIB_PKCS12,0,0), "PKCS12 routines"}, 162 {ERR_PACK(ERR_LIB_PKCS12, 0, 0), "PKCS12 routines"},
163 {ERR_PACK(ERR_LIB_RAND,0,0), "random number generator"}, 163 {ERR_PACK(ERR_LIB_RAND, 0, 0), "random number generator"},
164 {ERR_PACK(ERR_LIB_DSO,0,0), "DSO support routines"}, 164 {ERR_PACK(ERR_LIB_DSO, 0, 0), "DSO support routines"},
165 {ERR_PACK(ERR_LIB_TS,0,0), "time stamp routines"}, 165 {ERR_PACK(ERR_LIB_TS, 0, 0), "time stamp routines"},
166 {ERR_PACK(ERR_LIB_ENGINE,0,0), "engine routines"}, 166 {ERR_PACK(ERR_LIB_ENGINE, 0, 0), "engine routines"},
167 {ERR_PACK(ERR_LIB_OCSP,0,0), "OCSP routines"}, 167 {ERR_PACK(ERR_LIB_OCSP, 0, 0), "OCSP routines"},
168 {ERR_PACK(ERR_LIB_FIPS,0,0), "FIPS routines"}, 168 {ERR_PACK(ERR_LIB_FIPS, 0, 0), "FIPS routines"},
169 {ERR_PACK(ERR_LIB_CMS,0,0), "CMS routines"}, 169 {ERR_PACK(ERR_LIB_CMS, 0, 0), "CMS routines"},
170 {ERR_PACK(ERR_LIB_HMAC,0,0), "HMAC routines"}, 170 {ERR_PACK(ERR_LIB_HMAC, 0, 0), "HMAC routines"},
171 {ERR_PACK(ERR_LIB_GOST,0,0), "GOST routines"}, 171 {ERR_PACK(ERR_LIB_GOST, 0, 0), "GOST routines"},
172 {0, NULL}, 172 {0, NULL},
173}; 173};
174 174
175static const ERR_STRING_DATA ERR_str_functs[] = { 175static const ERR_STRING_DATA ERR_str_functs[] = {
176 {ERR_PACK(ERR_LIB_SYS,SYS_F_FOPEN, 0), "fopen"}, 176 {ERR_PACK(ERR_LIB_SYS, SYS_F_FOPEN, 0), "fopen"},
177 {ERR_PACK(ERR_LIB_SYS,SYS_F_CONNECT, 0), "connect"}, 177 {ERR_PACK(ERR_LIB_SYS, SYS_F_CONNECT, 0), "connect"},
178 {ERR_PACK(ERR_LIB_SYS,SYS_F_GETSERVBYNAME, 0), "getservbyname"}, 178 {ERR_PACK(ERR_LIB_SYS, SYS_F_GETSERVBYNAME, 0), "getservbyname"},
179 {ERR_PACK(ERR_LIB_SYS,SYS_F_SOCKET, 0), "socket"}, 179 {ERR_PACK(ERR_LIB_SYS, SYS_F_SOCKET, 0), "socket"},
180 {ERR_PACK(ERR_LIB_SYS,SYS_F_IOCTLSOCKET, 0), "ioctl"}, 180 {ERR_PACK(ERR_LIB_SYS, SYS_F_IOCTLSOCKET, 0), "ioctl"},
181 {ERR_PACK(ERR_LIB_SYS,SYS_F_BIND, 0), "bind"}, 181 {ERR_PACK(ERR_LIB_SYS, SYS_F_BIND, 0), "bind"},
182 {ERR_PACK(ERR_LIB_SYS,SYS_F_LISTEN, 0), "listen"}, 182 {ERR_PACK(ERR_LIB_SYS, SYS_F_LISTEN, 0), "listen"},
183 {ERR_PACK(ERR_LIB_SYS,SYS_F_ACCEPT, 0), "accept"}, 183 {ERR_PACK(ERR_LIB_SYS, SYS_F_ACCEPT, 0), "accept"},
184 {ERR_PACK(ERR_LIB_SYS,SYS_F_OPENDIR, 0), "opendir"}, 184 {ERR_PACK(ERR_LIB_SYS, SYS_F_OPENDIR, 0), "opendir"},
185 {ERR_PACK(ERR_LIB_SYS,SYS_F_FREAD, 0), "fread"}, 185 {ERR_PACK(ERR_LIB_SYS, SYS_F_FREAD, 0), "fread"},
186 {0, NULL}, 186 {0, NULL},
187}; 187};
188 188
@@ -224,7 +224,7 @@ static const ERR_STRING_DATA ERR_str_reasons[] = {
224 {ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED, "called a function you should not call"}, 224 {ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED, "called a function you should not call"},
225 {ERR_R_PASSED_NULL_PARAMETER, "passed a null parameter"}, 225 {ERR_R_PASSED_NULL_PARAMETER, "passed a null parameter"},
226 {ERR_R_INTERNAL_ERROR, "internal error"}, 226 {ERR_R_INTERNAL_ERROR, "internal error"},
227 {ERR_R_DISABLED , "called a function that was disabled at compile-time"}, 227 {ERR_R_DISABLED, "called a function that was disabled at compile-time"},
228 {ERR_R_INIT_FAIL, "initialization failure"}, 228 {ERR_R_INIT_FAIL, "initialization failure"},
229 229
230 {0, NULL}, 230 {0, NULL},
@@ -252,8 +252,6 @@ static pthread_t err_init_thread;
252 * internal to the "err_defaults" implementation. 252 * internal to the "err_defaults" implementation.
253 */ 253 */
254 254
255/* The internal functions used in the "err_defaults" implementation */
256
257static unsigned long 255static unsigned long
258err_string_data_hash(const ERR_STRING_DATA *a) 256err_string_data_hash(const ERR_STRING_DATA *a)
259{ 257{
@@ -473,14 +471,15 @@ err_get_next_lib(void)
473#define LEN_SYS_STR_REASON 32 471#define LEN_SYS_STR_REASON 32
474 472
475static ERR_STRING_DATA SYS_str_reasons[NUM_SYS_STR_REASONS + 1]; 473static ERR_STRING_DATA SYS_str_reasons[NUM_SYS_STR_REASONS + 1];
476/* SYS_str_reasons is filled with copies of strerror() results at 474
477 * initialization. 475/*
478 * 'errno' values up to 127 should cover all usual errors, 476 * SYS_str_reasons is filled with copies of strerror() results at
479 * others will be displayed numerically by ERR_error_string. 477 * initialization. 'errno' values up to 127 should cover all usual errors,
480 * It is crucial that we have something for each reason code 478 * others will be displayed numerically by ERR_error_string. It is crucial that
481 * that occurs in ERR_str_reasons, or bogus reason strings 479 * we have something for each reason code that occurs in ERR_str_reasons, or
482 * will be returned for SYSerror(which always gets an errno 480 * bogus reason strings will be returned for SYSerror(), which always gets an
483 * value and never one of those 'standard' reason codes. */ 481 * errno value and never one of those 'standard' reason codes.
482 */
484 483
485static void 484static void
486err_build_SYS_str_reasons(void) 485err_build_SYS_str_reasons(void)
@@ -510,8 +509,10 @@ err_build_SYS_str_reasons(void)
510 } 509 }
511 errno = save_errno; 510 errno = save_errno;
512 511
513 /* Now we still have SYS_str_reasons[NUM_SYS_STR_REASONS] = {0, NULL}, 512 /*
514 * as required by ERR_load_strings. */ 513 * Now we still have SYS_str_reasons[NUM_SYS_STR_REASONS] = {0, NULL},
514 * as required by ERR_load_strings.
515 */
515} 516}
516#endif 517#endif
517 518
@@ -580,8 +581,10 @@ ERR_get_state(void)
580 ERR_STATE_free(ret); /* could not insert it */ 581 ERR_STATE_free(ret); /* could not insert it */
581 return (&fallback); 582 return (&fallback);
582 } 583 }
583 /* If a race occurred in this function and we came second, tmpp 584 /*
584 * is the first one that we just replaced. */ 585 * If a race occurred in this function and we came second,
586 * tmpp is the first one that we just replaced.
587 */
585 if (tmpp) 588 if (tmpp)
586 ERR_STATE_free(tmpp); 589 ERR_STATE_free(tmpp);
587 } 590 }
@@ -758,8 +761,11 @@ ERR_remove_thread_state(const CRYPTO_THREADID *id)
758 CRYPTO_THREADID_cpy(&tmp.tid, id); 761 CRYPTO_THREADID_cpy(&tmp.tid, id);
759 else 762 else
760 CRYPTO_THREADID_current(&tmp.tid); 763 CRYPTO_THREADID_current(&tmp.tid);
761 /* err_thread_del_item automatically destroys the LHASH if the number of 764
762 * items reaches zero. */ 765 /*
766 * err_thread_del_item automatically destroys the LHASH if the number of
767 * items reaches zero.
768 */
763 err_thread_del_item(&tmp); 769 err_thread_del_item(&tmp);
764} 770}
765LCRYPTO_ALIAS(ERR_remove_thread_state); 771LCRYPTO_ALIAS(ERR_remove_thread_state);
@@ -1047,8 +1053,10 @@ ERR_error_string_n(unsigned long e, char *buf, size_t len)
1047 if (ret == -1) 1053 if (ret == -1)
1048 return; /* can't happen, and can't do better if it does */ 1054 return; /* can't happen, and can't do better if it does */
1049 if (ret >= len) { 1055 if (ret >= len) {
1050 /* output may be truncated; make sure we always have 5 1056 /*
1051 * colon-separated fields, i.e. 4 colons ... */ 1057 * output may be truncated; make sure we always have 5
1058 * colon-separated fields, i.e. 4 colons ...
1059 */
1052#define NUM_COLONS 4 1060#define NUM_COLONS 4
1053 if (len > NUM_COLONS) /* ... if possible */ 1061 if (len > NUM_COLONS) /* ... if possible */
1054 { 1062 {
@@ -1071,9 +1079,12 @@ ERR_error_string_n(unsigned long e, char *buf, size_t len)
1071} 1079}
1072LCRYPTO_ALIAS(ERR_error_string_n); 1080LCRYPTO_ALIAS(ERR_error_string_n);
1073 1081
1074/* BAD for multi-threading: uses a local buffer if ret == NULL */ 1082/*
1075/* ERR_error_string_n should be used instead for ret != NULL 1083 * ERR_error_string_n should be used instead for ret != NULL
1076 * as ERR_error_string cannot know how large the buffer is */ 1084 * as ERR_error_string cannot know how large the buffer is.
1085 *
1086 * BAD for multi-threading: uses a local buffer if ret == NULL.
1087 */
1077char * 1088char *
1078ERR_error_string(unsigned long e, char *ret) 1089ERR_error_string(unsigned long e, char *ret)
1079{ 1090{