Simplify ssl_get_message somewhat.
It still places the current message all over the place, but remove the
bizarre init_num/error/ok split. Now callers get the message length out
of init_num, which mirrors init_msg. Also fix some signedness.
Change-Id: Ic2e97b6b99e234926504ff217b8aedae85ba6596
Reviewed-on: https://boringssl-review.googlesource.com/8690
Reviewed-by: David Benjamin <davidben@google.com>
diff --git a/ssl/d1_both.c b/ssl/d1_both.c
index 3da1fd8..2248f8c 100644
--- a/ssl/d1_both.c
+++ b/ssl/d1_both.c
@@ -398,13 +398,8 @@
return 1;
}
-/* dtls1_get_message reads a handshake message of message type |msg_type| (any
- * if |msg_type| == -1). Read an entire handshake message. Handshake messages
- * arrive in fragments. */
-long dtls1_get_message(SSL *ssl, int msg_type,
- enum ssl_hash_message_t hash_message, int *ok) {
- *ok = 0;
-
+int dtls1_get_message(SSL *ssl, int msg_type,
+ enum ssl_hash_message_t hash_message) {
if (ssl->s3->tmp.reuse_message) {
/* A ssl_dont_hash_message call cannot be combined with reuse_message; the
* ssl_dont_hash_message would have to have been applied to the previous
@@ -449,8 +444,7 @@
ssl_do_msg_callback(ssl, 0 /* read */, ssl->version, SSL3_RT_HANDSHAKE,
frag->data, ssl->init_num + DTLS1_HM_HEADER_LENGTH);
- *ok = 1;
- return ssl->init_num;
+ return 1;
}
int dtls1_hash_current_message(SSL *ssl) {