Jeff Becker
ac686a9329
remove valgrind access errors
2019-11-22 16:23:20 -05:00
Jeff Becker
b207db626f
please the gods of valgrind
2019-11-22 16:23:20 -05:00
Jeff Becker
56dce90de9
add trace log level for tracking logic thread jobs
2019-11-22 16:23:19 -05:00
Jason Rhinelander
d96d33329b
Merge pull request #912 from majestrate/logic-thread-fix-2019-11-13
...
fix logic thread behavior
2019-11-19 15:26:35 -04:00
Stephen Shelton
b5b8cf0745
Reduce log level of IWP session issues as they may be encountered frequently and normally
2019-11-19 12:17:34 -07:00
Stephen Shelton
ef2670dfb4
Drop new inbound IWP sessions when the first packet can't be handled
2019-11-19 09:24:29 -07:00
Jeff Becker
b34caa3e26
make unit tests pass for iwp
2019-11-14 11:48:02 -05:00
Jeff Becker
c9f26c4911
call Router::PumpLL after every batch of packets from a link session
2019-11-04 13:49:08 -05:00
Jeff Becker
1fc36f4832
changes from review
2019-11-04 12:24:42 -05:00
Jeff Becker
8befd6f2db
flush link session encrypt queue immediately after handling plaintext packets
2019-11-04 08:34:30 -05:00
Jeff Becker
e2890e925b
make it compile
2019-10-28 17:46:39 -04:00
Jeff Becker
20dd4e4d09
use data not begin
2019-10-28 17:39:24 -04:00
Jeff Becker
2267a7d283
fix bounds check
2019-10-28 17:23:43 -04:00
jeff
4af6dca246
use static_cast
2019-10-02 11:35:33 -04:00
jeff
3c1d5518d8
fix windows port and make it compile
2019-10-02 09:06:14 -04:00
jeff
32ed821763
Merge remote-tracking branch 'upstream/dev' into multithreaded-cryptography
2019-10-01 10:51:28 -04:00
Michael
86a07e2a80
Enable more sanitisers
2019-09-23 11:47:58 +01:00
Jeff Becker
327c545530
finish multithread cryptography first pass
2019-09-16 12:12:05 -04:00
jeff
14c9ef15ed
try calling stuff in logic thread from event loop
2019-09-16 06:21:12 -04:00
jeff
ac2a2aed1d
gut libutp and finish making things compile and pass tests
2019-09-12 14:19:25 -04:00
Jeff Becker
d04762ab49
unstaged changed
2019-09-12 10:34:27 -04:00
Jeff
070a014f85
Merge pull request #799 from majestrate/remove-link-layer-locking
...
disable link layer locking
2019-09-07 08:09:32 -04:00
Jeff Becker
3c0245f8b3
Merge remote-tracking branch 'github/master' into iwp-multi-ack
2019-09-05 13:40:04 -04:00
Jeff Becker
4bf6882c8a
more async cryptography
2019-09-05 13:39:09 -04:00
Jeff Becker
88cde21b9b
multithreaded iwp cryptography
2019-09-05 10:57:01 -04:00
Jeff Becker
0d3c07999a
break it again just to be sure
2019-09-05 09:36:46 -04:00
Jeff Becker
a4160006ab
make it compile
2019-09-05 09:34:59 -04:00
Jeff Becker
3b1a0b2835
add multi-ack and change protocol handshake to pin identity key
2019-09-05 09:21:35 -04:00
Jeff Becker
1adae338ce
Merge remote-tracking branch 'origin/master'
2019-09-04 07:58:02 -04:00
Jeff Becker
e9f01923d9
dont nack replayed messages, tweak transmission parameters.
...
this yields more efficient througput. probably.
2019-09-03 16:22:52 -04:00
Michael
4d8fe2a8a8
Move meta programming to subdirectory
2019-09-03 20:52:28 +01:00
Jeff Becker
2ab265be41
disable link layer locking because there was no contention
2019-09-03 11:58:36 -04:00
Jeff Becker
c01112e4b7
tracy lock contention testing and other fun things
2019-09-03 11:56:56 -04:00
Jeff Becker
deecbbbdef
optimize
2019-08-30 10:44:43 -04:00
Jeff Becker
83432d7567
make format
2019-08-29 08:05:29 -04:00
Jeff Becker
4c569d83b7
make it compile
2019-08-29 08:04:46 -04:00
Jeff Becker
d1e590ce9d
fix sign
2019-08-28 10:42:32 -04:00
Jeff Becker
795ac6bab3
get rid of dead code
2019-08-28 10:15:16 -04:00
Jeff Becker
0986b6ab5e
quick little fixes
2019-08-28 07:59:08 -04:00
Jeff Becker
444d832b7c
correct constructors on llarp_buffer_t and check rc on regen
2019-08-28 07:38:32 -04:00
Jeff Becker
16934cdd20
please the CI gods, wololo
2019-08-28 07:11:03 -04:00
Jeff Becker
ba2aaa68c6
add short data fragments and rx replay filter
2019-08-28 07:02:00 -04:00
Jeff Becker
3c2c895593
fix log level
2019-08-27 13:10:25 -04:00
Jeff Becker
4c8da9bb6d
use correct constructor for llarp_buffer_t
2019-08-27 09:14:44 -04:00
Jeff Becker
88f685b74a
add forgotten bits
2019-08-27 08:13:55 -04:00
Jeff Becker
0241851b72
add likn layer delivery timeout notification for iwp
2019-08-27 08:07:48 -04:00
Jeff Becker
94f8531776
more fixups
2019-08-26 10:29:29 -04:00
Jeff Becker
6a48a3b402
code review fixes:
...
* use std::unordered_set
* use default for ctor/dtor
* don't crash on short packet with nack
2019-08-26 07:16:46 -04:00
Jeff Becker
82ea973137
silence clang errors
2019-08-23 08:48:40 -04:00
Jeff Becker
5f8388b1c0
lower log level for renegotiate
2019-08-23 08:30:07 -04:00
Jeff Becker
7e38a133d8
send keep alive on pump when needed
2019-08-23 07:57:57 -04:00
Jeff Becker
d6ec5e7ed7
don't crash
2019-08-23 07:50:22 -04:00
Jeff Becker
461f41a4c6
mark alive on nack
2019-08-23 07:36:11 -04:00
Jeff Becker
acf5f78949
update iwp , add NACK
2019-08-23 07:32:52 -04:00
Jeff Becker
426ee41c46
initial iwp
2019-08-22 16:53:27 -04:00
Michael
16cdfbd5f0
clang-tidy modernize pass
2019-08-12 16:52:58 +01: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
Michael
75430a234c
Convert to use memFn
2019-06-02 22:19:10 +01:00
Jeff
674f272a46
Merge pull request #630 from majestrate/master
...
recent stability stuff
2019-05-29 08:20:25 -04:00
Michael
491fee206b
Port code to use CryptoManager over passing Crypto pointers
2019-05-28 20:45:08 +01:00
Jeff Becker
27c101cc32
close timed out sessions
2019-05-25 10:54:30 -04:00
Jeff Becker
64c7ed42fc
make format
2019-05-22 12:20:50 -04: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
Michael
25f10d5b11
Fix more address sanitiser issues
2019-04-02 10:03:53 +01:00
Michael
561b997c93
Move IWP code to its own directory
2019-03-29 16:00:12 +00:00
Jeff Becker
c3c388b6aa
remove iwp and start on curvecp
...
does not compile
2018-09-02 14:25:42 -04:00
Jeff Becker
74b713870b
use const
...
always use outbound links
2018-08-31 15:46:25 -04:00
Jeff Becker
b362784581
redo codel to do as few allocations as possible
2018-08-31 14:33:08 -04:00
Jeff Becker
8bae1a4735
move codel off of pointer types
2018-08-31 10:41:04 -04:00
Jeff Becker
5228a81bae
more refactor
...
get rid of C api
2018-08-30 14:48:43 -04:00
Jeff Becker
b122fc59f8
refactor (not done)
2018-08-29 16:40:26 -04:00
Jeff Becker
199dad09dd
* kill dht feedback loop
...
* add dht exploration for discovering new routers
* tweak loopback testnet paramters to not be initially fully connected
2018-08-27 09:44:16 -04:00
Jeff Becker
b7039f6e5c
more tun stuff
2018-08-22 11:52:10 -04:00
Jeff Becker
1a1f93c171
* more tun stuff
...
* use std::unique_ptr where bare pointers aren't absolutely required
2018-08-17 15:49:58 -04:00
Jeff Becker
6a828ea985
fix shadow build
2018-08-14 18:07:58 -04:00
Jeff Becker
1d3e9f6adc
make testnet no longer crash
2018-08-14 17:17:18 -04:00
Jeff Becker
186bd7d573
use NTRU for introset end to end encryption
2018-08-13 19:22:31 -04:00
Jeff Becker
e79708c1dc
hidden services sorta work
2018-08-10 17:34:11 -04:00
Jeff Becker
62f41d3747
initial threadpool isolation code and run make format
2018-08-08 13:43:46 -04:00
Jeff Becker
86ec4dacc3
dht and testnet fixes
2018-08-04 12:59:32 +10: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
7622f6cef1
dht tweaks
2018-08-02 14:34:46 +10:00
Jeff Becker
bc1c49b092
dht fixes
2018-08-02 08:10:38 +10:00
Jeff Becker
d4ea843d33
fix feedback loop
2018-07-30 11:29:22 +10:00
Jeff Becker
b9f07e8593
* tweak event loop parameters
...
* various code cleanup
2018-07-30 10:30:10 +10:00
Jeff Becker
908716aca4
cleanup
2018-07-30 09:29:36 +10:00
Jeff Becker
2f51f6202a
make it not crash
2018-07-30 08:57:39 +10:00
Jeff Becker
48cfdab63c
get rid of wizard and autogenerate configs if not present with sane defaults
2018-07-27 10:21:57 +10:00
Jeff Becker
976ca3015c
move iwp server to own source file
2018-07-27 08:06:11 +10:00
Jeff Becker
0f649d844f
more
2018-07-27 07:08:56 +10:00
Jeff Becker
e91f69a0ef
* put sequence numbers in routing messages
...
* more endian crap
* don't tick logic too much
2018-07-25 08:34:46 +10:00
Jeff Becker
44e898afc8
more endian crap
2018-07-24 17:18:35 +10:00
Jeff Becker
8553c206cb
endian stuff
2018-07-24 17:06:42 +10:00
Jeff Becker
23fd7ac30c
always ack for 0 fragment messages
2018-07-24 08:54:57 +10:00
Jeff Becker
e23d3a8eda
* pad messages under 1KB to 1KB to reduce jitter
...
* fix race
2018-07-24 08:36:46 +10:00
Jeff Becker
dbe4a35230
add sequence numbers to routing messages
2018-07-24 07:59:43 +10:00
Jeff Becker
19e3b9c642
* more hidden service code
...
* begin lokinet api
2018-07-23 17:38:29 +10:00
Jeff Becker
02ca1796b2
all the files
2018-07-20 14:50:28 +10:00
Jeff Becker
7fbc21207f
more hidden service stuff
2018-07-19 14:58:39 +10:00
Jeff Becker
994a5fe928
dht fixups
2018-07-19 08:50:05 +10:00
Jeff Becker
7c518bc4da
prefetch introset via tag (non working)
2018-07-19 06:58:16 +10:00
Jeff Becker
f23ed98c33
make it work
2018-07-17 16:17:13 +10:00
Jeff Becker
bb8532a281
correct ordering of outbound messages
2018-07-17 14:43:44 +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
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
bae4f746be
publish hidden service descriptors and acknoledge publish
2018-07-11 12:11:19 -04:00
Jeff Becker
cf6275155a
pump less
2018-07-10 07:56:05 -04:00
Jeff Becker
1337cc0c25
also pump outbound queues during logic tick
2018-07-10 07:51:51 -04:00
Jeff Becker
59ca4e4cae
make it work
2018-07-10 07:47:22 -04:00
Jeff Becker
4c08d9a028
make it compile
2018-07-10 07:36:55 -04:00
Jeff Becker
dfa567e816
Merge remote-tracking branch 'sachaaaa/refactor' into hidden-service-dht
2018-07-09 10:24:44 -04:00
sachaaaaa
6f055eca4f
Extracted structs out of iwp_link.cpp
...
to rebase
to rebase
2018-07-09 15:01:15 +10:00