Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fedora/34 v0.9.9 upgrade #1947

Open
wants to merge 252 commits into
base: fedora/34
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
252 commits
Select commit Hold shift + click to select a range
172c2de
create new constexpr for the staleness window for introsets and use i…
majestrate Nov 16, 2021
5de5091
docker CI: Fix error message
jagerman Nov 17, 2021
8c6bf31
paralellize android build much better
majestrate Nov 23, 2021
d7529da
Merge pull request #1811 from majestrate/android-ci-optimize-2021-11-23
majestrate Nov 23, 2021
ec8d990
demote log statement levels
majestrate Nov 28, 2021
b23ceef
Merge pull request #1812 from majestrate/log-level-demotion-11-28-2021
majestrate Nov 28, 2021
ce8b3c8
Update high-level.txt
majestrate Nov 28, 2021
0e2b0ed
when lokinet looses ip4 connectivity libunbound used to freak out and…
majestrate Dec 3, 2021
5890c99
Merge pull request #1817 from majestrate/disable-upstream-ip6-dns-202…
majestrate Dec 4, 2021
e0df187
drop x86 for android as flutter does not support it
majestrate Dec 5, 2021
29df7be
remove old out of date documentation
majestrate Nov 28, 2021
2772a32
* fix up lokinet cli help opts
majestrate Dec 10, 2021
479fba6
add big chunks of docs
majestrate Dec 10, 2021
4bbf552
spaces
majestrate Dec 10, 2021
be47299
more docs
majestrate Dec 10, 2021
9c68f64
add deps to doxygen
majestrate Dec 10, 2021
fe07665
remove duplicate file
majestrate Dec 10, 2021
b7bbb7f
Update readme.md
Dec 14, 2021
d186a88
Update readme.md
Dec 14, 2021
6af589d
Update readme.md
Dec 14, 2021
019a9f1
Update readme.md
Dec 14, 2021
44c7cf5
Update readme.md
Dec 14, 2021
388fc53
match io loop event order on windows/apple to match linux.
majestrate Dec 7, 2021
301b19b
do not send buggy reply as rpc
majestrate Dec 7, 2021
776e922
make serivce::Endpoint::EnsurePathToService have a default timeout as…
majestrate Dec 7, 2021
64224f2
Merge pull request #1822 from majestrate/make-windows-work-again-2021…
Dec 15, 2021
da887dc
implement exit node pooling, allows users to use multiple exits for a…
majestrate Dec 1, 2021
54bff69
Merge pull request #1816 from majestrate/exit-pooling-2021-12-01
Dec 15, 2021
14ffdb6
configurable route poker
majestrate Dec 4, 2021
061aebc
reword auto-routing config comment
majestrate Dec 4, 2021
409772f
Add missing libssl-dev
zoobab Dec 19, 2021
229a6c9
Merge pull request #1828 from zoobab/dev
Dec 19, 2021
94611ed
Merge pull request #1818 from majestrate/toggle-route-poker-2021-12-04
Dec 26, 2021
8382082
Merge pull request #1819 from majestrate/android-drop-x86-2021-12-05
Dec 26, 2021
9e4bd2c
Merge pull request #1801 from majestrate/introset-publish-spam-fix-20…
Dec 27, 2021
27ba3e0
prevent segfault in route poker if Init() is not called
majestrate Jan 3, 2022
b442e8a
readme: point to oxen docs; mention systemctl controls
jagerman Jan 11, 2022
68a7174
Merge pull request #1837 from jagerman/gentler-install-instructions
Jan 11, 2022
2c44ffe
Update llarp/router/route_poker.cpp
Jan 11, 2022
53526f3
Merge pull request #1834 from majestrate/route-poker-fix-2022-01-03
Jan 11, 2022
205584a
redo systemd status line to include number of paths and endpoint coun…
majestrate Jan 13, 2022
b3d9cd4
route poker: allow not blackholing routes.
majestrate Jan 14, 2022
9d1111a
Merge pull request #1839 from majestrate/disable-route-blackhole-conf…
Jan 14, 2022
27619f5
Merge pull request #1838 from majestrate/sd_notify_extra_info-2022-01-13
Jan 14, 2022
7e92f36
disable tests by default
majestrate Jan 25, 2022
cf0e314
Merge pull request #1843 from majestrate/disable-unit-tests-on-broken…
Jan 25, 2022
38c6d99
wire up sigusr1 to trigger a network thaw on non win32 platforms
majestrate Jan 27, 2022
5fac6c8
detect timeskip and thaw network when we think it happened.
majestrate Jan 27, 2022
fc44474
move constant to new header
majestrate Jan 27, 2022
36925d0
Merge pull request #1844 from majestrate/sigusr1-wire-up-thaw-2022-01-27
Jan 27, 2022
996de3d
make it so github sees the repo is gpl3
majestrate Jan 28, 2022
1858099
fix typo in readme, use 3 hashes instead of 2 because it is a sub 3 s…
majestrate Jan 28, 2022
7a992c7
Merge pull request #1845 from majestrate/make-github-see-we-are-gpl3-…
Jan 28, 2022
5f49d3a
update header with notes
majestrate Sep 19, 2021
433febe
update liblokinet udp api header
majestrate Sep 20, 2021
50001da
remove dead shit from header
majestrate Sep 20, 2021
db7050c
update liblokinet udp header
majestrate Sep 20, 2021
5b8ebb2
changes for liblokinet-ffi
majestrate Sep 20, 2021
00075f5
fix compile error
majestrate Sep 20, 2021
c4b1a9c
lokinet_add_bootstrap_rc
majestrate Sep 20, 2021
2428cc1
llarp::BootstrapConfig update
majestrate Sep 20, 2021
c5b5ff7
typo fix
majestrate Sep 20, 2021
38d4cec
log errors on decoding
majestrate Sep 20, 2021
8c8f97a
more logging
majestrate Sep 20, 2021
66de680
sanity check
majestrate Sep 20, 2021
bbb0829
more logging
majestrate Sep 20, 2021
13c3786
correct function names
majestrate Sep 21, 2021
9d06998
add WITH_BOOTSTRAP option for toggling building lokinet-bootstrap
majestrate Sep 21, 2021
9fb11bf
typo fixes and clarify docs
majestrate Sep 21, 2021
71364da
fix typos add lokinet_udp_close
majestrate Sep 21, 2021
e11e736
typofix
majestrate Sep 21, 2021
d3d07fe
typofix
majestrate Sep 21, 2021
1c70b0f
add lokinet_hex_to_base32z
majestrate Sep 21, 2021
ba57ab0
wire up liblokient_udp_*
majestrate Sep 23, 2021
b225ec1
thread safety stuff
majestrate Sep 23, 2021
f5157c3
make it compile
majestrate Sep 24, 2021
f38bf27
move WITH_BOOTSTRAP option to root project CMakeLists.txt
majestrate Sep 24, 2021
50b8056
enable liblokinet on macos
majestrate Sep 24, 2021
1feaec1
build liblokinet on macos
majestrate Sep 24, 2021
51b1d41
disable gost in static build
majestrate Sep 25, 2021
b31cac4
nodejs dipshittery
majestrate Sep 25, 2021
65b29a1
add liblokinet custom logger
majestrate Sep 25, 2021
8153edb
dont enable apple languages when not building daemon
majestrate Sep 25, 2021
82ffa2f
Update mac.sh
majestrate Sep 30, 2021
9796697
Update CMakeLists.txt
majestrate Sep 30, 2021
ef19111
dont pack struct becuase alignment
majestrate Sep 30, 2021
94ce7a9
make function pointer arguments named
majestrate Sep 30, 2021
e2cd4d6
docstring update
majestrate Sep 30, 2021
b20e7be
identify
majestrate Sep 30, 2021
5286d44
updates:
majestrate Sep 30, 2021
bf6dfaa
cmake fixups
majestrate Oct 4, 2021
f876848
make pybind compile
majestrate Oct 4, 2021
c655a21
typofix
majestrate Oct 4, 2021
635f4bc
make it compile
majestrate Oct 13, 2021
743bc24
resolve race condition in udp flow and packet handling
majestrate Oct 13, 2021
04b2341
do less allocations in lokinet_hex_tobase32z
majestrate Oct 13, 2021
199055a
chore: bump static deps versions
majestrate Jan 31, 2022
3c983e2
libcurl no long users --without-libmetalink so remove the flag
majestrate Jan 31, 2022
95efe8f
bump ngtcp2 to v0.1.0 tag
majestrate Jan 31, 2022
582fded
add close_reason parameter to quic::Endpoint::close_connection defaul…
majestrate Jan 31, 2022
217c76e
Merge pull request #1815 from majestrate/cleanup-docs-subdir-2021-11-28
Jan 31, 2022
b3068fe
Merge pull request #1846 from majestrate/bump-static-deps-2022-01-31
Jan 31, 2022
08a9e0a
add cross compile helpers and update/add toolchains
Feb 2, 2022
24811af
fix up contrib/cross.sh to put everything in build-cross
Feb 2, 2022
f543f69
fix up ppc64le toolchain, remove suffix
Feb 2, 2022
d66364a
Merge pull request #1847 from majestrate/mip64-cross-2022-01-30
Feb 2, 2022
eae4d3c
fixup armhf target
Feb 2, 2022
48559bd
fix up ppc64le cross target
Feb 2, 2022
fbb0ed8
Merge pull request #1848 from majestrate/fixup-2022-02-02
Feb 2, 2022
838183e
Merge pull request #1748 from majestrate/liblokinet-udp-api-2021-09-19
Feb 6, 2022
810e3cc
dont capture flow_addr, results in compiler error on sid
Feb 6, 2022
257f48a
Merge pull request #1852 from majestrate/lokinet-shared-sid-compiler-…
Feb 9, 2022
09e91cc
fix up readme
Feb 12, 2022
101650d
Update readme.md
Feb 12, 2022
e61ca29
Update readme.md
Feb 12, 2022
79662aa
spruce up README more
Feb 13, 2022
c0f4706
Delete llarp.png
Feb 13, 2022
ac9fb9d
use quad nine as default upstream dns
Feb 15, 2022
6cec95f
Merge pull request #1857 from majestrate/upstream-dns-default-quad-ni…
Feb 16, 2022
d9467f4
fix numPaths value in Router::ExtractSummaryStatus
Bilb Feb 15, 2022
f8b6b9d
Merge pull request #1856 from Bilb/fix-num-path-built-summary-status
Feb 16, 2022
d025583
Crank oxen-mq to (1.2.)11; switch to oxen-encoding
jagerman Feb 17, 2022
8a849e8
Merge pull request #1858 from jagerman/omq-11
Feb 17, 2022
97f4545
make CI pipline generate docs with doxygen, doxybook2 and mkdocs.
Feb 4, 2022
283eabd
use COPYONLY for the non templated configure_file targets
Feb 4, 2022
c70f186
include mkdocs.yml in ci artifacts for docs
Feb 4, 2022
bebfcbd
move documentation builder closer to the top of the ci jobs
Feb 4, 2022
c39bd82
remove markdown extension that is not required
Feb 4, 2022
6bb438c
make comments with colins in them not have them in it
Feb 4, 2022
54f431c
make doxybook2 run from PATH if installed on our system
Feb 4, 2022
0fe716e
more docs
Feb 19, 2022
ad6d206
add version and uptime to summary status endpoint
Bilb Feb 20, 2022
a8faffe
Merge pull request #1860 from Bilb/add-version-and-uptime-summary-status
Feb 23, 2022
41405be
summary status: no services means not running
Bilb Feb 23, 2022
eeb9334
rpc fixes for lokinet gui
Feb 23, 2022
6f46fe7
Merge pull request #1862 from Bilb/fix-abort-exit-on-stop
Feb 23, 2022
ae96458
remove old dead code
Feb 27, 2022
6629e8c
cmake workarround for quark in older cmake where pkg config produces …
Feb 28, 2022
b4c4c39
oxenc
Feb 26, 2022
a76acd4
fix wire protocol race condition
Mar 6, 2022
27d8831
Merge pull request #1865 from majestrate/proto-fix-2022-03-06
Mar 7, 2022
1a74abc
Fix spelling changes
Mar 14, 2022
2476d97
Merge pull request #1869 from pebu1337/patch-1
Mar 14, 2022
12044af
Update readme.md
Mar 16, 2022
56492c8
dry cross compile
Feb 2, 2022
66b7c36
remove unneeded line from contrib/cross.sh
Feb 2, 2022
7251944
redo contrib/cross.sh to take cmake arguments
Feb 2, 2022
7265a6c
ci pipeline for cross compile
Feb 2, 2022
e2a94b4
bump zlib hashpin
Mar 29, 2022
3d32e3b
Merge pull request #1876 from majestrate/zlib-hashpin-update-2022-03-29
Mar 30, 2022
a71e942
Merge pull request #1864 from majestrate/gutt-old-code-2022-02-27
Mar 30, 2022
1fc9013
Merge pull request #1851 from majestrate/ci-docs-generation-2022-02-04
Mar 30, 2022
65ef0e4
Merge pull request #1849 from majestrate/dry-cross-2022-02-02
Mar 30, 2022
38a1578
Cache best paths determined by GetPathByRouter to reduce cpu usage
Mar 28, 2022
77bf2f4
disable building fat liblokinet.so on bionic because lto is broken on…
Mar 30, 2022
17687e3
drone-ci image name fix, use -builder images
Mar 30, 2022
619d8d3
Merge pull request #1877 from majestrate/path-cache-cpu-reduction-202…
Mar 31, 2022
af041cf
try not to spam builds
Apr 1, 2022
ffadcb2
clean up paths that are ignored and inactive
Apr 1, 2022
b6a0871
Merge pull request #1881 from majestrate/mark-dead-obctx-2022-03-31
Apr 4, 2022
f702aac
add arch linux section to readme
Apr 5, 2022
3fbddac
idempotent flush queues on path builds
Apr 12, 2022
768ed30
add public key in rpc ping
Apr 14, 2022
699591b
remove bitrotten files
Apr 15, 2022
293bccb
Merge pull request #1893 from majestrate/issue-1892-rpc-ping-pubkey-2…
Apr 15, 2022
dfa291f
Merge pull request #1894 from majestrate/cleanup-readmes-2022-04-15
Apr 15, 2022
9765eee
handle edge case better
Apr 18, 2022
9fd20c8
Merge pull request #1896 from majestrate/unstuck-obctx-2022-04-17
Apr 18, 2022
d972b04
Merge pull request #1891 from majestrate/idempotent-flush-path-builds…
Apr 18, 2022
d05518b
use the new electron gui in windows build
Apr 18, 2022
1a254a4
kill/restore ipv6 with powershell because windows is vile
Apr 18, 2022
1dfed9e
Merge pull request #1899 from majestrate/use-new-gui-2022-04-18
Apr 18, 2022
9a6bfe6
static endpoint auth codes
majestrate Dec 26, 2021
a082ba4
add file auth for tokens
majestrate Jan 17, 2022
a51576d
make destructor virtual
majestrate Jan 31, 2022
5050cd0
add hashed password capability to endpoint auth by file
Apr 1, 2022
ee12ba5
disable hashed auth on windows
Apr 1, 2022
7a8410b
make more platforms ignore libcrypt
Apr 1, 2022
64684d4
dont require libcrypt for cross compiled builds
Apr 18, 2022
64d6ba8
Merge pull request #1830 from majestrate/static-auth-codes-2021-12-26
Apr 20, 2022
b09298e
Replace llarp/util/endian.hpp with oxenc/endian.h
jagerman Apr 28, 2022
c2f8a61
Update to oxenc 1.0.2
jagerman Apr 28, 2022
da4a3e5
Merge pull request #1903 from jagerman/oxenc-endian
Apr 28, 2022
926074f
add idempotent pump after sending lrcm to very make sure that it is p…
majestrate May 2, 2022
8aa465d
randomize all frames in lrsm to prevent info leak about hop length
majestrate May 2, 2022
a80f7e1
Merge pull request #1908 from majestrate/lrsm-and-queue-flush-2022-05-02
May 2, 2022
8960ca0
propagate link layer message priority to link layer so it can order r…
Mar 30, 2022
14d75cc
add util::ascending_priority_queue type
Apr 4, 2022
26c8063
convert priority queues
Apr 4, 2022
238c33f
Update llarp/iwp/session.cpp
May 2, 2022
5b0ece3
Update llarp/router/outbound_message_handler.cpp
May 2, 2022
546aede
add mirror for cmake static deps
majestrate May 2, 2022
8efac67
add static deps mirror to ci
majestrate May 2, 2022
d85d208
bump libuv version with hashpin
majestrate May 2, 2022
3c92568
typo
majestrate May 2, 2022
bad98b5
Merge pull request #1907 from majestrate/link-layer-priority-2022-05-02
May 2, 2022
9556741
split up link order for oxenmq and oxenc
majestrate May 10, 2022
a610dd6
Merge pull request #1912 from majestrate/issue-1911-fixup-oxenc-linkage
May 14, 2022
d30fe95
use ::/0
May 18, 2022
70b07ba
clean up ip packet code
majestrate May 18, 2022
7396eb7
bump oxenc submodule and force oxenc submodule on win32
majestrate May 18, 2022
f086783
alignas
majestrate May 18, 2022
e3aedda
Merge pull request #1917 from majestrate/ip-fixups-2022-05-18
May 19, 2022
3fccb3a
fixup edge case on windows
majestrate May 19, 2022
a149e6e
Merge pull request #1918 from majestrate/fixup-win32-2022-05-19
May 19, 2022
a61e963
state machine fix for link layer
majestrate May 19, 2022
8529ab2
Merge pull request #1920 from majestrate/fixup-link-layer-state-machi…
May 20, 2022
f16c2ec
use oxenc submodule in android
May 24, 2022
608dced
typofix
May 24, 2022
0d0295e
remove unneeded submodule
majestrate May 25, 2022
0df26fe
bump ci to make jammy debs
majestrate May 2, 2022
994c6e1
remove focal deb build from ci
majestrate May 3, 2022
d9a8710
Merge pull request #1909 from majestrate/bump-ci-ubuntu-debs-2022-05-02
May 27, 2022
706e34c
connect to routers even if we are decomissioned
Apr 28, 2022
5f49625
if we are decommissioned or deregistered, do not test other routers s…
majestrate May 3, 2022
3c44a06
publish our rc out to the network when we regenerate them
majestrate May 3, 2022
18e1272
add gossip info to systemd status
majestrate May 4, 2022
60ada47
format systemd status as time deltas from now
majestrate May 20, 2022
98b3860
set source ip on service nodes for outbound link to not use all inter…
majestrate May 20, 2022
33a2226
footcannon prevention: check for invalid address family.
majestrate May 26, 2022
0331db4
Merge pull request #1905 from majestrate/connect-out-2022-04-28
May 27, 2022
1eba0f8
replace LLARP_PROTO_VERSION macro
majestrate May 26, 2022
f05c2eb
macro removals
majestrate May 26, 2022
e480e36
generate windows rc for each executable target so we can set the exec…
majestrate May 27, 2022
065e52a
move windows nsis parts for cpack into external files
majestrate May 27, 2022
1dfc2e8
bump verions of all deps
majestrate May 30, 2022
6a2114f
Don't be dynamic for win32 rc crap
jagerman May 30, 2022
73a49f5
do not build liblokinet in windows, exe gets too big
majestrate May 30, 2022
34c3b8d
Add oxen repo to bionic for updated cmake version
jagerman May 30, 2022
2576b87
version bump to 0.9.9
majestrate May 30, 2022
229e127
Merge pull request #1923 from majestrate/replace-llarp-proto-verison-…
May 30, 2022
440b547
Merge pull request #1924 from oxen-io/dev
jagerman May 30, 2022
0a205fa
Merge remote-tracking branch 'upstream/stable' into fedora/34
necro-nemesis Jun 18, 2022
55866f8
Merge v0.9.9
necro-nemesis Jun 18, 2022
cdad3e7
Change default port to 953
necro-nemesis Jun 19, 2022
3487401
update default-dns patch
necro-nemesis Jun 19, 2022
f3ed998
Disable version-as-rpm patch
necro-nemesis Jun 19, 2022
5043c1a
Merge branch 'rpm/patch' of https://github.com/necro-nemesis/lokinet …
necro-nemesis Jun 19, 2022
67e8092
Comment regarding lokinet/cmake/Version.cmake
necro-nemesis Jun 19, 2022
0439bde
Update lokinet.spec
necro-nemesis Jun 29, 2022
6548ac4
Update lokinet.spec
necro-nemesis Jun 29, 2022
f61515d
Update lokinet.spec
necro-nemesis Jun 29, 2022
fe7657c
backup patch
necro-nemesis Jun 29, 2022
cbf7e31
Create default-dns.patch from jammy patch
necro-nemesis Jun 29, 2022
7c5c30f
include default-dns.patch
necro-nemesis Jun 29, 2022
1104008
Revert "Change default port to 953"
necro-nemesis Jun 29, 2022
042e227
Update patch and SPEC
necro-nemesis Jun 29, 2022
dc7f635
remove dead patches
necro-nemesis Jun 29, 2022
532fa07
change dns bind address:port
necro-nemesis Jul 1, 2022
64cd6d3
Remove oxenmq-devel build dependency.
necro-nemesis Jul 1, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,6 @@
path = external/pybind11
url = https://github.com/pybind/pybind11
branch = stable
[submodule "external/clang-format-hooks"]
path = external/clang-format-hooks
url = https://github.com/barisione/clang-format-hooks/
[submodule "external/sqlite_orm"]
path = external/sqlite_orm
url = https://github.com/fnc12/sqlite_orm
Expand All @@ -35,3 +32,7 @@
[submodule "external/ngtcp2"]
path = external/ngtcp2
url = https://github.com/ngtcp2/ngtcp2.git
branch = v0.1.0
[submodule "external/oxen-encoding"]
path = external/oxen-encoding
url = https://github.com/oxen-io/oxen-encoding.git
61 changes: 42 additions & 19 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,11 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
# Has to be set before `project()`, and ignored on non-macos:
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.12 CACHE STRING "macOS deployment target (Apple clang only)")

