Index: patches.chromium/0014-export_certificate_types.patch |
diff --git a/patches.chromium/0014-export_certificate_types.patch b/patches.chromium/0014-export_certificate_types.patch |
new file mode 100644 |
index 0000000000000000000000000000000000000000..78f2df0efd32405b5a35500b699268d97252d223 |
--- /dev/null |
+++ b/patches.chromium/0014-export_certificate_types.patch |
@@ -0,0 +1,51 @@ |
+diff --git android-openssl.orig/include/openssl/ssl.h android-openssl/include/openssl/ssl.h |
+index a3944f1..d0d3db4 100644 |
+--- android-openssl.orig/include/openssl/ssl.h |
++++ android-openssl/include/openssl/ssl.h |
+@@ -1982,6 +1982,8 @@ STACK_OF(X509_NAME) *SSL_CTX_get_client_CA_list(const SSL_CTX *s); |
+ int SSL_add_client_CA(SSL *ssl,X509 *x); |
+ int SSL_CTX_add_client_CA(SSL_CTX *ctx,X509 *x); |
+ |
++void SSL_get_client_certificate_types(const SSL *s, const char **ctype, size_t *ctype_num); |
++ |
+ void SSL_set_connect_state(SSL *s); |
+ void SSL_set_accept_state(SSL *s); |
+ |
+diff --git android-openssl.orig/ssl/ssl.h android-openssl/ssl/ssl.h |
+index a3944f1..d0d3db4 100644 |
+--- android-openssl.orig/ssl/ssl.h |
++++ android-openssl/ssl/ssl.h |
+@@ -1982,6 +1982,8 @@ STACK_OF(X509_NAME) *SSL_CTX_get_client_CA_list(const SSL_CTX *s); |
+ int SSL_add_client_CA(SSL *ssl,X509 *x); |
+ int SSL_CTX_add_client_CA(SSL_CTX *ctx,X509 *x); |
+ |
++void SSL_get_client_certificate_types(const SSL *s, const char **ctype, size_t *ctype_num); |
++ |
+ void SSL_set_connect_state(SSL *s); |
+ void SSL_set_accept_state(SSL *s); |
+ |
+diff --git android-openssl.orig/ssl/ssl_cert.c android-openssl/ssl/ssl_cert.c |
+index 5123a89..19b8f78 100644 |
+--- android-openssl.orig/ssl/ssl_cert.c |
++++ android-openssl/ssl/ssl_cert.c |
+@@ -660,6 +660,20 @@ static int xname_cmp(const X509_NAME * const *a, const X509_NAME * const *b) |
+ return(X509_NAME_cmp(*a,*b)); |
+ } |
+ |
++void SSL_get_client_certificate_types(const SSL *s, const 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; |
++ } |
++ |
+ #ifndef OPENSSL_NO_STDIO |
+ /*! |
+ * Load CA certs from a file into a ::STACK. Note that it is somewhat misnamed; |