Michael
edd0ec398f
Move thread stuff to subdirectory
2019-09-03 20:52:28 +01:00
Michael
0950571313
Move metrics to subdirectory
2019-09-03 20:52:28 +01:00
Michael
4d8fe2a8a8
Move meta programming to subdirectory
2019-09-03 20:52:28 +01:00
Michael
1aec0dfa2b
Move logging to subdirectory
2019-09-03 20:52:27 +01:00
Michael
16cdfbd5f0
clang-tidy modernize pass
2019-08-12 16:52:58 +01:00
Jeff
183ec25717
Merge pull request #729 from majestrate/fix-android-2019-07-24
...
make android compile again
2019-07-25 14:24:13 -04:00
Thomas Winget
baf8019fe5
Refactor Router code into more classes
...
This commit refactors functionality from the Router class into separate,
dedicated classes.
There are a few behavior changes that came as a result of discussion on
what the correct behavior should be.
In addition, many things Router was previously doing can now be provided
callback functions to alert the calling point when the asynchronous
action completes, successfully or otherwise.
2019-07-25 14:11:02 -04:00
Jeff Becker
43cb62af16
fix android compile, have makefile pull in libuv for cmake on android
2019-07-24 11:25:40 -04:00
Jeff Becker
16e20a9e79
try fixing bootstrap
2019-07-15 12:56:09 -04:00
Jeff
284a352dda
fix previous commit
2019-07-13 07:57:41 -04:00
Jeff
b9cdfd116e
correct worker threads amounts
2019-07-13 07:54:58 -04:00
Jeff Becker
1fd6b5ae74
Merge remote-tracking branch 'origin/master' into ipv6-tun
2019-07-12 09:53:52 -04:00
Jeff Becker
749ee7cb9f
make it compile
2019-07-10 10:11:06 -04:00
Jeff Becker
fcc3c05124
Merge remote-tracking branch 'origin/master' into ipv6-tun
2019-07-10 10:07:19 -04:00
Michael
488695047f
Remove redundant else blocks
2019-07-09 22:54:46 +01:00
Jeff Becker
edd3611166
correct name
2019-07-09 10:05:31 -04:00
Jeff Becker
ec6a1cfddc
make it compile
2019-07-09 09:58:16 -04:00
Jeff Becker
84407b3557
make it compile
2019-07-09 09:54:13 -04:00
Jeff Becker
b9bcc2b775
make threadpool consice
2019-07-09 09:47:24 -04:00
Michael
3ce90b678e
Allow override of the rest of the config
2019-07-09 00:29:43 +01:00
Michael
937f28f75d
Move router config to be encapsulated
2019-07-09 00:29:43 +01:00
Michael
f310160065
Fixup and add tests
2019-07-06 14:46:25 +01:00
Michael
a2326efa37
Revert "Merge pull request #679 from tewinget/revert-config-refactor"
...
This reverts commit 2996a7f29c
, reversing
changes made to 10df3bd4b3
.
2019-07-06 14:46:25 +01:00
Thomas Winget
d044d60101
Reverts #678 #677 and #669 with hashes:
...
10df3bd
766ece8
979f095
See those commits for further details
2019-07-02 11:02:20 -04:00
Michael
b51f7d8015
Convert to load config in config loader
2019-07-02 01:58:39 +01:00
Michael
00c237dc6d
Move config class to its own dir
2019-07-02 01:58:38 +01:00
Michael
fedf6cb8e0
Send netid to metrictank
2019-06-20 00:00:59 +01:00
Rick V
5092a1fa85
restore llarp_make_ev_loop() as we only use libuv now; separate function is now ded code
2019-06-17 23:29:46 -05:00
Michael
c0525f2ea3
Move local publishers to their own files
2019-06-15 15:48:48 +01:00
Jeff Becker
9ec41b8831
update RC expiration logic, lookup more often and remove stale entries
2019-06-10 08:47:21 -04:00
Jeff Becker
223f2702d3
Merge branch 'fix-big-ooooofff'
2019-06-06 06:53:54 -04:00
Michael
75430a234c
Convert to use memFn
2019-06-02 22:19:10 +01:00
Jeff Becker
9deafa4cb8
use libuv
2019-06-02 17:17:05 -04:00
Michael
8323725509
Initial No-Op Crypto implementation
2019-05-29 09:46:34 +01:00
Michael
491fee206b
Port code to use CryptoManager over passing Crypto pointers
2019-05-28 20:45:08 +01:00
Jeff Becker
9c96aecf3f
move llarp::Logic to std::shared_ptr
...
add sequence numbers to HSD messages
begin work on network isolation code
add more docs
2019-05-22 12:20:03 -04:00
Jeff Becker
7b03b63d13
more sighup code
2019-05-07 14:15:22 -04:00
Jeff Becker
a53da68700
start work on sighup
2019-05-07 13:46:38 -04:00
Jeff Becker
8484e29c9b
turn more stuff into std::shared_ptr
...
remove dead codepaths
2019-04-23 10:47:23 -04:00
Jeff Becker
3a8cb0bfb5
add shell based hooks for service::Endpoint, also make format
2019-04-22 08:25:25 -04:00
michael-loki
0195152e05
Allow builds on MSVC ( #518 )
...
* Import cxxopts to replace getopts usage
* Add visual studio build things
* Fixup abseil build parts
* Replace __attribute__((unused)) with ABSL_ATTRIBUTE_UNUSED
* Fixup minor windows build issues
* Replace getopts usage
* Temporarily fixup .rc files
* More minor windows fixes
* Get a working build
* Revert .rc files
* Revert changes to nodedb
2019-04-19 13:24:33 -05:00
Michael
fb0f08ec01
Make JSON metrics opt-in
2019-04-16 02:26:08 +01:00
Michael
ae341b40fd
fixup! MetricTank metric collector
2019-04-14 18:29:35 +01:00
Michael
9bc501bbf7
Integrate metric tank into build
2019-04-14 17:18:32 +01:00
Michael
544c5f9b61
Move metrics publishers to their own directory
2019-04-14 17:18:32 +01:00
Jeff Becker
3da6551e82
make android compile
2019-04-08 11:54:19 -04:00
Jeff Becker
184971a446
Merge remote-tracking branch 'origin/master'
2019-04-08 08:03:02 -04:00
Jeff Becker
e178a70929
use shared_ptr for event loop
2019-04-08 08:01:52 -04:00
Michael
5df8e16c44
Add metrics section to config
2019-04-07 18:55:21 +01:00
Michael
57d6668e55
Move metrics out of daemon into llarp::Context
2019-04-05 10:20:48 +01:00
Michael
89ae60cfab
llarp::Context uses AbstractRouter now
2019-02-22 16:21:05 +00:00
Michael
13a9f65520
Fully define interface for dht::Context
2019-02-22 15:08:08 +00:00
Michael
4fc582af96
Fix annoying typo
2019-02-12 00:33:19 +00:00
Michael
67b5d48095
Replace usage of new/delete with unique_ptr/stack allocation
2019-02-11 16:24:05 +00:00
Michael
729cd045f1
Convert llarp::Router into an abstract base class
2019-02-06 09:59:47 +00:00
Michael
f24f554a01
Convert llarp::Crypto into an abstract base class
2019-01-26 15:40:58 +00:00
Jeff Becker
d89e58199a
add initial identity key seed stuff
...
add more kubernetes stuff
make shared library installed if built
2019-01-21 10:45:18 -05:00
Jeff Becker
177dca91e2
add pidfile option
2019-01-18 08:24:33 -05:00
Michael
da6cdfc0b2
More refactoring to continue to make dependency graph acylic
2019-01-15 23:15:44 +00:00
Michael
081d4dfa32
Reorganise source into more folders
2019-01-11 01:19:49 +00:00
Michael
fa2b466ffe
Reorganise tests to mirror source layout
2019-01-11 00:12:52 +00:00
Michael
e5eda0fb8f
Move lokinet unspecific components to a util/ library
2019-01-10 20:07:24 +00:00
Jeff Becker
2afe296f8b
for real fix issue #185
2018-12-28 10:34:41 -05:00
Jeff Becker
e835c5f69a
add graceful stop for path builders and friends
2018-12-24 11:09:05 -05:00
Jeff Becker
cca19290de
session renegotiation, RC expiration, more utp unit tests, network isolation.
2018-12-19 11:17:41 -05:00
Jeff Becker
be234e4b6e
* make format
...
* snode to snode direct traffic
* wire up dns on service node tun
2018-12-13 11:14:44 -05:00
Michael
85dde7b6b0
Move remaining include/llarp headers to llarp/
2018-12-12 02:53:02 +00:00
Michael
e887b4e9c7
Move service* to llarp/
2018-12-12 02:53:01 +00:00
Michael
7be452092c
Convert llarp_crypto to be a true C++ class
2018-12-11 00:53:55 +00:00
Michael
6358b25db0
Convert llarp_nodedb to be a true C++ class
2018-12-10 23:31:39 +00:00
Michael
f0fce5b68a
Convert llarp_router to be a true C++ class
2018-12-10 20:15:35 +00:00
Michael
30e9dca2e5
Convert llarp_logic to be a C++ class
2018-12-10 14:15:11 +00:00
Jeff Becker
1d1bde2e88
add dnslib
2018-12-03 17:22:59 -05:00
Jeff Becker
622ed8d12e
fix crash on premature close of event loop (also make format)
2018-12-02 13:07:07 -05:00
Jeff Becker
7bc3d94895
try fixing rdns for local interace's address
2018-11-30 09:14:30 -05:00
Jeff Becker
11372c9544
Merge branch 'dev' into snode-endpoint
2018-11-29 09:34:19 -05:00
Jeff Becker
90a2545bb1
handle SIGTERM
2018-11-29 08:12:28 -05:00
Jeff Becker
7e4d74cbfc
add initial jni stuff for lokinet android. i fucking hate android so god damn much.
2018-11-26 17:46:22 -05:00
Jeff Becker
7090a012f3
Merge remote-tracking branch 'micheal/wextra' into dev
2018-11-07 10:57:34 -05:00
Michael Thorpe
33bfaf7ecd
Enable -Wextra
...
test criteria:
- test build on macOS
- test build in debian docker container
- test build in fedora docker container
2018-11-07 15:31:13 +00:00
Jeff Becker
f1cca956f9
make android compile again
2018-11-06 09:06:09 -05:00
despair
38f2a6b2c9
be slightly less annoying
...
check build rules
2018-10-30 00:16:34 -05:00
despair
c5d1b32286
remove microsoft c++ crud
...
🤔 🤔 🤔 🤔
2018-10-30 00:16:33 -05:00
cathugger
4971fae171
uint32_t byte ordering type safety
2018-10-10 15:16:10 +00:00
Ryan Tharp
cc42e8e623
guard, rename endpoint to context, main_router_endpoint_iterator() implementation
2018-10-03 04:00:47 -07:00
Ryan Tharp
9ea564e832
update llarp_main_init_dnsd to make new DNSd init
2018-09-29 03:27:38 -07:00
Ryan Tharp
902f6f14b7
pass RC by ref, header cleanup, clang format
2018-09-24 06:10:36 -07:00
Ryan Tharp
9d4d595624
compile fixes
2018-09-22 03:39:53 -07:00
Ryan Tharp
6590d502cd
get first tun interface wiring
2018-09-22 03:23:23 -07:00
Ryan Tharp
ca7d3567a2
prefetch and expose it
2018-09-21 12:53:20 +00:00
Ryan Tharp
4df6202c9f
Merge branch 'master' of https://github.com/loki-project/loki-network
2018-09-21 12:51:54 +00:00
Jeff Becker
4e7c6ee90a
fix crash
2018-09-21 08:30:57 -04:00
Ryan Tharp
79fb82a3c8
main_router_getRange to get access to tun
2018-09-20 12:34:53 +00:00
Ryan Tharp
2bdee7d528
expose mapAddress of first tunEndpoint
2018-09-20 03:05:42 -07:00
Ryan Tharp
f283923cb7
Merge branch 'master' of https://github.com/loki-project/loki-network
2018-09-19 12:28:48 +00:00
Ryan Tharp
9f33edeed0
Merge branch 'master' of https://github.com/loki-project/loki-network
2018-09-19 12:22:34 +00:00
Jeff Becker
2761da0b5f
actually load config
2018-09-17 08:02:09 -04:00
Jeff Becker
e047bfa266
update readme
...
add sighup
2018-09-17 07:47:34 -04:00
Jeff Becker
c3c388b6aa
remove iwp and start on curvecp
...
does not compile
2018-09-02 14:25:42 -04:00
Jeff Becker
973f86c900
it compiles
2018-08-31 08:46:54 -04:00
Jeff Becker
5228a81bae
more refactor
...
get rid of C api
2018-08-30 14:48:43 -04:00
Ryan Tharp
8724ddd792
Merge branch 'master' of https://github.com/loki-project/loki-network
2018-08-23 22:51:23 +00:00
despair86
9ad93a0893
sunos patches, avoid shadowing data members in derived classes, header fixes
...
SunOS build works, with a few issues:
- no tuntap debugging on Solaris? (TUNSDEBUG ioctl missing)
- regular socket ioctls are not pulled in with #include <sys/ioctl.h>
even though they're included at the bottom of same (filio.h,
sockio.h)
- no named threads in any libre fork of solaris
-despair86 (rick)
sun patch
2018-08-18 21:25:24 -05:00
Ryan Tharp
3ada1e15be
llarp_main_queryDHT_RC(), llarp_main_init_dnsd(), actually query DHT on dns lookup
2018-08-09 04:22:57 -07:00
Jeff Becker
62f41d3747
initial threadpool isolation code and run make format
2018-08-08 13:43:46 -04:00
despair86
bdc54835c2
initial windows server port. Requires Windows 2000 Server or later.
...
- updated CMake build script
- builds with Microsoft C++ 19.1x. such builds require Windows 8.1 or later
unless you have the .NET Server 2003-toolset (v141_xp)
- windows port requires a C++17 compiler since cpp17::filesystem is POSIX-only
- HAVE_CXX17_FILESYSTEM manual toggle in CMake. You must manually specify where
std::[experimental::]filesystem is defined in LDFLAGS or CMAKE_x_LINKER_FLAGS.
- IPv6 support can be added at any time, and the windows sdk still has that
inline getaddrinfo(3) if it can't find a suitable IPv6 stack.
- inline code for mingw-w64: there's a few bits and pieces still missing simply because
mingw-w64 derives its windows sdk from wine and reactos, and then writing all the newer
stuff into it by hand straight from the MSDN manpages.
- misc. C++11 stuff (nullptr and friends)
- Internal file handling code takes UTF-8 or plain 8-bit text, NTFS is UTF-16, so
std::filesystem::path::c_str() is wchar_t. That's no good unless you first
call std::filesystem::path::string().
- implemented getifaddrs(3) and if_nametoindex(3) on top of GetAdapters[Info|Addresses](2).
- updated readme with new info
BONUS: may implement Solaris/illumos IOCP someday...
-despair86
2018-08-01 23:41:02 -05:00
Jeff Becker
928ec3790d
deterministic logging
2018-07-31 08:35:54 +10:00
Jeff Becker
d011fb550e
have logic and netio run in same thread for now
2018-07-30 08:20:31 +10:00
Jeff Becker
07b99e8ac4
extern "C" block for shared library
2018-07-27 13:41:55 +10:00
Ryan Tharp
bd229be656
handleBaseCmdLineArgs() refactor
2018-07-26 03:52:23 -07:00
despair86
bbe0634edc
this should get things going on UNIX :D
2018-07-25 20:00:15 -05:00
Jeff Becker
17ad12cd2c
* don't heap allocate llarp_rc
...
* store rc into network database cache on connect
2018-07-25 11:24:37 +10:00
Jeff Becker
a9c92213df
more backport
2018-07-24 16:37:12 +10:00
Jeff Becker
f7daee5abf
backport
2018-07-24 16:34:23 +10:00
Jeff Becker
066cf537e2
backport
2018-07-24 16:33:22 +10:00
Jeff Becker
62b94b17aa
more backport
2018-07-24 16:30:01 +10:00
Jeff Becker
fd4938b1e4
more android pendatic fixes
2018-07-24 12:25:10 +10:00
Jeff Becker
6945fe53a5
more also run make format
2018-07-17 14:37:50 +10:00
Jeff Becker
f48acbc23e
Merge remote-tracking branch 'ryan/libdns' into hidden-service-dht
...
also run make format
2018-07-17 07:26:16 +10:00
Jeff Becker
0242e293c9
more
2018-07-16 13:32:13 +10:00
Ryan Tharp
e1a4c2f32c
Merge branch 'hidden-service-dht' of https://github.com/majestrate/llarp
2018-07-13 07:25:20 +00:00
Jeff Becker
5bbaae4e2e
more
2018-07-12 14:21:44 -04:00
Jeff Becker
fe01c38d8e
* fix dht feedback loop
...
* start on dht lookups for hidden services
* make debug logging confurable on runtime with env var LLARP_DEBUG=1
* make eventloop tick only when we get traffic
* make testnet parameters configurable on runtime
2018-07-12 09:43:37 -04:00
Jeff Becker
dfa567e816
Merge remote-tracking branch 'sachaaaa/refactor' into hidden-service-dht
2018-07-09 10:24:44 -04:00
sachaaaaa
33586d385b
clang format
2018-07-09 14:34:28 +10:00
sachaaaaa
c7940076bf
Remove most of the extern "C"
...
remove extern "C"
2018-07-09 14:34:09 +10:00
Ryan Tharp
00e56ecfd2
Merge branch 'hidden-service-dht' of https://github.com/majestrate/llarp
2018-07-08 11:41:44 +00:00
Jeff Becker
21a2ffdeaf
* refactor log functions
...
* add more stuff for hidden service dht
2018-07-05 11:44:06 -04:00
Ryan Tharp
876324fdbc
llarp_main_abort => llarp_logic_stop_timer
2018-07-03 04:25:36 -07:00
Jeff Becker
7d9bffdf9c
make format
2018-06-29 08:15:15 -04:00
Ryan Tharp
b524f19119
fix missing header
2018-06-28 11:40:46 +00:00
Ryan Tharp
d132e3cd10
load config-file from config, llarp_main_getLocalRC(), llarp_main_checkOnline(), llarp_main_queryDHT() refactor
2018-06-28 04:32:26 -07:00
Ryan Tharp
ede0cb4772
Merge branch 'master' of https://github.com/neuroscr/loki-network
2018-06-26 10:08:51 +00:00
Jeff Becker
da22f306e0
* add path building management
...
* fix bug in iwp that caused crash
2018-06-25 11:12:08 -04:00
Ryan Tharp
c31e5795fc
setup() refactor, llarp_main_queryDHT()
2018-06-23 07:56:59 -07:00
Ryan Tharp
2e74bce713
getDatabase and associated functions
2018-06-21 04:11:55 -07:00
Ryan Tharp
51c97d44b3
ReloadConfig refactor, direct nodedb functions
2018-06-19 02:44:53 -07:00
Ryan Tharp
f49bd89a42
Merge branch 'master' of https://github.com/neuroscr/llarp
2018-06-18 01:06:29 -07:00
Ryan Tharp
7cd13b3f89
changed info message
2018-06-18 00:55:06 -07:00
Jeff Becker
54366c040c
make format
2018-06-17 11:26:00 -04:00
Ryan Tharp
087f4c2f02
clean up llarp_nodedb_async_verify api, make setRC save to correct path
2018-06-13 04:40:49 -07:00
Jeff Becker
90611731a5
initial shadow test net
2018-06-06 13:02:57 -04:00
Jeff Becker
e12bd9442f
expose multi process/single process option
2018-06-06 08:49:46 -04:00
Jeff Becker
0278ba559c
add single threaded mode for shadow
2018-06-06 08:46:26 -04:00
Jeff Becker
9816fd65e9
* logging refactor to be concise
...
* don't inline bencode
* refactor initial start of dht code a bit
2018-06-01 13:47:37 -04:00
Jeff Becker
5649d261ae
start fleshing out dht subsystem a bit
2018-06-01 10:08:54 -04:00
Jeff Becker
fe19314484
more stuff
2018-05-30 16:56:47 -04:00
Ryan Tharp
9f2d7f717a
Merge branch 'master' of https://github.com/majestrate/llarp
2018-05-29 12:21:50 +00:00
Ryan Tharp
78007425fd
use FreeBSD API for setting thread names
2018-05-29 05:13:33 -07:00
Jeff Becker
a00a0622d1
more docs
...
more logging
2018-05-28 16:51:15 -04:00