Commit Graph

578 Commits (dev)

Author SHA1 Message Date
Jeff Becker 1d5c712adb
monkey patch upstream dns to rewrite .loki cname answers 4 years ago
Jeff a8a6c175fc
Merge pull request #1128 from majestrate/use-std-chrono-2020-02-24
make llarp_time_t use std::chrono::milliseconds
4 years ago
Jeff Becker bf0416cab8
remove Time_t, add operator overload for printing llarp_time_t and add to_json function for serializing llarp_time_t to json 4 years ago
Jason Rhinelander 3bd400f6fe Fix string_view C++17 compatibility
string_view was implicitly convertible to std::string, but
std::string_view is only explicitly convertible.  This makes the
`operator std::string` explicit to be more compatible, and re-adds a
bunch of explicit string casts to the code where needed.

(This also fixes the build if changing the standard to c++17)
4 years ago
Jeff Becker d2d109e92c
llarp_time_t is now using std::chrono 4 years ago
Jason Rhinelander 0839c16f19 Final abseil purge
Bye-bye Google Boost.
4 years ago
Jason Rhinelander 46242ba69b TrimWhiteSpace -> TrimWhitespace
Fix my dumb initial capitalization choice.
4 years ago
Jason Rhinelander 54186c4a89 Replace absl string_view with string_view from lokimq
When we add loki-mq has a dependency we can just alias it, but for now
it's easier to copy the header than add the whole submodule library.
4 years ago
Jason Rhinelander 98c34d995b De-abseil: Add our own llarp::TrimWhiteSpace
Adds a TrimWhiteSpace instead of using abseil's.

Adds Catch2 tests for it, and also converts the existing str tests to
catch (which look much, much nicer than the gtest ones).
4 years ago
Jason Rhinelander f84ce61d66 Removed empty cpp files
These aren't needed: CMake already knows how to follow #includes and
rebuild when headers change as long as the headers are included
*somewhere*.  The extra .cpp files here just require building a bunch of
.cpp files with just header content that we just end up throw away
during linking (since the same things will also be compiled in whatever
other compilation units include the same headers).
4 years ago
Jeff Becker 6c67cc1f01
make default endpoint non reachable by default 4 years ago
Jeff Becker 70eb353c42
make publishing introsets optional using reachable=false to disable 4 years ago
Jeff Becker ee752c00e6
make format 4 years ago
Jeff Becker c014d21f84
use std::shared_ptr not a bare pointer to prevent memleak 4 years ago
Jeff Becker 79c3c748e4
limit number of snode sessions client side 4 years ago
Jeff Becker c9d38d421b clang fixes 5 years ago
Jeff Becker 92bbda600b
remove callsto Router::PumpLL and stuff gets faster (or stuff) 5 years ago
Jeff Becker 7c0fc69ad8
use ipv6 only with ipv6 packets 5 years ago
Jeff Becker 0c5c1aab1b
remove unneeded log statement 5 years ago
Jeff Becker a2fc35a7aa lower limit to 25ms 5 years ago
Jeff Becker 5924a2cec0 limit calls 5 years ago
Jeff Becker 0828307906 fix address mapping bug 5 years ago
Jeff Becker 5188873288 batch and flush 5 years ago
Jason Rhinelander d13a3d2b62 Don't flush here; we already have a tick flushing 5 years ago
Jeff Becker ba0fd223d9 reduce number of jobs we put onto the logic thread 5 years ago
Jeff Becker 6f95fbfece
work in progress 5 years ago
Jeff Becker 56dce90de9
add trace log level for tracking logic thread jobs 5 years ago
jeff 52757fef0e Merge remote-tracking branch 'micheal/background_mode' into vpn-api-2019-10-03 5 years ago
Jeff Becker 327c545530
finish multithread cryptography first pass 5 years ago
jeff 14c9ef15ed try calling stuff in logic thread from event loop 5 years ago
Jeff Becker 61ade40a51
reduce logging and make format 5 years ago
Jeff Becker e3bb59707e
more 5 years ago
Jeff Becker 1adae338ce
Merge remote-tracking branch 'origin/master' 5 years ago
Michael edd0ec398f
Move thread stuff to subdirectory 5 years ago
Michael 4d8fe2a8a8
Move meta programming to subdirectory 5 years ago
Jeff Becker c01112e4b7
tracy lock contention testing and other fun things 5 years ago
Michael afb94381a2
Use ToString instead 5 years ago
Michael 094b697b01
Replace StatusObject with underlying JSON type 5 years ago
Michael 16cdfbd5f0
clang-tidy modernize pass 5 years ago
Michael f9e9227e19
Fix gcc trunk warnings 5 years ago
Jeff Becker 8329aa0ee6
always rewrite address 5 years ago
Jeff Becker 2261885206
mark addresses as active when we use them 5 years ago
Jeff Becker b4af87aa42
have IPPacket::srcv6 and IPPacket::dstv6 check for ipv4 packets and expand them to ipv6 5 years ago
Jeff Becker f349677f1c
use ipv4 address on snodes for now 5 years ago
Jeff Becker 9a055947cb
make it compile 5 years ago
Jeff Becker b29ec20ad4
try deferred resolve for exit handler 5 years ago
Jeff Becker f48754c45d
make hop count and length configurable 5 years ago
Michael e52492911d
Refactor endpoint state management to a new class 5 years ago
Jeff Becker 6882e627ba
make format 5 years ago
Jeff Becker 1fd6b5ae74
Merge remote-tracking branch 'origin/master' into ipv6-tun 5 years ago
Michael 488695047f
Remove redundant else blocks 5 years ago
Jeff Becker 3ed8dec78b
use const reference and don't log invalid packets 5 years ago
Jeff Becker 0eb6431eb1
initialize tun with 0 and set defaults in correct places 5 years ago
Jeff Becker 58005c5f81
Merge remote-tracking branch 'origin/master' into ipv6-tun 5 years ago
Michael a2326efa37
Revert "Merge pull request #679 from tewinget/revert-config-refactor"
This reverts commit 2996a7f29c, reversing
changes made to 10df3bd4b3.
5 years ago
Jeff Becker 89a3e375d2
fix last commit 5 years ago
Jeff Becker a781589b52
try fix for localhost.loki 5 years ago
Thomas Winget d044d60101 Reverts #678 #677 and #669 with hashes:
10df3bd
766ece8
979f095

