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/d1_clnt.c b/ssl/d1_clnt.c
index 0b1701a..b61a139 100644
--- a/ssl/d1_clnt.c
+++ b/ssl/d1_clnt.c
@@ -133,28 +133,19 @@
int dtls1_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 == dtls1_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();
@@ -439,9 +430,7 @@
ret = 1;
- if (cb != NULL) {
- cb(ssl, SSL_CB_HANDSHAKE_DONE, 1);
- }
+ ssl_do_info_callback(ssl, SSL_CB_HANDSHAKE_DONE, 1);
/* done with handshaking */
ssl->d1->handshake_read_seq = 0;
@@ -455,22 +444,18 @@
}
/* did we do anything? */
- 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;
}