Commit Graph

2955 Commits

Author SHA1 Message Date
Jeff Becker
d54dc7a988
prune dht peers every router tick 2019-09-10 10:16:32 -04:00
Jeff Becker
fd787cc56d
try more ranges 2019-09-09 08:10:26 -04:00
Jeff Becker
61ade40a51
reduce logging and make format 2019-09-09 07:36:21 -04:00
Jeff Becker
ff233204cd
disable rc expiration 2019-09-09 06:45:52 -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
f3676cef5e
Merge pull request #800 from michael-loki/abort_mutex
Abort when a null mutex is locked from a different thread (in debug mode only)
2019-09-07 08:09:11 -04:00
Jeff Becker
e3bb59707e
more 2019-09-05 17:28:50 -04:00
Jeff Becker
bcf9135da6
testnet 2019-09-05 16:20:55 -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
Rick V
8daaab5f6a
fix 2019-09-04 20:52:53 -05:00
Rick V
ef6f62cc04
some people set the netid explicitly, and set it to default anyway 2019-09-04 20:35:46 -05:00
Rick V
4a5cbbdc70
auto config has been removed for months now
win32 accidentally left out the error reporting
2019-09-04 20:25:50 -05:00
Jeff Becker
0250f79742
Merge remote-tracking branch 'origin/master' 2019-09-04 18:06:41 -04:00
Michael
19473a291a
Abort when a null mutex is locked from a different thread (in debug mode only) 2019-09-04 22:34:41 +01:00
Jeff Becker
4c77bf208f
update default netid 2019-09-04 09:48:56 -04:00
Jeff
325b697e90
Merge pull request #787 from despair86/master
make build internally consistent, bump windows version to 0.5.0
2019-09-04 08:59:51 -04:00
Jeff Becker
d11321366c
make it compile 2019-09-04 08:43:50 -04:00
Jeff Becker
12314e8d00
ensure no crash on quit 2019-09-04 08:41:07 -04:00
Jeff Becker
5cdd92e2a3
remove more locking and make it safe 2019-09-04 08:24:17 -04:00
Jeff Becker
ab64c0d013
Merge remote-tracking branch 'micheal/abort_mutex' 2019-09-04 07:58:48 -04:00
Jeff Becker
1adae338ce
Merge remote-tracking branch 'origin/master' 2019-09-04 07:58:02 -04:00
Michael
23d76e3600
Abort when a null mutex is locked from a different thread (in debug mode only) 2019-09-03 23:25:37 +01:00
Michael
67c36998e6
Fix windows 2019-09-03 23:06:22 +01: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
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
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
Rick V
294b98527d
clang-format remaining code, use __asm__ for avx2 port since we
insist on straight C99 without extensions (asm isn't special in
C99, __asm__ is)
2019-09-03 08:02:35 -05:00
Rick V
842fe039bc
derp 2019-09-03 08:02:34 -05:00
Rick V
6205e96c36
move non-string version info to common header 2019-09-03 08:02:34 -05:00
Rick V
51279075d8
iconv 🅱roke 2019-09-03 08:02:34 -05:00
Rick V
df430650ef
undo utf8 conversion 2019-09-03 08:02:33 -05:00
Rick V
fb70d7afc9
bump version for release 2019-09-03 08:02:32 -05:00
Jeff
c9299f47c7 Merge branch 'master' of ssh://github.com/majestrate/loki-network 2019-09-02 12:44:35 -04:00
Jeff
093021ef99 try fixing handover drop bug 2019-09-02 12:44:08 -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
d2824c6b13
Merge pull request #792 from majestrate/master
bump versions and call timeout hook
2019-08-29 07:47:53 -04:00
Jeff Becker
78d191bd75
prepare for 0.5.0 2019-08-29 07:45:58 -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
b904a4ee22
fix explore 2019-08-28 08:44:50 -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
d76385894f
Merge remote-tracking branch 'origin/master' into iwp-redux 2019-08-28 06:43:02 -04:00
Jeff Becker
eabbb83149
use estimated build time instead of expiration time for delta when determining when to space out builds 2019-08-27 16:07:09 -04:00
Jeff Becker
e0424a91a7
bump path build handover window, check cooldown on build. 2019-08-27 16:00:00 -04:00
Jeff
62183e4173
Merge pull request #788 from majestrate/iwp-redux
fix log level
2019-08-27 15:36:32 -04:00
Jeff Becker
3c2c895593
fix log level 2019-08-27 13:10:25 -04:00
Jeff
b42605d1ba
Merge pull request #783 from majestrate/iwp-redux
Add "new" (old) link protocol: IWP
2019-08-27 09:33:37 -04:00
Jeff Becker
4c8da9bb6d
use correct constructor for llarp_buffer_t 2019-08-27 09:14:44 -04:00
Jeff Becker
b5402dc6c3
Merge remote-tracking branch 'origin/master' into iwp-redux 2019-08-27 08:15:41 -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
Rick V
b3a975ff8e
sun fix
fix testing on sun
2019-08-27 06:53:08 -05:00
Jeff
908ac2722f
Merge pull request #785 from michael-loki/docker_compose_swarm
Fix docker-compose isolated network
2019-08-27 04:26:10 -04:00
Michael
70937ab503
Fix docker-compose isolated network 2019-08-27 01:57:37 +01:00
Jeff
e7796a7ba4
Merge pull request #784 from michael-loki/shadow_fixes
Partial fixes for shadow
2019-08-26 20:42:15 -04:00
Michael
7d39f84ef3
Partial fixes for shadow 2019-08-26 23:10:48 +00: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
Rick V
55612bc032
ok use clang-format v8 2019-08-26 03:32:40 -05:00
Rick V
2000826a35
override print 2019-08-26 03:32:40 -05:00
Rick V
50d4b4b40c
fix log colours on old win32 platforms 2019-08-26 03:32:39 -05:00
Rick V
447c4e6012
header got stripped 2019-08-26 03:32:39 -05:00
Jeff Becker
35c78348f2
default to no implementation on pipe for pleasing win32 2019-08-23 09:29:57 -04:00
Jeff Becker
1d32e6a28f
silence clang errors again 2019-08-23 08:55:28 -04:00
Jeff Becker
82ea973137
silence clang errors 2019-08-23 08:48:40 -04:00
Jeff Becker
4ac07ea9fb
use std::make_tuple 2019-08-23 08:40:56 -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
ba316f85ba
default to iwp 2019-08-22 16:56:27 -04:00
Jeff Becker
426ee41c46
initial iwp 2019-08-22 16:53:27 -04:00
Jeff Becker
aea4542edd
more 2019-08-22 07:18:05 -04:00
Jeff Becker
3c3338e801
Merge remote-tracking branch 'origin/master' into memlink 2019-08-21 10:53:25 -04:00
michael-loki
3f868f2cdf
Merge pull request #782 from michael-loki/tidy_ensure_config
replace endl with '\n in config.cpp
2019-08-20 01:57:20 +01:00
Michael
cd27f96832
replace endl with '\n in config.cpp 2019-08-19 23:56:02 +01:00
Michael
7cb1b525c9
Dump more info from router contact 2019-08-19 23:25:46 +01:00
Michael
777261cb20
Use ToString over ToHex 2019-08-19 22:26:37 +01:00
Michael
afb94381a2
Use ToString instead 2019-08-19 22:06:30 +01:00
Michael
094b697b01
Replace StatusObject with underlying JSON type 2019-08-19 10:33:26 +01:00
Jeff
ecf3c37d2e
Merge pull request #768 from majestrate/sane-limits
Sane limits
2019-08-14 06:28:28 -04:00
Michael
40aabd6d92
Use the right version of clang-tidy 2019-08-13 22:38:00 +01:00
Jeff Becker
28de66e964
correct header? 2019-08-13 11:29:44 -04:00
Jeff Becker
c14993bc56
use llarp::path::default_len to inform how many routers we need 2019-08-13 08:40:22 -04:00
Michael
0a1620aff2
make format 2019-08-12 22:10:07 +00:00
Michael
de21a2f687
Include json output 2019-08-12 22:09:44 +00:00
Michael
16cdfbd5f0
clang-tidy modernize pass 2019-08-12 16:52:58 +01:00
Jeff Becker
4c9675ffe7
ensure timestamp is not in future 2019-08-12 09:26:35 -04:00
Jeff Becker
e3c8761cf5
pump to make stuff speed up if stuck 2019-08-12 09:22:48 -04:00
Jeff Becker
7fb7e783e6
merge 2019-08-12 09:21:43 -04:00
Jeff Becker
4f98535f84
more 2019-08-12 09:21:11 -04:00
Jeff Becker
a1fff96a1b
limit connections in outbound session maker 2019-08-12 08:40:38 -04:00
Jeff Becker
efa61f324f
include header 2019-08-12 07:27:46 -04:00
Jeff Becker
e8573b6254
add limits files 2019-08-12 07:21:17 -04:00
Jeff Becker
2345dd3239
try adding proper limits 2019-08-12 07:20:57 -04:00
Jeff Becker
4f5c69c07e
Merge branch 'concise-utp-timeout-2019-08-09' into utp-write-split-2019-08-09 2019-08-10 06:59:05 -04:00
Jeff Becker
83de715f50
make sure stats are called every 1s 2019-08-10 06:51:02 -04:00
Jeff Becker
e11ca27d1f
pumpwrite -> pump 2019-08-09 15:57:19 -04:00
Jeff Becker
79aaa8a021
when pushing large amounts per tick try not to bottleneck on utp_writev 2019-08-09 15:55:05 -04:00
Jeff Becker
f4d2f808ec
make it compile 2019-08-09 08:49:06 -04:00
Jeff Becker
15e8c070c6
more consise utp timeout logic 2019-08-09 08:46:33 -04:00
Jeff Becker
fdbb2e8dc8
make format 2019-08-09 08:17:01 -04:00
Jeff Becker
847fcdf5f3
move convotag missmatch check to the right place 2019-08-09 08:16:20 -04:00
Jeff
0d1dea997d
Merge pull request #759 from michael-loki/fix_metrics_thread_safety
Fix metrics thread safety
2019-08-08 11:29:06 -04:00
Jeff Becker
a34b48e117
make it compile 2019-08-08 07:19:50 -04:00
Jeff Becker
3dd79d7137
also check if we are a public router when checking for timeout in read direction 2019-08-08 07:16:47 -04:00
Michael
84601fa474
Make format 2019-08-08 00:26:40 +01:00
Michael
d1990b5e93
Fix suspicious thread-unsafety 2019-08-08 00:18:56 +01:00
Jeff Becker
b9cb59f021
Merge branch 'master' of ssh://github.com/majestrate/loki-network 2019-08-07 17:44:15 -04:00
Jeff
da4f1ddb0a
Merge pull request #757 from majestrate/master
don't expire based on reply intro
2019-08-07 17:15:46 -04:00
Jeff
c2c4f61ded don't expire based on reply intro 2019-08-07 16:50:15 -04:00
Jeff Becker
c1f33bb1ac
initial mempipe implementation 2019-08-07 12:33:29 -04:00
michael-loki
d6f2a1954f
Merge pull request #756 from michael-loki/fix_deadlock_on_error
Fix a deadlock when link fails to establish
2019-08-07 07:06:22 +01:00
Michael
be211926cf
Fix a deadlock when link fails to establish 2019-08-07 00:27:41 +01:00
Jeff Becker
e3d13fc2a0
drop missmatched convotags 2019-08-06 17:37:34 -04:00
Jeff
fc64b83c13
Merge pull request #752 from majestrate/master
always regen expired rc
2019-08-05 10:40:54 -04:00
Jeff Becker
70ddc84d3a
always regen expired rc 2019-08-05 09:39:27 -04:00
Jeff
60d9d72d4c
Merge pull request #751 from majestrate/master
dont close backlogged client connections
2019-08-05 08:28:39 -04:00
Jeff Becker
b6987a389c
don't time out clients based on downstream traffic 2019-08-05 08:18:37 -04:00
Jeff
10d7e7cb77
Merge branch 'master' into master 2019-08-05 07:59:30 -04:00
Michael
c429f0cec9
Jeff's fixes 2019-08-04 22:30:47 +01:00
Jeff Becker
768c6f7367
dont close socket on bad state 2019-08-02 09:43:03 -04:00
Michael
a270fe5f33
fixup! Fix gcc trunk warnings 2019-08-02 10:34:56 +01:00
Michael
f9e9227e19
Fix gcc trunk warnings 2019-08-02 10:29:08 +01:00
Michael
4763888d2c
Add fail-able docker build for gcc trunk 2019-08-02 10:28:09 +01:00
Rick V
8cf5f2c9a5 fix thread naming on windows 2019-08-01 23:42:32 -05:00
Rick V
2644f173b0
namespace 2019-08-01 22:27:28 -05:00
Rick V
f6c97091fd
clang-format 2019-08-01 22:25:48 -05:00
Rick V
5cef16e7cf
this is new, intro'd with the libuv refactor
@when did implicit conversions from void* become bad

