Deprecate SSL_get_client_certificate_types.

OpenSSL added SSL_get0_certificate_types and fixed the truncation (and
subsequent parse error) by adding an alternate copy of the data.
http://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=9f27b1eec3175305e62eed87faa80e231f319ca0

Make SSL_get_client_certificate_types call SSL_get0_certificate_types to query
the new list. Remove when Chromium is switched over.

Also remove a now unnecessary cast because SSL_get_client_certificate_types
fixed the type of tmp.ctypes. Further fix it to use a size_t and match the
cert_st copy OpenSSL added.

BUG=388000

Change-Id: Ic6653e10e5a3c3ac6b3fe2a2322f388d6ffb0a06
diff --git a/ssl/ssl_cert.c b/ssl/ssl_cert.c
index 095235e..1bad680 100644
--- a/ssl/ssl_cert.c
+++ b/ssl/ssl_cert.c
@@ -1020,16 +1020,9 @@
 void SSL_get_client_certificate_types(const SSL *s, const unsigned char **ctype,
 	size_t *ctype_num)
 	{
-	if (s->s3 == NULL)
-		{
-		*ctype = NULL;
-		*ctype_num = 0;
-		return;
-		}
-
-	/* This always returns nothing for the server. */
-	*ctype = s->s3->tmp.ctype;
-	*ctype_num = s->s3->tmp.ctype_num;
+	/* TODO(fork): Remove this function once Chromium is updated
+	 * to use the new one. */
+	*ctype_num = SSL_get0_certificate_types((SSL*)s, ctype);
 	}
 
 static int xname_cmp(const X509_NAME **a, const X509_NAME **b)