Commit Graph

502 Commits

Author SHA1 Message Date
Jeff Becker
56dce90de9
add trace log level for tracking logic thread jobs 2019-11-22 16:23:19 -05:00
jeff
52757fef0e Merge remote-tracking branch 'micheal/background_mode' into vpn-api-2019-10-03 2019-10-04 14:10:58 -04: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 Becker
61ade40a51
reduce logging and make format 2019-09-09 07:36:21 -04:00
Jeff Becker
e3bb59707e
more 2019-09-05 17:28:50 -04:00
Jeff Becker
1adae338ce
Merge remote-tracking branch 'origin/master' 2019-09-04 07:58:02 -04:00
Michael
edd0ec398f
Move thread stuff 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
Jeff Becker
c01112e4b7
tracy lock contention testing and other fun things 2019-09-03 11:56:56 -04: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
Michael
16cdfbd5f0
clang-tidy modernize pass 2019-08-12 16:52:58 +01:00
Michael
f9e9227e19
Fix gcc trunk warnings 2019-08-02 10:29:08 +01:00
Jeff Becker
8329aa0ee6
always rewrite address 2019-08-01 14:18:36 -04:00
Jeff Becker
2261885206
mark addresses as active when we use them 2019-08-01 08:20:51 -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 Becker
f349677f1c
use ipv4 address on snodes for now 2019-07-30 14:47:25 -04:00
Jeff Becker
9a055947cb
make it compile 2019-07-28 09:20:08 -04:00
Jeff Becker
b29ec20ad4
try deferred resolve for exit handler 2019-07-26 12:19:08 -04:00
Jeff Becker
f48754c45d
make hop count and length configurable 2019-07-18 12:28:17 -04:00
Michael
e52492911d
Refactor endpoint state management to a new class 2019-07-15 10:15:51 +01:00
Jeff Becker
6882e627ba
make format 2019-07-12 10:07:12 -04:00
Jeff Becker
1fd6b5ae74
Merge remote-tracking branch 'origin/master' into ipv6-tun 2019-07-12 09:53:52 -04:00
Michael
488695047f
Remove redundant else blocks 2019-07-09 22:54:46 +01:00
Jeff Becker
3ed8dec78b
use const reference and don't log invalid packets 2019-07-09 15:17:27 -04:00
Jeff Becker
0eb6431eb1
initialize tun with 0 and set defaults in correct places 2019-07-08 11:26:06 -04:00
Jeff Becker
58005c5f81
Merge remote-tracking branch 'origin/master' into ipv6-tun 2019-07-08 10:17:21 -04: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
Jeff Becker
89a3e375d2
fix last commit 2019-07-05 10:48:10 -04:00
Jeff Becker
a781589b52
try fix for localhost.loki 2019-07-05 10:41:26 -04: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
8c2d67f8f1
Fix tests 2019-07-02 10:06:29 +01:00
Jeff Becker
d6ec528a72
start work on seperating ips out of endpoint 2019-07-01 10:56:56 -04:00
Jeff Becker
64e9622270
start seperating tun and endpoint 2019-07-01 09:44:25 -04:00
Jeff Becker
5c61df08b5
Merge remote-tracking branch 'origin/master' into ipv6-tun 2019-06-20 10:35:51 -04:00
Michael
b89689fec3
Refactor path build code 2019-06-18 22:51:41 +01:00
Jeff Becker
227f561ffc
Merge remote-tracking branch 'origin/master' into ipv6-tun 2019-06-14 08:11:16 -04:00
Michael
95646d2d87
Publish metric tags 2019-06-13 23:09:58 +01:00
Jeff Becker
c60099002b
reverse dns for ipv6 2019-06-12 09:48:14 -04:00
Jeff Becker
ec3ddfa425
typofixes 2019-06-11 18:29:45 -04:00
Jeff
8407c20b91
Merge branch 'ipv6-tun' into ipv6-tun 2019-06-11 17:46:47 -04:00
cathugger
72b1ea613c
make format 2019-06-12 00:28:55 +03:00
cathugger
a9dac85c28
fix stuff 2019-06-12 00:27:06 +03:00
Jeff Becker
a780789b2c
handle ipv6 exit traffic 2019-06-11 15:48:21 -04:00
Jeff Becker
0cf09d6435
make exits support v6 probably 2019-06-11 15:42:11 -04:00
Jeff Becker
de51ef23bf
more 2019-06-11 14:23:53 -04:00
Jeff Becker
2403ab8f86
ipv6 2019-06-11 12:44:05 -04:00
Jeff Becker
4c0a52ac9c
try addressing issue #642 2019-06-10 11:54:04 -04:00
Jeff Becker
a33dbce680
try switching logic 2019-06-06 06:52:27 -04:00
Michael
75430a234c
Convert to use memFn 2019-06-02 22:19:10 +01:00
Michael
491fee206b
Port code to use CryptoManager over passing Crypto pointers 2019-05-28 20:45:08 +01:00
Jeff Becker
2ac89c0afb
DRY 2019-05-23 08:22:48 -04:00
Jeff Becker
b679dd7341
fixit 2019-05-22 13:38:02 -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
Jeff
06f8bb2f42 add blacklist-snode option 2019-05-10 12:19:33 -04:00
Jeff Becker
8f68ceeb11
force ipv4 2019-05-09 08:24:38 -04:00
Jeff Becker
ad019cab71
add changes for review 2019-05-08 10:59:28 -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
7c782440fb
round robin the exit endpoints on exit handler 2019-05-07 12:07:44 -04:00
Jeff Becker
728c6005a3
propagate strict-connect to tun handler for hooks 2019-05-06 08:42:21 -04:00
Jeff Becker
986e831579
make bundle-rc option configurable on snode tld 2019-05-02 14:11:44 -04:00
Jeff Becker
6b2ad94731
fix compile warning 2019-05-01 09:53:43 -04:00
Jeff Becker
e060082441
hook every dns for .loki and .snode when applicable
make {n,h}uint{32,16}_t templated type.
2019-05-01 09:40:10 -04:00
Jeff Becker
bb47d612b3
more 2019-04-30 12:07:17 -04:00
Jeff Becker
5e0acc1197
separate upstream/downstream flush 2019-04-30 09:56:39 -04:00
Jeff
27fac68716 fix 2019-04-28 14:22:38 -04:00
Jeff
01906c5d94 Merge remote-tracking branch 'origin/master' 2019-04-28 13:33:27 -04:00
Jeff Becker
fea64eaf12
handle subdomains 2019-04-26 08:14:29 -04:00
Jeff Becker
d20ba9ceab
handle subdomains 2019-04-26 08:11:34 -04:00
Jeff Becker
af1529fa72
Merge remote-tracking branch 'origin/master' 2019-04-25 07:25:22 -04:00
Michael
4143472a17
Add cmake module to target a library as 'system', and fix a few warnings 2019-04-25 00:27:31 +01:00
Jeff Becker
6711296b26
finish converting to shared_ptr 2019-04-23 12:13:22 -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
c0d7b53328
make it work 2019-04-22 10:00:59 -04:00
Jeff Becker
3a8cb0bfb5
add shell based hooks for service::Endpoint, also make format 2019-04-22 08:25:25 -04:00
Michael
6bf54e0925
Remove AsyncKeyExchange, HiddenServiceAddressLookup and OutboundContext to their own components 2019-04-21 19:39:50 +01:00
Michael
c39c931d03
Remove IStateful virtual inheritance 2019-04-19 16:10:26 +01:00
Jeff Becker
351feadaec
make it work 2019-04-11 09:19:58 -04:00
Jeff Becker
7f25b62ef5
remove adding of defaults to upstream dns resolvers 2019-04-09 12:03:59 -04:00
Jeff Becker
3da6551e82
make android compile 2019-04-08 11:54:19 -04:00
Jeff Becker
e178a70929
use shared_ptr for event loop 2019-04-08 08:01:52 -04:00
Jeff Becker
2f2b841c67
disable mx record dropping
add servfail
2019-04-05 12:39:43 -04:00
Jeff Becker
c931ac069f
add AAAA records that return SIIT addresses 2019-03-27 09:36:11 -04:00
Jeff
d5ce529b27 implement random.snode A records 2019-03-21 21:01:17 -04:00
Jeff Becker
2eb6d8a3ae
fix name 2019-03-20 12:41:48 -04:00
Jeff Becker
28474155b9
implement localhost.loki on tun 2019-03-20 12:40:28 -04:00
Jeff Becker
9d649b7b14
Revert "make exit handle localhost.loki for now"
This reverts commit 654864919f.
2019-03-20 11:48:29 -04:00
Jeff Becker
567efb9a92
Revert "move is_random_snode/is_localhost_loki into dns, llarp_HandleHookedDNSMessage() attempt at unification refactor between exit/tun handlers"
This reverts commit e388dc47eb.
2019-03-20 11:48:23 -04:00
Ryan Tharp
654864919f make exit handle localhost.loki for now 2019-03-20 03:29:54 +00:00
Ryan Tharp
e388dc47eb move is_random_snode/is_localhost_loki into dns, llarp_HandleHookedDNSMessage() attempt at unification refactor between exit/tun handlers 2019-03-20 03:28:58 +00:00
Ryan Tharp
d02eec2bcf add note 2019-03-20 03:18:38 +00:00
Jeff Becker
734a5b5fae
more 2019-03-11 09:01:43 -04:00
Jeff Becker
2218749134
Merge remote-tracking branch 'origin/staging' into staging 2019-03-07 17:58:29 -05:00
Jeff Becker
eceb55623c
more 2019-03-07 10:17:29 -05:00
Michael
61f3273dc4
Add threading annotations and fix potential deadlocks 2019-03-04 00:03:52 +00:00
Michael
c5a129ddff
Convert to use abseil synchronisation primitives 2019-03-03 21:20:38 +00:00
Jeff Becker
159415c363
delay dns resolution for snode until we have a session with it 2019-03-01 14:10:42 -05:00
Michael
887fb4ac62
Replace insert(make_pair()) with emplace() 2019-02-18 10:35:23 +00:00
Michael
048fa83c39
Finish replacement of Router with AbstractRouter 2019-02-14 22:31:31 +00:00
Jeff Becker
46222df421
refactor 2019-02-11 12:14:43 -05:00
Jeff Becker
66753430ad
fix it 2019-02-08 16:29:56 -05:00
Jeff Becker
e1522faeaa
add introspection rpc endpoint 2019-02-08 14:43:25 -05:00
Jeff
4c4f3faf83
Merge pull request #284 from michael-loki/abstract_router
Convert llarp::Router into an abstract base class
2019-02-06 19:09:31 -05:00
Jeff Becker
f84256d554
* lower lookup timeout for introsets
* correct previous commit for dns stuff
* allow for multiple parallel introset lookups
2019-02-06 10:05:25 -05:00
Jeff Becker
b40055181d
lower path build timeout to 15s
tweak various dns stuff
2019-02-06 08:02:17 -05:00
Michael
729cd045f1
Convert llarp::Router into an abstract base class 2019-02-06 09:59:47 +00:00
Jeff Becker
5743ca7fba
revert dns behavior 2019-02-05 16:04:30 -05:00
Jeff Becker
2c2b31f4b9
make it compile 2019-02-05 09:23:51 -05:00
Jeff Becker
25fa4817ba
hook mx records for all hooked domains 2019-02-05 09:22:02 -05:00
Jeff Becker
41c993a237
disable A records for random.snode, use CNAME queries instead. 2019-02-05 09:08:17 -05:00
Jeff Becker
8c77c53675
reply with cname 2019-02-05 09:03:38 -05:00
Ryan Tharp
2bba8f01e8 don't return unknown IPs 2019-02-04 19:54:44 -08:00
Ryan Tharp
54549724d0 fix random.snode 2019-02-04 19:19:06 -08:00
Ryan Tharp
4bf4faa956 make format 2019-02-04 16:41:33 -08:00
Michael
7212baa062
Add implicit conversion from ManagedBuffer to llarp_buffer_t 2019-02-03 01:44:09 +00:00
Michael
7ca3e13e78
Rename to ManagedBuffer 2019-02-03 00:48:10 +00:00
Michael
f3b0af9d2f
Create CopyableBuffer type 2019-02-02 23:21:35 +00:00
Michael
2de621b0ad
Disable copy constructing llarp_buffer_t 2019-02-01 01:58:13 +00:00
Michael
e9f6ca339a
Fix minor warning 2019-01-29 22:08:51 +00:00
Ryan Tharp
f20ac0f6e9
Merge branch 'staging' into crypto_interface 2019-01-29 13:59:05 -08:00
Ryan Tharp
175fdbc89c
Merge pull request #250 from majestrate/add-localhost-loki
add initial localhost.loki handling in dns
2019-01-29 13:57:56 -08:00
Ryan Tharp
9b6008db1d downgrade DNS server failure to a warning 2019-01-29 03:17:21 -08:00
Jeff Becker
9e50e2d34a
try fixing AAAA record handling, return NOERROR with no records. 2019-01-28 11:16:17 -05:00
Jeff Becker
7489ab1380
only hook cname for random.snode 2019-01-28 10:46:49 -05:00
Jeff Becker
f1cf63fce7
add initial localhost.loki handling in dns 2019-01-28 10:26:35 -05:00
Michael
f24f554a01
Convert llarp::Crypto into an abstract base class 2019-01-26 15:40:58 +00:00
Rick V
b961f80256
don't leak unused packets
bad merge
2019-01-22 18:21:38 -06:00
Rick V
6913c01524
wtf why didn't this get rebased 2019-01-22 18:17:04 -06:00
Rick V
fab9374779
make less noise in public test releases 2019-01-22 18:17:00 -06:00
Ryan Tharp
2e4ad12a87 Merge branch 'staging' of https://github.com/loki-project/loki-network 2019-01-17 21:14:01 +00:00
Jeff Becker
015e68df68
Merge branch 'staging' of ssh://github.com/loki-project/loki-network into staging 2019-01-17 08:56:33 -05:00
Ryan Tharp
1ba5b75082 Merge branch 'master' of https://github.com/neuroscr/loki-network 2019-01-16 21:25:37 +00:00
Ryan Tharp
c4241ae4ad note about name(), change verbiage to make more sense, be more verbose about failures 2019-01-16 13:08:00 -08:00
Ryan Tharp
3feb074599 be more verbose about failure and actual DNS bind 2019-01-16 13:06:53 -08:00
Michael
da6cdfc0b2
More refactoring to continue to make dependency graph acylic 2019-01-15 23:15:44 +00:00
Michael
6e38e85a79
Produce hierarchy of 'libraries' inside libllarp 2019-01-15 23:15:43 +00:00
Jeff Becker
ef394cd2fb
Merge branch 'staging' of ssh://github.com/loki-project/loki-network into staging 2019-01-11 08:21:17 -05:00
Michael
a3463120cc
Move net components into a distinct folder 2019-01-11 01:42:02 +00:00
Michael
081d4dfa32
Reorganise source into more folders 2019-01-11 01:19:49 +00:00
Michael
e5eda0fb8f
Move lokinet unspecific components to a util/ library 2019-01-10 20:07:24 +00:00
Jeff Becker
6e745abe6a
make it compile 2019-01-10 10:51:31 -05:00
Jeff Becker
c1e4e715bb
try fixing dns issue with random.snode 2019-01-10 10:49:08 -05:00
Ryan Tharp
c5575d6fe2 rename Crypto() to GetCrypto() to keep gcc 7.3 on linux happy 2019-01-08 23:45:43 +00:00
Michael
df4fd0ef56
Fix some low hanging performance issues 2019-01-07 22:15:41 +00:00
Michael
516466f5be
Mark more AlignedBuffer constructors as explicit 2019-01-02 01:04:08 +00:00
Michael
ea19093a20
Remove const byte* conversion operators from llarp::AlignedBuffer 2019-01-02 01:04:04 +00:00
Michael
1410d0a0cf
Remove byte* conversion operators from llarp::AlignedBuffer 2019-01-02 01:04:03 +00:00
Michael
58364a01c8
Remove array conversion operators from llarp::AlignedBuffer 2019-01-02 01:04:01 +00:00
Michael
334161c9bb
Remove data() conversions from llarp::AlignedBuffer 2019-01-02 01:03:53 +00:00
Jeff Becker
99ecefbdba
fixes issue #186 2018-12-28 10:10:05 -05:00
Jeff Becker
88d0e8883b
fix merge 2018-12-26 11:29:08 -05:00
Jeff Becker
49c898ed92
Merge remote-tracking branch 'origin/master' into staging 2018-12-26 11:27:11 -05:00
Jeff
b088c7eba5 Merge branch 'gh-master' 2018-12-24 16:15:22 -05:00
Jeff Becker
21d1998a38
add graceful stop for path builders and friends 2018-12-24 11:10:56 -05:00
Jeff Becker
e835c5f69a
add graceful stop for path builders and friends 2018-12-24 11:09:05 -05:00
Jeff
a1476b24e7 don't use dead sessions 2018-12-23 09:04:26 -05:00
Jeff
4b2a1ea9f3 make format and attempt to fix #158 2018-12-23 08:29:11 -05:00
Rick
d529b3f446
at least don't try to break anything
(the previous implementation aligned to uint64_t, the new one probably should do so as well)
2018-12-22 12:58:41 -06:00
Rick
8d147252b8
restore logging 2018-12-22 12:58:16 -06:00
despair
b3e8099838
bug fixes 2018-12-22 12:58:13 -06:00
Jeff Becker
8c8172aeb1
Merge remote-tracking branch 'origin/master' into dev 2018-12-20 12:56:08 -05:00
Michael
037cb87523
Convert llarp::AlignedBuffer to be backed by std::array 2018-12-20 16:16:18 +00:00
Jeff Becker
01f2524145
flush ip packets such that they are sent same event loop tick 2018-12-20 08:04:00 -05:00
Jeff Becker
8e6046ff1c
order downstream packets 2018-12-20 07:41:39 -05:00
Jeff Becker
46bee291c2
order downstream packets 2018-12-20 07:41:17 -05:00
Jeff Becker
c5d4e37f59
make format 2018-12-17 15:47:08 -05:00
Jeff Becker
c454b5264c
Merge branch 'master' into dev 2018-12-17 08:25:27 -05:00
Ryan Tharp
db6945b6a0 fix debug spacing issue 2018-12-17 04:33:30 +00:00
Jeff Becker
b25223d1cc
Merge remote-tracking branch 'origin/master' into dev 2018-12-15 16:02:49 -05:00
Jeff Becker
b4d523a146
remove pedantic logging 2018-12-15 12:44:58 -05:00
Jeff Becker
64b2b9de08
eh 2018-12-15 12:41:38 -05:00
Jeff Becker
0f432456be
more 2018-12-15 12:39:15 -05:00
Jeff Becker
6df0f32093
log bad packets 2018-12-15 12:12:36 -05:00
Jeff Becker
98981c82cd
move packet flushing about 2018-12-15 11:56:35 -05:00
Jeff Becker
7ca82918b4
try setting tick 2018-12-15 11:43:17 -05:00
Michael
4257b62e88
Add .cpp files for all .hpp files 2018-12-15 16:21:52 +00:00
Jeff Becker
03cf865e45
don't use async job for flushing queue 2018-12-15 11:21:04 -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
Jeff Becker
bb0cd81f02
random.snode 2018-12-12 19:03:19 -05:00
Jeff Becker
cb685aaaab
remove unneeded logging 2018-12-12 15:39:31 -05:00
Jeff Becker
09e01adf32
flush snode traffic queues 2018-12-12 13:37:03 -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
7a52638add
Move handlers* 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
f0fce5b68a
Convert llarp_router to be a true C++ class 2018-12-10 20:15:35 +00:00
Jeff Becker
fad734a5ce
strict types for pubkey, secretkey and routerid 2018-12-10 12:22:59 -05:00
Jeff Becker
eed62b2d7f
ensure exit router is known 2018-12-10 10:44:18 -05:00
Jeff Becker
a1887dd884
ensure exit router is known 2018-12-10 10:39:22 -05:00
Michael
30e9dca2e5
Convert llarp_logic to be a C++ class 2018-12-10 14:15:11 +00:00
Jeff
24886ad180
Merge pull request #115 from majestrate/dev
fix issue #114
2018-12-10 07:32:52 -05:00
Jeff Becker
f6dbeb363c
filter bogon ranges to exit 2018-12-10 07:27:17 -05:00
Jeff
0c8f9edfb6 always hook mx 2018-12-07 18:36:53 -05:00
Jeff
617617bb4f send reply if we have an address mapped 2018-12-07 17:46:30 -05:00
Jeff
88c3dd7c7a send reply 2018-12-07 17:08:23 -05:00
Jeff
3eb78b6118 add mx record for .loki 2018-12-07 16:52:19 -05:00
Jeff
9a9538bf30 send dns reply if we have a path already 2018-12-07 15:56:01 -05:00