Skip to content

Commit

Permalink
#231 DNSSEC, cmake arg's via make build
Browse files Browse the repository at this point in the history
v4.0.3
  • Loading branch information
Snider authored Feb 3, 2022
2 parents 8e9ee87 + 28485b5 commit 3b2c75b
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 38 deletions.
47 changes: 24 additions & 23 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -27,52 +27,53 @@
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

# Provide current version here instead of versin.h.in file
LETHEAN_VERSION?=4.0.1
LETHEAN_RELEASE?=macOS
LETHEAN_VERSION?=4.0.3
LETHEAN_RELEASE?=linux
LETHEAN_CMAKE_FLAGS?=""

all: help

cmake-debug:
mkdir -p build/$(LETHEAN_VERSION)/debug
cd build/$(LETHEAN_VERSION)/debug && cmake -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D CMAKE_BUILD_TYPE=Debug ../../..
cd build/$(LETHEAN_VERSION)/debug && cmake $(LETHEAN_CMAKE_FLAGS) -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D CMAKE_BUILD_TYPE=Debug ../../..

debug: cmake-debug
cd build/$(LETHEAN_VERSION)/debug && $(MAKE)

debug-test:
mkdir -p build/$(LETHEAN_VERSION)/debug
cd build/$(LETHEAN_VERSION)/debug && cmake -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D BUILD_TESTS=ON -D CMAKE_BUILD_TYPE=Debug ../../.. && $(MAKE) && $(MAKE) test
cd build/$(LETHEAN_VERSION)/debug && cmake $(LETHEAN_CMAKE_FLAGS) -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D BUILD_TESTS=ON -D CMAKE_BUILD_TYPE=Debug ../../.. && $(MAKE) && $(MAKE) test

debug-all:
mkdir -p build/$(LETHEAN_VERSION)/debug
cd build/$(LETHEAN_VERSION)/debug && cmake -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D BUILD_TESTS=ON -D BUILD_SHARED_LIBS=OFF -D CMAKE_BUILD_TYPE=Debug ../../.. && $(MAKE)
cd build/$(LETHEAN_VERSION)/debug && cmake $(LETHEAN_CMAKE_FLAGS) -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D BUILD_TESTS=ON -D BUILD_SHARED_LIBS=OFF -D CMAKE_BUILD_TYPE=Debug ../../.. && $(MAKE)

debug-static-all:
mkdir -p build/$(LETHEAN_VERSION)/debug
cd build/$(LETHEAN_VERSION)/debug && cmake -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D BUILD_TESTS=ON -D STATIC=ON -D CMAKE_BUILD_TYPE=Debug ../../.. && $(MAKE)
cd build/$(LETHEAN_VERSION)/debug && cmake $(LETHEAN_CMAKE_FLAGS) -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D BUILD_TESTS=ON -D STATIC=ON -D CMAKE_BUILD_TYPE=Debug ../../.. && $(MAKE)

cmake-release:
mkdir -p build/$(LETHEAN_VERSION)/release
cd build/$(LETHEAN_VERSION)/release && cmake -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D CMAKE_BUILD_TYPE=Release ../../..
cd build/$(LETHEAN_VERSION)/release && cmake $(LETHEAN_CMAKE_FLAGS) -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D CMAKE_BUILD_TYPE=Release ../../..

release: cmake-release
cd build/$(LETHEAN_VERSION)/release && $(MAKE)

release-test:
mkdir -p build/$(LETHEAN_VERSION)/release
cd build/$(LETHEAN_VERSION)/release && cmake -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D BUILD_TESTS=ON -D CMAKE_BUILD_TYPE=release ../../.. && $(MAKE) && $(MAKE) test
cd build/$(LETHEAN_VERSION)/release && cmake $(LETHEAN_CMAKE_FLAGS) -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D BUILD_TESTS=ON -D CMAKE_BUILD_TYPE=release ../../.. && $(MAKE) && $(MAKE) test

