Avoid "incomprehensible" errors when required definitions are missing.
[oweals/openssl.git] / crypto / asn1 / p7_s_e.c
index 0368bcbbcd52546fc48492a2174550d2f61f9a10..54098d23419b85ee8ab289e93a1ae99721bae3d4 100644 (file)
 
 #include <stdio.h>
 #include "cryptlib.h"
-#include "asn1_mac.h"
-#include "x509.h"
+#include <openssl/asn1_mac.h>
+#include <openssl/x509.h>
 
 /*
  * ASN1err(ASN1_F_PKCS7_SIGN_ENVELOPE_NEW,ERR_R_ASN1_LENGTH_MISMATCH);
  * ASN1err(ASN1_F_D2I_PKCS7_SIGN_ENVELOPE,ERR_R_ASN1_LENGTH_MISMATCH);
  */
 
-int i2d_PKCS7_SIGN_ENVELOPE(a,pp)
-PKCS7_SIGN_ENVELOPE *a;
-unsigned char **pp;
+int i2d_PKCS7_SIGN_ENVELOPE(PKCS7_SIGN_ENVELOPE *a, unsigned char **pp)
        {
        M_ASN1_I2D_vars(a);
 
@@ -76,8 +74,8 @@ unsigned char **pp;
        M_ASN1_I2D_len_SET(a->recipientinfo,i2d_PKCS7_RECIP_INFO);
        M_ASN1_I2D_len_SET(a->md_algs,i2d_X509_ALGOR);
        M_ASN1_I2D_len(a->enc_data,i2d_PKCS7_ENC_CONTENT);
-       M_ASN1_I2D_len_IMP_set_opt(a->cert,i2d_X509,0);
-       M_ASN1_I2D_len_IMP_set_opt(a->crl,i2d_X509_CRL,1);
+       M_ASN1_I2D_len_IMP_SEQUENCE_opt_type(X509,a->cert,i2d_X509,0);
+       M_ASN1_I2D_len_IMP_SET_opt(a->crl,i2d_X509_CRL,1);
        M_ASN1_I2D_len_SET(a->signer_info,i2d_PKCS7_SIGNER_INFO);
 
        M_ASN1_I2D_seq_total();
@@ -86,17 +84,15 @@ unsigned char **pp;
        M_ASN1_I2D_put_SET(a->recipientinfo,i2d_PKCS7_RECIP_INFO);
        M_ASN1_I2D_put_SET(a->md_algs,i2d_X509_ALGOR);
        M_ASN1_I2D_put(a->enc_data,i2d_PKCS7_ENC_CONTENT);
-       M_ASN1_I2D_put_IMP_set_opt(a->cert,i2d_X509,0);
-       M_ASN1_I2D_put_IMP_set_opt(a->crl,i2d_X509_CRL,1);
+       M_ASN1_I2D_put_IMP_SEQUENCE_opt_type(X509,a->cert,i2d_X509,0);
+       M_ASN1_I2D_put_IMP_SET_opt(a->crl,i2d_X509_CRL,1);
        M_ASN1_I2D_put_SET(a->signer_info,i2d_PKCS7_SIGNER_INFO);
 
        M_ASN1_I2D_finish();
        }
 
-PKCS7_SIGN_ENVELOPE *d2i_PKCS7_SIGN_ENVELOPE(a,pp,length)
-PKCS7_SIGN_ENVELOPE **a;
-unsigned char **pp;
-long length;
+PKCS7_SIGN_ENVELOPE *d2i_PKCS7_SIGN_ENVELOPE(PKCS7_SIGN_ENVELOPE **a,
+            unsigned char **pp, long length)
        {
        M_ASN1_D2I_vars(a,PKCS7_SIGN_ENVELOPE *,PKCS7_SIGN_ENVELOPE_new);
 
@@ -107,7 +103,7 @@ long length;
                PKCS7_RECIP_INFO_free);
        M_ASN1_D2I_get_set(ret->md_algs,d2i_X509_ALGOR,X509_ALGOR_free);
        M_ASN1_D2I_get(ret->enc_data,d2i_PKCS7_ENC_CONTENT);
-       M_ASN1_D2I_get_IMP_set_opt(ret->cert,d2i_X509,X509_free,0);
+       M_ASN1_D2I_get_IMP_set_opt_type(X509,ret->cert,d2i_X509,X509_free,0);
        M_ASN1_D2I_get_IMP_set_opt(ret->crl,d2i_X509_CRL,X509_CRL_free,1);
        M_ASN1_D2I_get_set(ret->signer_info,d2i_PKCS7_SIGNER_INFO,
                PKCS7_SIGNER_INFO_free);
@@ -116,7 +112,7 @@ long length;
                ASN1_F_D2I_PKCS7_SIGN_ENVELOPE);
        }
 
-PKCS7_SIGN_ENVELOPE *PKCS7_SIGN_ENVELOPE_new()
+PKCS7_SIGN_ENVELOPE *PKCS7_SIGN_ENVELOPE_new(void)
        {
        PKCS7_SIGN_ENVELOPE *ret=NULL;
        ASN1_CTX c;
@@ -133,15 +129,14 @@ PKCS7_SIGN_ENVELOPE *PKCS7_SIGN_ENVELOPE_new()
        M_ASN1_New_Error(ASN1_F_PKCS7_SIGN_ENVELOPE_NEW);
        }
 
-void PKCS7_SIGN_ENVELOPE_free(a)
-PKCS7_SIGN_ENVELOPE *a;
+void PKCS7_SIGN_ENVELOPE_free(PKCS7_SIGN_ENVELOPE *a)
        {
        if (a == NULL) return;
        ASN1_INTEGER_free(a->version);
        sk_pop_free(a->recipientinfo,PKCS7_RECIP_INFO_free);
        sk_pop_free(a->md_algs,X509_ALGOR_free);
        PKCS7_ENC_CONTENT_free(a->enc_data);
-       sk_pop_free(a->cert,X509_free);
+       sk_X509_pop_free(a->cert,X509_free);
        sk_pop_free(a->crl,X509_CRL_free);
        sk_pop_free(a->signer_info,PKCS7_SIGNER_INFO_free);
        Free((char *)a);