summaryrefslogtreecommitdiffstats
path: root/ssl/s3_lib.c
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2005-05-30 22:34:28 +0000
committerRichard Levitte <levitte@openssl.org>2005-05-30 22:34:28 +0000
commite2ac4732cd4f0efc3dff3261d19aed0ced2c4dde (patch)
tree8fdcd150176cbbd3f5b16d9e731b561300c31030 /ssl/s3_lib.c
parente8f665b495ab460341f9aeb7c7962b277d9adc2a (diff)
pqueue and dtls uses 64-bit values. Unfortunately, OpenSSL doesn't
have a uniform representation for those over all architectures, so a little bit of hackery is needed. Contributed by nagendra modadugu <nagendra@cs.stanford.edu>
Diffstat (limited to 'ssl/s3_lib.c')
-rw-r--r--ssl/s3_lib.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/ssl/s3_lib.c b/ssl/s3_lib.c
index 2b2d2bdade..4585ac3014 100644
--- a/ssl/s3_lib.c
+++ b/ssl/s3_lib.c
@@ -128,6 +128,7 @@
#include "kssl_lcl.h"
#include <openssl/md5.h>
#include <openssl/dh.h>
+#include <openssl/pq_compat.h>
const char *ssl3_version_str="SSLv3" OPENSSL_VERSION_PTEXT;
@@ -1441,6 +1442,8 @@ int ssl3_new(SSL *s)
memset(s3,0,sizeof *s3);
EVP_MD_CTX_init(&s3->finish_dgst1);
EVP_MD_CTX_init(&s3->finish_dgst2);
+ pq_64bit_init(&(s3->rrec.seq_num));
+ pq_64bit_init(&(s3->wrec.seq_num));
s->s3=s3;
@@ -1475,6 +1478,9 @@ void ssl3_free(SSL *s)
sk_X509_NAME_pop_free(s->s3->tmp.ca_names,X509_NAME_free);
EVP_MD_CTX_cleanup(&s->s3->finish_dgst1);
EVP_MD_CTX_cleanup(&s->s3->finish_dgst2);
+ pq_64bit_free(&(s->s3->rrec.seq_num));
+ pq_64bit_free(&(s->s3->wrec.seq_num));
+
OPENSSL_cleanse(s->s3,sizeof *s->s3);
OPENSSL_free(s->s3);
s->s3=NULL;