release-all:
mkdir -p build/$(LETHEAN_VERSION)/release
cd build/$(LETHEAN_VERSION)/release && cmake -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D BUILD_TESTS=ON -D CMAKE_BUILD_TYPE=release ../../.. && $(MAKE)
cd build/$(LETHEAN_VERSION)/release && cmake $(LETHEAN_CMAKE_FLAGS) -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D BUILD_TESTS=ON -D CMAKE_BUILD_TYPE=release ../../.. && $(MAKE)

release-static: ## Linux 64 & Boost Compile
mkdir -p build/$(LETHEAN_VERSION)/release
cd build/$(LETHEAN_VERSION)/release && cmake -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D STATIC=ON -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=release ../../.. && $(MAKE)
cd build/$(LETHEAN_VERSION)/release && cmake $(LETHEAN_CMAKE_FLAGS) -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D STATIC=ON -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=release ../../.. && $(MAKE)

coverage:
mkdir -p build/$(LETHEAN_VERSION)/debug
cd build/$(LETHEAN_VERSION)/debug && cmake -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D BUILD_TESTS=ON -D CMAKE_BUILD_TYPE=Debug -D COVERAGE=ON ../../.. && $(MAKE) && $(MAKE) test
cd build/$(LETHEAN_VERSION)/debug && cmake $(LETHEAN_CMAKE_FLAGS) -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D BUILD_TESTS=ON -D CMAKE_BUILD_TYPE=Debug -D COVERAGE=ON ../../.. && $(MAKE) && $(MAKE) test

# Targets for specific prebuilt builds which will be advertised for updates by their build tag

Expand All @@ -89,60 +90,60 @@ zip-release: ci-release # cd into packaged, zip a clean release file for an arti

release-static-linux-armv6: ## arch: armv6zk
mkdir -p build/$(LETHEAN_VERSION)/release
cd build/$(LETHEAN_VERSION)/release && cmake -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D BUILD_TESTS=OFF -D ARCH="armv6zk" -D STATIC=ON -D BUILD_64=OFF -D CMAKE_BUILD_TYPE=release -D BUILD_TAG="linux-armv6" ../../.. && $(MAKE)
cd build/$(LETHEAN_VERSION)/release && cmake $(LETHEAN_CMAKE_FLAGS) -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D BUILD_TESTS=OFF -D ARCH="armv6zk" -D STATIC=ON -D BUILD_64=OFF -D CMAKE_BUILD_TYPE=release -D BUILD_TAG="linux-armv6" ../../.. && $(MAKE)

release-static-linux-armv7: ## arch: armv7-a
mkdir -p build/$(LETHEAN_VERSION)/release
cd build/$(LETHEAN_VERSION)/release && cmake -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D BUILD_TESTS=OFF -D ARCH="armv7-a" -D STATIC=ON -D BUILD_64=OFF -D CMAKE_BUILD_TYPE=release -D BUILD_TAG="linux-armv7" ../../.. && $(MAKE)
cd build/$(LETHEAN_VERSION)/release && cmake $(LETHEAN_CMAKE_FLAGS) -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D BUILD_TESTS=OFF -D ARCH="armv7-a" -D STATIC=ON -D BUILD_64=OFF -D CMAKE_BUILD_TYPE=release -D BUILD_TAG="linux-armv7" ../../.. && $(MAKE)

release-static-android: ## arch: armv7-a
mkdir -p build/$(LETHEAN_VERSION)/release
cd build/$(LETHEAN_VERSION)/release && cmake -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D BUILD_TESTS=OFF -D ARCH="armv7-a" -D STATIC=ON -D BUILD_64=OFF -D CMAKE_BUILD_TYPE=release -D ANDROID=true -D INSTALL_VENDORED_LIBUNBOUND=ON -D BUILD_TAG="android" ../../.. && $(MAKE)
cd build/$(LETHEAN_VERSION)/release && cmake $(LETHEAN_CMAKE_FLAGS) -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D BUILD_TESTS=OFF -D ARCH="armv7-a" -D STATIC=ON -D BUILD_64=OFF -D CMAKE_BUILD_TYPE=release -D ANDROID=true -D INSTALL_VENDORED_LIBUNBOUND=ON -D BUILD_TAG="android" ../../.. && $(MAKE)

