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.
This commit is contained in:
parent
924acc5451
commit
79a474e8f2
@ -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
|
||||
};
|
||||
|
||||
|
@ -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
|
||||
};
|
||||
|
||||
|
@ -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
|
||||
};
|
||||
|
||||
|
@ -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()
|
||||
|
@ -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
|
||||
};
|
||||
|
||||
|
@ -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()
|
||||
|
@ -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
|
||||
};
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user