Commit Graph

435 Commits (8b321612da4e129b8eee4e02af755184d2405fe9)

Author SHA1 Message Date
cathugger 72b1ea613c
make format 5 years ago
cathugger a9dac85c28
fix stuff 5 years ago
Jeff Becker a780789b2c
handle ipv6 exit traffic 5 years ago
Jeff Becker 0cf09d6435
make exits support v6 probably 5 years ago
Jeff Becker de51ef23bf
more 5 years ago
Jeff Becker 2403ab8f86
ipv6 5 years ago
Jeff Becker a33dbce680
try switching logic 5 years ago
Michael 75430a234c
Convert to use memFn 5 years ago
Jeff Becker 2ac89c0afb
DRY 5 years ago
Jeff Becker b679dd7341
fixit 5 years ago
Jeff Becker 64c7ed42fc
make format 5 years ago
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
5 years ago
Jeff 06f8bb2f42 add blacklist-snode option 5 years ago
Jeff Becker a53da68700
start work on sighup 5 years ago
Jeff Becker 728c6005a3
propagate strict-connect to tun handler for hooks 5 years ago
Jeff Becker 986e831579
make bundle-rc option configurable on snode tld 5 years ago
Jeff Becker e060082441
hook every dns for .loki and .snode when applicable
make {n,h}uint{32,16}_t templated type.
5 years ago
Jeff Becker bb47d612b3
more 5 years ago
Jeff Becker 5e0acc1197
separate upstream/downstream flush 5 years ago
Jeff 27fac68716 fix 5 years ago
Jeff 01906c5d94 Merge remote-tracking branch 'origin/master' 5 years ago
Jeff Becker fea64eaf12
handle subdomains 5 years ago
Jeff Becker d20ba9ceab
handle subdomains 5 years ago
Jeff Becker 6711296b26
finish converting to shared_ptr 5 years ago
Jeff Becker 8484e29c9b
turn more stuff into std::shared_ptr
remove dead codepaths
5 years ago
Jeff Becker c0d7b53328
make it work 5 years ago
Jeff Becker 3a8cb0bfb5
add shell based hooks for service::Endpoint, also make format 5 years ago
Michael 6bf54e0925
Remove AsyncKeyExchange, HiddenServiceAddressLookup and OutboundContext to their own components 5 years ago
Jeff Becker 351feadaec
make it work 5 years ago
Jeff Becker e178a70929
use shared_ptr for event loop 5 years ago
Jeff Becker 2f2b841c67
disable mx record dropping
add servfail
5 years ago
Jeff Becker c931ac069f
add AAAA records that return SIIT addresses 5 years ago
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.
5 years ago
Ryan Tharp e388dc47eb move is_random_snode/is_localhost_loki into dns, llarp_HandleHookedDNSMessage() attempt at unification refactor between exit/tun handlers 5 years ago
Ryan Tharp d02eec2bcf add note 5 years ago
Jeff Becker eceb55623c
more 5 years ago
Jeff Becker 159415c363
delay dns resolution for snode until we have a session with it 5 years ago
Michael 048fa83c39
Finish replacement of Router with AbstractRouter 5 years ago
Jeff Becker 46222df421
refactor 5 years ago
Jeff Becker e1522faeaa
add introspection rpc endpoint 5 years ago
Jeff Becker f84256d554
* lower lookup timeout for introsets
* correct previous commit for dns stuff
* allow for multiple parallel introset lookups
5 years ago
Jeff Becker b40055181d
lower path build timeout to 15s
tweak various dns stuff
5 years ago
Jeff Becker 5743ca7fba
revert dns behavior 5 years ago
Jeff Becker 2c2b31f4b9
make it compile 5 years ago
Jeff Becker 25fa4817ba
hook mx records for all hooked domains 5 years ago
Jeff Becker 41c993a237
disable A records for random.snode, use CNAME queries instead. 5 years ago
Jeff Becker 8c77c53675
reply with cname 5 years ago
Ryan Tharp 2bba8f01e8 don't return unknown IPs 5 years ago
Ryan Tharp 54549724d0 fix random.snode 5 years ago
Michael 7212baa062
Add implicit conversion from ManagedBuffer to llarp_buffer_t 5 years ago
Michael 7ca3e13e78
Rename to ManagedBuffer 5 years ago
Michael f3b0af9d2f
Create CopyableBuffer type 5 years ago
Michael 2de621b0ad
Disable copy constructing llarp_buffer_t 5 years ago
Ryan Tharp 175fdbc89c
Merge pull request #250 from majestrate/add-localhost-loki
add initial localhost.loki handling in dns
5 years ago
Ryan Tharp 9b6008db1d downgrade DNS server failure to a warning 5 years ago
Jeff Becker 9e50e2d34a
try fixing AAAA record handling, return NOERROR with no records. 5 years ago
Jeff Becker 7489ab1380
only hook cname for random.snode 5 years ago
Jeff Becker f1cf63fce7
add initial localhost.loki handling in dns 5 years ago
Rick V b961f80256
don't leak unused packets
bad merge
5 years ago
Rick V 6913c01524
wtf why didn't this get rebased 5 years ago
Rick V fab9374779
make less noise in public test releases 5 years ago
Ryan Tharp 2e4ad12a87 Merge branch 'staging' of https://github.com/loki-project/loki-network 5 years ago
Jeff Becker 015e68df68
Merge branch 'staging' of ssh://github.com/loki-project/loki-network into staging 5 years ago
Ryan Tharp 1ba5b75082 Merge branch 'master' of https://github.com/neuroscr/loki-network 5 years ago
Ryan Tharp c4241ae4ad note about name(), change verbiage to make more sense, be more verbose about failures 5 years ago
Michael da6cdfc0b2
More refactoring to continue to make dependency graph acylic 5 years ago
Jeff Becker ef394cd2fb
Merge branch 'staging' of ssh://github.com/loki-project/loki-network into staging 5 years ago
Michael 081d4dfa32
Reorganise source into more folders 5 years ago
Jeff Becker c1e4e715bb
try fixing dns issue with random.snode 5 years ago
Michael df4fd0ef56
Fix some low hanging performance issues 5 years ago
Michael 516466f5be
Mark more AlignedBuffer constructors as explicit 5 years ago
Michael ea19093a20
Remove const byte* conversion operators from llarp::AlignedBuffer 5 years ago
Michael 1410d0a0cf
Remove byte* conversion operators from llarp::AlignedBuffer 5 years ago
Michael 58364a01c8
Remove array conversion operators from llarp::AlignedBuffer 5 years ago
Michael 334161c9bb
Remove data() conversions from llarp::AlignedBuffer 5 years ago
Jeff Becker 99ecefbdba
fixes issue #186 5 years ago
Jeff Becker 88d0e8883b
fix merge 5 years ago
Jeff Becker 49c898ed92
Merge remote-tracking branch 'origin/master' into staging 5 years ago
Jeff b088c7eba5 Merge branch 'gh-master' 5 years ago
Jeff Becker 21d1998a38
add graceful stop for path builders and friends 5 years ago
Jeff Becker e835c5f69a
add graceful stop for path builders and friends 5 years ago
Jeff 4b2a1ea9f3 make format and attempt to fix #158 5 years ago
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)
5 years ago
Rick 8d147252b8
restore logging 5 years ago
despair b3e8099838
bug fixes 5 years ago
Jeff Becker 8c8172aeb1
Merge remote-tracking branch 'origin/master' into dev 5 years ago
Michael 037cb87523
Convert llarp::AlignedBuffer to be backed by std::array 5 years ago
Jeff Becker 01f2524145
flush ip packets such that they are sent same event loop tick 5 years ago
Jeff Becker 8e6046ff1c
order downstream packets 5 years ago
Jeff Becker 46bee291c2
order downstream packets 5 years ago
Jeff Becker c5d4e37f59
make format 6 years ago
Jeff Becker c454b5264c
Merge branch 'master' into dev 6 years ago
Ryan Tharp db6945b6a0 fix debug spacing issue 6 years ago
Jeff Becker b4d523a146
remove pedantic logging 6 years ago
Jeff Becker 64b2b9de08
eh 6 years ago
Jeff Becker 0f432456be
more 6 years ago
Jeff Becker 6df0f32093
log bad packets 6 years ago
Jeff Becker 98981c82cd
move packet flushing about 6 years ago
Jeff Becker 7ca82918b4
try setting tick 6 years ago
Jeff Becker 03cf865e45
don't use async job for flushing queue 6 years ago
Jeff Becker be234e4b6e
* make format
* snode to snode direct traffic

