Add helper functions for info_callback and msg_callback.
This is getting a little repetitive.
Change-Id: Ib0fa8ab10149557c2d728b88648381b9368221d9
Reviewed-on: https://boringssl-review.googlesource.com/8126
Reviewed-by: Steven Valdez <svaldez@google.com>
Reviewed-by: Adam Langley <agl@google.com>
Reviewed-by: David Benjamin <davidben@google.com>
diff --git a/ssl/s3_clnt.c b/ssl/s3_clnt.c
index c341b2e..84322a9 100644
--- a/ssl/s3_clnt.c
+++ b/ssl/s3_clnt.c
@@ -172,28 +172,19 @@
int ssl3_connect(SSL *ssl) {
BUF_MEM *buf = NULL;
- void (*cb)(const SSL *ssl, int type, int value) = NULL;
int ret = -1;
- int new_state, state, skip = 0;
+ int state, skip = 0;
assert(ssl->handshake_func == ssl3_connect);
assert(!ssl->server);
assert(!SSL_IS_DTLS(ssl));
- if (ssl->info_callback != NULL) {
- cb = ssl->info_callback;
- } else if (ssl->ctx->info_callback != NULL) {
- cb = ssl->ctx->info_callback;
- }
-
for (;;) {
state = ssl->state;
switch (ssl->state) {
case SSL_ST_CONNECT:
- if (cb != NULL) {
- cb(ssl, SSL_CB_HANDSHAKE_START, 1);
- }
+ ssl_do_info_callback(ssl, SSL_CB_HANDSHAKE_START, 1);
if (ssl->init_buf == NULL) {
buf = BUF_MEM_new();
@@ -513,11 +504,8 @@
}
ret = 1;
- /* ssl->server=0; */
- if (cb != NULL) {
- cb(ssl, SSL_CB_HANDSHAKE_DONE, 1);
- }
+ ssl_do_info_callback(ssl, SSL_CB_HANDSHAKE_DONE, 1);
goto end;
@@ -527,22 +515,18 @@
goto end;
}
- if (!ssl->s3->tmp.reuse_message && !skip) {
- if (cb != NULL && ssl->state != state) {
- new_state = ssl->state;
- ssl->state = state;
- cb(ssl, SSL_CB_CONNECT_LOOP, 1);
- ssl->state = new_state;
- }
+ if (!ssl->s3->tmp.reuse_message && !skip && ssl->state != state) {
+ int new_state = ssl->state;
+ ssl->state = state;
+ ssl_do_info_callback(ssl, SSL_CB_CONNECT_LOOP, 1);
+ ssl->state = new_state;
}
skip = 0;
}
end:
BUF_MEM_free(buf);
- if (cb != NULL) {
- cb(ssl, SSL_CB_CONNECT_EXIT, ret);
- }
+ ssl_do_info_callback(ssl, SSL_CB_CONNECT_EXIT, ret);
return ret;
}