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>
diff --git a/include/openssl/dtls1.h b/include/openssl/dtls1.h
index c835789..cc91349 100644
--- a/include/openssl/dtls1.h
+++ b/include/openssl/dtls1.h
@@ -173,8 +173,8 @@
 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
diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h
index 6e44b93..49fccd8 100644
--- a/include/openssl/ssl.h
+++ b/include/openssl/ssl.h
@@ -903,13 +903,11 @@
 	/* 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 @@
 #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,
diff --git a/ssl/d1_srvr.c b/ssl/d1_srvr.c
index df691ab..18d2470 100644
--- a/ssl/d1_srvr.c
+++ b/ssl/d1_srvr.c
@@ -719,8 +719,7 @@
 		*(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;
diff --git a/ssl/s3_srvr.c b/ssl/s3_srvr.c
index 76766b0..6a028ef 100644
--- a/ssl/s3_srvr.c
+++ b/ssl/s3_srvr.c
@@ -1010,8 +1010,7 @@
 			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);
diff --git a/ssl/ssl_sess.c b/ssl/ssl_sess.c
index 5749574..0b6a6e3 100644
--- a/ssl/ssl_sess.c
+++ b/ssl/ssl_sess.c
@@ -1066,14 +1066,13 @@
 	}
 
 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;
 	}
diff --git a/ssl/test/bssl_shim.cc b/ssl/test/bssl_shim.cc
index 4f26bfb..bc4a186 100644
--- a/ssl/test/bssl_shim.cc
+++ b/ssl/test/bssl_shim.cc
@@ -125,13 +125,13 @@
   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;