release-static-linux-armv8: ## arch: armv8-a
mkdir -p build/$(LETHEAN_VERSION)/release
cd build/$(LETHEAN_VERSION)/release && cmake -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D BUILD_TESTS=OFF -D ARCH="armv8-a" -D STATIC=ON -D BUILD_64=ON -D CMAKE_BUILD_TYPE=release -D BUILD_TAG="linux-armv8" ../../.. && $(MAKE)
cd build/$(LETHEAN_VERSION)/release && cmake $(LETHEAN_CMAKE_FLAGS) -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D BUILD_TESTS=OFF -D ARCH="armv8-a" -D STATIC=ON -D BUILD_64=ON -D CMAKE_BUILD_TYPE=release -D BUILD_TAG="linux-armv8" ../../.. && $(MAKE)

release-static-linux-x86_64: ## Linux 64
mkdir -p build/$(LETHEAN_VERSION)/release
cd build/$(LETHEAN_VERSION)/release && cmake -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D STATIC=ON -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=release -D BUILD_TAG="linux-x64" ../../.. && $(MAKE)
cd build/$(LETHEAN_VERSION)/release && cmake $(LETHEAN_CMAKE_FLAGS) -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D STATIC=ON -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=release -D BUILD_TAG="linux-x64" ../../.. && $(MAKE)

release-static-linux-x86_64-boost:
cd boost && ./bootstrap.sh && ./b2 --prefix=$(shell pwd)/deps --layout=system address-model=64 runtime-link=static link=static variant=release threading=multi --with-system --with-filesystem --with-thread --with-date_time --with-chrono --with-regex --with-serialization --with-program_options --with-atomic --with-locale install

release-static-linux-x86_64-local-boost: release-static-linux-x86_64-boost
mkdir -p build/$(LETHEAN_VERSION)/release
cd build/$(LETHEAN_VERSION)/release && cmake -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D STATIC=ON -D ARCH="x86-64" -D BUILD_64=ON -D Boost_NO_SYSTEM_PATHS=TRUE -D BOOST_ROOT=$(shell pwd)/deps -D CMAKE_BUILD_TYPE=release -D Boost_NO_BOOST_CMAKE=ON -D BUILD_TAG="linux-x64" ../../.. && $(MAKE)
cd build/$(LETHEAN_VERSION)/release && cmake $(LETHEAN_CMAKE_FLAGS) -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D STATIC=ON -D ARCH="x86-64" -D BUILD_64=ON -D Boost_NO_SYSTEM_PATHS=TRUE -D BOOST_ROOT=$(shell pwd)/deps -D CMAKE_BUILD_TYPE=release -D Boost_NO_BOOST_CMAKE=ON -D BUILD_TAG="linux-x64" ../../.. && $(MAKE)

release-static-freebsd-x86_64: ## FreeBSD 64
mkdir -p build/$(LETHEAN_VERSION)/release
cd build/$(LETHEAN_VERSION)/release && cmake -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D STATIC=ON -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=release -D BUILD_TAG="freebsd-x64" ../../.. && $(MAKE)
cd build/$(LETHEAN_VERSION)/release && cmake $(LETHEAN_CMAKE_FLAGS) -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D STATIC=ON -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=release -D BUILD_TAG="freebsd-x64" ../../.. && $(MAKE)

release-static-mac-x86_64: ## macOS64-intel
mkdir -p build/$(LETHEAN_VERSION)/release
cd build/$(LETHEAN_VERSION)/release && cmake -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D STATIC=ON -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=release -D BUILD_TAG="mac-x64" ../../.. && $(MAKE)
cd build/$(LETHEAN_VERSION)/release && cmake $(LETHEAN_CMAKE_FLAGS) -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D STATIC=ON -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=release -D BUILD_TAG="mac-x64" ../../.. && $(MAKE)

