Skip to content

Commit fecf883

Browse files
committed
[TF][REFACTOR] replace BoringSSL with LibreSSL
1 parent 808ab79 commit fecf883

22 files changed

Lines changed: 55 additions & 6166 deletions

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ API_KEYS
2020
TMessagesProj/.externalNativeBuild/
2121
TMessagesProj/jni/ffmpeg/android/
2222
TMessagesProj/jni/ffmpeg/build/
23-
TMessagesProj/jni/boringssl/build/
23+
TMessagesProj/jni/libressl/build/
24+
TMessagesProj/jni/libressl/openbsd/
2425
TMessagesProj/jni/tde2e/x86*
2526
TMessagesProj/jni/tde2e/arm*
2627
TMessagesProj/jni/tdlib/build/

.gitmodules

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010
[submodule "TMessagesProj/jni/libwebp"]
1111
path = TMessagesProj/jni/libwebp
1212
url = https://github.com/webmproject/libwebp
13-
[submodule "TMessagesProj/jni/boringssl"]
14-
path = TMessagesProj/jni/boringssl
15-
url = https://github.com/google/boringssl
13+
[submodule "TMessagesProj/jni/libressl"]
14+
path = TMessagesProj/jni/libressl
15+
url = https://github.com/libressl/portable.git
1616
[submodule "TMessagesProj/jni/libvpx"]
1717
path = TMessagesProj/jni/libvpx
1818
url = https://github.com/webmproject/libvpx

TMessagesProj/jni/CMakeLists.txt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ ${CMAKE_HOME_DIRECTORY}/ffmpeg/build/${ANDROID_ABI}/lib/libavutil.a,
1313
${CMAKE_HOME_DIRECTORY}/ffmpeg/build/${ANDROID_ABI}/lib/libswresample.a,
1414
${CMAKE_HOME_DIRECTORY}/libvpx/build/${ANDROID_ABI}/lib/libvpx.a,
1515
${CMAKE_HOME_DIRECTORY}/dav1d/build/${ANDROID_ABI}/lib/libdav1d.a,
16-
${CMAKE_HOME_DIRECTORY}/boringssl/build/${ANDROID_ABI}/libssl.a,
17-
${CMAKE_HOME_DIRECTORY}/boringssl/build/${ANDROID_ABI}/libcrypto.a,
16+
${CMAKE_HOME_DIRECTORY}/libressl/build/${ANDROID_ABI}/ssl/libssl.a,
17+
${CMAKE_HOME_DIRECTORY}/libressl/build/${ANDROID_ABI}/crypto/libcrypto.a,
1818
${CMAKE_HOME_DIRECTORY}/tde2e/${ANDROID_ABI}/libtde2e.a,
1919
${CMAKE_HOME_DIRECTORY}/tde2e/${ANDROID_ABI}/libtdutils.a")
2020

@@ -40,10 +40,10 @@ add_library(swscale STATIC IMPORTED)
4040
set_target_properties(swscale PROPERTIES IMPORTED_LOCATION ${CMAKE_HOME_DIRECTORY}/ffmpeg/build/${ANDROID_ABI}/lib/libswscale.a)
4141

4242
add_library(crypto STATIC IMPORTED)
43-
set_target_properties(crypto PROPERTIES IMPORTED_LOCATION ${CMAKE_HOME_DIRECTORY}/boringssl/build/${ANDROID_ABI}/libcrypto.a)
43+
set_target_properties(crypto PROPERTIES IMPORTED_LOCATION ${CMAKE_HOME_DIRECTORY}/libressl/build/${ANDROID_ABI}/crypto/libcrypto.a)
4444

4545
add_library(ssl STATIC IMPORTED)
46-
set_target_properties(ssl PROPERTIES IMPORTED_LOCATION ${CMAKE_HOME_DIRECTORY}/boringssl/build/${ANDROID_ABI}/libssl.a)
46+
set_target_properties(ssl PROPERTIES IMPORTED_LOCATION ${CMAKE_HOME_DIRECTORY}/libressl/build/${ANDROID_ABI}/ssl/libssl.a)
4747