option(BUILD_DAEMON "build lokinet daemon and associated utils" ON)


set(LANGS C CXX)
if(APPLE)
if(APPLE AND BUILD_DAEMON)
set(LANGS ${LANGS} OBJC Swift)
endif()

Expand All @@ -22,7 +25,7 @@ endif()


project(lokinet
VERSION 0.9.8
VERSION 0.9.9
DESCRIPTION "lokinet - IP packet onion router"
LANGUAGES ${LANGS})

Expand All @@ -32,16 +35,15 @@ if(APPLE)
set(LOKINET_APPLE_BUILD 0)
endif()

set(RELEASE_MOTTO "A Series of Tubes" CACHE STRING "Release motto")
set(RELEASE_MOTTO "Gluten Free Edition" CACHE STRING "Release motto")

list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake")

add_definitions(-DLLARP_VERSION_MAJOR=${lokinet_VERSION_MAJOR})
add_definitions(-DLLARP_VERSION_MINOR=${lokinet_VERSION_MINOR})
add_definitions(-DLLARP_VERSION_PATCH=${lokinet_VERSION_PATCH})
if(RELEASE_MOTTO AND CMAKE_BUILD_TYPE MATCHES "[Rr][Ee][Ll][Ee][Aa][Ss][Ee]")
add_definitions(-DLLARP_RELEASE_MOTTO="${RELEASE_MOTTO}")
set(DEFAULT_WITH_BOOTSTRAP ON)
if(APPLE)
set(DEFAULT_WITH_BOOTSTRAP OFF)
endif()