* wire up dns on service node tun
6 years ago
Jeff Becker bb0cd81f02
random.snode 6 years ago
Jeff Becker cb685aaaab
remove unneeded logging 6 years ago
Jeff Becker 09e01adf32
flush snode traffic queues 6 years ago
Michael 7a52638add
Move handlers* to llarp/ 6 years ago
Michael f0fce5b68a
Convert llarp_router to be a true C++ class 6 years ago
Jeff Becker fad734a5ce
strict types for pubkey, secretkey and routerid 6 years ago
Jeff Becker eed62b2d7f
ensure exit router is known 6 years ago
Jeff Becker a1887dd884
ensure exit router is known 6 years ago
Michael 30e9dca2e5
Convert llarp_logic to be a C++ class 6 years ago
Jeff 24886ad180
Merge pull request #115 from majestrate/dev
fix issue #114
6 years ago
Jeff Becker f6dbeb363c
filter bogon ranges to exit 6 years ago
Jeff 0c8f9edfb6 always hook mx 6 years ago
Jeff 617617bb4f send reply if we have an address mapped 6 years ago
Jeff 88c3dd7c7a send reply 6 years ago
Jeff 3eb78b6118 add mx record for .loki 6 years ago
Jeff 9a9538bf30 send dns reply if we have a path already 6 years ago
Jeff Becker f63045d5a4
Merge remote-tracking branch 'origin/master' into dev 6 years ago
Jeff Becker 0f7053f77b
cut logging 6 years ago
Jeff Becker 40678f9019
add dnslib unit test coverage 6 years ago
Jeff Becker 1d1bde2e88
add dnslib 6 years ago
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
6 years ago
Jeff Becker baa94ec345
make windows build happy 6 years ago
Jeff Becker 622ed8d12e
fix crash on premature close of event loop (also make format) 6 years ago
Jeff Becker 7bc3d94895
try fixing rdns for local interace's address 6 years ago
Jeff Becker 68faa14e3e
map local address for tun endpoint 6 years ago
Jeff Becker 11372c9544
Merge branch 'dev' into snode-endpoint 6 years ago
Jeff Becker 85f9f46362
snode stubs (initial) 6 years ago
Jeff Becker b9b7d3d1c7
better exit pad size 6 years ago
Jeff Becker e6037ff060
pack exit traffic 6 years ago
Jeff Becker e3e337b96f
Merge branch 'master' into dev 6 years ago
Jeff Becker 7e4d74cbfc
add initial jni stuff for lokinet android. i fucking hate android so god damn much. 6 years ago
despair 65ff1ba991 reading from TUN using native async io:
writing: 
6 years ago
Jeff Becker 25fac844eb
make format 6 years ago
Jeff Becker a81b88cc93
Merge remote-tracking branch 'origin/master' into dev 6 years ago
Jeff a33f334bc2 better exit path logic 6 years ago
Jeff Becker c1e494c2c4
have llarp_ev_* use llarp_buffer_t 6 years ago
Jeff Becker 3718a7d016
Merge remote-tracking branch 'github/master' into dev 6 years ago
Jeff 23c8807d59
Merge pull request #54 from neuroscr/master
DNS QoL improvements
6 years ago
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. 6 years ago
Jeff Becker 658210b9d1
fix up exit tun, fix up codel to actually do its job 6 years ago
Jeff Becker b462090e9c
more 6 years ago
Jeff Becker fa1333b13b
meh 6 years ago
Jeff Becker b11bddad02
fixes 6 years ago
Jeff Becker d24bc70a7e
try fix 6 years ago
Jeff Becker fd4b452cdd
fix 6 years ago
Jeff Becker 56676002aa
wire up exit traffic 6 years ago
Jeff Becker f40e4c0c84
more exit stuff 6 years ago
Jeff Becker 09945dce62
initial exit/service node comm code with some unit tests (incomplete) 6 years ago
Jeff Becker 7b61cbb4a1
make dns port configurable, update default dns 6 years ago
Jeff Becker fb0e6c3d9c
make dns configurable on runtime 6 years ago
Jeff Becker 960aa479e9
fixes for ancient rpi toolchain 6 years ago
Jeff Becker 7090a012f3
Merge remote-tracking branch 'micheal/wextra' into dev 6 years ago
Michael Thorpe 33bfaf7ecd
Enable -Wextra
test criteria:
- test build on macOS
- test build in debian docker container
- test build in fedora docker container
6 years ago
Michael Thorpe a2d5d80779
Enable warnings as errors
test criteria:
- Built from clean on macOS
6 years ago
Jeff Becker f1cca956f9
make android compile again 6 years ago
Ryan Tharp 5d90cbe895 Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Ryan Tharp 82d8d3c04d merge 6 years ago
Ryan Tharp 67390de0c2 merge 6 years ago
cathugger 73e6141023
ip: endianess swaps aren't needed, a bit of renaming and tweaking
Also `make format`.
6 years ago
Jeff Becker dbd2c41909
use event loop for time 6 years ago
Ryan Tharp 9205b8172c scan-build fixes 6 years ago
Jeff Becker d3bada5564
fix windows 6 years ago
Jeff Becker 51baf43e99
fix 6 years ago
Jeff Becker 94e4a6798c
fix windows 6 years ago
Ryan Tharp c3c2eda283 clang-format 6 years ago
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 6 years ago
Jeff Becker d3278946f2
ipv4 bogon checking 6 years ago
cathugger ca01daa89a
ip: support DCCP and UDP-Lite, TCP chksum twx; tun: more filtering 6 years ago
cathugger d0c35803a5
tun+ip: filter packets at destination, drop instead of truncating 6 years ago
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.
6 years ago
cathugger e1c7d8a696 some tweaks and fixups 6 years ago
cathugger 4971fae171 uint32_t byte ordering type safety 6 years ago
Jeff Becker aa988a6fa4
Merge remote-tracking branch 'cathugger/master' 6 years ago
cathugger 05e6c31238 ip: some fixes and tweaks 6 years ago
Jeff Becker 32a028f6d8
Merge remote-tracking branch 'cathugger/master' 6 years ago
Jeff Becker cbfc73515e
fix zeroing of addresses, put it in the right place 6 years ago
cathugger 0f8e0e9d58 tun: fix "fix "clear src/dst addresses and checksum before sending""
correct dst address is required for FlushSend to work, so do IP address and checksum null'ing there.
dang myself.
6 years ago
cathugger 4f7ae52cad tun: fix "clear src/dst addresses and checksum before sending"
clearing of addresses and checksum was put in wrong place, so it null'd everything before writing to tun interface.
damnit jeff.
6 years ago
cathugger 2f4b0fbda6 ip: use delta TCP checksum calculation, don't recalculate ICMP checksum 6 years ago
cathugger 4cba59f3c4 tun+ip: clarify what happens where 6 years ago
Jeff Becker eb9150431f
make it compile 6 years ago
Jeff Becker 6d7d6f6efa
clear src/dst addresses and checksum before sending (infoleak) 6 years ago
despair86 3c13101beb clang-format 6 years ago
despair86 457d6fbaf6 rebase conflict 6 years ago
despair86 ca0d09142a Finally put together some skeletal TUN code for NT
up next: debugging the windows client code
stretch goal: prototype hosting a full masternode on Windows Server (still _highly_ experimental when it _does_ appear)
6 years ago
Ryan Tharp 6738fcaa6a
make sure iptracker is configured on start 6 years ago
Ryan Tharp a0082e95bb change dll from tunEndpoint to router hidden service context, const some unchanging ptrs, use llarp::Addr more 6 years ago
Ryan Tharp 4b3b09736b Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
despair86 9fdde65798 make bencode ILP32/LLP64 clean (long is 32 bits outside of unix!)
actually open new RCs in binary mode
clang-format
win32 skeleton code for tun (still working on the guts)
6 years ago
despair86 7f809eb53b fix windows build 6 years ago
Ryan Tharp 4cc482764d clang format 6 years ago
Ryan Tharp 058ed4d4ea Merge branch 'master' of https://github.com/neuroscr/loki-network 6 years ago
Jeff e50cbf5acb Merge branch 'master' of ssh://github.com/loki-project/loki-network 6 years ago
Jeff Becker 138c222a1a
dns port configurable at compile time (make this configurable on runtime plz) 6 years ago
Ryan Tharp 79d61dedc3 use new llarp::Addr based init 6 years ago
Jeff d6463bf8de Merge branch 'master' of ssh://github.com/loki-project/loki-network 6 years ago
Jeff 52da002488 comit 6 years ago
Jeff Becker 8a4b2e97a5
add lint target for makefile using clang tidy
run make format
6 years ago
Ryan Tharp 0ad4f43fe5 header clean up and clang-format 6 years ago
Ryan Tharp 31c89fc9f8 start of nameresolver config key, actually inform the dns tracker of tun gw ip, some pre-ipv6 work, attempting some endian fixes 6 years ago
Ryan Tharp 2b2e0007fa active DNS relay (server/client) in tun interface 6 years ago
Jeff Becker 44eeda3041
fix ip mapping for new addresses so they don't use premapped addresses 6 years ago
Jeff Becker a71d5f84bb
reduce log level 6 years ago
Jeff Becker ebe30e81c9
try unscrewing things up 6 years ago
Jeff Becker 0c1e22650e
try calcuating tcp checksums right
try tracking convo tags correctly
6 years ago
Jeff Becker 1471e90fb5
intro handover 6 years ago
Jeff Becker 9ee7275a02
decrypt frames correctly and set return address 6 years ago
Jeff 689668d892 fix osx build 6 years ago
Jeff Becker 9ffcf66e58
more checks less logging 6 years ago
Jeff Becker 0945275fd5
make it compile 6 years ago
Jeff Becker 9ed3da1671
correctly map addresses 6 years ago
Jeff Becker 8114f63e70
use queues 6 years ago
Jeff Becker 4f691b8974
make tun write correct number of bytes
try doing correct ip checksum and for upper layers that need it too

