diff options
Diffstat (limited to 'src/lib/libcrypto/x509/x509_utl.c')
-rw-r--r-- | src/lib/libcrypto/x509/x509_utl.c | 28 |
1 files changed, 27 insertions, 1 deletions
diff --git a/src/lib/libcrypto/x509/x509_utl.c b/src/lib/libcrypto/x509/x509_utl.c index 47b25fe6c4..525939d4ca 100644 --- a/src/lib/libcrypto/x509/x509_utl.c +++ b/src/lib/libcrypto/x509/x509_utl.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x509_utl.c,v 1.3 2022/05/20 07:58:54 tb Exp $ */ | 1 | /* $OpenBSD: x509_utl.c,v 1.4 2022/11/14 17:48:50 beck Exp $ */ |
2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL | 2 | /* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL |
3 | * project. | 3 | * project. |
4 | */ | 4 | */ |
@@ -117,6 +117,7 @@ X509V3_add_value(const char *name, const char *value, | |||
117 | } | 117 | } |
118 | return 0; | 118 | return 0; |
119 | } | 119 | } |
120 | LCRYPTO_ALIAS(X509V3_add_value) | ||
120 | 121 | ||
121 | int | 122 | int |
122 | X509V3_add_value_uchar(const char *name, const unsigned char *value, | 123 | X509V3_add_value_uchar(const char *name, const unsigned char *value, |
@@ -124,6 +125,7 @@ X509V3_add_value_uchar(const char *name, const unsigned char *value, | |||
124 | { | 125 | { |
125 | return X509V3_add_value(name, (const char *)value, extlist); | 126 | return X509V3_add_value(name, (const char *)value, extlist); |
126 | } | 127 | } |
128 | LCRYPTO_ALIAS(X509V3_add_value_uchar) | ||
127 | 129 | ||
128 | /* Free function for STACK_OF(CONF_VALUE) */ | 130 | /* Free function for STACK_OF(CONF_VALUE) */ |
129 | 131 | ||
@@ -137,6 +139,7 @@ X509V3_conf_free(CONF_VALUE *conf) | |||
137 | free(conf->section); | 139 | free(conf->section); |
138 | free(conf); | 140 | free(conf); |
139 | } | 141 | } |
142 | LCRYPTO_ALIAS(X509V3_conf_free) | ||
140 | 143 | ||
141 | int | 144 | int |
142 | X509V3_add_value_bool(const char *name, int asn1_bool, | 145 | X509V3_add_value_bool(const char *name, int asn1_bool, |
@@ -146,6 +149,7 @@ X509V3_add_value_bool(const char *name, int asn1_bool, | |||
146 | return X509V3_add_value(name, "TRUE", extlist); | 149 | return X509V3_add_value(name, "TRUE", extlist); |
147 | return X509V3_add_value(name, "FALSE", extlist); | 150 | return X509V3_add_value(name, "FALSE", extlist); |
148 | } | 151 | } |
152 | LCRYPTO_ALIAS(X509V3_add_value_bool) | ||
149 | 153 | ||
150 | int | 154 | int |
151 | X509V3_add_value_bool_nf(const char *name, int asn1_bool, | 155 | X509V3_add_value_bool_nf(const char *name, int asn1_bool, |
@@ -155,6 +159,7 @@ X509V3_add_value_bool_nf(const char *name, int asn1_bool, | |||
155 | return X509V3_add_value(name, "TRUE", extlist); | 159 | return X509V3_add_value(name, "TRUE", extlist); |
156 | return 1; | 160 | return 1; |
157 | } | 161 | } |
162 | LCRYPTO_ALIAS(X509V3_add_value_bool_nf) | ||
158 | 163 | ||
159 | char * | 164 | char * |
160 | bn_to_string(const BIGNUM *bn) | 165 | bn_to_string(const BIGNUM *bn) |
@@ -197,6 +202,7 @@ i2s_ASN1_ENUMERATED(X509V3_EXT_METHOD *method, const ASN1_ENUMERATED *a) | |||
197 | BN_free(bntmp); | 202 | BN_free(bntmp); |
198 | return strtmp; | 203 | return strtmp; |
199 | } | 204 | } |
205 | LCRYPTO_ALIAS(i2s_ASN1_ENUMERATED) | ||
200 | 206 | ||
201 | char * | 207 | char * |
202 | i2s_ASN1_INTEGER(X509V3_EXT_METHOD *method, const ASN1_INTEGER *a) | 208 | i2s_ASN1_INTEGER(X509V3_EXT_METHOD *method, const ASN1_INTEGER *a) |
@@ -212,6 +218,7 @@ i2s_ASN1_INTEGER(X509V3_EXT_METHOD *method, const ASN1_INTEGER *a) | |||
212 | BN_free(bntmp); | 218 | BN_free(bntmp); |
213 | return strtmp; | 219 | return strtmp; |
214 | } | 220 | } |
221 | LCRYPTO_ALIAS(i2s_ASN1_INTEGER) | ||
215 | 222 | ||
216 | ASN1_INTEGER * | 223 | ASN1_INTEGER * |
217 | s2i_ASN1_INTEGER(X509V3_EXT_METHOD *method, const char *value) | 224 | s2i_ASN1_INTEGER(X509V3_EXT_METHOD *method, const char *value) |
@@ -262,6 +269,7 @@ s2i_ASN1_INTEGER(X509V3_EXT_METHOD *method, const char *value) | |||
262 | aint->type |= V_ASN1_NEG; | 269 | aint->type |= V_ASN1_NEG; |
263 | return aint; | 270 | return aint; |
264 | } | 271 | } |
272 | LCRYPTO_ALIAS(s2i_ASN1_INTEGER) | ||
265 | 273 | ||
266 | int | 274 | int |
267 | X509V3_add_value_int(const char *name, const ASN1_INTEGER *aint, | 275 | X509V3_add_value_int(const char *name, const ASN1_INTEGER *aint, |
@@ -278,6 +286,7 @@ X509V3_add_value_int(const char *name, const ASN1_INTEGER *aint, | |||
278 | free(strtmp); | 286 | free(strtmp); |
279 | return ret; | 287 | return ret; |
280 | } | 288 | } |
289 | LCRYPTO_ALIAS(X509V3_add_value_int) | ||
281 | 290 | ||
282 | int | 291 | int |
283 | X509V3_get_value_bool(const CONF_VALUE *value, int *asn1_bool) | 292 | X509V3_get_value_bool(const CONF_VALUE *value, int *asn1_bool) |
@@ -303,6 +312,7 @@ X509V3_get_value_bool(const CONF_VALUE *value, int *asn1_bool) | |||
303 | X509V3_conf_err(value); | 312 | X509V3_conf_err(value); |
304 | return 0; | 313 | return 0; |
305 | } | 314 | } |
315 | LCRYPTO_ALIAS(X509V3_get_value_bool) | ||
306 | 316 | ||
307 | int | 317 | int |
308 | X509V3_get_value_int(const CONF_VALUE *value, ASN1_INTEGER **aint) | 318 | X509V3_get_value_int(const CONF_VALUE *value, ASN1_INTEGER **aint) |
@@ -316,6 +326,7 @@ X509V3_get_value_int(const CONF_VALUE *value, ASN1_INTEGER **aint) | |||
316 | *aint = itmp; | 326 | *aint = itmp; |
317 | return 1; | 327 | return 1; |
318 | } | 328 | } |
329 | LCRYPTO_ALIAS(X509V3_get_value_int) | ||
319 | 330 | ||
320 | #define HDR_NAME 1 | 331 | #define HDR_NAME 1 |
321 | #define HDR_VALUE 2 | 332 | #define HDR_VALUE 2 |
@@ -407,6 +418,7 @@ X509V3_parse_list(const char *line) | |||
407 | return NULL; | 418 | return NULL; |
408 | 419 | ||
409 | } | 420 | } |
421 | LCRYPTO_ALIAS(X509V3_parse_list) | ||
410 | 422 | ||
411 | /* Delete leading and trailing spaces from a string */ | 423 | /* Delete leading and trailing spaces from a string */ |
412 | static char * | 424 | static char * |
@@ -458,6 +470,7 @@ hex_to_string(const unsigned char *buffer, long len) | |||
458 | q[-1] = 0; | 470 | q[-1] = 0; |
459 | return tmp; | 471 | return tmp; |
460 | } | 472 | } |
473 | LCRYPTO_ALIAS(hex_to_string) | ||
461 | 474 | ||
462 | /* Give a string of hex digits convert to | 475 | /* Give a string of hex digits convert to |
463 | * a buffer | 476 | * a buffer |
@@ -519,6 +532,7 @@ string_to_hex(const char *str, long *len) | |||
519 | X509V3error(X509V3_R_ILLEGAL_HEX_DIGIT); | 532 | X509V3error(X509V3_R_ILLEGAL_HEX_DIGIT); |
520 | return NULL; | 533 | return NULL; |
521 | } | 534 | } |
535 | LCRYPTO_ALIAS(string_to_hex) | ||
522 | 536 | ||
523 | /* V2I name comparison function: returns zero if 'name' matches | 537 | /* V2I name comparison function: returns zero if 'name' matches |
524 | * cmp or cmp.* | 538 | * cmp or cmp.* |
@@ -556,6 +570,7 @@ X509_get1_email(X509 *x) | |||
556 | sk_GENERAL_NAME_pop_free(gens, GENERAL_NAME_free); | 570 | sk_GENERAL_NAME_pop_free(gens, GENERAL_NAME_free); |
557 | return ret; | 571 | return ret; |
558 | } | 572 | } |
573 | LCRYPTO_ALIAS(X509_get1_email) | ||
559 | 574 | ||
560 | STACK_OF(OPENSSL_STRING) * | 575 | STACK_OF(OPENSSL_STRING) * |
561 | X509_get1_ocsp(X509 *x) | 576 | X509_get1_ocsp(X509 *x) |
@@ -580,6 +595,7 @@ X509_get1_ocsp(X509 *x) | |||
580 | AUTHORITY_INFO_ACCESS_free(info); | 595 | AUTHORITY_INFO_ACCESS_free(info); |
581 | return ret; | 596 | return ret; |
582 | } | 597 | } |
598 | LCRYPTO_ALIAS(X509_get1_ocsp) | ||
583 | 599 | ||
584 | STACK_OF(OPENSSL_STRING) * | 600 | STACK_OF(OPENSSL_STRING) * |
585 | X509_REQ_get1_email(X509_REQ *x) | 601 | X509_REQ_get1_email(X509_REQ *x) |
@@ -595,6 +611,7 @@ X509_REQ_get1_email(X509_REQ *x) | |||
595 | sk_X509_EXTENSION_pop_free(exts, X509_EXTENSION_free); | 611 | sk_X509_EXTENSION_pop_free(exts, X509_EXTENSION_free); |
596 | return ret; | 612 | return ret; |
597 | } | 613 | } |
614 | LCRYPTO_ALIAS(X509_REQ_get1_email) | ||
598 | 615 | ||
599 | 616 | ||
600 | static STACK_OF(OPENSSL_STRING) * | 617 | static STACK_OF(OPENSSL_STRING) * |
@@ -664,6 +681,7 @@ X509_email_free(STACK_OF(OPENSSL_STRING) *sk) | |||
664 | { | 681 | { |
665 | sk_OPENSSL_STRING_pop_free(sk, str_free); | 682 | sk_OPENSSL_STRING_pop_free(sk, str_free); |
666 | } | 683 | } |
684 | LCRYPTO_ALIAS(X509_email_free) | ||
667 | 685 | ||
668 | typedef int (*equal_fn)(const unsigned char *pattern, size_t pattern_len, | 686 | typedef int (*equal_fn)(const unsigned char *pattern, size_t pattern_len, |
669 | const unsigned char *subject, size_t subject_len, unsigned int flags); | 687 | const unsigned char *subject, size_t subject_len, unsigned int flags); |
@@ -1065,6 +1083,7 @@ X509_check_host(X509 *x, const char *chk, size_t chklen, unsigned int flags, | |||
1065 | return -2; | 1083 | return -2; |
1066 | return do_x509_check(x, chk, chklen, flags, GEN_DNS, peername); | 1084 | return do_x509_check(x, chk, chklen, flags, GEN_DNS, peername); |
1067 | } | 1085 | } |
1086 | LCRYPTO_ALIAS(X509_check_host) | ||
1068 | 1087 | ||
1069 | int | 1088 | int |
1070 | X509_check_email(X509 *x, const char *chk, size_t chklen, unsigned int flags) | 1089 | X509_check_email(X509 *x, const char *chk, size_t chklen, unsigned int flags) |
@@ -1077,6 +1096,7 @@ X509_check_email(X509 *x, const char *chk, size_t chklen, unsigned int flags) | |||
1077 | return -2; | 1096 | return -2; |
1078 | return do_x509_check(x, chk, chklen, flags, GEN_EMAIL, NULL); | 1097 | return do_x509_check(x, chk, chklen, flags, GEN_EMAIL, NULL); |
1079 | } | 1098 | } |
1099 | LCRYPTO_ALIAS(X509_check_email) | ||
1080 | 1100 | ||
1081 | int | 1101 | int |
1082 | X509_check_ip(X509 *x, const unsigned char *chk, size_t chklen, | 1102 | X509_check_ip(X509 *x, const unsigned char *chk, size_t chklen, |
@@ -1086,6 +1106,7 @@ X509_check_ip(X509 *x, const unsigned char *chk, size_t chklen, | |||
1086 | return -2; | 1106 | return -2; |
1087 | return do_x509_check(x, (char *)chk, chklen, flags, GEN_IPADD, NULL); | 1107 | return do_x509_check(x, (char *)chk, chklen, flags, GEN_IPADD, NULL); |
1088 | } | 1108 | } |
1109 | LCRYPTO_ALIAS(X509_check_ip) | ||
1089 | 1110 | ||
1090 | int | 1111 | int |
1091 | X509_check_ip_asc(X509 *x, const char *ipasc, unsigned int flags) | 1112 | X509_check_ip_asc(X509 *x, const char *ipasc, unsigned int flags) |
@@ -1100,6 +1121,7 @@ X509_check_ip_asc(X509 *x, const char *ipasc, unsigned int flags) | |||
1100 | return -2; | 1121 | return -2; |
1101 | return do_x509_check(x, (char *)ipout, iplen, flags, GEN_IPADD, NULL); | 1122 | return do_x509_check(x, (char *)ipout, iplen, flags, GEN_IPADD, NULL); |
1102 | } | 1123 | } |
1124 | LCRYPTO_ALIAS(X509_check_ip_asc) | ||
1103 | 1125 | ||
1104 | /* Convert IP addresses both IPv4 and IPv6 into an | 1126 | /* Convert IP addresses both IPv4 and IPv6 into an |
1105 | * OCTET STRING compatible with RFC3280. | 1127 | * OCTET STRING compatible with RFC3280. |
@@ -1128,6 +1150,7 @@ a2i_IPADDRESS(const char *ipasc) | |||
1128 | } | 1150 | } |
1129 | return ret; | 1151 | return ret; |
1130 | } | 1152 | } |
1153 | LCRYPTO_ALIAS(a2i_IPADDRESS) | ||
1131 | 1154 | ||
1132 | ASN1_OCTET_STRING * | 1155 | ASN1_OCTET_STRING * |
1133 | a2i_IPADDRESS_NC(const char *ipasc) | 1156 | a2i_IPADDRESS_NC(const char *ipasc) |
@@ -1173,6 +1196,7 @@ a2i_IPADDRESS_NC(const char *ipasc) | |||
1173 | ASN1_OCTET_STRING_free(ret); | 1196 | ASN1_OCTET_STRING_free(ret); |
1174 | return NULL; | 1197 | return NULL; |
1175 | } | 1198 | } |
1199 | LCRYPTO_ALIAS(a2i_IPADDRESS_NC) | ||
1176 | 1200 | ||
1177 | 1201 | ||
1178 | int | 1202 | int |
@@ -1190,6 +1214,7 @@ a2i_ipadd(unsigned char *ipout, const char *ipasc) | |||
1190 | return 4; | 1214 | return 4; |
1191 | } | 1215 | } |
1192 | } | 1216 | } |
1217 | LCRYPTO_ALIAS(a2i_ipadd) | ||
1193 | 1218 | ||
1194 | static int | 1219 | static int |
1195 | ipv4_from_asc(unsigned char *v4, const char *in) | 1220 | ipv4_from_asc(unsigned char *v4, const char *in) |
@@ -1386,3 +1411,4 @@ X509V3_NAME_from_section(X509_NAME *nm, STACK_OF(CONF_VALUE)*dn_sk, | |||
1386 | } | 1411 | } |
1387 | return 1; | 1412 | return 1; |
1388 | } | 1413 | } |
1414 | LCRYPTO_ALIAS(X509V3_NAME_from_section) | ||