release-static-linux-i686: ## Linux32
mkdir -p build/$(LETHEAN_VERSION)/release
cd build/$(LETHEAN_VERSION)/release && cmake -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D STATIC=ON -D ARCH="i686" -D BUILD_64=OFF -D CMAKE_BUILD_TYPE=release -D BUILD_TAG="linux-x86" ../../.. && $(MAKE)
cd build/$(LETHEAN_VERSION)/release && cmake $(LETHEAN_CMAKE_FLAGS) -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D STATIC=ON -D ARCH="i686" -D BUILD_64=OFF -D CMAKE_BUILD_TYPE=release -D BUILD_TAG="linux-x86" ../../.. && $(MAKE)

release-static-win64: ## Windows64
mkdir -p build/$(LETHEAN_VERSION)/release
cd build/$(LETHEAN_VERSION)/release && cmake -G "MSYS Makefiles" -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D STATIC=ON -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Release -D BUILD_TAG="win-x64" -D CMAKE_TOOLCHAIN_FILE=../../../cmake/64-bit-toolchain.cmake -D MSYS2_FOLDER=$(shell cd ${MINGW_PREFIX}/.. && pwd -W) ../../.. && $(MAKE)
cd build/$(LETHEAN_VERSION)/release && cmake $(LETHEAN_CMAKE_FLAGS) -G "MSYS Makefiles" -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D STATIC=ON -D ARCH="x86-64" -D BUILD_64=ON -D CMAKE_BUILD_TYPE=Release -D BUILD_TAG="win-x64" -D CMAKE_TOOLCHAIN_FILE=../../../cmake/64-bit-toolchain.cmake $(LETHEAN_CMAKE_FLAGS) -D MSYS2_FOLDER=$(shell cd ${MINGW_PREFIX}/.. && pwd -W) ../../.. && $(MAKE)

release-static-win64-boost: ## Windows64 & Boost Compile
cd boost && ./bootstrap.sh && ./b2 --prefix=$(shell cd ${MINGW_PREFIX} && pwd -W) --layout=system address-model=64 runtime-link=static link=static variant=release threading=multi --with-system --with-filesystem --with-thread --with-date_time --with-chrono --with-regex --with-serialization --with-program_options --with-atomic --with-locale install

release-static-win32: ## Windows32
mkdir -p build/$(LETHEAN_VERSION)/release
cd build/$(LETHEAN_VERSION)/release && cmake -G "MSYS Makefiles" -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D STATIC=ON -D ARCH="i686" -D BUILD_64=OFF -D CMAKE_BUILD_TYPE=Release -D BUILD_TAG="win-x32" -D CMAKE_TOOLCHAIN_FILE=../../../cmake/32-bit-toolchain.cmake -D MSYS2_FOLDER=$(shell cd ${MINGW_PREFIX}/.. && pwd -W) ../../.. && $(MAKE)
cd build/$(LETHEAN_VERSION)/release && cmake $(LETHEAN_CMAKE_FLAGS) -G "MSYS Makefiles" -D LETHEAN_VERSION=$(LETHEAN_VERSION) -D STATIC=ON -D ARCH="i686" -D BUILD_64=OFF -D CMAKE_BUILD_TYPE=Release -D BUILD_TAG="win-x32" -D CMAKE_TOOLCHAIN_FILE=../../../cmake/32-bit-toolchain.cmake $(LETHEAN_CMAKE_FLAGS) -D MSYS2_FOLDER=$(shell cd ${MINGW_PREFIX}/.. && pwd -W) ../../.. && $(MAKE)

docker-testnet: ## Run testnet Docker daemon
docker run -it lthn/chain:testnet

fuzz:
mkdir -p build/fuzz
cd build/fuzz && cmake -D BUILD_TESTS=ON -D USE_LTO=OFF -D CMAKE_C_COMPILER=afl-gcc -D CMAKE_CXX_COMPILER=afl-g++ -D ARCH="x86-64" -D CMAKE_BUILD_TYPE=fuzz -D BUILD_TAG="linux-x64" ../.. && $(MAKE)
cd build/fuzz && cmake $(LETHEAN_CMAKE_FLAGS) -D BUILD_TESTS=ON -D USE_LTO=OFF -D CMAKE_C_COMPILER=afl-gcc -D CMAKE_CXX_COMPILER=afl-g++ -D ARCH="x86-64" -D CMAKE_BUILD_TYPE=fuzz -D BUILD_TAG="linux-x64" ../.. && $(MAKE)

