Fix for v3_scts.c
authorDr. Stephen Henson <steve@openssl.org>
Tue, 25 Feb 2014 14:54:09 +0000 (14:54 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Tue, 25 Feb 2014 14:54:09 +0000 (14:54 +0000)
Not all platforms define BN_ULLONG. Define SCTS_TIMESTAMP as a type
which should work on all platforms.

crypto/x509v3/v3_scts.c

index 9c560ad483f7ebfbde5cfb59bbda95f34bed9acf..614522a75e0ffa6a23f38d9270c6fdde39a3d476 100644 (file)
 #include <openssl/bn.h>
 #include "../ssl/ssl_locl.h"
 
+#if (defined(_WIN32) || defined(_WIN64)) && !defined(__MINGW32__)
+#define SCTS_TIMESTAMP unsigned __int64
+#elif defined(__arch64__)
+#define SCTS_TIMESTAMP unsigned long
+#else
+#define SCTS_TIMESTAMP unsigned long long
+#endif
+
+
 static int i2r_scts(X509V3_EXT_METHOD *method, ASN1_OCTET_STRING *oct, BIO *out, int indent);
 
 const X509V3_EXT_METHOD v3_ct_scts[] = {
@@ -96,7 +105,7 @@ static void tls12_signature_print(BIO *out, const unsigned char *data)
                BIO_printf(out, "%s", OBJ_nid2ln(nid));
        }
 
-static void timestamp_print(BIO *out, BN_ULLONG timestamp)
+static void timestamp_print(BIO *out, SCTS_TIMESTAMP timestamp)
        {
        ASN1_GENERALIZEDTIME *gen;
        char genstr[20];
@@ -118,7 +127,7 @@ static void timestamp_print(BIO *out, BN_ULLONG timestamp)
 static int i2r_scts(X509V3_EXT_METHOD *method, ASN1_OCTET_STRING *oct,
                       BIO *out, int indent)
        {
-       BN_ULLONG timestamp;
+       SCTS_TIMESTAMP timestamp;
        unsigned char* data = oct->data;
        unsigned short listlen, sctlen = 0, fieldlen;