supported right now are icmp, tcp, and udp. more will come later
probably.
6 years ago
Jeff Becker 354df88367
more ip endpoint fixes
spam dht with lookups less
6 years ago
Jeff Becker 6986f04418
basic router profiling and fix ip rewrite 6 years ago
Jeff Becker 3d424b57a7
client side endpoint improvements 6 years ago
Jeff Becker baf2e1fb3c
client improvements
for real do correct timestamp comparison for introsets
6 years ago
Jeff Becker 2993e834a0
fix ip stuff 6 years ago
Jeff Becker 320fbdf3bc
always traffic 6 years ago
Jeff Becker c3a7f64344
expire introsets correctly and allow multiple tun if 6 years ago
Jeff Becker 1952ece99d
more logging 6 years ago
Jeff Becker 8bae1a4735
move codel off of pointer types 6 years ago
despair86 79c992a9be Microsoft libc6.x and libc7.x do not have C99 printf semantics, mingw-w64 handles this inline 6 years ago
despair86 23ecd03c71 win32 native threading vs pthreads on mingw-w64
also, msc++ implements all of C++17
6 years ago
Jeff 367258551b fix osx build 6 years ago
Jeff Becker b7039f6e5c
more tun stuff 6 years ago
Jeff Becker dbac1334e0
disable promises in win32 6 years ago
Jeff Becker 4e2f0ccbf8
* add ProcessIf in CoDel queue to requeue unprocessed items
* more tun code
* make event loop tick and write with tun
6 years ago
Jeff Becker 4aebbda640
more tun stuff 6 years ago
Jeff Becker 377cc78144
fix crash 6 years ago
Jeff Becker 1a1f93c171
* more tun stuff
* use std::unique_ptr where bare pointers aren't absolutely required
6 years ago
Jeff Becker 08d6121a5a
more tun code 6 years ago
Jeff Becker 04bf8d6116
some tun interface code 6 years ago
Jeff Becker d5532e4de4
more boilerplate and enable tun/tap build 6 years ago