clean: ## Deletes build/LETHEAN_VERSION & deps/
@echo "WARNING: Back-up your wallet if it exists within ./build!" ; \
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Lethean (LTHN)

[![macOS](https://github.com/letheanVPN/blockchain/actions/workflows/macos.yml/badge.svg?branch=release-3.1.0)](https://github.com/letheanVPN/blockchain/actions/workflows/macos.yml)
[![Windows](https://github.com/letheanVPN/blockchain/actions/workflows/windows.yml/badge.svg?branch=release-3.1.0)](https://github.com/letheanVPN/blockchain/actions/workflows/windows.yml)
[![Linux](https://github.com/letheanVPN/blockchain/actions/workflows/linux.yml/badge.svg?branch=release-3.1.0)](https://github.com/letheanVPN/blockchain/actions/workflows/linux.yml)
[![macOS](https://github.com/letheanVPN/blockchain/actions/workflows/macos.yml/badge.svg)](https://github.com/letheanVPN/blockchain/actions/workflows/macos.yml)
[![Windows](https://github.com/letheanVPN/blockchain/actions/workflows/windows.yml/badge.svg)](https://github.com/letheanVPN/blockchain/actions/workflows/windows.yml)
[![Linux](https://github.com/letheanVPN/blockchain/actions/workflows/linux.yml/badge.svg)](https://github.com/letheanVPN/blockchain/actions/workflows/linux.yml)

- Web: [www.lt.hn](https://lt.hn/)
- Email: [[email protected]](mailto:[email protected])
Expand Down
25 changes: 13 additions & 12 deletions src/common/dns_utils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ static const char*
get_builtin_ds(void)
{
return
". IN DS 19036 8 2 49AAC11D7B6F6446702E54A1607371607A1A41855200FD2CE1CDDE32F24E8FB5\n";
". IN DS 20326 8 2 E06D44B80B8F1D39A95C0B0D7C65D08458E880409BBC683457104237C7F8EC8D\n";
}

/************************************************************
Expand Down Expand Up @@ -198,25 +198,26 @@ class string_copy {

DNSResolver::DNSResolver() : m_data(new DNSResolverData())
{
int use_dns_public = 0;
int use_dns_public = 1;
const char* dns_public_addr = "8.8.4.4";
if (auto res = getenv("DNS_PUBLIC"))
{
std::string dns_public(res);
// TODO: could allow parsing of IP and protocol: e.g. DNS_PUBLIC=tcp:8.8.8.8
if (dns_public == "tcp")
{
LOG_PRINT_L0("Using public DNS server: " << dns_public_addr << " (TCP)");
use_dns_public = 1;
}
}

// Public DNS is used by default
if (auto res = getenv("DNS_PRIVATE"))
{
LOG_PRINT_L0("Using private DNS - /etc/hosts etc.");
use_dns_public = 0;
}
else {
LOG_PRINT_L0("Using public DNS server: " << dns_public_addr << " (TCP)");
}

// init libunbound context
m_data->m_ub_context = ub_ctx_create();

if (use_dns_public)
{
ub_ctx_set_fwd(m_data->m_ub_context, string_copy(dns_public_addr));
// Use tcp only
ub_ctx_set_option(m_data->m_ub_context, string_copy("do-udp:"), string_copy("no"));
ub_ctx_set_option(m_data->m_ub_context, string_copy("do-tcp:"), string_copy("yes"));
}
Expand Down
2 changes: 2 additions & 0 deletions src/cryptonote_basic/checkpoints.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,8 @@ namespace cryptonote
continue;
}

LOG_PRINT_L2("Found dns checkpoint " << record);

ADD_CHECKPOINT(height, hashStr);
}
}
Expand Down

0 comments on commit 3b2c75b

Please sign in to comment.