| Index: openssl/crypto/x509v3/v3_utl.c
|
| ===================================================================
|
| --- openssl/crypto/x509v3/v3_utl.c (revision 105093)
|
| +++ openssl/crypto/x509v3/v3_utl.c (working copy)
|
| @@ -67,9 +67,9 @@
|
|
|
| static char *strip_spaces(char *name);
|
| static int sk_strcmp(const char * const *a, const char * const *b);
|
| -static STACK *get_email(X509_NAME *name, GENERAL_NAMES *gens);
|
| -static void str_free(void *str);
|
| -static int append_ia5(STACK **sk, ASN1_IA5STRING *email);
|
| +static STACK_OF(OPENSSL_STRING) *get_email(X509_NAME *name, GENERAL_NAMES *gens);
|
| +static void str_free(OPENSSL_STRING str);
|
| +static int append_ia5(STACK_OF(OPENSSL_STRING) **sk, ASN1_IA5STRING *email);
|
|
|
| static int ipv4_from_asc(unsigned char *v4, const char *in);
|
| static int ipv6_from_asc(unsigned char *v6, const char *in);
|
| @@ -360,10 +360,10 @@
|
| * @@@ (Contents of buffer are always kept in ASCII, also on EBCDIC machines)
|
| */
|
|
|
| -char *hex_to_string(unsigned char *buffer, long len)
|
| +char *hex_to_string(const unsigned char *buffer, long len)
|
| {
|
| char *tmp, *q;
|
| - unsigned char *p;
|
| + const unsigned char *p;
|
| int i;
|
| const static char hexdig[] = "0123456789ABCDEF";
|
| if(!buffer || !len) return NULL;
|
| @@ -389,7 +389,7 @@
|
| * a buffer
|
| */
|
|
|
| -unsigned char *string_to_hex(char *str, long *len)
|
| +unsigned char *string_to_hex(const char *str, long *len)
|
| {
|
| unsigned char *hexbuf, *q;
|
| unsigned char ch, cl, *p;
|
| @@ -463,21 +463,23 @@
|
| return strcmp(*a, *b);
|
| }
|
|
|
| -STACK *X509_get1_email(X509 *x)
|
| +STACK_OF(OPENSSL_STRING) *X509_get1_email(X509 *x)
|
| {
|
| GENERAL_NAMES *gens;
|
| - STACK *ret;
|
| + STACK_OF(OPENSSL_STRING) *ret;
|
| +
|
| gens = X509_get_ext_d2i(x, NID_subject_alt_name, NULL, NULL);
|
| ret = get_email(X509_get_subject_name(x), gens);
|
| sk_GENERAL_NAME_pop_free(gens, GENERAL_NAME_free);
|
| return ret;
|
| }
|
|
|
| -STACK *X509_get1_ocsp(X509 *x)
|
| +STACK_OF(OPENSSL_STRING) *X509_get1_ocsp(X509 *x)
|
| {
|
| AUTHORITY_INFO_ACCESS *info;
|
| - STACK *ret = NULL;
|
| + STACK_OF(OPENSSL_STRING) *ret = NULL;
|
| int i;
|
| +
|
| info = X509_get_ext_d2i(x, NID_info_access, NULL, NULL);
|
| if (!info)
|
| return NULL;
|
| @@ -497,11 +499,12 @@
|
| return ret;
|
| }
|
|
|
| -STACK *X509_REQ_get1_email(X509_REQ *x)
|
| +STACK_OF(OPENSSL_STRING) *X509_REQ_get1_email(X509_REQ *x)
|
| {
|
| GENERAL_NAMES *gens;
|
| STACK_OF(X509_EXTENSION) *exts;
|
| - STACK *ret;
|
| + STACK_OF(OPENSSL_STRING) *ret;
|
| +
|
| exts = X509_REQ_get_extensions(x);
|
| gens = X509V3_get_d2i(exts, NID_subject_alt_name, NULL, NULL);
|
| ret = get_email(X509_REQ_get_subject_name(x), gens);
|
| @@ -511,9 +514,9 @@
|
| }
|
|
|
|
|
| -static STACK *get_email(X509_NAME *name, GENERAL_NAMES *gens)
|
| +static STACK_OF(OPENSSL_STRING) *get_email(X509_NAME *name, GENERAL_NAMES *gens)
|
| {
|
| - STACK *ret = NULL;
|
| + STACK_OF(OPENSSL_STRING) *ret = NULL;
|
| X509_NAME_ENTRY *ne;
|
| ASN1_IA5STRING *email;
|
| GENERAL_NAME *gen;
|
| @@ -536,23 +539,23 @@
|
| return ret;
|
| }
|
|
|
| -static void str_free(void *str)
|
| +static void str_free(OPENSSL_STRING str)
|
| {
|
| OPENSSL_free(str);
|
| }
|
|
|
| -static int append_ia5(STACK **sk, ASN1_IA5STRING *email)
|
| +static int append_ia5(STACK_OF(OPENSSL_STRING) **sk, ASN1_IA5STRING *email)
|
| {
|
| char *emtmp;
|
| /* First some sanity checks */
|
| if(email->type != V_ASN1_IA5STRING) return 1;
|
| if(!email->data || !email->length) return 1;
|
| - if(!*sk) *sk = sk_new(sk_strcmp);
|
| + if(!*sk) *sk = sk_OPENSSL_STRING_new(sk_strcmp);
|
| if(!*sk) return 0;
|
| /* Don't add duplicates */
|
| - if(sk_find(*sk, (char *)email->data) != -1) return 1;
|
| + if(sk_OPENSSL_STRING_find(*sk, (char *)email->data) != -1) return 1;
|
| emtmp = BUF_strdup((char *)email->data);
|
| - if(!emtmp || !sk_push(*sk, emtmp)) {
|
| + if(!emtmp || !sk_OPENSSL_STRING_push(*sk, emtmp)) {
|
| X509_email_free(*sk);
|
| *sk = NULL;
|
| return 0;
|
| @@ -560,9 +563,9 @@
|
| return 1;
|
| }
|
|
|
| -void X509_email_free(STACK *sk)
|
| +void X509_email_free(STACK_OF(OPENSSL_STRING) *sk)
|
| {
|
| - sk_pop_free(sk, str_free);
|
| + sk_OPENSSL_STRING_pop_free(sk, str_free);
|
| }
|
|
|
| /* Convert IP addresses both IPv4 and IPv6 into an
|
|
|