From d1acb9b44f01844499aab7c87bae78364c579b49 Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Mon, 6 Jun 2005 00:32:11 +0000 Subject: [PATCH 1/1] Further change pq_compat.h to generate the flag macros PQ_64BIT_IS_INTEGER and PQ_64BIT_IS_BIGNUM with the values 0 (for false) and 1 (for true), depending on which is true. Use those flags everywhere else to provide the correct implementation for handling certain operations in q PQ_64BIT. --- crypto/pqueue/pq_compat.h | 6 ++++++ crypto/pqueue/pqueue.c | 2 +- ssl/d1_pkt.c | 8 ++++---- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/crypto/pqueue/pq_compat.h b/crypto/pqueue/pq_compat.h index 776760a35a..653845353d 100644 --- a/crypto/pqueue/pq_compat.h +++ b/crypto/pqueue/pq_compat.h @@ -74,6 +74,9 @@ #if (defined(THIRTY_TWO_BIT) && !defined(BN_LLONG)) || defined(SIXTEEN_BIT) || defined(EIGHT_BIT) +#define PQ_64BIT_IS_INTEGER 0 +#define PQ_64BIT_IS_BIGNUM 1 + #define PQ_64BIT BIGNUM #define PQ_64BIT_CTX BN_CTX @@ -102,6 +105,9 @@ #else +#define PQ_64BIT_IS_INTEGER 1 +#define PQ_64BIT_IS_BIGNUM 0 + #if defined(SIXTY_FOUR_BIT) || defined(SIXTY_FOUR_BIT_LONG) #define PQ_64BIT BN_ULONG #elif defined(THIRTY_TWO_BIT) diff --git a/crypto/pqueue/pqueue.c b/crypto/pqueue/pqueue.c index 6ec5c6756c..e3eb836d45 100644 --- a/crypto/pqueue/pqueue.c +++ b/crypto/pqueue/pqueue.c @@ -199,7 +199,7 @@ pqueue_find(pqueue_s *pq, PQ_64BIT priority) return found; } -#if !(defined(OPENSSL_SYS_VMS) || defined(VMS_TEST)) +#if PQ_64BIT_IS_INTEGER void pqueue_print(pqueue_s *pq) { diff --git a/ssl/d1_pkt.c b/ssl/d1_pkt.c index 77e1031a31..892b889708 100644 --- a/ssl/d1_pkt.c +++ b/ssl/d1_pkt.c @@ -135,7 +135,7 @@ static int dtls1_record_needs_buffering(SSL *s, SSL3_RECORD *rr, static int dtls1_buffer_record(SSL *s, record_pqueue *q, PQ_64BIT priority); static int dtls1_process_record(SSL *s); -#if !(defined(OPENSSL_SYS_VMS) || defined(VMS_TEST)) +#if PQ_64BIT_IS_INTEGER static PQ_64BIT bytes_to_long_long(unsigned char *bytes, PQ_64BIT *num); #endif static void dtls1_clear_timeouts(SSL *s); @@ -1453,7 +1453,7 @@ err: static int dtls1_record_replay_check(SSL *s, DTLS1_BITMAP *bitmap, PQ_64BIT *seq_num) { -#if !(defined(OPENSSL_SYS_VMS) || defined(VMS_TEST)) +#if PQ_64BIT_IS_INTEGER PQ_64BIT mask = 0x0000000000000001L; #endif PQ_64BIT rcd_num, tmp; @@ -1483,7 +1483,7 @@ static int dtls1_record_replay_check(SSL *s, DTLS1_BITMAP *bitmap, return 0; /* stale, outside the window */ } -#if (defined(OPENSSL_SYS_VMS) || defined(VMS_TEST)) +#if PQ_64BIT_IS_BIGNUM { int offset; pq_64bit_sub(&tmp, &(bitmap->max_seq_num), &rcd_num); @@ -1736,7 +1736,7 @@ dtls1_reset_seq_numbers(SSL *s, int rw) memset(seq, 0x00, seq_bytes); } -#if !(defined(OPENSSL_SYS_VMS) || defined(VMS_TEST)) +#if PQ_64BIT_IS_INTEGER static PQ_64BIT bytes_to_long_long(unsigned char *bytes, PQ_64BIT *num) { -- 2.34.1