mirror of https://github.com/oxen-io/lokinet
Bump libsodium required version to 1.0.18
We use crypto_core_ed25519_scalar_mul which is only exported by libsodium >= 1.0.18.
This commit is contained in:
parent
8cd95c01b3
commit
2b93ccb393
2
Makefile
2
Makefile
|
@ -95,7 +95,7 @@ CROSS ?= OFF
|
||||||
SHARED_LIB ?= OFF
|
SHARED_LIB ?= OFF
|
||||||
# enable generating coverage
|
# enable generating coverage
|
||||||
COVERAGE ?= OFF
|
COVERAGE ?= OFF
|
||||||
# allow downloading libsodium if >= 1.0.17 not installed
|
# allow downloading libsodium if >= 1.0.18 not installed
|
||||||
DOWNLOAD_SODIUM ?= OFF
|
DOWNLOAD_SODIUM ?= OFF
|
||||||
|
|
||||||
COVERAGE_OUTDIR ?= "$(TMPDIR)/lokinet-coverage"
|
COVERAGE_OUTDIR ?= "$(TMPDIR)/lokinet-coverage"
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
set(LIBSODIUM_PREFIX ${CMAKE_BINARY_DIR}/libsodium)
|
set(LIBSODIUM_PREFIX ${CMAKE_BINARY_DIR}/libsodium)
|
||||||
set(LIBSODIUM_SRC ${LIBSODIUM_PREFIX}/libsodium-1.0.17)
|
set(LIBSODIUM_SRC ${LIBSODIUM_PREFIX}/libsodium-1.0.18)
|
||||||
set(LIBSODIUM_TARBALL ${LIBSODIUM_PREFIX}/libsodium-1.0.17.tar.gz)
|
set(LIBSODIUM_TARBALL ${LIBSODIUM_PREFIX}/libsodium-1.0.18.tar.gz)
|
||||||
set(LIBSODIUM_URL https://github.com/jedisct1/libsodium/releases/download/1.0.17/libsodium-1.0.17.tar.gz)
|
set(LIBSODIUM_URL https://github.com/jedisct1/libsodium/releases/download/1.0.18/libsodium-1.0.18.tar.gz)
|
||||||
if(SODIUM_TARBALL_URL)
|
if(SODIUM_TARBALL_URL)
|
||||||
# make a build time override of the tarball url so we can fetch it if the original link goes away
|
# make a build time override of the tarball url so we can fetch it if the original link goes away
|
||||||
set(LIBSODIUM_URL ${SODIUM_TARBALL_URL})
|
set(LIBSODIUM_URL ${SODIUM_TARBALL_URL})
|
||||||
|
@ -10,13 +10,13 @@ set(SODIUM_PRETEND_TO_BE_CONFIGURED ON)
|
||||||
file(DOWNLOAD
|
file(DOWNLOAD
|
||||||
${LIBSODIUM_URL}
|
${LIBSODIUM_URL}
|
||||||
${LIBSODIUM_TARBALL}
|
${LIBSODIUM_TARBALL}
|
||||||
EXPECTED_HASH SHA512=7cc9e4f11e656008ce9dff735acea95acbcb91ae4936de4d26f7798093766a77c373e9bd4a7b45b60ef8a11de6c55bc8dcac13bebf8c23c671d0536430501da1
|
EXPECTED_HASH SHA512=17e8638e46d8f6f7d024fe5559eccf2b8baf23e143fadd472a7d29d228b186d86686a5e6920385fe2020729119a5f12f989c3a782afbd05a8db4819bb18666ef
|
||||||
SHOW_PROGRESS)
|
SHOW_PROGRESS)
|
||||||
|
|
||||||
execute_process(COMMAND tar -xzf ${LIBSODIUM_TARBALL} -C ${LIBSODIUM_PREFIX})
|
execute_process(COMMAND tar -xzf ${LIBSODIUM_TARBALL} -C ${LIBSODIUM_PREFIX})
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
message("patch -p0 -d ${LIBSODIUM_SRC} < ${CMAKE_SOURCE_DIR}/llarp/win32/libsodium-1.0.17-win32.patch")
|
message("patch -p0 -d ${LIBSODIUM_SRC} < ${CMAKE_SOURCE_DIR}/llarp/win32/libsodium-1.0.18-win32.patch")
|
||||||
execute_process(COMMAND "patch -p0 -d ${LIBSODIUM_SRC} < ${CMAKE_SOURCE_DIR}/llarp/win32/libsodium-1.0.17-win32.patch")
|
execute_process(COMMAND "patch -p0 -d ${LIBSODIUM_SRC} < ${CMAKE_SOURCE_DIR}/llarp/win32/libsodium-1.0.18-win32.patch")
|
||||||
endif()
|
endif()
|
||||||
add_library(sodium_vendor
|
add_library(sodium_vendor
|
||||||
${LIBSODIUM_SRC}/src/libsodium/crypto_aead/aes256gcm/aesni/aead_aes256gcm_aesni.c
|
${LIBSODIUM_SRC}/src/libsodium/crypto_aead/aes256gcm/aesni/aead_aes256gcm_aesni.c
|
||||||
|
@ -284,9 +284,9 @@ target_compile_definitions(sodium_vendor
|
||||||
|
|
||||||
# Variables that need to be exported to version.h.in
|
# Variables that need to be exported to version.h.in
|
||||||
set(VERSION_ORIG "${VERSION}") # an included module sets things in the calling scope :(
|
set(VERSION_ORIG "${VERSION}") # an included module sets things in the calling scope :(
|
||||||
set(VERSION 1.0.17)
|
set(VERSION 1.0.18)
|
||||||
set(SODIUM_LIBRARY_VERSION_MAJOR 10)
|
set(SODIUM_LIBRARY_VERSION_MAJOR 10)
|
||||||
set(SODIUM_LIBRARY_VERSION_MINOR 2)
|
set(SODIUM_LIBRARY_VERSION_MINOR 3)
|
||||||
|
|
||||||
configure_file(
|
configure_file(
|
||||||
${LIBSODIUM_SRC}/src/libsodium/include/sodium/version.h.in
|
${LIBSODIUM_SRC}/src/libsodium/include/sodium/version.h.in
|
||||||
|
|
|
@ -66,19 +66,19 @@ target_link_libraries(${CRYPTOGRAPHY_LIB} PRIVATE cryptography_avx_lib)
|
||||||
|
|
||||||
option(DOWNLOAD_SODIUM "Allow libsodium to be downloaded and built locally if not found on the system" OFF)
|
option(DOWNLOAD_SODIUM "Allow libsodium to be downloaded and built locally if not found on the system" OFF)
|
||||||
|
|
||||||
find_package(Sodium 1.0.17)
|
find_package(Sodium 1.0.18)
|
||||||
|
|
||||||
if(sodium_FOUND)
|
if(sodium_FOUND)
|
||||||
target_include_directories(${CRYPTOGRAPHY_LIB} PUBLIC ${sodium_INCLUDE_DIR})
|
target_include_directories(${CRYPTOGRAPHY_LIB} PUBLIC ${sodium_INCLUDE_DIR})
|
||||||
target_include_directories(cryptography_avx_lib PUBLIC ${sodium_INCLUDE_DIR})
|
target_include_directories(cryptography_avx_lib PUBLIC ${sodium_INCLUDE_DIR})
|
||||||
target_link_libraries(${CRYPTOGRAPHY_LIB} PUBLIC ${sodium_LIBRARY_RELEASE})
|
target_link_libraries(${CRYPTOGRAPHY_LIB} PUBLIC ${sodium_LIBRARY_RELEASE})
|
||||||
elseif(DOWNLOAD_SODIUM)
|
elseif(DOWNLOAD_SODIUM)
|
||||||
message(STATUS "Sodium >= 1.0.17 not found, but DOWNLOAD_SODIUM specified, so downloading it")
|
message(STATUS "Sodium >= 1.0.18 not found, but DOWNLOAD_SODIUM specified, so downloading it")
|
||||||
include(DownloadLibSodium)
|
include(DownloadLibSodium)
|
||||||
target_link_libraries(${CRYPTOGRAPHY_LIB} PUBLIC sodium_vendor)
|
target_link_libraries(${CRYPTOGRAPHY_LIB} PUBLIC sodium_vendor)
|
||||||
target_link_libraries(cryptography_avx_lib PUBLIC sodium_vendor)
|
target_link_libraries(cryptography_avx_lib PUBLIC sodium_vendor)
|
||||||
else()
|
else()
|
||||||
message(FATAL_ERROR "Could not find libsodium >= 1.0.17; either install it on your system or use -DDOWNLOAD_SODIUM=ON to download and build an internal copy")
|
message(FATAL_ERROR "Could not find libsodium >= 1.0.18; either install it on your system or use -DDOWNLOAD_SODIUM=ON to download and build an internal copy")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_include_directories(${CRYPTOGRAPHY_LIB} PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/libntrup/include")
|
target_include_directories(${CRYPTOGRAPHY_LIB} PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/libntrup/include")
|
||||||
|
|
|
@ -70,7 +70,7 @@ Build requirements:
|
||||||
* C++ 14 capable C++ compiler
|
* C++ 14 capable C++ compiler
|
||||||
* gcovr (if generating test coverage with gcc)
|
* gcovr (if generating test coverage with gcc)
|
||||||
* libuv >= 1.27.0
|
* libuv >= 1.27.0
|
||||||
* libsodium >= 1.0.17
|
* libsodium >= 1.0.18
|
||||||
* libcurl
|
* libcurl
|
||||||
|
|
||||||
### Linux
|
### Linux
|
||||||
|
|
|
@ -70,7 +70,8 @@ Requerimientos de compilación:
|
||||||
* Compilador C++ que pueda usar C++ 17
|
* Compilador C++ que pueda usar C++ 17
|
||||||
* gcovr (para generar la covertura de prueba en gcc)
|
* gcovr (para generar la covertura de prueba en gcc)
|
||||||
* libuv >= 1.27.0
|
* libuv >= 1.27.0
|
||||||
* libsodium
|
* libsodium >= 1.0.18
|
||||||
|
* libcurl
|
||||||
|
|
||||||
### Linux
|
### Linux
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue