diff options
author | Dr. Stephen Henson <steve@openssl.org> | 1999-06-21 23:59:09 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 1999-06-21 23:59:09 +0000 |
commit | 66ab08b1cfb7f57ee9299d6efc322aca385e4fba (patch) | |
tree | d3b4aaea7e4fc919730a2e19ba8cb4df23f5cf31 /crypto/x509v3/v3_extku.c | |
parent | 0c5a65639d7d51d98ed0f65f53232085f65011be (diff) |
Implement STACK_OF(ANS1_OBJECT) for extended key usage extension, change the
documentation to reflect the STACK_OF(CONF_VALUE) change to the CONF lib and
use ANSI typedefs for X509V3_EXT_I2D and X509V3_EXT_FREE.
Diffstat (limited to 'crypto/x509v3/v3_extku.c')
-rw-r--r-- | crypto/x509v3/v3_extku.c | 49 |
1 files changed, 25 insertions, 24 deletions
diff --git a/crypto/x509v3/v3_extku.c b/crypto/x509v3/v3_extku.c index e149cd6871..e039d21cbf 100644 --- a/crypto/x509v3/v3_extku.c +++ b/crypto/x509v3/v3_extku.c @@ -63,16 +63,16 @@ #include <openssl/conf.h> #include <openssl/x509v3.h> -static STACK *v2i_ext_ku(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, - STACK_OF(CONF_VALUE) *nval); +static STACK_OF(ASN1_OBJECT) *v2i_ext_ku(X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval); static STACK_OF(CONF_VALUE) *i2v_ext_ku(X509V3_EXT_METHOD *method, - STACK *eku, STACK_OF(CONF_VALUE) *extlist); + STACK_OF(ASN1_OBJECT) *eku, STACK_OF(CONF_VALUE) *extlist); X509V3_EXT_METHOD v3_ext_ku = { NID_ext_key_usage, 0, (X509V3_EXT_NEW)ext_ku_new, -ext_ku_free, +(X509V3_EXT_FREE)ext_ku_free, (X509V3_EXT_D2I)d2i_ext_ku, -i2d_ext_ku, +(X509V3_EXT_I2D)i2d_ext_ku, NULL, NULL, (X509V3_EXT_I2V)i2v_ext_ku, (X509V3_EXT_V2I)v2i_ext_ku, @@ -80,55 +80,56 @@ NULL,NULL, NULL }; -STACK *ext_ku_new(void) +STACK_OF(ASN1_OBJECT) *ext_ku_new(void) { - return sk_new_null(); + return sk_ASN1_OBJECT_new_null(); } -void ext_ku_free(STACK *eku) +void ext_ku_free(STACK_OF(ASN1_OBJECT) *eku) { - sk_pop_free(eku, ASN1_OBJECT_free); + sk_ASN1_OBJECT_pop_free(eku, ASN1_OBJECT_free); return; } -int i2d_ext_ku(STACK *a, unsigned char **pp) +int i2d_ext_ku(STACK_OF(ASN1_OBJECT) *a, unsigned char **pp) { - return i2d_ASN1_SET(a, pp, i2d_ASN1_OBJECT, V_ASN1_SEQUENCE, - V_ASN1_UNIVERSAL, IS_SEQUENCE); + return i2d_ASN1_SET_OF_ASN1_OBJECT(a, pp, i2d_ASN1_OBJECT, + V_ASN1_SEQUENCE, V_ASN1_UNIVERSAL, IS_SEQUENCE); } -STACK *d2i_ext_ku(STACK **a, unsigned char **pp, long length) +STACK_OF(ASN1_OBJECT) *d2i_ext_ku(STACK_OF(ASN1_OBJECT) **a, + unsigned char **pp, long length) { - return d2i_ASN1_SET(a, pp, length, (char *(*)())(d2i_ASN1_OBJECT), + return d2i_ASN1_SET_OF_ASN1_OBJECT(a, pp, length, d2i_ASN1_OBJECT, ASN1_OBJECT_free, V_ASN1_SEQUENCE, V_ASN1_UNIVERSAL); } -static STACK_OF(CONF_VALUE) *i2v_ext_ku(X509V3_EXT_METHOD *method, STACK *eku, - STACK_OF(CONF_VALUE) *ext_list) +static STACK_OF(CONF_VALUE) *i2v_ext_ku(X509V3_EXT_METHOD *method, + STACK_OF(ASN1_OBJECT) *eku, STACK_OF(CONF_VALUE) *ext_list) { int i; ASN1_OBJECT *obj; char obj_tmp[80]; -for(i = 0; i < sk_num(eku); i++) { - obj = (ASN1_OBJECT *)sk_value(eku, i); +for(i = 0; i < sk_ASN1_OBJECT_num(eku); i++) { + obj = sk_ASN1_OBJECT_value(eku, i); i2t_ASN1_OBJECT(obj_tmp, 80, obj); X509V3_add_value(NULL, obj_tmp, &ext_list); } return ext_list; } -static STACK *v2i_ext_ku(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, - STACK_OF(CONF_VALUE) *nval) +static STACK_OF(ASN1_OBJECT) *v2i_ext_ku(X509V3_EXT_METHOD *method, + X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval) { -STACK *extku; +STACK_OF(ASN1_OBJECT) *extku; char *extval; ASN1_OBJECT *objtmp; CONF_VALUE *val; int i; -if(!(extku = sk_new(NULL))) { +if(!(extku = sk_ASN1_OBJECT_new(NULL))) { X509V3err(X509V3_F_V2I_EXT_KU,ERR_R_MALLOC_FAILURE); return NULL; } @@ -138,12 +139,12 @@ for(i = 0; i < sk_CONF_VALUE_num(nval); i++) { if(val->value) extval = val->value; else extval = val->name; if(!(objtmp = OBJ_txt2obj(extval, 0))) { - sk_pop_free(extku, ASN1_OBJECT_free); + sk_ASN1_OBJECT_pop_free(extku, ASN1_OBJECT_free); X509V3err(X509V3_F_V2I_EXT_KU,X509V3_R_INVALID_OBJECT_IDENTIFIER); X509V3_conf_err(val); return NULL; } - sk_push(extku, (char *)objtmp); + sk_ASN1_OBJECT_push(extku, objtmp); } return extku; } |