list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake")

# Core options
option(USE_AVX2 "enable avx2 code" OFF)
Expand All @@ -57,12 +59,16 @@ option(WITH_COVERAGE "generate coverage data" OFF)
option(USE_SHELLHOOKS "enable shell hooks on compile time (dangerous)" OFF)
option(WARNINGS_AS_ERRORS "treat all warnings as errors. turn off for development, on for release" OFF)
option(TRACY_ROOT "include tracy profiler source" OFF)
option(WITH_TESTS "build unit tests" ON)
option(WITH_TESTS "build unit tests" OFF)
option(WITH_HIVE "build simulation stubs" OFF)
option(BUILD_PACKAGE "builds extra components for making an installer (with 'make package')" OFF)
option(WITH_BOOTSTRAP "build lokinet-bootstrap tool" ${DEFAULT_WITH_BOOTSTRAP})

include(cmake/enable_lto.cmake)

option(CROSS_PLATFORM "cross compiler platform" "Linux")
option(CROSS_PREFIX "toolchain cross compiler prefix" "")

option(BUILD_STATIC_DEPS "Download, build, and statically link against core dependencies" OFF)
option(STATIC_LINK "link statically against dependencies" ${BUILD_STATIC_DEPS})
if(BUILD_STATIC_DEPS AND NOT STATIC_LINK)
Expand Down Expand Up @@ -95,7 +101,6 @@ include(cmake/target_link_libraries_system.cmake)
include(cmake/add_import_library.cmake)
include(cmake/add_log_tag.cmake)
include(cmake/libatomic.cmake)
include(cmake/link_dep_libs.cmake)

if (STATIC_LINK)
set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_STATIC_LIBRARY_SUFFIX})
Expand Down Expand Up @@ -170,19 +175,36 @@ if(NOT TARGET sodium)
export(TARGETS sodium NAMESPACE sodium:: FILE sodium-exports.cmake)
endif()

option(FORCE_OXENC_SUBMODULE "force using oxen-encoding submodule" OFF)
if(NOT FORCE_OXENC_SUBMODULE)
pkg_check_modules(OXENC liboxenc>=1.0.3 IMPORTED_TARGET)
endif()

if(OXENC_FOUND)
if(NOT TARGET PkgConfig::OXENC AND CMAKE_VERSION VERSION_LESS "3.21")
# Work around cmake bug 22180 (PkgConfig::OXENC not set if no flags needed):
add_library(_empty_oxenc INTERFACE)
add_library(oxenc::oxenc ALIAS _empty_oxenc)
else()
add_library(oxenc::oxenc ALIAS PkgConfig::OXENC)
endif()
message(STATUS "Found system liboxenc ${OXENC_VERSION}")
else()
message(STATUS "using oxen-encoding submodule")
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/external/oxen-encoding)
add_library(oxenc::oxenc ALIAS oxenc)
endif()

option(FORCE_OXENMQ_SUBMODULE "force using oxenmq submodule" OFF)
if(NOT FORCE_OXENMQ_SUBMODULE)
pkg_check_modules(OXENMQ liboxenmq>=1.2.4)
pkg_check_modules(OXENMQ liboxenmq>=1.2.12 IMPORTED_TARGET)
endif()
if(OXENMQ_FOUND)
add_library(oxenmq INTERFACE)
link_dep_libs(oxenmq INTERFACE "${OXENMQ_LIBRARY_DIRS}" ${OXENMQ_LIBRARIES})
target_include_directories(oxenmq INTERFACE ${OXENMQ_INCLUDE_DIRS})
add_library(oxenmq::oxenmq ALIAS oxenmq)
add_library(oxenmq::oxenmq ALIAS PkgConfig::OXENMQ)
message(STATUS "Found system liboxenmq ${OXENMQ_VERSION}")
else()
message(STATUS "using oxenmq submodule")
add_subdirectory(${CMAKE_SOURCE_DIR}/external/oxen-mq)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/external/oxen-mq)
endif()


