From 2a844ef43b13fc36ea1f6191afa62385ea91a7d3 Mon Sep 17 00:00:00 2001 From: jsing <> Date: Sun, 15 Jun 2014 15:29:25 +0000 Subject: Rename ssl3_record_sequence_update() to ssl3_record_sequence_increment(), so that it reflects what it is actually doing. Use this function in a number of places that still have the hand rolled version. ok beck@ miod@ --- src/lib/libssl/d1_pkt.c | 4 ++-- src/lib/libssl/src/ssl/d1_pkt.c | 4 ++-- src/lib/libssl/src/ssl/s3_enc.c | 7 ++++--- src/lib/libssl/src/ssl/ssl_locl.h | 10 +++++----- src/lib/libssl/src/ssl/t1_enc.c | 24 +++++------------------- src/lib/libssl/ssl_locl.h | 10 +++++----- src/lib/libssl/t1_enc.c | 24 +++++------------------- 7 files changed, 28 insertions(+), 55 deletions(-) diff --git a/src/lib/libssl/d1_pkt.c b/src/lib/libssl/d1_pkt.c index 83d2d8900b..aa2185d2ed 100644 --- a/src/lib/libssl/d1_pkt.c +++ b/src/lib/libssl/d1_pkt.c @@ -1,4 +1,4 @@ -/* $OpenBSD: d1_pkt.c,v 1.28 2014/06/12 15:49:31 deraadt Exp $ */ +/* $OpenBSD: d1_pkt.c,v 1.29 2014/06/15 15:29:25 jsing Exp $ */ /* * DTLS implementation written by Nagendra Modadugu * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. @@ -1433,7 +1433,7 @@ do_dtls1_write(SSL *s, int type, const unsigned char *buf, unsigned int len) wr->type=type; /* not needed but helps for debugging */ wr->length += DTLS1_RT_HEADER_LENGTH; - ssl3_record_sequence_update(&(s->s3->write_sequence[0])); + ssl3_record_sequence_increment(s->s3->write_sequence); /* now let's set up wb */ wb->left = prefix_len + wr->length; diff --git a/src/lib/libssl/src/ssl/d1_pkt.c b/src/lib/libssl/src/ssl/d1_pkt.c index 83d2d8900b..aa2185d2ed 100644 --- a/src/lib/libssl/src/ssl/d1_pkt.c +++ b/src/lib/libssl/src/ssl/d1_pkt.c @@ -1,4 +1,4 @@ -/* $OpenBSD: d1_pkt.c,v 1.28 2014/06/12 15:49:31 deraadt Exp $ */ +/* $OpenBSD: d1_pkt.c,v 1.29 2014/06/15 15:29:25 jsing Exp $ */ /* * DTLS implementation written by Nagendra Modadugu * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. @@ -1433,7 +1433,7 @@ do_dtls1_write(SSL *s, int type, const unsigned char *buf, unsigned int len) wr->type=type; /* not needed but helps for debugging */ wr->length += DTLS1_RT_HEADER_LENGTH; - ssl3_record_sequence_update(&(s->s3->write_sequence[0])); + ssl3_record_sequence_increment(s->s3->write_sequence); /* now let's set up wb */ wb->left = prefix_len + wr->length; diff --git a/src/lib/libssl/src/ssl/s3_enc.c b/src/lib/libssl/src/ssl/s3_enc.c index c039e7ee71..6170b553f0 100644 --- a/src/lib/libssl/src/ssl/s3_enc.c +++ b/src/lib/libssl/src/ssl/s3_enc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: s3_enc.c,v 1.48 2014/06/13 16:08:03 jsing Exp $ */ +/* $OpenBSD: s3_enc.c,v 1.49 2014/06/15 15:29:25 jsing Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -807,12 +807,13 @@ n_ssl3_mac(SSL *ssl, unsigned char *md, int send) EVP_MD_CTX_cleanup(&md_ctx); } - ssl3_record_sequence_update(seq); + ssl3_record_sequence_increment(seq); + return (md_size); } void -ssl3_record_sequence_update(unsigned char *seq) +ssl3_record_sequence_increment(unsigned char *seq) { int i; diff --git a/src/lib/libssl/src/ssl/ssl_locl.h b/src/lib/libssl/src/ssl/ssl_locl.h index 6ce2e17a15..e7fdda69a9 100644 --- a/src/lib/libssl/src/ssl/ssl_locl.h +++ b/src/lib/libssl/src/ssl/ssl_locl.h @@ -1,4 +1,4 @@ -/* $OpenBSD: ssl_locl.h,v 1.51 2014/06/13 13:28:53 jsing Exp $ */ +/* $OpenBSD: ssl_locl.h,v 1.52 2014/06/15 15:29:25 jsing Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -721,18 +721,18 @@ long ssl3_callback_ctrl(SSL *s, int cmd, void (*fp)(void)); long ssl3_ctx_callback_ctrl(SSL_CTX *s, int cmd, void (*fp)(void)); int ssl3_pending(const SSL *s); -void ssl3_record_sequence_update(unsigned char *seq); +void ssl3_record_sequence_increment(unsigned char *seq); int ssl3_do_change_cipher_spec(SSL *ssl); -long ssl3_default_timeout(void ); +long ssl3_default_timeout(void); -int ssl23_num_ciphers(void ); +int ssl23_num_ciphers(void); const SSL_CIPHER *ssl23_get_cipher(unsigned int u); int ssl23_read(SSL *s, void *buf, int len); int ssl23_peek(SSL *s, void *buf, int len); int ssl23_write(SSL *s, const void *buf, int len); int ssl23_put_cipher_by_char(const SSL_CIPHER *c, unsigned char *p); const SSL_CIPHER *ssl23_get_cipher_by_char(const unsigned char *p); -long ssl23_default_timeout(void ); +long ssl23_default_timeout(void); long tls1_default_timeout(void); int dtls1_do_write(SSL *s, int type); diff --git a/src/lib/libssl/src/ssl/t1_enc.c b/src/lib/libssl/src/ssl/t1_enc.c index fe8ccab23e..c8fed159e7 100644 --- a/src/lib/libssl/src/ssl/t1_enc.c +++ b/src/lib/libssl/src/ssl/t1_enc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: t1_enc.c,v 1.59 2014/06/13 16:09:15 jsing Exp $ */ +/* $OpenBSD: t1_enc.c,v 1.60 2014/06/15 15:29:25 jsing Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -803,11 +803,7 @@ tls1_enc(SSL *s, int send) memcpy(ad, dtlsseq, 8); } else { memcpy(ad, seq, SSL3_SEQUENCE_SIZE); - for (i = 7; i >= 0; i--) { - ++seq[i]; - if (seq[i] != 0) - break; - } + ssl3_record_sequence_increment(seq); } ad[8] = rec->type; @@ -964,11 +960,7 @@ tls1_enc(SSL *s, int send) memcpy(buf, dtlsseq, 8); } else { memcpy(buf, seq, SSL3_SEQUENCE_SIZE); - for (i = 7; i >= 0; i--) { /* increment */ - ++seq[i]; - if (seq[i] != 0) - break; - } + ssl3_record_sequence_increment(seq); } buf[8] = rec->type; @@ -1117,7 +1109,6 @@ tls1_mac(SSL *ssl, unsigned char *md, int send) unsigned char *seq; EVP_MD_CTX *hash; size_t md_size, orig_len; - int i; EVP_MD_CTX hmac, *mac_ctx; unsigned char header[13]; int stream_mac = (send ? @@ -1191,13 +1182,8 @@ tls1_mac(SSL *ssl, unsigned char *md, int send) if (!stream_mac) EVP_MD_CTX_cleanup(&hmac); - if (!SSL_IS_DTLS(ssl)) { - for (i = 7; i >= 0; i--) { - ++seq[i]; - if (seq[i] != 0) - break; - } - } + if (!SSL_IS_DTLS(ssl)) + ssl3_record_sequence_increment(seq); return (md_size); } diff --git a/src/lib/libssl/ssl_locl.h b/src/lib/libssl/ssl_locl.h index 6ce2e17a15..e7fdda69a9 100644 --- a/src/lib/libssl/ssl_locl.h +++ b/src/lib/libssl/ssl_locl.h @@ -1,4 +1,4 @@ -/* $OpenBSD: ssl_locl.h,v 1.51 2014/06/13 13:28:53 jsing Exp $ */ +/* $OpenBSD: ssl_locl.h,v 1.52 2014/06/15 15:29:25 jsing Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -721,18 +721,18 @@ long ssl3_callback_ctrl(SSL *s, int cmd, void (*fp)(void)); long ssl3_ctx_callback_ctrl(SSL_CTX *s, int cmd, void (*fp)(void)); int ssl3_pending(const SSL *s); -void ssl3_record_sequence_update(unsigned char *seq); +void ssl3_record_sequence_increment(unsigned char *seq); int ssl3_do_change_cipher_spec(SSL *ssl); -long ssl3_default_timeout(void ); +long ssl3_default_timeout(void); -int ssl23_num_ciphers(void ); +int ssl23_num_ciphers(void); const SSL_CIPHER *ssl23_get_cipher(unsigned int u); int ssl23_read(SSL *s, void *buf, int len); int ssl23_peek(SSL *s, void *buf, int len); int ssl23_write(SSL *s, const void *buf, int len); int ssl23_put_cipher_by_char(const SSL_CIPHER *c, unsigned char *p); const SSL_CIPHER *ssl23_get_cipher_by_char(const unsigned char *p); -long ssl23_default_timeout(void ); +long ssl23_default_timeout(void); long tls1_default_timeout(void); int dtls1_do_write(SSL *s, int type); diff --git a/src/lib/libssl/t1_enc.c b/src/lib/libssl/t1_enc.c index fe8ccab23e..c8fed159e7 100644 --- a/src/lib/libssl/t1_enc.c +++ b/src/lib/libssl/t1_enc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: t1_enc.c,v 1.59 2014/06/13 16:09:15 jsing Exp $ */ +/* $OpenBSD: t1_enc.c,v 1.60 2014/06/15 15:29:25 jsing Exp $ */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. * @@ -803,11 +803,7 @@ tls1_enc(SSL *s, int send) memcpy(ad, dtlsseq, 8); } else { memcpy(ad, seq, SSL3_SEQUENCE_SIZE); - for (i = 7; i >= 0; i--) { - ++seq[i]; - if (seq[i] != 0) - break; - } + ssl3_record_sequence_increment(seq); } ad[8] = rec->type; @@ -964,11 +960,7 @@ tls1_enc(SSL *s, int send) memcpy(buf, dtlsseq, 8); } else { memcpy(buf, seq, SSL3_SEQUENCE_SIZE); - for (i = 7; i >= 0; i--) { /* increment */ - ++seq[i]; - if (seq[i] != 0) - break; - } + ssl3_record_sequence_increment(seq); } buf[8] = rec->type; @@ -1117,7 +1109,6 @@ tls1_mac(SSL *ssl, unsigned char *md, int send) unsigned char *seq; EVP_MD_CTX *hash; size_t md_size, orig_len; - int i; EVP_MD_CTX hmac, *mac_ctx; unsigned char header[13]; int stream_mac = (send ? @@ -1191,13 +1182,8 @@ tls1_mac(SSL *ssl, unsigned char *md, int send) if (!stream_mac) EVP_MD_CTX_cleanup(&hmac); - if (!SSL_IS_DTLS(ssl)) { - for (i = 7; i >= 0; i--) { - ++seq[i]; - if (seq[i] != 0) - break; - } - } + if (!SSL_IS_DTLS(ssl)) + ssl3_record_sequence_increment(seq); return (md_size); } -- cgit v1.2.3-55-g6feb