3.0.0. IMPLEMENT_ASN1_FUNCTIONS missing _it prototypes
Ken Goldman
kgoldman at us.ibm.com
Fri Aug 27 16:40:58 UTC 2021
On 8/24/2021 5:56 AM, Matt Caswell wrote:
>
>
> On 23/08/2021 20:42, Ken Goldman wrote:
>> I get warnings on all my ASN1_SEQUENCE_END, a missing prototype for the _it functions.
>> The code is working, but I'd like a clean compile.
>>
>> 3.0.0 only, 1.0.2 and 1.1.1 are OK.
>>
>> Example:
>>
>> #include <openssl/asn1.h>
>> #include <openssl/asn1t.h>
>> #include <openssl/x509.h>
>> #include <openssl/x509v3.h>
>>
>> typedef struct {
>> ASN1_TIME *notBefore;
>> ASN1_TIME *notAfter;
>> } TPM_PARTIAL_CERT_VALIDITY;
>>
>> ASN1_SEQUENCE(TPM_PARTIAL_CERT_VALIDITY) = {
>> ASN1_SIMPLE(TPM_PARTIAL_CERT_VALIDITY, notBefore, ASN1_TIME),
>> ASN1_SIMPLE(TPM_PARTIAL_CERT_VALIDITY, notAfter, ASN1_TIME),
>> } ASN1_SEQUENCE_END(TPM_PARTIAL_CERT_VALIDITY)
>
> Change this line to:
>
> } static_ASN1_SEQUENCE_END(TPM_PARTIAL_CERT_VALIDITY)
>
>
static_ worked on 3.0, 1.1.1, and 1.0.2. I found that
it failed on 1.0.1e with:
certifyx509.c:125: error: expected ',' or ';' before 'static_ASN1_SEQUENCE_END'
certifyx509.c:128: warning: no previous prototype for 'TPM_ADDTOCERT_new'
If this makes sense, I can add an ifdef.
(Support for 1.0.1 is a requirement. Sorry.)
More information about the openssl-users
mailing list