mirror of
https://github.com/corda/corda.git
synced 2025-01-29 07:34:13 +00:00
fix SSL stack and Android JAR resource loading
This commit is contained in:
parent
b96cc3c575
commit
7f4c0b3118
@ -396,6 +396,11 @@ the following, starting from the Avian directory:
|
|||||||
(cd external/zlib && \
|
(cd external/zlib && \
|
||||||
git checkout 15b6223aa57a347ce113729253802cb2fdeb4ad0)
|
git checkout 15b6223aa57a347ce113729253802cb2fdeb4ad0)
|
||||||
|
|
||||||
|
git clone https://android.googlesource.com/platform/external/conscrypt \
|
||||||
|
external/conscrypt
|
||||||
|
(cd external/conscrypt && \
|
||||||
|
git checkout 076138ff29d805ec5a32d6ad96a18ef08c7f1b11)
|
||||||
|
|
||||||
git clone git://git.openssl.org/openssl.git openssl-upstream
|
git clone git://git.openssl.org/openssl.git openssl-upstream
|
||||||
(cd openssl-upstream && git checkout OpenSSL_1_0_1h)
|
(cd openssl-upstream && git checkout OpenSSL_1_0_1h)
|
||||||
|
|
||||||
|
@ -529,7 +529,9 @@ public final class Class <T>
|
|||||||
}
|
}
|
||||||
|
|
||||||
public URL getResource(String path) {
|
public URL getResource(String path) {
|
||||||
if (! path.startsWith("/")) {
|
if (path.startsWith("/")) {
|
||||||
|
path = path.substring(1);
|
||||||
|
} else {
|
||||||
String name = Classes.makeString
|
String name = Classes.makeString
|
||||||
(vmClass.name, 0, vmClass.name.length - 1);
|
(vmClass.name, 0, vmClass.name.length - 1);
|
||||||
int index = name.lastIndexOf('/');
|
int index = name.lastIndexOf('/');
|
||||||
|
27
makefile
27
makefile
@ -226,6 +226,7 @@ ifneq ($(android),)
|
|||||||
-I$(android)/external/icu4c/common \
|
-I$(android)/external/icu4c/common \
|
||||||
-I$(android)/external/expat \
|
-I$(android)/external/expat \
|
||||||
-I$(android)/external/openssl/include \
|
-I$(android)/external/openssl/include \
|
||||||
|
-I$(android)/external/openssl \
|
||||||
-I$(android)/libcore/include \
|
-I$(android)/libcore/include \
|
||||||
-I$(build)/android-src/external/fdlibm \
|
-I$(build)/android-src/external/fdlibm \
|
||||||
-I$(build)/android-src \
|
-I$(build)/android-src \
|
||||||
@ -236,6 +237,7 @@ ifneq ($(android),)
|
|||||||
-D__DARWIN_UNIX03=1 \
|
-D__DARWIN_UNIX03=1 \
|
||||||
-D__PROVIDE_FIXMES \
|
-D__PROVIDE_FIXMES \
|
||||||
-DHAVE_OFF64_T \
|
-DHAVE_OFF64_T \
|
||||||
|
-DSTATIC_LIB \
|
||||||
-g3 \
|
-g3 \
|
||||||
-Werror
|
-Werror
|
||||||
|
|
||||||
@ -251,6 +253,9 @@ ifneq ($(android),)
|
|||||||
libnativehelper-cpps := $(libnativehelper-native)/JniConstants.cpp \
|
libnativehelper-cpps := $(libnativehelper-native)/JniConstants.cpp \
|
||||||
$(libnativehelper-native)/toStringArray.cpp
|
$(libnativehelper-native)/toStringArray.cpp
|
||||||
|
|
||||||
|
crypto-native := $(android)/external/conscrypt/src/main/native
|
||||||
|
crypto-cpps := $(crypto-native)/org_conscrypt_NativeCrypto.cpp
|
||||||
|
|
||||||
ifeq ($(platform),windows)
|
ifeq ($(platform),windows)
|
||||||
android-cflags += -D__STDC_CONSTANT_MACROS -DHAVE_WIN32_FILEMAP
|
android-cflags += -D__STDC_CONSTANT_MACROS -DHAVE_WIN32_FILEMAP
|
||||||
blacklist = $(luni-native)/java_io_Console.cpp \
|
blacklist = $(luni-native)/java_io_Console.cpp \
|
||||||
@ -274,8 +279,8 @@ ifneq ($(android),)
|
|||||||
$(icu-libs) \
|
$(icu-libs) \
|
||||||
$(android)/external/fdlibm/libfdm.a \
|
$(android)/external/fdlibm/libfdm.a \
|
||||||
$(android)/external/expat/.libs/libexpat.a \
|
$(android)/external/expat/.libs/libexpat.a \
|
||||||
$(android)/openssl-upstream/libcrypto.a \
|
|
||||||
$(android)/openssl-upstream/libssl.a \
|
$(android)/openssl-upstream/libssl.a \
|
||||||
|
$(android)/openssl-upstream/libcrypto.a \
|
||||||
$(platform-lflags) \
|
$(platform-lflags) \
|
||||||
-lstdc++
|
-lstdc++
|
||||||
|
|
||||||
@ -285,6 +290,7 @@ ifneq ($(android),)
|
|||||||
|
|
||||||
classpath-objects = \
|
classpath-objects = \
|
||||||
$(call cpp-objects,$(luni-cpps),$(luni-native),$(build)) \
|
$(call cpp-objects,$(luni-cpps),$(luni-native),$(build)) \
|
||||||
|
$(call cpp-objects,$(crypto-cpps),$(crypto-native),$(build)) \
|
||||||
$(call cpp-objects,$(libnativehelper-cpps),$(libnativehelper-native),$(build)) \
|
$(call cpp-objects,$(libnativehelper-cpps),$(libnativehelper-native),$(build)) \
|
||||||
$(call cc-objects,$(libziparchive-ccs),$(libziparchive-native),$(build)) \
|
$(call cc-objects,$(libziparchive-ccs),$(libziparchive-native),$(build)) \
|
||||||
$(call cpp-objects,$(libutils-cpps),$(libutils-native),$(build))
|
$(call cpp-objects,$(libutils-cpps),$(libutils-native),$(build))
|
||||||
@ -299,6 +305,12 @@ ifneq ($(android),)
|
|||||||
luni-nonjavas := $(shell find $(luni-java) -not -type d -not -name '*.java')
|
luni-nonjavas := $(shell find $(luni-java) -not -type d -not -name '*.java')
|
||||||
luni-copied-nonjavas = $(call noop-files,$(luni-nonjavas),$(luni-java),)
|
luni-copied-nonjavas = $(call noop-files,$(luni-nonjavas),$(luni-java),)
|
||||||
|
|
||||||
|
crypto-java = $(android)/external/conscrypt/src/main/java
|
||||||
|
crypto-javas := $(shell find $(crypto-java) -name '*.java')
|
||||||
|
|
||||||
|
crypto-platform-java = $(android)/external/conscrypt/src/platform/java
|
||||||
|
crypto-platform-javas := $(shell find $(crypto-platform-java) -name '*.java')
|
||||||
|
|
||||||
dalvik-java = $(android)/libcore/dalvik/src/main/java
|
dalvik-java = $(android)/libcore/dalvik/src/main/java
|
||||||
dalvik-javas := \
|
dalvik-javas := \
|
||||||
$(dalvik-java)/dalvik/system/DalvikLogHandler.java \
|
$(dalvik-java)/dalvik/system/DalvikLogHandler.java \
|
||||||
@ -323,6 +335,8 @@ ifneq ($(android),)
|
|||||||
xml-javas := $(shell find $(xml-java) -name '*.java')
|
xml-javas := $(shell find $(xml-java) -name '*.java')
|
||||||
android-classes = \
|
android-classes = \
|
||||||
$(call java-classes,$(luni-javas),$(luni-java),$(build)/android) \
|
$(call java-classes,$(luni-javas),$(luni-java),$(build)/android) \
|
||||||
|
$(call java-classes,$(crypto-javas),$(crypto-java),$(build)/android) \
|
||||||
|
$(call java-classes,$(crypto-platform-javas),$(crypto-platform-java),$(build)/android) \
|
||||||
$(call java-classes,$(dalvik-javas),$(dalvik-java),$(build)/android) \
|
$(call java-classes,$(dalvik-javas),$(dalvik-java),$(build)/android) \
|
||||||
$(call java-classes,$(libart-javas),$(libart-java),$(build)/android) \
|
$(call java-classes,$(libart-javas),$(libart-java),$(build)/android) \
|
||||||
$(call java-classes,$(xml-javas),$(xml-java),$(build)/android)
|
$(call java-classes,$(xml-javas),$(xml-java),$(build)/android)
|
||||||
@ -1624,6 +1638,9 @@ $(build)/android-src/%.cpp: $(luni-native)/%.cpp
|
|||||||
$(build)/android-src/%.cpp: $(libnativehelper-native)/%.cpp
|
$(build)/android-src/%.cpp: $(libnativehelper-native)/%.cpp
|
||||||
cp $(<) $(@)
|
cp $(<) $(@)
|
||||||
|
|
||||||
|
$(build)/android-src/%.cpp: $(crypto-native)/%.cpp
|
||||||
|
cp $(<) $(@)
|
||||||
|
|
||||||
$(build)/android-src/%.cpp: $(libziparchive-native)/%.cc
|
$(build)/android-src/%.cpp: $(libziparchive-native)/%.cc
|
||||||
cp $(<) $(@)
|
cp $(<) $(@)
|
||||||
|
|
||||||
@ -1637,7 +1654,7 @@ $(build)/%.o: $(build)/android-src/%.cpp $(build)/android.dep
|
|||||||
$$($(windows-path) $(<)) $(call output,$(@))
|
$$($(windows-path) $(<)) $(call output,$(@))
|
||||||
|
|
||||||
$(build)/android.dep: $(luni-javas) $(dalvik-javas) $(libart-javas) \
|
$(build)/android.dep: $(luni-javas) $(dalvik-javas) $(libart-javas) \
|
||||||
$(xml-javas) $(luni-nonjavas)
|
$(xml-javas) $(luni-nonjavas) $(crypto-javas) $(crypto-platform-javas)
|
||||||
@echo "compiling luni classes"
|
@echo "compiling luni classes"
|
||||||
@mkdir -p $(classpath-build)
|
@mkdir -p $(classpath-build)
|
||||||
@mkdir -p $(build)/android
|
@mkdir -p $(build)/android
|
||||||
@ -1653,6 +1670,12 @@ $(build)/android.dep: $(luni-javas) $(dalvik-javas) $(libart-javas) \
|
|||||||
(cd $(libart-java) && \
|
(cd $(libart-java) && \
|
||||||
jar c $(call noop-files,$(libart-javas),$(libart-java),.)) \
|
jar c $(call noop-files,$(libart-javas),$(libart-java),.)) \
|
||||||
| (cd $(build)/android-src && jar x)
|
| (cd $(build)/android-src && jar x)
|
||||||
|
(cd $(crypto-java) && \
|
||||||
|
jar c $(call noop-files,$(crypto-javas),$(crypto-java),.)) \
|
||||||
|
| (cd $(build)/android-src && jar x)
|
||||||
|
(cd $(crypto-platform-java) && \
|
||||||
|
jar c $(call noop-files,$(crypto-platform-javas),$(crypto-platform-java),.)) \
|
||||||
|
| (cd $(build)/android-src && jar x)
|
||||||
(cd $(classpath-src) && \
|
(cd $(classpath-src) && \
|
||||||
jar c $(call noop-files,$(classpath-sources),$(classpath-src),.)) \
|
jar c $(call noop-files,$(classpath-sources),$(classpath-src),.)) \
|
||||||
| (cd $(build)/android-src && jar x)
|
| (cd $(build)/android-src && jar x)
|
||||||
|
@ -15,3 +15,10 @@ void JniConstants::init(_JNIEnv*)
|
|||||||
{
|
{
|
||||||
// ignore
|
// ignore
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct _JavaVM;
|
||||||
|
|
||||||
|
int libconscrypt_JNI_OnLoad(_JavaVM*, void*)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
details. */
|
details. */
|
||||||
|
|
||||||
struct JavaVM;
|
struct JavaVM;
|
||||||
|
struct _JavaVM;
|
||||||
struct _JNIEnv;
|
struct _JNIEnv;
|
||||||
|
|
||||||
struct JniConstants {
|
struct JniConstants {
|
||||||
@ -17,6 +18,8 @@ struct JniConstants {
|
|||||||
|
|
||||||
extern "C" int JNI_OnLoad(JavaVM*, void*);
|
extern "C" int JNI_OnLoad(JavaVM*, void*);
|
||||||
|
|
||||||
|
int libconscrypt_JNI_OnLoad(_JavaVM*, void*);
|
||||||
|
|
||||||
#define _POSIX_C_SOURCE 200112L
|
#define _POSIX_C_SOURCE 200112L
|
||||||
#undef _GNU_SOURCE
|
#undef _GNU_SOURCE
|
||||||
#include "avian/machine.h"
|
#include "avian/machine.h"
|
||||||
@ -393,6 +396,8 @@ class MyClasspath : public Classpath {
|
|||||||
|
|
||||||
JNI_OnLoad(reinterpret_cast< ::JavaVM*>(t->m), 0);
|
JNI_OnLoad(reinterpret_cast< ::JavaVM*>(t->m), 0);
|
||||||
|
|
||||||
|
libconscrypt_JNI_OnLoad(reinterpret_cast< ::_JavaVM*>(t->m), 0);
|
||||||
|
|
||||||
mayInitClasses_ = true;
|
mayInitClasses_ = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5665,8 +5665,6 @@ void runFinalizeThread(Thread* t)
|
|||||||
GcCleaner* cleanList = 0;
|
GcCleaner* cleanList = 0;
|
||||||
PROTECT(t, cleanList);
|
PROTECT(t, cleanList);
|
||||||
|
|
||||||
fprintf(stderr, "run finalize thread!\n");
|
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
{
|
{
|
||||||
ACQUIRE(t, t->m->stateLock);
|
ACQUIRE(t, t->m->stateLock);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user