Expand Down Expand Up @@ -327,8 +349,9 @@ endif()

add_subdirectory(crypto)
add_subdirectory(llarp)
add_subdirectory(daemon)

if(BUILD_DAEMON)
add_subdirectory(daemon)
endif()

if(WITH_HIVE)
add_subdirectory(pybind)
Expand Down
15 changes: 1 addition & 14 deletions LICENSE.txt → LICENSE
Original file line number Diff line number Diff line change
@@ -1,16 +1,3 @@
LokiNET is the reference implementation of LLARP (Low Latency Anonymous
Routing Protocol).

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

Copyright (c) 2018-2020 The Loki Project
Copyright (c) 2018-2020 Jeff Becker
Windows NT port and portions Copyright (c) 2018-2020 Rick V.


GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007

Expand Down Expand Up @@ -684,4 +671,4 @@ into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>.
<https://www.gnu.org/licenses/why-not-lgpl.html>.
15 changes: 13 additions & 2 deletions SOURCES/default-dns.patch
Original file line number Diff line number Diff line change
@@ -1,8 +1,17 @@
From cdad3e7f093c4b0c69f73580e4fbacc24067db96 Mon Sep 17 00:00:00 2001
From: necro-nemsis <[email protected]>
Date: Sun, 19 Jun 2022 06:47:01 -0400
Subject: [PATCH] Change default port to 953

