diff options
author | markus <> | 2004-04-07 20:42:07 +0000 |
---|---|---|
committer | markus <> | 2004-04-07 20:42:07 +0000 |
commit | 58c08aa241f168c84ce7cc3052454ea59a44eada (patch) | |
tree | 1806747a3fda66041a998ca63c763fdcf722450e /src/lib/libcrypto/x509v3 | |
parent | 9c1aa44a1eacea897c0432e796b205b8484ff4d2 (diff) | |
download | openbsd-58c08aa241f168c84ce7cc3052454ea59a44eada.tar.gz openbsd-58c08aa241f168c84ce7cc3052454ea59a44eada.tar.bz2 openbsd-58c08aa241f168c84ce7cc3052454ea59a44eada.zip |
import openssl-0.9.7d
Diffstat (limited to 'src/lib/libcrypto/x509v3')
-rw-r--r-- | src/lib/libcrypto/x509v3/v3_alt.c | 3 | ||||
-rw-r--r-- | src/lib/libcrypto/x509v3/v3_crld.c | 2 | ||||
-rw-r--r-- | src/lib/libcrypto/x509v3/v3_info.c | 11 | ||||
-rw-r--r-- | src/lib/libcrypto/x509v3/v3_purp.c | 5 |
4 files changed, 12 insertions, 9 deletions
diff --git a/src/lib/libcrypto/x509v3/v3_alt.c b/src/lib/libcrypto/x509v3/v3_alt.c index 0e9e7dcb4f..58b935a3b6 100644 --- a/src/lib/libcrypto/x509v3/v3_alt.c +++ b/src/lib/libcrypto/x509v3/v3_alt.c | |||
@@ -137,7 +137,8 @@ STACK_OF(CONF_VALUE) *i2v_GENERAL_NAME(X509V3_EXT_METHOD *method, | |||
137 | X509V3_add_value("IP Address","<invalid>", &ret); | 137 | X509V3_add_value("IP Address","<invalid>", &ret); |
138 | break; | 138 | break; |
139 | } | 139 | } |
140 | sprintf(oline, "%d.%d.%d.%d", p[0], p[1], p[2], p[3]); | 140 | BIO_snprintf(oline, sizeof oline, |
141 | "%d.%d.%d.%d", p[0], p[1], p[2], p[3]); | ||
141 | X509V3_add_value("IP Address",oline, &ret); | 142 | X509V3_add_value("IP Address",oline, &ret); |
142 | break; | 143 | break; |
143 | 144 | ||
diff --git a/src/lib/libcrypto/x509v3/v3_crld.c b/src/lib/libcrypto/x509v3/v3_crld.c index 894a8b94d8..f90829c574 100644 --- a/src/lib/libcrypto/x509v3/v3_crld.c +++ b/src/lib/libcrypto/x509v3/v3_crld.c | |||
@@ -156,7 +156,7 @@ ASN1_SEQUENCE(DIST_POINT) = { | |||
156 | IMPLEMENT_ASN1_FUNCTIONS(DIST_POINT) | 156 | IMPLEMENT_ASN1_FUNCTIONS(DIST_POINT) |
157 | 157 | ||
158 | ASN1_ITEM_TEMPLATE(CRL_DIST_POINTS) = | 158 | ASN1_ITEM_TEMPLATE(CRL_DIST_POINTS) = |
159 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, DIST_POINT, DIST_POINT) | 159 | ASN1_EX_TEMPLATE_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, CRLDistributionPoints, DIST_POINT) |
160 | ASN1_ITEM_TEMPLATE_END(CRL_DIST_POINTS) | 160 | ASN1_ITEM_TEMPLATE_END(CRL_DIST_POINTS) |
161 | 161 | ||
162 | IMPLEMENT_ASN1_FUNCTIONS(CRL_DIST_POINTS) | 162 | IMPLEMENT_ASN1_FUNCTIONS(CRL_DIST_POINTS) |
diff --git a/src/lib/libcrypto/x509v3/v3_info.c b/src/lib/libcrypto/x509v3/v3_info.c index e269df1373..53e3f48859 100644 --- a/src/lib/libcrypto/x509v3/v3_info.c +++ b/src/lib/libcrypto/x509v3/v3_info.c | |||
@@ -105,7 +105,7 @@ static STACK_OF(CONF_VALUE) *i2v_AUTHORITY_INFO_ACCESS(X509V3_EXT_METHOD *method | |||
105 | STACK_OF(CONF_VALUE) *ret) | 105 | STACK_OF(CONF_VALUE) *ret) |
106 | { | 106 | { |
107 | ACCESS_DESCRIPTION *desc; | 107 | ACCESS_DESCRIPTION *desc; |
108 | int i; | 108 | int i,nlen; |
109 | char objtmp[80], *ntmp; | 109 | char objtmp[80], *ntmp; |
110 | CONF_VALUE *vtmp; | 110 | CONF_VALUE *vtmp; |
111 | for(i = 0; i < sk_ACCESS_DESCRIPTION_num(ainfo); i++) { | 111 | for(i = 0; i < sk_ACCESS_DESCRIPTION_num(ainfo); i++) { |
@@ -114,15 +114,16 @@ static STACK_OF(CONF_VALUE) *i2v_AUTHORITY_INFO_ACCESS(X509V3_EXT_METHOD *method | |||
114 | if(!ret) break; | 114 | if(!ret) break; |
115 | vtmp = sk_CONF_VALUE_value(ret, i); | 115 | vtmp = sk_CONF_VALUE_value(ret, i); |
116 | i2t_ASN1_OBJECT(objtmp, sizeof objtmp, desc->method); | 116 | i2t_ASN1_OBJECT(objtmp, sizeof objtmp, desc->method); |
117 | ntmp = OPENSSL_malloc(strlen(objtmp) + strlen(vtmp->name) + 5); | 117 | nlen = strlen(objtmp) + strlen(vtmp->name) + 5; |
118 | ntmp = OPENSSL_malloc(nlen); | ||
118 | if(!ntmp) { | 119 | if(!ntmp) { |
119 | X509V3err(X509V3_F_I2V_AUTHORITY_INFO_ACCESS, | 120 | X509V3err(X509V3_F_I2V_AUTHORITY_INFO_ACCESS, |
120 | ERR_R_MALLOC_FAILURE); | 121 | ERR_R_MALLOC_FAILURE); |
121 | return NULL; | 122 | return NULL; |
122 | } | 123 | } |
123 | strcpy(ntmp, objtmp); | 124 | BUF_strlcpy(ntmp, objtmp, nlen); |
124 | strcat(ntmp, " - "); | 125 | BUF_strlcat(ntmp, " - ", nlen); |
125 | strcat(ntmp, vtmp->name); | 126 | BUF_strlcat(ntmp, vtmp->name, nlen); |
126 | OPENSSL_free(vtmp->name); | 127 | OPENSSL_free(vtmp->name); |
127 | vtmp->name = ntmp; | 128 | vtmp->name = ntmp; |
128 | 129 | ||
diff --git a/src/lib/libcrypto/x509v3/v3_purp.c b/src/lib/libcrypto/x509v3/v3_purp.c index 4d145f71fd..b3d1ae5d1c 100644 --- a/src/lib/libcrypto/x509v3/v3_purp.c +++ b/src/lib/libcrypto/x509v3/v3_purp.c | |||
@@ -3,7 +3,7 @@ | |||
3 | * project 2001. | 3 | * project 2001. |
4 | */ | 4 | */ |
5 | /* ==================================================================== | 5 | /* ==================================================================== |
6 | * Copyright (c) 1999-2001 The OpenSSL Project. All rights reserved. | 6 | * Copyright (c) 1999-2004 The OpenSSL Project. All rights reserved. |
7 | * | 7 | * |
8 | * Redistribution and use in source and binary forms, with or without | 8 | * Redistribution and use in source and binary forms, with or without |
9 | * modification, are permitted provided that the following conditions | 9 | * modification, are permitted provided that the following conditions |
@@ -415,6 +415,7 @@ static void x509v3_cache_extensions(X509 *x) | |||
415 | * 1 is a CA | 415 | * 1 is a CA |
416 | * 2 basicConstraints absent so "maybe" a CA | 416 | * 2 basicConstraints absent so "maybe" a CA |
417 | * 3 basicConstraints absent but self signed V1. | 417 | * 3 basicConstraints absent but self signed V1. |
418 | * 4 basicConstraints absent but keyUsage present and keyCertSign asserted. | ||
418 | */ | 419 | */ |
419 | 420 | ||
420 | #define V1_ROOT (EXFLAG_V1|EXFLAG_SS) | 421 | #define V1_ROOT (EXFLAG_V1|EXFLAG_SS) |
@@ -436,7 +437,7 @@ static int ca_check(const X509 *x) | |||
436 | } else { | 437 | } else { |
437 | if((x->ex_flags & V1_ROOT) == V1_ROOT) return 3; | 438 | if((x->ex_flags & V1_ROOT) == V1_ROOT) return 3; |
438 | /* If key usage present it must have certSign so tolerate it */ | 439 | /* If key usage present it must have certSign so tolerate it */ |
439 | else if (x->ex_flags & EXFLAG_KUSAGE) return 3; | 440 | else if (x->ex_flags & EXFLAG_KUSAGE) return 4; |
440 | else return 2; | 441 | else return 2; |
441 | } | 442 | } |
442 | } | 443 | } |