diff options
-rw-r--r-- | src/lib/libssl/d1_both.c | 17 | ||||
-rw-r--r-- | src/lib/libssl/s3_both.c | 15 | ||||
-rw-r--r-- | src/lib/libssl/src/ssl/d1_both.c | 17 | ||||
-rw-r--r-- | src/lib/libssl/src/ssl/s3_both.c | 15 |
4 files changed, 20 insertions, 44 deletions
diff --git a/src/lib/libssl/d1_both.c b/src/lib/libssl/d1_both.c index 567a074535..4d2827a2c0 100644 --- a/src/lib/libssl/d1_both.c +++ b/src/lib/libssl/d1_both.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: d1_both.c,v 1.35 2015/09/10 17:57:50 jsing Exp $ */ | 1 | /* $OpenBSD: d1_both.c,v 1.36 2015/09/11 15:59:21 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. |
@@ -905,13 +905,12 @@ f_err: | |||
905 | int | 905 | int |
906 | dtls1_send_finished(SSL *s, int a, int b, const char *sender, int slen) | 906 | dtls1_send_finished(SSL *s, int a, int b, const char *sender, int slen) |
907 | { | 907 | { |
908 | unsigned char *p, *d; | 908 | unsigned char *p; |
909 | int i; | 909 | int i; |
910 | unsigned long l; | 910 | unsigned long l; |
911 | 911 | ||
912 | if (s->state == a) { | 912 | if (s->state == a) { |
913 | d = (unsigned char *)s->init_buf->data; | 913 | p = ssl3_handshake_msg_start(s, SSL3_MT_FINISHED); |
914 | p = &(d[DTLS1_HM_HEADER_LENGTH]); | ||
915 | 914 | ||
916 | i = s->method->ssl3_enc->final_finish_mac(s, sender, slen, | 915 | i = s->method->ssl3_enc->final_finish_mac(s, sender, slen, |
917 | s->s3->tmp.finish_md); | 916 | s->s3->tmp.finish_md); |
@@ -936,18 +935,12 @@ dtls1_send_finished(SSL *s, int a, int b, const char *sender, int slen) | |||
936 | s->s3->previous_server_finished_len = i; | 935 | s->s3->previous_server_finished_len = i; |
937 | } | 936 | } |
938 | 937 | ||
939 | d = dtls1_set_message_header(s, d, SSL3_MT_FINISHED, l, 0, l); | 938 | ssl3_handshake_msg_finish(s, l); |
940 | s->init_num = (int)l + DTLS1_HM_HEADER_LENGTH; | ||
941 | s->init_off = 0; | ||
942 | |||
943 | /* buffer the message to handle re-xmits */ | ||
944 | dtls1_buffer_message(s, 0); | ||
945 | 939 | ||
946 | s->state = b; | 940 | s->state = b; |
947 | } | 941 | } |
948 | 942 | ||
949 | /* SSL3_ST_SEND_xxxxxx_HELLO_B */ | 943 | return (ssl3_handshake_write(s)); |
950 | return (dtls1_do_write(s, SSL3_RT_HANDSHAKE)); | ||
951 | } | 944 | } |
952 | 945 | ||
953 | /* | 946 | /* |
diff --git a/src/lib/libssl/s3_both.c b/src/lib/libssl/s3_both.c index 5a1d1e7443..6448f27a03 100644 --- a/src/lib/libssl/s3_both.c +++ b/src/lib/libssl/s3_both.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: s3_both.c,v 1.43 2015/07/18 19:41:54 doug Exp $ */ | 1 | /* $OpenBSD: s3_both.c,v 1.44 2015/09/11 15:59:21 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 | * |
@@ -155,13 +155,12 @@ ssl3_do_write(SSL *s, int type) | |||
155 | int | 155 | int |
156 | ssl3_send_finished(SSL *s, int a, int b, const char *sender, int slen) | 156 | ssl3_send_finished(SSL *s, int a, int b, const char *sender, int slen) |
157 | { | 157 | { |
158 | unsigned char *p, *d; | 158 | unsigned char *p; |
159 | unsigned long l; | 159 | unsigned long l; |
160 | int md_len; | 160 | int md_len; |
161 | 161 | ||
162 | if (s->state == a) { | 162 | if (s->state == a) { |
163 | d = (unsigned char *)s->init_buf->data; | 163 | p = ssl3_handshake_msg_start(s, SSL3_MT_FINISHED); |
164 | p = &(d[4]); | ||
165 | 164 | ||
166 | md_len = s->method->ssl3_enc->finish_mac_length; | 165 | md_len = s->method->ssl3_enc->finish_mac_length; |
167 | if (s->method->ssl3_enc->final_finish_mac(s, sender, slen, | 166 | if (s->method->ssl3_enc->final_finish_mac(s, sender, slen, |
@@ -184,16 +183,12 @@ ssl3_send_finished(SSL *s, int a, int b, const char *sender, int slen) | |||
184 | s->s3->previous_server_finished_len = md_len; | 183 | s->s3->previous_server_finished_len = md_len; |
185 | } | 184 | } |
186 | 185 | ||
187 | *(d++) = SSL3_MT_FINISHED; | 186 | ssl3_handshake_msg_finish(s, l); |
188 | l2n3(l, d); | ||
189 | s->init_num = (int)l + 4; | ||
190 | s->init_off = 0; | ||
191 | 187 | ||
192 | s->state = b; | 188 | s->state = b; |
193 | } | 189 | } |
194 | 190 | ||
195 | /* SSL3_ST_SEND_xxxxxx_HELLO_B */ | 191 | return (ssl3_handshake_write(s)); |
196 | return (ssl3_do_write(s, SSL3_RT_HANDSHAKE)); | ||
197 | } | 192 | } |
198 | 193 | ||
199 | /* ssl3_take_mac calculates the Finished MAC for the handshakes messages seen to far. */ | 194 | /* ssl3_take_mac calculates the Finished MAC for the handshakes messages seen to far. */ |
diff --git a/src/lib/libssl/src/ssl/d1_both.c b/src/lib/libssl/src/ssl/d1_both.c index 567a074535..4d2827a2c0 100644 --- a/src/lib/libssl/src/ssl/d1_both.c +++ b/src/lib/libssl/src/ssl/d1_both.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: d1_both.c,v 1.35 2015/09/10 17:57:50 jsing Exp $ */ | 1 | /* $OpenBSD: d1_both.c,v 1.36 2015/09/11 15:59:21 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. |
@@ -905,13 +905,12 @@ f_err: | |||
905 | int | 905 | int |
906 | dtls1_send_finished(SSL *s, int a, int b, const char *sender, int slen) | 906 | dtls1_send_finished(SSL *s, int a, int b, const char *sender, int slen) |
907 | { | 907 | { |
908 | unsigned char *p, *d; | 908 | unsigned char *p; |
909 | int i; | 909 | int i; |
910 | unsigned long l; | 910 | unsigned long l; |
911 | 911 | ||
912 | if (s->state == a) { | 912 | if (s->state == a) { |
913 | d = (unsigned char *)s->init_buf->data; | 913 | p = ssl3_handshake_msg_start(s, SSL3_MT_FINISHED); |
914 | p = &(d[DTLS1_HM_HEADER_LENGTH]); | ||
915 | 914 | ||
916 | i = s->method->ssl3_enc->final_finish_mac(s, sender, slen, | 915 | i = s->method->ssl3_enc->final_finish_mac(s, sender, slen, |
917 | s->s3->tmp.finish_md); | 916 | s->s3->tmp.finish_md); |
@@ -936,18 +935,12 @@ dtls1_send_finished(SSL *s, int a, int b, const char *sender, int slen) | |||
936 | s->s3->previous_server_finished_len = i; | 935 | s->s3->previous_server_finished_len = i; |
937 | } | 936 | } |
938 | 937 | ||
939 | d = dtls1_set_message_header(s, d, SSL3_MT_FINISHED, l, 0, l); | 938 | ssl3_handshake_msg_finish(s, l); |
940 | s->init_num = (int)l + DTLS1_HM_HEADER_LENGTH; | ||
941 | s->init_off = 0; | ||
942 | |||
943 | /* buffer the message to handle re-xmits */ | ||
944 | dtls1_buffer_message(s, 0); | ||
945 | 939 | ||
946 | s->state = b; | 940 | s->state = b; |
947 | } | 941 | } |
948 | 942 | ||
949 | /* SSL3_ST_SEND_xxxxxx_HELLO_B */ | 943 | return (ssl3_handshake_write(s)); |
950 | return (dtls1_do_write(s, SSL3_RT_HANDSHAKE)); | ||
951 | } | 944 | } |
952 | 945 | ||
953 | /* | 946 | /* |
diff --git a/src/lib/libssl/src/ssl/s3_both.c b/src/lib/libssl/src/ssl/s3_both.c index 5a1d1e7443..6448f27a03 100644 --- a/src/lib/libssl/src/ssl/s3_both.c +++ b/src/lib/libssl/src/ssl/s3_both.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: s3_both.c,v 1.43 2015/07/18 19:41:54 doug Exp $ */ | 1 | /* $OpenBSD: s3_both.c,v 1.44 2015/09/11 15:59:21 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 | * |
@@ -155,13 +155,12 @@ ssl3_do_write(SSL *s, int type) | |||
155 | int | 155 | int |
156 | ssl3_send_finished(SSL *s, int a, int b, const char *sender, int slen) | 156 | ssl3_send_finished(SSL *s, int a, int b, const char *sender, int slen) |
157 | { | 157 | { |
158 | unsigned char *p, *d; | 158 | unsigned char *p; |
159 | unsigned long l; | 159 | unsigned long l; |
160 | int md_len; | 160 | int md_len; |
161 | 161 | ||
162 | if (s->state == a) { | 162 | if (s->state == a) { |
163 | d = (unsigned char *)s->init_buf->data; | 163 | p = ssl3_handshake_msg_start(s, SSL3_MT_FINISHED); |
164 | p = &(d[4]); | ||
165 | 164 | ||
166 | md_len = s->method->ssl3_enc->finish_mac_length; | 165 | md_len = s->method->ssl3_enc->finish_mac_length; |
167 | if (s->method->ssl3_enc->final_finish_mac(s, sender, slen, | 166 | if (s->method->ssl3_enc->final_finish_mac(s, sender, slen, |
@@ -184,16 +183,12 @@ ssl3_send_finished(SSL *s, int a, int b, const char *sender, int slen) | |||
184 | s->s3->previous_server_finished_len = md_len; | 183 | s->s3->previous_server_finished_len = md_len; |
185 | } | 184 | } |
186 | 185 | ||
187 | *(d++) = SSL3_MT_FINISHED; | 186 | ssl3_handshake_msg_finish(s, l); |
188 | l2n3(l, d); | ||
189 | s->init_num = (int)l + 4; | ||
190 | s->init_off = 0; | ||
191 | 187 | ||
192 | s->state = b; | 188 | s->state = b; |
193 | } | 189 | } |
194 | 190 | ||
195 | /* SSL3_ST_SEND_xxxxxx_HELLO_B */ | 191 | return (ssl3_handshake_write(s)); |
196 | return (ssl3_do_write(s, SSL3_RT_HANDSHAKE)); | ||
197 | } | 192 | } |
198 | 193 | ||
199 | /* ssl3_take_mac calculates the Finished MAC for the handshakes messages seen to far. */ | 194 | /* ssl3_take_mac calculates the Finished MAC for the handshakes messages seen to far. */ |