mirror of
https://github.com/oxen-io/oxen-core.git
synced 2023-12-14 02:22:56 +01:00
5e95cef882
openssl is a miserable dependency to fight with, especially for iOS/Android, and we use it for very little: - it gets (mis)used to write base64 data to a file in wallet2 for things like multisig data. However this mode is *not* enabled by default, basically completely unknown, completely unused, only exists in the cli wallet, and is just dumb. (Honestly the justification given in the PR is that "Windows users might want it", presupposing that there exists Windows users who are capable of generating a multisig wallet in a CLI-only application and yet are incapable of dealing with binary files). - it's a dependency of unbound (in order to do dnssec, I believe). Unbound itself is fairly useless for Oxen, so I've removed it too: - it does OpenAlias lookups, which are a Monero thing that has never been used outside Monero, doesn't work reliably (because it fails if the result isn't DNSSEC validated) and is pointless when we have ONS. - it does DNS resolution on seed nodes, but we have never set seed nodes by name and just use seed node IPs instead (which seems a bit better anyway since the DNS lookup leaks some metadata). - it *was* being used for sha256, but an earlier commit in this PR already replaced that with libsodium (entirely coincidentally). - for static deps, it enables HTTPS support for the wallet. However only the CLI wallet actually supports this (the GUI and mobile wallets don't), and since oxend hasn't support this for a while I have strong doubts it is being used anywhere. (Plus wallet3 will do everything encrypted using zmq/libsodium, so doesn't need this to be secure). Note here that it is *only* removed by this commit for static builds: if doing a system build that links to libcurl supporting HTTPS then HTTPS support will still work. Libexpat is also gone because it was only there for libunbound.
127 lines
3.4 KiB
CMake
127 lines
3.4 KiB
CMake
# Copyright (c) 2014-2018, The Monero Project
|
|
#
|
|
# All rights reserved.
|
|
#
|
|
# Redistribution and use in source and binary forms, with or without modification, are
|
|
# permitted provided that the following conditions are met:
|
|
#
|
|
# 1. Redistributions of source code must retain the above copyright notice, this list of
|
|
# conditions and the following disclaimer.
|
|
#
|
|
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
|
|
# of conditions and the following disclaimer in the documentation and/or other
|
|
# materials provided with the distribution.
|
|
#
|
|
# 3. Neither the name of the copyright holder nor the names of its contributors may be
|
|
# used to endorse or promote products derived from this software without specific
|
|
# prior written permission.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
|
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
|
# THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
|
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
|
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
|
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
add_executable(unit_tests
|
|
account.cpp
|
|
apply_permutation.cpp
|
|
base58.cpp
|
|
blockchain_db.cpp
|
|
block_queue.cpp
|
|
block_reward.cpp
|
|
bulletproofs.cpp
|
|
chacha.cpp
|
|
checkpoints.cpp
|
|
command_line.cpp
|
|
crypto.cpp
|
|
device.cpp
|
|
epee_boosted_tcp_server.cpp
|
|
epee_levin_protocol_handler_async.cpp
|
|
epee_utils.cpp
|
|
expect.cpp
|
|
get_xtype_from_string.cpp
|
|
hashchain.cpp
|
|
hmac_keccak.cpp
|
|
keccak.cpp
|
|
levin.cpp
|
|
logging.cpp
|
|
oxen_name_system.cpp
|
|
long_term_block_weight.cpp
|
|
lmdb.cpp
|
|
main.cpp
|
|
memwipe.cpp
|
|
mlocker.cpp
|
|
mnemonics.cpp
|
|
mul_div.cpp
|
|
multiexp.cpp
|
|
multisig.cpp
|
|
net.cpp
|
|
node_server.cpp
|
|
notify.cpp
|
|
output_distribution.cpp
|
|
parse_amount.cpp
|
|
parse_address.cpp
|
|
pruning.cpp
|
|
random.cpp
|
|
rolling_median.cpp
|
|
serialization.cpp
|
|
service_nodes.cpp
|
|
service_nodes_swarm.cpp
|
|
sha256.cpp
|
|
string_util.cpp
|
|
subaddress.cpp
|
|
test_tx_utils.cpp
|
|
test_peerlist.cpp
|
|
test_protocol_pack.cpp
|
|
threadpool.cpp
|
|
unbound.cpp
|
|
uri.cpp
|
|
varint.cpp
|
|
ringct.cpp
|
|
output_selection.cpp
|
|
vercmp.cpp
|
|
ringdb.cpp
|
|
wipeable_string.cpp
|
|
aligned.cpp)
|
|
|
|
target_link_libraries(unit_tests
|
|
PRIVATE
|
|
ringct
|
|
cryptonote_protocol
|
|
cryptonote_core
|
|
blockchain_db
|
|
lmdb_lib
|
|
rpc
|
|
net
|
|
wallet
|
|
p2p
|
|
version
|
|
Boost::thread
|
|
gtest
|
|
extra)
|
|
set_property(TARGET unit_tests
|
|
PROPERTY
|
|
FOLDER "tests")
|
|
|
|
if (NOT MSVC)
|
|
set_property(TARGET unit_tests
|
|
APPEND_STRING
|
|
PROPERTY
|
|
COMPILE_FLAGS " -Wno-undef -Wno-sign-compare")
|
|
endif ()
|
|
|
|
SET_PROPERTY(SOURCE main.cpp PROPERTY COMPILE_FLAGS -DDEFAULT_DATA_DIR="\\"${CMAKE_SOURCE_DIR}/tests/data\\"")
|
|
|
|
SET_PROPERTY(SOURCE memwipe.cpp PROPERTY COMPILE_FLAGS -Ofast)
|
|
|
|
add_test(
|
|
NAME unit_tests
|
|
COMMAND unit_tests --data-dir "${TEST_DATA_DIR}")
|
|
|
|
add_executable(test_notifier test_notifier.cpp)
|
|
target_link_libraries(test_notifier extra)
|
|
set_property(TARGET test_notifier PROPERTY FOLDER "tests")
|