---
llarp/config/config.cpp | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/llarp/config/config.cpp b/llarp/config/config.cpp
index 78d152602..8b07b0cec 100644
index 6bff9611..9c89bce6 100644
--- a/llarp/config/config.cpp
+++ b/llarp/config/config.cpp
@@ -703,7 +703,10 @@ namespace llarp
@@ -760,7 +760,10 @@ namespace llarp
// can bind to other 127.* IPs to avoid conflicting with something else that may be listening on
// 127.0.0.1:53.
#ifdef __linux__
Expand All @@ -14,3 +23,5 @@ index 78d152602..8b07b0cec 100644
#else
constexpr Default DefaultDNSBind{"127.0.0.1:53"};
#endif
--
2.30.2
28 changes: 0 additions & 28 deletions SOURCES/version-as-rpm-version.patch

This file was deleted.

17 changes: 10 additions & 7 deletions SPECS/lokinet.spec
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Name: lokinet
Version: 0.9.8
Version: 0.9.9
Release: 1%{?dist}
Summary: Lokinet anonymous, decentralized overlay network

Expand All @@ -13,7 +13,6 @@ BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: pkgconfig
BuildRequires: libuv-devel
BuildRequires: oxenmq-devel
BuildRequires: unbound-devel
BuildRequires: libsodium-devel
BuildRequires: systemd-devel
Expand All @@ -22,11 +21,9 @@ BuildRequires: libcurl-devel
BuildRequires: jemalloc-devel
BuildRequires: libsqlite3x-devel

