summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjsing <>2014-06-15 15:29:25 +0000
committerjsing <>2014-06-15 15:29:25 +0000
commit2a844ef43b13fc36ea1f6191afa62385ea91a7d3 (patch)
tree419e62752148fee61938af501496eb61e95396a0 /src
parent58b0b59173dbb3943c42d0b34806b7adad2ef68c (diff)
downloadopenbsd-2a844ef43b13fc36ea1f6191afa62385ea91a7d3.tar.gz
openbsd-2a844ef43b13fc36ea1f6191afa62385ea91a7d3.tar.bz2
openbsd-2a844ef43b13fc36ea1f6191afa62385ea91a7d3.zip
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@
Diffstat (limited to 'src')
-rw-r--r--src/lib/libssl/d1_pkt.c4
-rw-r--r--src/lib/libssl/src/ssl/d1_pkt.c4
-rw-r--r--src/lib/libssl/src/ssl/s3_enc.c7
-rw-r--r--src/lib/libssl/src/ssl/ssl_locl.h10
-rw-r--r--src/lib/libssl/src/ssl/t1_enc.c24
-rw-r--r--src/lib/libssl/ssl_locl.h10
-rw-r--r--src/lib/libssl/t1_enc.c24
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 @@
1/* $OpenBSD: d1_pkt.c,v 1.28 2014/06/12 15:49:31 deraadt Exp $ */ 1/* $OpenBSD: d1_pkt.c,v 1.29 2014/06/15 15:29:25 jsing Exp $ */
2/* 2/*
3 * DTLS implementation written by Nagendra Modadugu 3 * DTLS implementation written by Nagendra Modadugu
4 * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. 4 * (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)
1433 wr->type=type; /* not needed but helps for debugging */ 1433 wr->type=type; /* not needed but helps for debugging */
1434 wr->length += DTLS1_RT_HEADER_LENGTH; 1434 wr->length += DTLS1_RT_HEADER_LENGTH;
1435 1435
1436 ssl3_record_sequence_update(&(s->s3->write_sequence[0])); 1436 ssl3_record_sequence_increment(s->s3->write_sequence);
1437 1437
1438 /* now let's set up wb */ 1438 /* now let's set up wb */
1439 wb->left = prefix_len + wr->length; 1439 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 @@
1/* $OpenBSD: d1_pkt.c,v 1.28 2014/06/12 15:49:31 deraadt Exp $ */ 1/* $OpenBSD: d1_pkt.c,v 1.29 2014/06/15 15:29:25 jsing Exp $ */
2/* 2/*
3 * DTLS implementation written by Nagendra Modadugu 3 * DTLS implementation written by Nagendra Modadugu
4 * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. 4 * (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)
1433 wr->type=type; /* not needed but helps for debugging */ 1433 wr->type=type; /* not needed but helps for debugging */
1434 wr->length += DTLS1_RT_HEADER_LENGTH; 1434 wr->length += DTLS1_RT_HEADER_LENGTH;
1435 1435
1436 ssl3_record_sequence_update(&(s->s3->write_sequence[0])); 1436 ssl3_record_sequence_increment(s->s3->write_sequence);
1437 1437
1438 /* now let's set up wb */ 1438 /* now let's set up wb */
1439 wb->left = prefix_len + wr->length; 1439 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 @@
1/* $OpenBSD: s3_enc.c,v 1.48 2014/06/13 16:08:03 jsing Exp $ */ 1/* $OpenBSD: s3_enc.c,v 1.49 2014/06/15 15:29:25 jsing Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -807,12 +807,13 @@ n_ssl3_mac(SSL *ssl, unsigned char *md, int send)
807 EVP_MD_CTX_cleanup(&md_ctx); 807 EVP_MD_CTX_cleanup(&md_ctx);
808 } 808 }
809 809
810 ssl3_record_sequence_update(seq); 810 ssl3_record_sequence_increment(seq);
811
811 return (md_size); 812 return (md_size);
812} 813}
813 814
814void 815void
815ssl3_record_sequence_update(unsigned char *seq) 816ssl3_record_sequence_increment(unsigned char *seq)
816{ 817{
817 int i; 818 int i;
818 819
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 @@
1/* $OpenBSD: ssl_locl.h,v 1.51 2014/06/13 13:28:53 jsing Exp $ */ 1/* $OpenBSD: ssl_locl.h,v 1.52 2014/06/15 15:29:25 jsing Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -721,18 +721,18 @@ long ssl3_callback_ctrl(SSL *s, int cmd, void (*fp)(void));
721long ssl3_ctx_callback_ctrl(SSL_CTX *s, int cmd, void (*fp)(void)); 721long ssl3_ctx_callback_ctrl(SSL_CTX *s, int cmd, void (*fp)(void));
722int ssl3_pending(const SSL *s); 722int ssl3_pending(const SSL *s);
723 723
724void ssl3_record_sequence_update(unsigned char *seq); 724void ssl3_record_sequence_increment(unsigned char *seq);
725int ssl3_do_change_cipher_spec(SSL *ssl); 725int ssl3_do_change_cipher_spec(SSL *ssl);
726long ssl3_default_timeout(void ); 726long ssl3_default_timeout(void);
727 727
728int ssl23_num_ciphers(void ); 728int ssl23_num_ciphers(void);
729const SSL_CIPHER *ssl23_get_cipher(unsigned int u); 729const SSL_CIPHER *ssl23_get_cipher(unsigned int u);
730int ssl23_read(SSL *s, void *buf, int len); 730int ssl23_read(SSL *s, void *buf, int len);
731int ssl23_peek(SSL *s, void *buf, int len); 731int ssl23_peek(SSL *s, void *buf, int len);
732int ssl23_write(SSL *s, const void *buf, int len); 732int ssl23_write(SSL *s, const void *buf, int len);
733int ssl23_put_cipher_by_char(const SSL_CIPHER *c, unsigned char *p); 733int ssl23_put_cipher_by_char(const SSL_CIPHER *c, unsigned char *p);
734const SSL_CIPHER *ssl23_get_cipher_by_char(const unsigned char *p); 734const SSL_CIPHER *ssl23_get_cipher_by_char(const unsigned char *p);
735long ssl23_default_timeout(void ); 735long ssl23_default_timeout(void);
736 736
737long tls1_default_timeout(void); 737long tls1_default_timeout(void);
738int dtls1_do_write(SSL *s, int type); 738int 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 @@
1/* $OpenBSD: t1_enc.c,v 1.59 2014/06/13 16:09:15 jsing Exp $ */ 1/* $OpenBSD: t1_enc.c,v 1.60 2014/06/15 15:29:25 jsing Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -803,11 +803,7 @@ tls1_enc(SSL *s, int send)
803 memcpy(ad, dtlsseq, 8); 803 memcpy(ad, dtlsseq, 8);
804 } else { 804 } else {
805 memcpy(ad, seq, SSL3_SEQUENCE_SIZE); 805 memcpy(ad, seq, SSL3_SEQUENCE_SIZE);
806 for (i = 7; i >= 0; i--) { 806 ssl3_record_sequence_increment(seq);
807 ++seq[i];
808 if (seq[i] != 0)
809 break;
810 }
811 } 807 }
812 808
813 ad[8] = rec->type; 809 ad[8] = rec->type;
@@ -964,11 +960,7 @@ tls1_enc(SSL *s, int send)
964 memcpy(buf, dtlsseq, 8); 960 memcpy(buf, dtlsseq, 8);
965 } else { 961 } else {
966 memcpy(buf, seq, SSL3_SEQUENCE_SIZE); 962 memcpy(buf, seq, SSL3_SEQUENCE_SIZE);
967 for (i = 7; i >= 0; i--) { /* increment */ 963 ssl3_record_sequence_increment(seq);
968 ++seq[i];
969 if (seq[i] != 0)
970 break;
971 }
972 } 964 }
973 965
974 buf[8] = rec->type; 966 buf[8] = rec->type;
@@ -1117,7 +1109,6 @@ tls1_mac(SSL *ssl, unsigned char *md, int send)
1117 unsigned char *seq; 1109 unsigned char *seq;
1118 EVP_MD_CTX *hash; 1110 EVP_MD_CTX *hash;
1119 size_t md_size, orig_len; 1111 size_t md_size, orig_len;
1120 int i;
1121 EVP_MD_CTX hmac, *mac_ctx; 1112 EVP_MD_CTX hmac, *mac_ctx;
1122 unsigned char header[13]; 1113 unsigned char header[13];
1123 int stream_mac = (send ? 1114 int stream_mac = (send ?
@@ -1191,13 +1182,8 @@ tls1_mac(SSL *ssl, unsigned char *md, int send)
1191 if (!stream_mac) 1182 if (!stream_mac)
1192 EVP_MD_CTX_cleanup(&hmac); 1183 EVP_MD_CTX_cleanup(&hmac);
1193 1184
1194 if (!SSL_IS_DTLS(ssl)) { 1185 if (!SSL_IS_DTLS(ssl))
1195 for (i = 7; i >= 0; i--) { 1186 ssl3_record_sequence_increment(seq);
1196 ++seq[i];
1197 if (seq[i] != 0)
1198 break;
1199 }
1200 }
1201 1187
1202 return (md_size); 1188 return (md_size);
1203} 1189}
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 @@
1/* $OpenBSD: ssl_locl.h,v 1.51 2014/06/13 13:28:53 jsing Exp $ */ 1/* $OpenBSD: ssl_locl.h,v 1.52 2014/06/15 15:29:25 jsing Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -721,18 +721,18 @@ long ssl3_callback_ctrl(SSL *s, int cmd, void (*fp)(void));
721long ssl3_ctx_callback_ctrl(SSL_CTX *s, int cmd, void (*fp)(void)); 721long ssl3_ctx_callback_ctrl(SSL_CTX *s, int cmd, void (*fp)(void));
722int ssl3_pending(const SSL *s); 722int ssl3_pending(const SSL *s);
723 723
724void ssl3_record_sequence_update(unsigned char *seq); 724void ssl3_record_sequence_increment(unsigned char *seq);
725int ssl3_do_change_cipher_spec(SSL *ssl); 725int ssl3_do_change_cipher_spec(SSL *ssl);
726long ssl3_default_timeout(void ); 726long ssl3_default_timeout(void);
727 727
728int ssl23_num_ciphers(void ); 728int ssl23_num_ciphers(void);
729const SSL_CIPHER *ssl23_get_cipher(unsigned int u); 729const SSL_CIPHER *ssl23_get_cipher(unsigned int u);
730int ssl23_read(SSL *s, void *buf, int len); 730int ssl23_read(SSL *s, void *buf, int len);
731int ssl23_peek(SSL *s, void *buf, int len); 731int ssl23_peek(SSL *s, void *buf, int len);
732int ssl23_write(SSL *s, const void *buf, int len); 732int ssl23_write(SSL *s, const void *buf, int len);
733int ssl23_put_cipher_by_char(const SSL_CIPHER *c, unsigned char *p); 733int ssl23_put_cipher_by_char(const SSL_CIPHER *c, unsigned char *p);
734const SSL_CIPHER *ssl23_get_cipher_by_char(const unsigned char *p); 734const SSL_CIPHER *ssl23_get_cipher_by_char(const unsigned char *p);
735long ssl23_default_timeout(void ); 735long ssl23_default_timeout(void);
736 736
737long tls1_default_timeout(void); 737long tls1_default_timeout(void);
738int dtls1_do_write(SSL *s, int type); 738int 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 @@
1/* $OpenBSD: t1_enc.c,v 1.59 2014/06/13 16:09:15 jsing Exp $ */ 1/* $OpenBSD: t1_enc.c,v 1.60 2014/06/15 15:29:25 jsing Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -803,11 +803,7 @@ tls1_enc(SSL *s, int send)
803 memcpy(ad, dtlsseq, 8); 803 memcpy(ad, dtlsseq, 8);
804 } else { 804 } else {
805 memcpy(ad, seq, SSL3_SEQUENCE_SIZE); 805 memcpy(ad, seq, SSL3_SEQUENCE_SIZE);
806 for (i = 7; i >= 0; i--) { 806 ssl3_record_sequence_increment(seq);
807 ++seq[i];
808 if (seq[i] != 0)
809 break;
810 }
811 } 807 }
812 808
813 ad[8] = rec->type; 809 ad[8] = rec->type;
@@ -964,11 +960,7 @@ tls1_enc(SSL *s, int send)
964 memcpy(buf, dtlsseq, 8); 960 memcpy(buf, dtlsseq, 8);
965 } else { 961 } else {
966 memcpy(buf, seq, SSL3_SEQUENCE_SIZE); 962 memcpy(buf, seq, SSL3_SEQUENCE_SIZE);
967 for (i = 7; i >= 0; i--) { /* increment */ 963 ssl3_record_sequence_increment(seq);
968 ++seq[i];
969 if (seq[i] != 0)
970 break;
971 }
972 } 964 }
973 965
974 buf[8] = rec->type; 966 buf[8] = rec->type;
@@ -1117,7 +1109,6 @@ tls1_mac(SSL *ssl, unsigned char *md, int send)
1117 unsigned char *seq; 1109 unsigned char *seq;
1118 EVP_MD_CTX *hash; 1110 EVP_MD_CTX *hash;
1119 size_t md_size, orig_len; 1111 size_t md_size, orig_len;
1120 int i;
1121 EVP_MD_CTX hmac, *mac_ctx; 1112 EVP_MD_CTX hmac, *mac_ctx;
1122 unsigned char header[13]; 1113 unsigned char header[13];
1123 int stream_mac = (send ? 1114 int stream_mac = (send ?
@@ -1191,13 +1182,8 @@ tls1_mac(SSL *ssl, unsigned char *md, int send)
1191 if (!stream_mac) 1182 if (!stream_mac)
1192 EVP_MD_CTX_cleanup(&hmac); 1183 EVP_MD_CTX_cleanup(&hmac);
1193 1184
1194 if (!SSL_IS_DTLS(ssl)) { 1185 if (!SSL_IS_DTLS(ssl))
1195 for (i = 7; i >= 0; i--) { 1186 ssl3_record_sequence_increment(seq);
1196 ++seq[i];
1197 if (seq[i] != 0)
1198 break;
1199 }
1200 }
1201 1187
1202 return (md_size); 1188 return (md_size);
1203} 1189}