Build the _ssl module
Bug: 110170704
Test: cd external/python/cpython2; mma
Change-Id: If8e4b0b4c46a7d610abe7803a1fc5e3a6ba4b7a1
diff --git a/Android.bp b/Android.bp
index 3ad97a2..f161d8f 100644
--- a/Android.bp
+++ b/Android.bp
@@ -277,6 +277,7 @@
"py2-c-module-_csv",
"py2-c-module-_socket",
"py2-c-module-termios",
+ "py2-c-module-_ssl",
"py2-c-module-_md5",
"py2-c-module-_sha",
"py2-c-module-_sha256",
@@ -307,8 +308,10 @@
"py2-c-module-_sqlite3",
"py2-c-module-_ctypes_test",
"py2-c-module-_ctypes",
- "libz",
+ "libcrypto",
"libexpat",
+ "libssl",
+ "libz",
],
target: {
linux_glibc_x86_64: {
@@ -531,6 +534,17 @@
}
cc_library_static {
+ name: "py2-c-module-_ssl",
+ defaults: ["py2-interp-defaults"],
+ srcs: ["Modules/_ssl.c"],
+ cflags: ["-Wno-incompatible-pointer-types-discards-qualifiers"],
+ static_libs: [
+ "libssl",
+ "libcrypto",
+ ],
+}
+
+cc_library_static {
name: "py2-c-module-_md5",
defaults: ["py2-interp-defaults"],
srcs: [
diff --git a/Modules/_ssl.c b/Modules/_ssl.c
index d0ce913..0e0dacd 100644
--- a/Modules/_ssl.c
+++ b/Modules/_ssl.c
@@ -591,7 +591,9 @@
Py_INCREF(sslctx);
/* Make sure the SSL error state is initialized */
+#ifndef OPENSSL_IS_BORINGSSL
(void) ERR_get_state();
+#endif
ERR_clear_error();
PySSL_BEGIN_ALLOW_THREADS
diff --git a/Modules/config.c b/Modules/config.c
index 67a0bc6..677c063 100644
--- a/Modules/config.c
+++ b/Modules/config.c
@@ -56,6 +56,7 @@
extern void init_csv(void);
extern void init_socket(void);
extern void inittermios(void);
+extern void init_ssl(void);
extern void init_md5(void);
extern void init_sha(void);
extern void init_sha256(void);
@@ -124,6 +125,7 @@
{"_csv", init_csv},
{"_socket", init_socket},
{"termios", inittermios},
+ {"_ssl", init_ssl},
{"_md5", init_md5},
{"_sha", init_sha},
{"_sha256", init_sha256},