# Puts the rpm version instead of the git tag in the version string:
Patch1: version-as-rpm-version.patch
# Changes the default dns listener to 127.0.0.1:953 because Fedora's systemd-resolved doesn't like
# talking to 127.3.2.1:53 for unknown reasons.
Patch2: default-dns.patch
Patch1: default-dns.patch

Requires: lokinet-bin = %{version}-%{release}
%{?systemd_requires}
Expand Down Expand Up @@ -84,7 +81,7 @@ export CFLAGS="%{optflags} -march=armv6 -mtune=cortex-a53 -mfloat-abi=hard -mfpu
%endif

%undefine __cmake_in_source_build
%cmake -DNATIVE_BUILD=OFF -DUSE_AVX2=OFF -DWITH_TESTS=OFF %{cmake_extra_args} -DCMAKE_BUILD_TYPE=Release -DGIT_VERSION="%{release}" -DWITH_SETCAP=OFF -DSUBMODULE_CHECK=OFF -DBUILD_SHARED_LIBS=OFF -DBUILD_LIBLOKINET=OFF
%cmake -DFORCE_OXENC_SUBMODULE=ON -DFORCE_OXENMQ_SUBMODULE=ON -DNATIVE_BUILD=OFF -DUSE_AVX2=OFF -DWITH_TESTS=OFF %{cmake_extra_args} -DCMAKE_BUILD_TYPE=Release -DLOKINET_VERSIONTAG=%{release} -DWITH_SETCAP=OFF -DSUBMODULE_CHECK=OFF -DBUILD_SHARED_LIBS=OFF -DBUILD_LIBLOKINET=OFF
%cmake_build

%install
Expand All @@ -100,7 +97,7 @@ install -Dm644 SOURCES/bootstrap.signed $RPM_BUILD_ROOT%{_sharedstatedir}/lokine

%files

%license LICENSE.txt
%license LICENSE
%doc readme.*
%{_datadir}/polkit-1/rules.d/50-lokinet.rules
%{_unitdir}/lokinet.service
Expand Down Expand Up @@ -156,6 +153,12 @@ fi
%systemd_postun lokinet.service

%changelog
* Wed Jun 29 2022 Technical Tumbleweed <[email protected]> - 0.9.9-1
- bump version
- cmake flags for no system library search
- update port patch
- remove version patch

* Wed Nov 17 2021 Technical Tumbleweed <[email protected]> - 0.9.8-1
- bump version

Expand Down
2 changes: 1 addition & 1 deletion cmake/GenVersion.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -57,4 +57,4 @@ else()
endif()
endif()

configure_file("${SRC}" "${DEST}")
configure_file("${SRC}" "${DEST}" @ONLY)
Loading