summaryrefslogtreecommitdiffstats
path: root/crypto/x509v3/v3_crld.c
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2000-01-07 02:23:42 +0000
committerDr. Stephen Henson <steve@openssl.org>2000-01-07 02:23:42 +0000
commitfc6be0fa561f17d237ab1b8801d476a011c14a28 (patch)
treeea0621fe4d466abae815b26208bff3cafe1669f3 /crypto/x509v3/v3_crld.c
parent2fdf5d7c2354b76bcc429b5f2c582a580e12d50d (diff)
#undef PKCS7_SIGNER_INFO for Win32 to avoid clashes.
Fix so CRLDistributionPoints relativeName option uses the correct type.
Diffstat (limited to 'crypto/x509v3/v3_crld.c')
-rw-r--r--crypto/x509v3/v3_crld.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/crypto/x509v3/v3_crld.c b/crypto/x509v3/v3_crld.c
index d0cbb949fa..3221c19754 100644
--- a/crypto/x509v3/v3_crld.c
+++ b/crypto/x509v3/v3_crld.c
@@ -218,13 +218,13 @@ void DIST_POINT_free(DIST_POINT *a)
int i2d_DIST_POINT_NAME(DIST_POINT_NAME *a, unsigned char **pp)
{
- int v = 0;
M_ASN1_I2D_vars(a);
if(a->fullname) {
M_ASN1_I2D_len_IMP_opt (a->fullname, i2d_GENERAL_NAMES);
} else {
- M_ASN1_I2D_len_EXP_opt (a->relativename, i2d_X509_NAME, 1, v);
+ M_ASN1_I2D_len_IMP_SET_opt_type(X509_NAME_ENTRY,
+ a->relativename, i2d_X509_NAME_ENTRY, 1);
}
/* Don't want a SEQUENCE so... */
@@ -234,7 +234,8 @@ int i2d_DIST_POINT_NAME(DIST_POINT_NAME *a, unsigned char **pp)
if(a->fullname) {
M_ASN1_I2D_put_IMP_opt (a->fullname, i2d_GENERAL_NAMES, 0);
} else {
- M_ASN1_I2D_put_EXP_opt (a->relativename, i2d_X509_NAME, 1, v);
+ M_ASN1_I2D_put_IMP_SET_opt_type(X509_NAME_ENTRY,
+ a->relativename, i2d_X509_NAME_ENTRY, 1);
}
M_ASN1_I2D_finish();
}
@@ -253,7 +254,7 @@ DIST_POINT_NAME *DIST_POINT_NAME_new(void)
void DIST_POINT_NAME_free(DIST_POINT_NAME *a)
{
if (a == NULL) return;
- X509_NAME_free(a->relativename);
+ sk_X509_NAME_ENTRY_pop_free(a->relativename, X509_NAME_ENTRY_free);
sk_GENERAL_NAME_pop_free(a->fullname, GENERAL_NAME_free);
Free ((char *)a);
}
@@ -273,7 +274,8 @@ DIST_POINT_NAME *d2i_DIST_POINT_NAME(DIST_POINT_NAME **a, unsigned char **pp,
M_ASN1_D2I_get_imp(ret->fullname, d2i_GENERAL_NAMES,
V_ASN1_SEQUENCE);
} else if (tag == (1|V_ASN1_CONTEXT_SPECIFIC)) {
- M_ASN1_D2I_get_EXP_opt (ret->relativename, d2i_X509_NAME, 1);
+ M_ASN1_D2I_get_IMP_set_opt_type (X509_NAME_ENTRY,
+ ret->relativename, d2i_X509_NAME_ENTRY, X509_NAME_ENTRY_free, 1);
} else {
c.error = ASN1_R_BAD_TAG;
goto err;