Implement STACK_OF(ANS1_OBJECT) for extended key usage extension, change the
[openssl.git] / crypto / x509v3 / v3_akey.c
index 3bb31869a19f4266111035f6e68eaf53f9679030..4099e6019e3ca53189d4ef8cfef70ee7efa6d294 100644 (file)
 
 #include <stdio.h>
 #include "cryptlib.h"
-#include "conf.h"
-#include "asn1.h"
-#include "asn1_mac.h"
-#include "x509v3.h"
+#include <openssl/conf.h>
+#include <openssl/asn1.h>
+#include <openssl/asn1_mac.h>
+#include <openssl/x509v3.h>
 
-#ifndef NOPROTO
-static STACK *i2v_AUTHORITY_KEYID(X509V3_EXT_METHOD *method, AUTHORITY_KEYID *akeyid, STACK *extlist);
-static AUTHORITY_KEYID *v2i_AUTHORITY_KEYID(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, STACK *values);
-
-#else
-
-static STACK *i2v_AUTHORITY_KEYID();
-static AUTHORITY_KEYID *v2i_AUTHORITY_KEYID();
-
-#endif
+static STACK_OF(CONF_VALUE) *i2v_AUTHORITY_KEYID(X509V3_EXT_METHOD *method,
+                       AUTHORITY_KEYID *akeyid, STACK_OF(CONF_VALUE) *extlist);
+static AUTHORITY_KEYID *v2i_AUTHORITY_KEYID(X509V3_EXT_METHOD *method,
+                       X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *values);
 
 X509V3_EXT_METHOD v3_akey_id = {
 NID_authority_key_identifier, X509V3_EXT_MULTILINE,
 (X509V3_EXT_NEW)AUTHORITY_KEYID_new,
-AUTHORITY_KEYID_free,
+(X509V3_EXT_FREE)AUTHORITY_KEYID_free,
 (X509V3_EXT_D2I)d2i_AUTHORITY_KEYID,
-i2d_AUTHORITY_KEYID,
+(X509V3_EXT_I2D)i2d_AUTHORITY_KEYID,
 NULL, NULL,
 (X509V3_EXT_I2V)i2v_AUTHORITY_KEYID,
 (X509V3_EXT_V2I)v2i_AUTHORITY_KEYID,
@@ -88,11 +82,6 @@ NULL
 };
 
 
-/*
- * ASN1err(ASN1_F_AUTHORITY_KEYID_NEW,ERR_R_MALLOC_FAILURE);
- * ASN1err(ASN1_F_D2I_AUTHORITY_KEYID,ERR_R_MALLOC_FAILURE);
- */
-
 int i2d_AUTHORITY_KEYID(AUTHORITY_KEYID *a, unsigned char **pp)
 {
        M_ASN1_I2D_vars(a);
@@ -146,8 +135,8 @@ void AUTHORITY_KEYID_free(AUTHORITY_KEYID *a)
        Free ((char *)a);
 }
 
-static STACK *i2v_AUTHORITY_KEYID(X509V3_EXT_METHOD *method,
-            AUTHORITY_KEYID *akeyid, STACK *extlist)
+static STACK_OF(CONF_VALUE) *i2v_AUTHORITY_KEYID(X509V3_EXT_METHOD *method,
+            AUTHORITY_KEYID *akeyid, STACK_OF(CONF_VALUE) *extlist)
 {
        char *tmp;
        if(akeyid->keyid) {
@@ -175,7 +164,7 @@ static STACK *i2v_AUTHORITY_KEYID(X509V3_EXT_METHOD *method,
  */
 
 static AUTHORITY_KEYID *v2i_AUTHORITY_KEYID(X509V3_EXT_METHOD *method,
-            X509V3_CTX *ctx, STACK *values)
+            X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *values)
 {
 char keyid=0, issuer=0;
 int i;
@@ -188,8 +177,8 @@ ASN1_INTEGER *serial = NULL;
 X509_EXTENSION *ext;
 X509 *cert;
 AUTHORITY_KEYID *akeyid;
-for(i = 0; i < sk_num(values); i++) {
-       cnf = (CONF_VALUE *)sk_value(values, i);
+for(i = 0; i < sk_CONF_VALUE_num(values); i++) {
+       cnf = sk_CONF_VALUE_value(values, i);
        if(!strcmp(cnf->name, "keyid")) {
                keyid = 1;
                if(cnf->value && !strcmp(cnf->value, "always")) keyid = 2;