Tidy DTLS cookie callback types.
const-correctness, unsigned long -> size_t. Change-Id: Ic0c2685a48a0f98396c5753b6077c6c0c3b92326 Reviewed-on: https://boringssl-review.googlesource.com/1540 Reviewed-by: Adam Langley <agl@google.com>
This commit is contained in:
committed by
Adam Langley
parent
f4501347c9
commit
fb4ea28bb8
@@ -173,8 +173,8 @@ typedef struct hm_fragment_st
|
||||
typedef struct dtls1_state_st
|
||||
{
|
||||
unsigned int send_cookie;
|
||||
unsigned char cookie[DTLS1_COOKIE_LENGTH];
|
||||
unsigned int cookie_len;
|
||||
uint8_t cookie[DTLS1_COOKIE_LENGTH];
|
||||
size_t cookie_len;
|
||||
|
||||
/*
|
||||
* The current data and handshake epoch. This is initially
|
||||
|
||||
@@ -903,13 +903,11 @@ struct ssl_ctx_st
|
||||
/* get channel id callback */
|
||||
void (*channel_id_cb)(SSL *ssl, EVP_PKEY **pkey);
|
||||
|
||||
/* cookie generate callback */
|
||||
int (*app_gen_cookie_cb)(SSL *ssl, unsigned char *cookie,
|
||||
unsigned int *cookie_len);
|
||||
/* cookie generate callback */
|
||||
int (*app_gen_cookie_cb)(SSL *ssl, uint8_t *cookie, size_t *cookie_len);
|
||||
|
||||
/* verify cookie callback */
|
||||
int (*app_verify_cookie_cb)(SSL *ssl, unsigned char *cookie,
|
||||
unsigned int cookie_len);
|
||||
/* verify cookie callback */
|
||||
int (*app_verify_cookie_cb)(SSL *ssl, const uint8_t *cookie, size_t cookie_len);
|
||||
|
||||
CRYPTO_EX_DATA ex_data;
|
||||
|
||||
@@ -1136,8 +1134,8 @@ OPENSSL_EXPORT void (*SSL_CTX_get_channel_id_cb(SSL_CTX *ctx))(SSL *ssl, EVP_PKE
|
||||
#ifndef OPENSSL_NO_ENGINE
|
||||
OPENSSL_EXPORT int SSL_CTX_set_client_cert_engine(SSL_CTX *ctx, ENGINE *e);
|
||||
#endif
|
||||
OPENSSL_EXPORT void SSL_CTX_set_cookie_generate_cb(SSL_CTX *ctx, int (*app_gen_cookie_cb)(SSL *ssl, unsigned char *cookie, unsigned int *cookie_len));
|
||||
OPENSSL_EXPORT void SSL_CTX_set_cookie_verify_cb(SSL_CTX *ctx, int (*app_verify_cookie_cb)(SSL *ssl, unsigned char *cookie, unsigned int cookie_len));
|
||||
OPENSSL_EXPORT void SSL_CTX_set_cookie_generate_cb(SSL_CTX *ctx, int (*app_gen_cookie_cb)(SSL *ssl, uint8_t *cookie, size_t *cookie_len));
|
||||
OPENSSL_EXPORT void SSL_CTX_set_cookie_verify_cb(SSL_CTX *ctx, int (*app_verify_cookie_cb)(SSL *ssl, const uint8_t *cookie, size_t cookie_len));
|
||||
#ifndef OPENSSL_NO_NEXTPROTONEG
|
||||
OPENSSL_EXPORT void SSL_CTX_set_next_protos_advertised_cb(SSL_CTX *s,
|
||||
int (*cb) (SSL *ssl,
|
||||
|
||||
+1
-2
@@ -719,8 +719,7 @@ int dtls1_send_hello_verify_request(SSL *s)
|
||||
*(p++) = DTLS1_VERSION & 0xFF;
|
||||
|
||||
if (s->ctx->app_gen_cookie_cb == NULL ||
|
||||
s->ctx->app_gen_cookie_cb(s, s->d1->cookie,
|
||||
&(s->d1->cookie_len)) == 0)
|
||||
s->ctx->app_gen_cookie_cb(s, s->d1->cookie, &(s->d1->cookie_len)) == 0)
|
||||
{
|
||||
OPENSSL_PUT_ERROR(SSL, dtls1_send_hello_verify_request, ERR_R_INTERNAL_ERROR);
|
||||
return 0;
|
||||
|
||||
+1
-2
@@ -1010,8 +1010,7 @@ int ssl3_get_client_hello(SSL *s)
|
||||
if (s->ctx->app_verify_cookie_cb != NULL)
|
||||
{
|
||||
if (s->ctx->app_verify_cookie_cb(s,
|
||||
(unsigned char*)CBS_data(&cookie),
|
||||
CBS_len(&cookie)) == 0)
|
||||
CBS_data(&cookie), CBS_len(&cookie)) == 0)
|
||||
{
|
||||
al=SSL_AD_HANDSHAKE_FAILURE;
|
||||
OPENSSL_PUT_ERROR(SSL, ssl3_get_client_hello, SSL_R_COOKIE_MISMATCH);
|
||||
|
||||
+2
-3
@@ -1066,14 +1066,13 @@ int (*SSL_CTX_get_client_cert_cb(SSL_CTX *ctx))(SSL * ssl, X509 ** x509 , EVP_PK
|
||||
}
|
||||
|
||||
void SSL_CTX_set_cookie_generate_cb(SSL_CTX *ctx,
|
||||
int (*cb)(SSL *ssl, unsigned char *cookie, unsigned int *cookie_len))
|
||||
int (*cb)(SSL *ssl, uint8_t *cookie, size_t *cookie_len))
|
||||
{
|
||||
ctx->app_gen_cookie_cb=cb;
|
||||
}
|
||||
|
||||
/* TODO(davidben): |cookie| should be a const pointer. */
|
||||
void SSL_CTX_set_cookie_verify_cb(SSL_CTX *ctx,
|
||||
int (*cb)(SSL *ssl, unsigned char *cookie, unsigned int cookie_len))
|
||||
int (*cb)(SSL *ssl, const uint8_t *cookie, size_t cookie_len))
|
||||
{
|
||||
ctx->app_verify_cookie_cb=cb;
|
||||
}
|
||||
|
||||
@@ -125,13 +125,13 @@ static int next_proto_select_callback(SSL* ssl,
|
||||
return SSL_TLSEXT_ERR_OK;
|
||||
}
|
||||
|
||||
static int cookie_generate_callback(SSL *ssl, uint8_t *cookie, unsigned *cookie_len) {
|
||||
static int cookie_generate_callback(SSL *ssl, uint8_t *cookie, size_t *cookie_len) {
|
||||
*cookie_len = 32;
|
||||
memset(cookie, 42, *cookie_len);
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int cookie_verify_callback(SSL *ssl, uint8_t *cookie, unsigned cookie_len) {
|
||||
static int cookie_verify_callback(SSL *ssl, const uint8_t *cookie, size_t cookie_len) {
|
||||
if (cookie_len != 32) {
|
||||
fprintf(stderr, "Cookie length mismatch.\n");
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user