X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=crypto%2Fx509v3%2Fv3_alt.c;h=f0f64d76a32391b44c96e3d211a212ce5dcea463;hb=703126f027b62b382379d276cd1cf8b174aa5d23;hp=e9bfad80255a824a00b33edb1c69b5cdc142f9b2;hpb=f5fedc0497ef4a7b4d60d404f9b37020967eab94;p=oweals%2Fopenssl.git diff --git a/crypto/x509v3/v3_alt.c b/crypto/x509v3/v3_alt.c index e9bfad8025..f0f64d76a3 100644 --- a/crypto/x509v3/v3_alt.c +++ b/crypto/x509v3/v3_alt.c @@ -58,21 +58,13 @@ #include #include "cryptlib.h" -#include "conf.h" -#include "x509v3.h" +#include +#include -#ifndef NOPROTO static STACK_OF(GENERAL_NAME) *v2i_subject_alt(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK *nval); static STACK_OF(GENERAL_NAME) *v2i_issuer_alt(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK *nval); static int copy_email(X509V3_CTX *ctx, STACK_OF(GENERAL_NAME) *gens); static int copy_issuer(X509V3_CTX *ctx, STACK_OF(GENERAL_NAME) *gens); -#else -static STACK *v2i_issuer_alt(); -static STACK *v2i_subject_alt(); -static int copy_email(); -static int copy_issuer(); -#endif - X509V3_EXT_METHOD v3_alt[] = { { NID_subject_alt_name, 0, (X509V3_EXT_NEW)GENERAL_NAMES_new, @@ -104,6 +96,7 @@ STACK *i2v_GENERAL_NAMES(X509V3_EXT_METHOD *method, gen = sk_GENERAL_NAME_value(gens, i); ret = i2v_GENERAL_NAME(method, gen, ret); } + if(!ret) return sk_new_null(); return ret; } @@ -127,15 +120,15 @@ STACK *i2v_GENERAL_NAME(X509V3_EXT_METHOD *method, GENERAL_NAME *gen, break; case GEN_EMAIL: - X509V3_add_value("email",gen->d.ia5->data, &ret); + X509V3_add_value_uchar("email",gen->d.ia5->data, &ret); break; case GEN_DNS: - X509V3_add_value("DNS",gen->d.ia5->data, &ret); + X509V3_add_value_uchar("DNS",gen->d.ia5->data, &ret); break; case GEN_URI: - X509V3_add_value("URI",gen->d.ia5->data, &ret); + X509V3_add_value_uchar("URI",gen->d.ia5->data, &ret); break; case GEN_DIRNAME: @@ -392,7 +385,8 @@ if(!name_cmp(name, "email")) { if(is_string) { if(!(gen->d.ia5 = ASN1_IA5STRING_new()) || - !ASN1_STRING_set(gen->d.ia5, value, strlen(value))) { + !ASN1_STRING_set(gen->d.ia5, (unsigned char*)value, + strlen(value))) { X509V3err(X509V3_F_V2I_GENERAL_NAME,ERR_R_MALLOC_FAILURE); goto err; }