Loading CHANGES +6 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,12 @@ Changes between 0.9.5a and 0.9.6 [xx XXX 2000] *) Unrecognized PKCS#7 content types are now handled via a catch all ASN1_TYPE structure. This allows unsupported types to be stored as a "blob" and an application can encode and decode it manually. [Steve Henson] *) Fix various signed/unsigned issues to make a_strex,c compile under VC++. [Oscar Jacobsson <oscar.jacobsson@celocom.com>] Loading crypto/asn1/p7_lib.c +7 −5 Original line number Diff line number Diff line Loading @@ -104,6 +104,7 @@ int i2d_PKCS7(PKCS7 *a, unsigned char **pp) M_ASN1_I2D_len(a->d.encrypted,i2d_PKCS7_ENCRYPT); break; default: M_ASN1_I2D_len(a->d.other,i2d_ASN1_TYPE); break; } } Loading Loading @@ -138,6 +139,7 @@ int i2d_PKCS7(PKCS7 *a, unsigned char **pp) M_ASN1_I2D_put(a->d.encrypted,i2d_PKCS7_ENCRYPT); break; default: M_ASN1_I2D_put(a->d.other,i2d_ASN1_TYPE); break; } M_ASN1_I2D_INF_seq_end(); Loading Loading @@ -189,6 +191,7 @@ int i2d_PKCS7(PKCS7 *a, unsigned char **pp) M_ASN1_I2D_len(a->d.encrypted,i2d_PKCS7_ENCRYPT); break; default: M_ASN1_I2D_len(a->d.other,i2d_ASN1_TYPE); break; } /* Work out explicit tag content size */ Loading Loading @@ -228,6 +231,7 @@ int i2d_PKCS7(PKCS7 *a, unsigned char **pp) M_ASN1_I2D_put(a->d.encrypted,i2d_PKCS7_ENCRYPT); break; default: M_ASN1_I2D_put(a->d.other,i2d_ASN1_TYPE); break; } } Loading Loading @@ -298,10 +302,8 @@ PKCS7 *d2i_PKCS7(PKCS7 **a, unsigned char **pp, long length) M_ASN1_D2I_get(ret->d.encrypted,d2i_PKCS7_ENCRYPT); break; default: c.error=ASN1_R_BAD_PKCS7_TYPE; c.line=__LINE__; goto err; /* break; */ M_ASN1_D2I_get(ret->d.other,d2i_ASN1_TYPE); break; } if (Tinf == (1|V_ASN1_CONSTRUCTED)) { Loading Loading @@ -378,7 +380,7 @@ void PKCS7_content_free(PKCS7 *a) PKCS7_ENCRYPT_free(a->d.encrypted); break; default: /* MEMORY LEAK */ ASN1_TYPE_free(a->d.other); break; } } Loading crypto/pkcs7/pkcs7.h +3 −0 Original line number Diff line number Diff line Loading @@ -210,6 +210,9 @@ typedef struct pkcs7_st /* NID_pkcs7_encrypted */ PKCS7_ENCRYPT *encrypted; /* Anything else */ ASN1_TYPE *other; } d; } PKCS7; Loading Loading
CHANGES +6 −0 Original line number Diff line number Diff line Loading @@ -4,6 +4,12 @@ Changes between 0.9.5a and 0.9.6 [xx XXX 2000] *) Unrecognized PKCS#7 content types are now handled via a catch all ASN1_TYPE structure. This allows unsupported types to be stored as a "blob" and an application can encode and decode it manually. [Steve Henson] *) Fix various signed/unsigned issues to make a_strex,c compile under VC++. [Oscar Jacobsson <oscar.jacobsson@celocom.com>] Loading
crypto/asn1/p7_lib.c +7 −5 Original line number Diff line number Diff line Loading @@ -104,6 +104,7 @@ int i2d_PKCS7(PKCS7 *a, unsigned char **pp) M_ASN1_I2D_len(a->d.encrypted,i2d_PKCS7_ENCRYPT); break; default: M_ASN1_I2D_len(a->d.other,i2d_ASN1_TYPE); break; } } Loading Loading @@ -138,6 +139,7 @@ int i2d_PKCS7(PKCS7 *a, unsigned char **pp) M_ASN1_I2D_put(a->d.encrypted,i2d_PKCS7_ENCRYPT); break; default: M_ASN1_I2D_put(a->d.other,i2d_ASN1_TYPE); break; } M_ASN1_I2D_INF_seq_end(); Loading Loading @@ -189,6 +191,7 @@ int i2d_PKCS7(PKCS7 *a, unsigned char **pp) M_ASN1_I2D_len(a->d.encrypted,i2d_PKCS7_ENCRYPT); break; default: M_ASN1_I2D_len(a->d.other,i2d_ASN1_TYPE); break; } /* Work out explicit tag content size */ Loading Loading @@ -228,6 +231,7 @@ int i2d_PKCS7(PKCS7 *a, unsigned char **pp) M_ASN1_I2D_put(a->d.encrypted,i2d_PKCS7_ENCRYPT); break; default: M_ASN1_I2D_put(a->d.other,i2d_ASN1_TYPE); break; } } Loading Loading @@ -298,10 +302,8 @@ PKCS7 *d2i_PKCS7(PKCS7 **a, unsigned char **pp, long length) M_ASN1_D2I_get(ret->d.encrypted,d2i_PKCS7_ENCRYPT); break; default: c.error=ASN1_R_BAD_PKCS7_TYPE; c.line=__LINE__; goto err; /* break; */ M_ASN1_D2I_get(ret->d.other,d2i_ASN1_TYPE); break; } if (Tinf == (1|V_ASN1_CONSTRUCTED)) { Loading Loading @@ -378,7 +380,7 @@ void PKCS7_content_free(PKCS7 *a) PKCS7_ENCRYPT_free(a->d.encrypted); break; default: /* MEMORY LEAK */ ASN1_TYPE_free(a->d.other); break; } } Loading
crypto/pkcs7/pkcs7.h +3 −0 Original line number Diff line number Diff line Loading @@ -210,6 +210,9 @@ typedef struct pkcs7_st /* NID_pkcs7_encrypted */ PKCS7_ENCRYPT *encrypted; /* Anything else */ ASN1_TYPE *other; } d; } PKCS7; Loading