From 79a474e8f275fec0548f565efc98b659072e9f99 Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Sat, 6 Mar 1999 02:34:07 +0000 Subject: [PATCH] Add an extra 'raw' function r2i to the extension code. Nothing uses this yet and it is just a place holder for functionality to be added later. Its been added now so the X509V3_EXT_METHOD structure shouldn't (hopefully) have to change after the release. --- crypto/x509v3/v3_akey.c | 2 +- crypto/x509v3/v3_alt.c | 4 ++-- crypto/x509v3/v3_bcons.c | 2 +- crypto/x509v3/v3_enum.c | 2 +- crypto/x509v3/v3_extku.c | 2 +- crypto/x509v3/v3_int.c | 2 +- crypto/x509v3/v3_pku.c | 2 +- crypto/x509v3/v3_skey.c | 2 +- crypto/x509v3/x509v3.h | 10 ++++++---- 9 files changed, 15 insertions(+), 13 deletions(-) diff --git a/crypto/x509v3/v3_akey.c b/crypto/x509v3/v3_akey.c index ab488f936d..8bee98cc18 100644 --- a/crypto/x509v3/v3_akey.c +++ b/crypto/x509v3/v3_akey.c @@ -83,7 +83,7 @@ i2d_AUTHORITY_KEYID, NULL, NULL, (X509V3_EXT_I2V)i2v_AUTHORITY_KEYID, (X509V3_EXT_V2I)v2i_AUTHORITY_KEYID, -NULL, +NULL,NULL, NULL }; diff --git a/crypto/x509v3/v3_alt.c b/crypto/x509v3/v3_alt.c index 7f02dfc6b4..3adf509668 100644 --- a/crypto/x509v3/v3_alt.c +++ b/crypto/x509v3/v3_alt.c @@ -82,7 +82,7 @@ i2d_GENERAL_NAMES, NULL, NULL, (X509V3_EXT_I2V)i2v_GENERAL_NAMES, (X509V3_EXT_V2I)v2i_subject_alt, -NULL, NULL}, +NULL, NULL, NULL}, { NID_issuer_alt_name, 0, (X509V3_EXT_NEW)GENERAL_NAMES_new, GENERAL_NAMES_free, @@ -91,7 +91,7 @@ i2d_GENERAL_NAMES, NULL, NULL, (X509V3_EXT_I2V)i2v_GENERAL_NAMES, (X509V3_EXT_V2I)v2i_issuer_alt, -NULL, NULL}, +NULL, NULL, NULL}, EXT_END }; diff --git a/crypto/x509v3/v3_bcons.c b/crypto/x509v3/v3_bcons.c index 1a33778e01..ddd5a66a20 100644 --- a/crypto/x509v3/v3_bcons.c +++ b/crypto/x509v3/v3_bcons.c @@ -84,7 +84,7 @@ i2d_BASIC_CONSTRAINTS, NULL, NULL, (X509V3_EXT_I2V)i2v_BASIC_CONSTRAINTS, (X509V3_EXT_V2I)v2i_BASIC_CONSTRAINTS, -NULL, +NULL,NULL, NULL }; diff --git a/crypto/x509v3/v3_enum.c b/crypto/x509v3/v3_enum.c index 835bde919f..8c0b37ce86 100644 --- a/crypto/x509v3/v3_enum.c +++ b/crypto/x509v3/v3_enum.c @@ -81,7 +81,7 @@ NID_crl_reason, 0, i2d_ASN1_ENUMERATED, (X509V3_EXT_I2S)i2s_ASN1_ENUMERATED_TABLE, (X509V3_EXT_S2I)NULL, -NULL, NULL, NULL, (char *)crl_reasons}; +NULL, NULL, NULL, NULL, (char *)crl_reasons}; static ASN1_ENUMERATED *asn1_enumerated_new() diff --git a/crypto/x509v3/v3_extku.c b/crypto/x509v3/v3_extku.c index 7a6bbf69c2..aa8fe1e5a6 100644 --- a/crypto/x509v3/v3_extku.c +++ b/crypto/x509v3/v3_extku.c @@ -80,7 +80,7 @@ i2d_ext_ku, NULL, NULL, (X509V3_EXT_I2V)i2v_ext_ku, (X509V3_EXT_V2I)v2i_ext_ku, -NULL, +NULL,NULL, NULL }; diff --git a/crypto/x509v3/v3_int.c b/crypto/x509v3/v3_int.c index 199ba104c8..03b1c2539a 100644 --- a/crypto/x509v3/v3_int.c +++ b/crypto/x509v3/v3_int.c @@ -69,7 +69,7 @@ NID_crl_number, 0, i2d_ASN1_INTEGER, (X509V3_EXT_I2S)i2s_ASN1_INTEGER, (X509V3_EXT_S2I)NULL, -NULL, NULL, NULL, NULL}; +NULL, NULL, NULL, NULL, NULL}; static ASN1_INTEGER *asn1_integer_new() diff --git a/crypto/x509v3/v3_pku.c b/crypto/x509v3/v3_pku.c index c3808cce7a..a602191c55 100644 --- a/crypto/x509v3/v3_pku.c +++ b/crypto/x509v3/v3_pku.c @@ -81,7 +81,7 @@ PKEY_USAGE_PERIOD_free, (X509V3_EXT_D2I)d2i_PKEY_USAGE_PERIOD, i2d_PKEY_USAGE_PERIOD, NULL, NULL, NULL, NULL, -(X509V3_EXT_I2R)i2r_PKEY_USAGE_PERIOD, +(X509V3_EXT_I2R)i2r_PKEY_USAGE_PERIOD, NULL, NULL }; diff --git a/crypto/x509v3/v3_skey.c b/crypto/x509v3/v3_skey.c index c9402e6cca..20c9c2c5e3 100644 --- a/crypto/x509v3/v3_skey.c +++ b/crypto/x509v3/v3_skey.c @@ -76,7 +76,7 @@ NID_subject_key_identifier, 0, i2d_ASN1_OCTET_STRING, (X509V3_EXT_I2S)i2s_ASN1_OCTET_STRING, (X509V3_EXT_S2I)s2i_skey_id, -NULL, NULL, NULL, NULL}; +NULL, NULL, NULL, NULL, NULL}; static ASN1_OCTET_STRING *octet_string_new(void) diff --git a/crypto/x509v3/x509v3.h b/crypto/x509v3/x509v3.h index 1f25fc8f86..282732e8ef 100644 --- a/crypto/x509v3/x509v3.h +++ b/crypto/x509v3/x509v3.h @@ -80,6 +80,7 @@ typedef char * (*X509V3_EXT_V2I)(struct v3_ext_method *method, struct v3_ext_ctx typedef char * (*X509V3_EXT_I2S)(struct v3_ext_method *method, char *ext); typedef char * (*X509V3_EXT_S2I)(struct v3_ext_method *method, struct v3_ext_ctx *ctx, char *str); typedef int (*X509V3_EXT_I2R)(struct v3_ext_method *method, char *ext, BIO *out); +typedef char *(*X509V3_EXT_R2I)(struct v3_ext_method *method, char *db, char *value); /* V3 extension structure */ @@ -99,8 +100,9 @@ X509V3_EXT_S2I s2i; X509V3_EXT_I2V i2v; X509V3_EXT_V2I v2i; -/* The following is used for raw extensions */ +/* The following are used for raw extensions */ X509V3_EXT_I2R i2r; +X509V3_EXT_R2I r2i; /* Doesn't do anything *YET* */ char *usr_data; /* Any extension specific data */ }; @@ -184,7 +186,7 @@ union { NULL, NULL, \ (X509V3_EXT_I2V)i2v_ASN1_BIT_STRING, \ (X509V3_EXT_V2I)v2i_ASN1_BIT_STRING, \ - NULL, \ + NULL, NULL, \ (char *)table} #define EXT_IA5STRING(nid) { nid, 0, \ @@ -193,11 +195,11 @@ union { i2d_ASN1_IA5STRING, \ (X509V3_EXT_I2S)i2s_ASN1_IA5STRING, \ (X509V3_EXT_S2I)s2i_ASN1_IA5STRING, \ - NULL, NULL, NULL, \ + NULL, NULL, NULL, NULL, \ NULL} #define EXT_END { -1, 0, NULL, NULL, NULL, NULL, NULL, NULL, \ - NULL, NULL, NULL, \ + NULL, NULL, NULL, NULL, \ NULL} #ifndef NOPROTO -- 2.25.1