partial refactor of win32 udp listener impl
2019-08-01 22:24:34 -05:00
Rick V
609a9a1c31
fix netbsd 2019-08-01 21:39:51 -05:00
Rick V
a0a14b97a0
really fix #689 this time 2019-08-01 21:39:50 -05:00
Rick V
3782479276
fix sun 2019-08-01 21:39:49 -05:00
Rick V
2ccbf5616d
enable SetThreadName (#689) 2019-08-01 21:39:46 -05:00
Rick V
581e64a2ef
back out for now 2019-08-01 21:39:45 -05:00
Rick V
578bcba73d
ok use exception filter
typo

no infinite loops
2019-08-01 21:39:44 -05:00
Rick V
16096c6adb
add debug helper lib for core dump generation on all supported windows targets
had an epiphany earlier

i kept having problems with static linking because
i merged the GNU C runtime with the SEH library
instead of merging the latter with pthread
2019-08-01 21:39:42 -05:00
Jeff
3d2dfcc027
Merge pull request #747 from majestrate/master
bug fixes
2019-08-01 19:10:51 -04:00
Jeff Becker
8329aa0ee6
always rewrite address 2019-08-01 14:18:36 -04:00
Jeff Becker
a9f524383a
close dropped session later in event loop 2019-08-01 08:33:54 -04:00
Jeff Becker
4cfc3481dc
remove session->Close() 2019-08-01 08:28:26 -04:00
Jeff Becker
2261885206
mark addresses as active when we use them 2019-08-01 08:20:51 -04:00
Jeff Becker
f37552bbd3
properly close dropped inbound sessions on utp 2019-08-01 08:20:07 -04:00
Jeff Becker
aa0a795689
call path build fail stuff in logic thread 2019-07-31 08:51:24 -04:00
Jeff Becker
b4af87aa42
have IPPacket::srcv6 and IPPacket::dstv6 check for ipv4 packets and expand them to ipv6 2019-07-31 08:26:11 -04:00
Jeff
0515ad6bf9
Merge pull request #726 from michael-loki/travis_docker
Get make windows working in CI
2019-07-30 17:29:20 -04:00
Jeff Becker
f349677f1c
use ipv4 address on snodes for now 2019-07-30 14:47:25 -04:00
Jeff Becker
7e9ef19f69
use std::min 2019-07-30 13:57:23 -04:00
Jeff Becker
f4ac918b7e
remove -1 2019-07-30 13:56:24 -04:00
Jeff Becker
d595b51b0b
fix dht exploration ;~; 2019-07-30 11:59:12 -04:00
Jeff Becker
e1dd7ad97f
revert dht stuff 2019-07-29 18:33:49 -04:00
Michael
a062186f2d
or not 2019-07-29 23:23:55 +01:00
Michael
ee2dd0fb68
Use __cpp_lib_filesystem 2019-07-29 21:44:14 +01:00
Michael
3c2f7792c2
Fixup 2019-07-29 21:32:29 +01:00
Michael
614b669fd5
Abandon debian 2019-07-29 21:31:26 +01:00
Michael
df498c7bf8
try to make some windows 2019-07-29 21:31:26 +01:00
Jeff Becker
60fbeca9d4
const correctness 2019-07-29 12:43:24 -04:00
Jeff Becker
db2206664a
fix crashes in testnet 2019-07-29 11:10:20 -04:00
Jeff Becker
9a8470bcc1
* const correctness
* use std::map's upper_bound to find many closer entries
* randomize key for exploration to allow many explore jobs in paralell
2019-07-29 09:08:40 -04:00
Jeff
af74ee6f70
Merge pull request #737 from majestrate/add-link-layer-delivery-feedback
Add link layer delivery feedback
2019-07-28 18:21:56 -04:00
Jeff
c08f8361a3
Merge pull request #732 from tewinget/path-build-status-messages
Adds Link-Relay Status Messages
2019-07-28 18:21:43 -04:00
Jeff Becker
b0406e1a76
on logic queue overflow put job on timer instead 2019-07-28 13:13:52 -04:00
Jeff Becker
b8904ab0f4
fix compile for tests 2019-07-28 11:33:18 -04:00
Jeff Becker
4eff86d681
use size_t 2019-07-28 11:28:45 -04:00
Jeff Becker
835b334a59
* increase utp buffers
* disallow inbound traffic on outbound utp link
* const correctness
2019-07-28 11:26:38 -04:00
Jeff Becker
9a055947cb
make it compile 2019-07-28 09:20:08 -04:00
Jeff Becker
16e6ab2193
propagate all utp link errors 2019-07-28 09:00:12 -04:00
Jeff Becker
503bea19cd
make travis happy 2019-07-28 08:35:07 -04:00
Jeff Becker
822f529be8
add link layer delivery feedback 2019-07-26 12:19:31 -04:00
Jeff Becker
b29ec20ad4
try deferred resolve for exit handler 2019-07-26 12:19:08 -04:00
Jeff Becker
972d4f8672
fix crash of clients and propagate lookup failures 2019-07-26 08:11:56 -04:00
Thomas Winget
697ece64cc make TransitHop self-destruct if path is invalidated 2019-07-25 19:54:10 -04:00
Thomas Winget
38fd0552d3 Adds Link-Relay Status Messages
Success case:
  - the path endpoint creates and sends a LR_StatusMessage upon
    successful path creation

Failure case:
  - an intermediate hop creates and sends a LR_StatusMessage upon
    failure to forward the path to the next hop for any reason

Both cases:
  - transit hops receive LR_StatusMessages and add a frame
    to them reflecting their "status" with respect to that path
  - the path creator receives LR_StatusMessages and decrypts/parses
    the LR_StatusRecord frames from the path hops.  If all is good,
    the Path does as it would when receiving a PathConfirmMessage.
    If not, the Path marks the new path as failed.

LR_StatusMessage is now used/sent in place of PathConfirmMessage
2019-07-25 17:46:56 -04:00
Thomas Winget
011abde5ec make travis happy again *and* don't break message sending 2019-07-25 15:04:48 -04:00
Thomas Winget
af2c960867 revert change that made travis happy because it broke things 2019-07-25 14:48:32 -04:00
Thomas Winget
bbb5339b33 add debug-level log message on path build success 2019-07-25 14:48:14 -04:00
Thomas Winget
5e0fc2bc71 change log level of message send success 2019-07-25 14:31:53 -04: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
909e0399d6
make android compile 2019-07-24 10:17:54 -04:00
Jeff
f154c9a0d0
Merge pull request #721 from majestrate/fix-dht-2019-07-19
handle dht case
2019-07-22 16:27:25 -04:00
Jeff
dc259e339f
Merge pull request #708 from michael-loki/travis_windows
Test windows support in travis
2019-07-22 08:20:39 -04:00
Michael
53bccc4f23
try to ensure on windows, but don't fail 2019-07-21 16:57:12 +01:00
Michael
9b40c0eb67
Fixup some tests 2019-07-21 16:57:12 +01:00
Michael
6ede15888e
Change manifest ids 2019-07-21 16:57:12 +01:00