See those commits for further details
5 years ago
Michael 8c2d67f8f1
Fix tests 5 years ago
Jeff Becker d6ec528a72
start work on seperating ips out of endpoint 5 years ago
Jeff Becker 64e9622270
start seperating tun and endpoint 5 years ago
Jeff Becker 5c61df08b5
Merge remote-tracking branch 'origin/master' into ipv6-tun 5 years ago
Michael b89689fec3
Refactor path build code 5 years ago
Jeff Becker 227f561ffc
Merge remote-tracking branch 'origin/master' into ipv6-tun 5 years ago
Michael 95646d2d87
Publish metric tags 5 years ago
Jeff Becker c60099002b
reverse dns for ipv6 5 years ago
Jeff Becker ec3ddfa425
typofixes 5 years ago
Jeff 8407c20b91
Merge branch 'ipv6-tun' into ipv6-tun 5 years ago
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 4c0a52ac9c
try addressing issue #642 5 years ago
Jeff Becker a33dbce680
try switching logic 5 years ago
Michael 75430a234c
Convert to use memFn 5 years ago
Michael 491fee206b
Port code to use CryptoManager over passing Crypto pointers 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 8f68ceeb11
force ipv4 5 years ago
Jeff Becker ad019cab71
add changes for review 5 years ago
Jeff Becker 7b03b63d13
more sighup code 5 years ago
Jeff Becker a53da68700
start work on sighup 5 years ago
Jeff Becker 7c782440fb
round robin the exit endpoints on exit handler 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 6b2ad94731
fix compile warning 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 af1529fa72
Merge remote-tracking branch 'origin/master' 5 years ago
Michael 4143472a17
Add cmake module to target a library as 'system', and fix a few warnings 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
Michael c39c931d03
Remove IStateful virtual inheritance 5 years ago
Jeff Becker 351feadaec
make it work 5 years ago
Jeff Becker 7f25b62ef5
remove adding of defaults to upstream dns resolvers 5 years ago
Jeff Becker 3da6551e82
make android compile 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 d5ce529b27 implement random.snode A records 5 years ago
Jeff Becker 2eb6d8a3ae
fix name 5 years ago
Jeff Becker 28474155b9
implement localhost.loki on tun 5 years ago
Jeff Becker 9d649b7b14
Revert "make exit handle localhost.loki for now"
This reverts commit 654864919f.
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 654864919f make exit handle localhost.loki for now 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 734a5b5fae
more 5 years ago
Jeff Becker 2218749134
Merge remote-tracking branch 'origin/staging' into staging 5 years ago
Jeff Becker eceb55623c
more 5 years ago
Michael 61f3273dc4
Add threading annotations and fix potential deadlocks 5 years ago
Michael c5a129ddff
Convert to use abseil synchronisation primitives 5 years ago
Jeff Becker 159415c363
delay dns resolution for snode until we have a session with it 5 years ago
Michael 887fb4ac62
Replace insert(make_pair()) with emplace() 5 years ago
Michael 048fa83c39
Finish replacement of Router with AbstractRouter 5 years ago
Jeff Becker 46222df421
refactor 5 years ago
Jeff Becker 66753430ad
fix it 5 years ago
Jeff Becker e1522faeaa
add introspection rpc endpoint 5 years ago
Jeff 4c4f3faf83
Merge pull request #284 from michael-loki/abstract_router
Convert llarp::Router into an abstract base class
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
Michael 729cd045f1
Convert llarp::Router into an abstract base class 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
Ryan Tharp 4bf4faa956 make format 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
Michael e9f6ca339a
Fix minor warning 5 years ago
Ryan Tharp f20ac0f6e9
Merge branch 'staging' into crypto_interface 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
Michael f24f554a01
Convert llarp::Crypto into an abstract base class 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
Ryan Tharp 3feb074599 be more verbose about failure and actual DNS bind 5 years ago
Michael da6cdfc0b2
More refactoring to continue to make dependency graph acylic 5 years ago
Michael 6e38e85a79
Produce hierarchy of 'libraries' inside libllarp 5 years ago
Jeff Becker ef394cd2fb
Merge branch 'staging' of ssh://github.com/loki-project/loki-network into staging 5 years ago
Michael a3463120cc
Move net components into a distinct folder 5 years ago
Michael 081d4dfa32
Reorganise source into more folders 5 years ago
Michael e5eda0fb8f
Move lokinet unspecific components to a util/ library 5 years ago
Jeff Becker 6e745abe6a
make it compile 5 years ago
Jeff Becker c1e4e715bb
try fixing dns issue with random.snode 5 years ago
Ryan Tharp c5575d6fe2 rename Crypto() to GetCrypto() to keep gcc 7.3 on linux happy 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 6 years ago
Jeff Becker 88d0e8883b
fix merge 6 years ago
Jeff Becker 49c898ed92
Merge remote-tracking branch 'origin/master' into staging 6 years ago
Jeff b088c7eba5 Merge branch 'gh-master' 6 years ago
Jeff Becker 21d1998a38
add graceful stop for path builders and friends 6 years ago
Jeff Becker e835c5f69a
add graceful stop for path builders and friends 6 years ago
Jeff a1476b24e7 don't use dead sessions 6 years ago
Jeff 4b2a1ea9f3 make format and attempt to fix #158 6 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)
6 years ago
Rick 8d147252b8
restore logging 6 years ago
despair b3e8099838
bug fixes 6 years ago
Jeff Becker 8c8172aeb1
Merge remote-tracking branch 'origin/master' into dev 6 years ago
Michael 037cb87523
Convert llarp::AlignedBuffer to be backed by std::array 6 years ago
Jeff Becker 01f2524145
flush ip packets such that they are sent same event loop tick 6 years ago
Jeff Becker 8e6046ff1c
order downstream packets 6 years ago
Jeff Becker 46bee291c2
order downstream packets 6 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 b25223d1cc
Merge remote-tracking branch 'origin/master' into dev 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
Michael 4257b62e88
Add .cpp files for all .hpp files 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 85dde7b6b0
Move remaining include/llarp headers to llarp/ 6 years ago
Michael e887b4e9c7
Move service* to llarp/ 6 years ago
Michael 7a52638add
Move handlers* to llarp/ 6 years ago
Michael 7be452092c
Convert llarp_crypto to be a true C++ class 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 79cffacafd
new exit packet buffer format 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 387d05282b
Merge pull request #58 from neuroscr/master
Major DNS refactor
6 years ago
Jeff Becker 75f5d748b6
Merge branch 'vanity' into dev 6 years ago
Jeff Becker b004b9e2a1
fix up exit logic 6 years ago
Jeff Becker e3e337b96f
Merge branch 'master' into dev 6 years ago
Jeff Becker 79040ef036
rx -> tx 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
Ryan Tharp 7874567611 Merge branch 'master' of https://github.com/loki-project/loki-network 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