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) | ||
