1
1
Fork 0
mirror of https://github.com/oxen-io/lokinet synced 2023-12-14 06:53:00 +01:00
Commit graph

408 commits

Author SHA1 Message Date
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
Jeff Becker
f63045d5a4
Merge remote-tracking branch 'origin/master' into dev 2018-12-05 09:41:35 -05:00
Jeff Becker
0f7053f77b
cut logging 2018-12-04 11:22:28 -05:00
Jeff Becker
40678f9019
add dnslib unit test coverage 2018-12-04 11:16:43 -05:00
Jeff Becker
1d1bde2e88
add dnslib 2018-12-03 17:22:59 -05:00
despair
d26141d433 Merge branch 'dev' into reeeee-divergence
ok hope this works -rick

# Conflicts:
#	.gitignore
#	.vscode/settings.json
#	include/llarp/service/context.hpp
#	llarp/dns.cpp
#	llarp/dnsc.cpp
#	llarp/ev.cpp
#	llarp/ev.hpp
#	llarp/ev_win32.hpp
#	llarp/net.cpp
#	llarp/router.cpp
#	llarp/router.hpp
#	llarp/service/context.cpp
2018-12-03 12:24:56 -06:00
Jeff Becker
baa94ec345
make windows build happy 2018-12-03 09:39:30 -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
68faa14e3e
map local address for tun endpoint 2018-11-30 08:56:28 -05:00
Jeff Becker
79cffacafd
new exit packet buffer format 2018-11-29 16:19:20 -05:00
Jeff Becker
11372c9544
Merge branch 'dev' into snode-endpoint 2018-11-29 09:34:19 -05:00
Jeff Becker
85f9f46362
snode stubs (initial) 2018-11-29 08:12:35 -05:00
Jeff Becker
b9b7d3d1c7
better exit pad size 2018-11-28 13:18:08 -05:00
Jeff Becker
e6037ff060
pack exit traffic 2018-11-28 11:38:20 -05:00
Jeff
387d05282b
Merge pull request #58 from neuroscr/master
Major DNS refactor
2018-11-28 08:10:33 -05:00
Jeff Becker
75f5d748b6
Merge branch 'vanity' into dev 2018-11-28 07:33:03 -05:00
Jeff Becker
b004b9e2a1
fix up exit logic 2018-11-28 07:32:38 -05:00
Jeff Becker
e3e337b96f
Merge branch 'master' into dev 2018-11-26 17:53:42 -05:00
Jeff Becker
79040ef036
rx -> tx 2018-11-26 17:52:46 -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
despair
65ff1ba991 reading from TUN using native async io:
writing: 
2018-11-26 11:10:18 -06:00
Ryan Tharp
7874567611 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-11-26 15:54:52 +00:00
Jeff Becker
25fac844eb
make format 2018-11-26 08:30:03 -05:00
Jeff Becker
a81b88cc93
Merge remote-tracking branch 'origin/master' into dev 2018-11-25 11:59:47 -05:00
Jeff
a33f334bc2 better exit path logic 2018-11-25 11:58:27 -05:00
Jeff Becker
c1e494c2c4
have llarp_ev_* use llarp_buffer_t 2018-11-23 09:37:26 -05:00
Jeff
067f6c7b26 make format and make it compile with clang 2018-11-22 12:53:53 -05:00
Ryan Tharp
1c6031c677 clang-format 2018-11-21 16:39:09 -08:00
Ryan Tharp
b69ef21bb4 fix another compile problem 2018-11-21 15:37:17 -08:00
despair
436025e0ca fix utp flags leaking into the actual socket transmission
clang-format
2018-11-20 06:11:51 -06:00
despair
d1fa9ca342 is the resulting storage a proper string, or just a plain char array (no terminator)
eh
2018-11-20 02:38:18 -06:00
Jeff Becker
3718a7d016
Merge remote-tracking branch 'github/master' into dev 2018-11-19 07:01:42 -05:00
Jeff
23c8807d59
Merge pull request #54 from neuroscr/master
DNS QoL improvements
2018-11-18 15:13:25 -05:00
Ryan Tharp
f03c41a99f Deprecate DNS_PORT as configureable in INI now. Reduce confusion as it would change DNSc port too and I believe it was meant only to change DNSd port. 2018-11-18 09:41:09 -08:00
Jeff Becker
e3dc4dca11
mark paths as dead when they need to and revert codel changes 2018-11-17 13:40:13 -05:00
Jeff Becker
8d613c182f
nullptr check 2018-11-15 18:07:39 -05:00
Jeff Becker
b56b3ad16d
don't remove ip mapping when endpoints are removed 2018-11-15 17:10:12 -05:00
Jeff Becker
17297837d9
that's dumb af, use std::unique_ptr 2018-11-15 16:47:05 -05:00
Jeff Becker
9d551ba768
more 2018-11-15 13:10:09 -05:00
Jeff Becker
937ab151ab
idk what is going on 2018-11-15 11:19:24 -05:00
Jeff Becker
9baf6ecfd9
idklol 2018-11-15 11:15:25 -05:00
Jeff Becker
723351eb4e
friendship with std::unordered_map is now over, std::map is my new best friend 2018-11-15 11:12:05 -05:00
Jeff Becker
c7c6905e1e
explicit type 2018-11-15 11:05:31 -05:00
Jeff Becker
207e312eb0
more logging 2018-11-15 11:00:16 -05:00
Jeff Becker
01724c8529
use const iter 2018-11-15 10:54:48 -05:00
Jeff Becker
6f796d031b
use const 2018-11-15 10:53:32 -05:00
Jeff Becker
7b188d0fde
more 2018-11-15 10:46:50 -05:00
Jeff Becker
715822c20d
logging 2018-11-15 10:43:58 -05:00
Jeff Becker
60ad2c76e0
try this 2018-11-15 09:44:57 -05:00
Jeff Becker
2bfdd7798c
use emplace? 2018-11-15 09:38:31 -05:00
Jeff Becker
d44872496f
gfdi 2018-11-15 09:16:10 -05:00
Jeff Becker
cd94da7ffe
gfdi 2018-11-15 09:12:17 -05:00
Jeff Becker
b689bbbcf6
gfdi 2018-11-15 09:08:42 -05:00
Jeff Becker
489d1e645b
actually add exit :p 2018-11-15 08:58:17 -05:00
Jeff Becker
355d09e22b
random fixes 2018-11-15 08:47:46 -05:00
Jeff Becker
658210b9d1
fix up exit tun, fix up codel to actually do its job 2018-11-15 08:13:19 -05:00
Jeff Becker
ca3a675ac8
more logging 2018-11-14 17:06:42 -05:00
Jeff Becker
b462090e9c
more 2018-11-14 16:47:58 -05:00
Jeff Becker
fa1333b13b
meh 2018-11-14 16:40:44 -05:00
Jeff Becker
b11bddad02
fixes 2018-11-14 16:31:21 -05:00
Jeff Becker
d24bc70a7e
try fix 2018-11-14 15:56:54 -05:00
Jeff Becker
fd4b452cdd
fix 2018-11-14 15:54:13 -05:00
Jeff Becker
56676002aa
wire up exit traffic 2018-11-14 14:34:17 -05:00
Jeff Becker
5dbe41608f
more exit stuff 2018-11-14 13:02:27 -05:00
Jeff Becker
f40e4c0c84
more exit stuff 2018-11-14 07:23:08 -05:00
Jeff Becker
09945dce62
initial exit/service node comm code with some unit tests (incomplete) 2018-11-12 11:43:40 -05:00
Jeff Becker
7b61cbb4a1
make dns port configurable, update default dns 2018-11-11 08:30:54 -05:00
Jeff Becker
fb0e6c3d9c
make dns configurable on runtime 2018-11-11 08:14:19 -05:00
Jeff Becker
960aa479e9
fixes for ancient rpi toolchain 2018-11-08 07:31:50 -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
Michael Thorpe
a2d5d80779
Enable warnings as errors
test criteria:
- Built from clean on macOS
2018-11-06 22:48:17 +00:00
Jeff Becker
f1cca956f9
make android compile again 2018-11-06 09:06:09 -05:00
Ryan Tharp
5d90cbe895 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-11-03 13:43:21 +00:00
Ryan Tharp
82d8d3c04d merge 2018-11-03 06:22:07 -07:00
Ryan Tharp
67390de0c2 merge 2018-11-03 06:19:18 -07:00
cathugger
73e6141023
ip: endianess swaps aren't needed, a bit of renaming and tweaking
Also `make format`.
2018-11-02 11:00:05 -04:00
Jeff Becker
dbd2c41909
use event loop for time 2018-10-29 12:48:36 -04:00
Ryan Tharp
9205b8172c scan-build fixes 2018-10-27 15:40:12 -07:00
Jeff Becker
d3bada5564
fix windows 2018-10-19 12:54:08 -04:00
Jeff Becker
51baf43e99
fix 2018-10-19 12:47:06 -04:00
Jeff Becker
94e4a6798c
fix windows 2018-10-19 12:44:35 -04:00
Ryan Tharp
c3c2eda283 clang-format 2018-10-19 08:04:14 -07:00
Ryan Tharp
3b24b69513 TunEndpoint::ObtainAddrForIP(), identity tun range better, actually return revdns for tunmapaddrs, make in-addr.arpa matching smarter, actually send 404s, additional unit test 2018-10-19 07:53:06 -07:00
Jeff Becker
d3278946f2
ipv4 bogon checking 2018-10-15 08:02:32 -04:00
cathugger
ca01daa89a
ip: support DCCP and UDP-Lite, TCP chksum twx; tun: more filtering 2018-10-15 00:56:14 +03:00
cathugger
d0c35803a5
tun+ip: filter packets at destination, drop instead of truncating 2018-10-13 21:57:31 +03:00
cathugger
71c9965471
ip: code cleanups and compatibility improvements
do not assume that packets come with address zero-ed, older clients don't do that.
they don't modify checksum either, therefore we should be able to get correct checksum if we use deltachksum with old and new addresses.
2018-10-10 21:41:53 +00:00
cathugger
e1c7d8a696 some tweaks and fixups 2018-10-10 15:50:52 +00:00
cathugger
4971fae171 uint32_t byte ordering type safety 2018-10-10 15:16:10 +00:00
Jeff Becker
aa988a6fa4
Merge remote-tracking branch 'cathugger/master' 2018-10-10 08:10:04 -04:00
cathugger
05e6c31238 ip: some fixes and tweaks 2018-10-10 12:06:28 +00:00
Jeff Becker
32a028f6d8
Merge remote-tracking branch 'cathugger/master' 2018-10-10 07:48:44 -04:00
Jeff Becker
cbfc73515e
fix zeroing of addresses, put it in the right place 2018-10-10 07:47:30 -04:00