4848
add_library(libvpx STATIC IMPORTED)
4949
set_target_properties(libvpx PROPERTIES IMPORTED_LOCATION ${CMAKE_HOME_DIRECTORY}/libvpx/build/${ANDROID_ABI}/lib/libvpx.a)
@@ -208,7 +208,7 @@ set_target_properties(tgnet PROPERTIES
208208
target_compile_definitions(tgnet PUBLIC
209209
HAVE_PTHREAD)
210210
target_include_directories(tgnet PUBLIC
211-
boringssl/include/)
211+
libressl/include/)
212212
target_link_libraries(tgnet
213213
crypto)
214214

@@ -614,7 +614,7 @@ target_include_directories(${NATIVE_LIB} PUBLIC
614614
opus/
615615
opus/opusfile
616616
third_party/libyuv/include
617-
boringssl/include
617+
libressl/include
618618
ffmpeg/build/${ANDROID_ABI}/include
619619
libvpx/build/${ANDROID_ABI}/include
620620
emoji

TMessagesProj/jni/boringssl

Lines changed: 0 additions & 1 deletion
This file was deleted.

TMessagesProj/jni/build.sh

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@ cd "${APP_DIRECTORY}"
1717
1818
./build_dav1d_clang.sh
1919
20-
./patch_boringssl.sh
21-
./build_boringssl.sh
20+
./build_libressl.sh
2221
2322
./patch_tdlib.sh
2423
./build_tde2e.sh
Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ function build_one {
1313
-DCMAKE_BUILD_TYPE=Release \
1414
-DANDROID_NDK=${NDK} \
1515
-DCMAKE_TOOLCHAIN_FILE=${NDK}/build/cmake/android.toolchain.cmake \
16+
-DLIBRESSL_SKIP_INSTALL=ON \
17+
-DLIBRESSL_APPS=OFF \
18+
-DLIBRESSL_TESTS=OFF \
19+
-DENABLE_NC=OFF \
20+
-DENABLE_ASM=ON \
1621
../..
1722

1823
echo "Building..."
@@ -23,8 +28,8 @@ function build_one {
2328

2429
function checkPreRequisites {
2530

26-
if ! [ -d "boringssl" ] || ! [ "$(ls -A boringssl)" ]; then
27-
echo -e "\033[31mFailed! Submodule 'boringssl' not found!\033[0m"
31+
if ! [ -d "libressl" ] || ! [ "$(ls -A libressl)" ]; then
32+
echo -e "\033[31mFailed! Submodule 'libressl' not found!\033[0m"
2833
echo -e "\033[31mTry to run: 'git submodule init && git submodule update'\033[0m"
2934
exit
3035
fi
@@ -38,7 +43,13 @@ function checkPreRequisites {
3843
ANDROID_NDK=$NDK
3944
checkPreRequisites
4045

41-
cd boringssl
46+
cd libressl
47+
48+
if [ ! -f include/openssl/aes.h ] || [ ! -f configure ]; then
49+
echo "Bootstrapping LibreSSL portable sources..."
50+
./update.sh
51+
./autogen.sh
52+
fi
4253

4354
rm -rf build
4455
mkdir build

TMessagesProj/jni/build_tde2e.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,9 @@ for arch in "${architectures[@]}"; do
5454
-D ANDROID_PLATFORM='android-21' \
5555
-D CMAKE_BUILD_TYPE='Release' \
5656
-D CMAKE_INSTALL_PREFIX="${install_directory}" \
57-
-D OPENSSL_INCLUDE_DIR="${app_directory}/boringssl/include" \
58-
-D OPENSSL_CRYPTO_LIBRARY="${app_directory}/boringssl/build/${arch}/libcrypto.a" \
59-
-D OPENSSL_SSL_LIBRARY="${app_directory}/boringssl/build/${arch}/libssl.a" \
57+
-D OPENSSL_INCLUDE_DIR="${app_directory}/libressl/include" \
58+
-D OPENSSL_CRYPTO_LIBRARY="${app_directory}/libressl/build/${arch}/crypto/libcrypto.a" \
59+
-D OPENSSL_SSL_LIBRARY="${app_directory}/libressl/build/${arch}/ssl/libssl.a" \
6060
-DTD_E2E_ONLY=ON \
6161
-B "${build_directory}" \
6262
-S "${source_directory}"

TMessagesProj/jni/libressl

Submodule libressl added at 8430c1d

TMessagesProj/jni/patch_boringssl.sh

Lines changed: 0 additions & 8 deletions
This file was deleted.

0 commit comments

Comments
 (0)