projects
/
openssl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Introduce named constants for the ClientHello callback.
[openssl.git]
/
ssl
/
statem
/
statem_srvr.c
diff --git
a/ssl/statem/statem_srvr.c
b/ssl/statem/statem_srvr.c
index 360cd1c20b6d43906781dd298b2f46a1d07a553b..81c8ee4f21eb519cad1df50655d50a92cc2e9eb1 100644
(file)
--- a/
ssl/statem/statem_srvr.c
+++ b/
ssl/statem/statem_srvr.c
@@
-1432,14
+1432,16
@@
static int tls_early_post_process_client_hello(SSL *s, int *pal)
/* Finished parsing the ClientHello, now we can start processing it */
/* Give the ClientHello callback a crack at things */
if (s->ctx->client_hello_cb != NULL) {
/* Finished parsing the ClientHello, now we can start processing it */
/* Give the ClientHello callback a crack at things */
if (s->ctx->client_hello_cb != NULL) {
- int code;
/* A failure in the ClientHello callback terminates the connection. */
/* A failure in the ClientHello callback terminates the connection. */
- code = s->ctx->client_hello_cb(s, &al, s->ctx->client_hello_cb_arg);
- if (code == 0)
-
goto err
;
- if (code < 0) {
+ switch (s->ctx->client_hello_cb(s, &al, s->ctx->client_hello_cb_arg)) {
+ case SSL_CLIENT_HELLO_SUCCESS:
+
break
;
+ case SSL_CLIENT_HELLO_RETRY:
s->rwstate = SSL_CLIENT_HELLO_CB;
s->rwstate = SSL_CLIENT_HELLO_CB;
- return code;
+ return -1;
+ case SSL_CLIENT_HELLO_ERROR:
+ default:
+ goto err;
}
}
}
}