Commit Graph

357 Commits (6bd53484da1db62dbe134e88cb89a7e243b54757)

Author SHA1 Message Date
Jeff Becker 6af498092b
exit traffic via loki addresses 4 years ago
Jason Rhinelander d05e6716cb Remove llarp::str(string_view)
It was a workaround for pre-C++17 std::string which didn't support
passing a string_view to various functions/operators.  There's only one
place left that needs an explicit conversion, and that's where it is
used as a map key; so just be explicit there and remove llarp::str()
everywhere else.
4 years ago
Jason Rhinelander 3bb24580a4 make format 4 years ago
Jason Rhinelander bdc9c7bfa8 Move IPRange out of net.hpp; free up TruncateV6 etc.
- Move IPRange into its own net/ip_range.hpp

- Move the static net::IPPacket::TruncateV6, etc. functions to free
net::TruncateV6, etc. functions (now from net/ip.hpp instead of
net/ip_packet.hpp).

- Make net::TruncateV6 and net::ExpandV4 constexpr.

- Add IPRange::FromIPv4 factory function (to replace the iprange_ipv4
free function)
4 years ago
Stephen Shelton aee96e53a3
Refactor Addr -> IpAddress/SockAddr 4 years ago
Jeff Becker e33a1a2e0f
proper autodetect of ifname and ifaddr 4 years ago
Stephen Shelton 15918ff1c9
log-- 4 years ago
Stephen Shelton 960dc37c1f
Refactor TunEndpoint::Configure() (partially) 4 years ago
Stephen Shelton f2a26adcaa
Move all [endpoint] options to [network] 4 years ago
Stephen Shelton dd9ab0f1d5
Remove ability to have multiple endpoints/snodes from config 4 years ago
Stephen Shelton df01770466
Rename SnappConfig -> EndpointConfig 4 years ago
Stephen Shelton 93b35c92a7
Eradicate service::Config 4 years ago
Stephen Shelton 273270916e
The Great Wall of Blame
This commit reflects changes to clang-format rules. Unfortunately,
these rule changes create a massive change to the codebase, which
causes an apparent rewrite of git history.

Git blame's --ignore-rev flag can be used to ignore this commit when
attempting to `git blame` some code.
5 years ago
Jeff Becker 67883aa945
when we have an inbound session and we do a forward dns lookup
we should not look up the descriptor on the network as we
already have a session with them
5 years ago
Jeff Becker 4452b152aa
add an A Record for random.snode so that it works 5 years ago
Jeff Becker 51516f751b return NS record for localhost.loki to squash errors in host lookups 5 years ago
Jason Rhinelander 6715b86d51 Fix IPv6 lookups to return empty response
The logic here wasn't quite right and was returning an A record in
response to an AAAA lookup.

This returns nothing, which is better, but not quite enough: this gives
empty responses, which produces warnings in host/dig.
5 years ago
Jeff f3d23d6fb6
strip rr from dns reply for .snode and .loki (#1172)
fix dns replies so that extra RR for edns are not included.
5 years ago
Rick V 9b0ec0935a
bump for next release 5 years ago
Rick V 8e9842f4b2
bindaddr a common field on the machine-independent side 5 years ago
Rick V b4d6f89452
try extracting dns bind addr from INI on windows 5 years ago
Jason Rhinelander c0eb0c4db4 Avoid unnecessary copy 5 years ago
Jeff Becker d50a0149f9
use std::chrono 5 years ago
Jeff Becker 9c30ff7a26
handle snode and clean up codepath for hooked dns 5 years ago
Jeff Becker 1d5c712adb
monkey patch upstream dns to rewrite .loki cname answers 5 years ago
Jeff a8a6c175fc
Merge pull request #1128 from majestrate/use-std-chrono-2020-02-24
make llarp_time_t use std::chrono::milliseconds
5 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 5 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)
5 years ago
Jeff Becker d2d109e92c
llarp_time_t is now using std::chrono 5 years ago
Jason Rhinelander 46242ba69b TrimWhiteSpace -> TrimWhitespace
Fix my dumb initial capitalization choice.
5 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.
5 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).
5 years ago
Jeff Becker 6c67cc1f01
make default endpoint non reachable by default 5 years ago
Jeff Becker 70eb353c42
make publishing introsets optional using reachable=false to disable 5 years ago
Jeff Becker ee752c00e6
make format 5 years ago
Jeff Becker c014d21f84
use std::shared_ptr not a bare pointer to prevent memleak 5 years ago
Jeff Becker 79c3c748e4
limit number of snode sessions client side 5 years ago
Jeff Becker 92bbda600b
remove callsto Router::PumpLL and stuff gets faster (or stuff) 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 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 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 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 a781589b52
try fix for localhost.loki 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 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 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 6 years ago
Jeff Becker 3a8cb0bfb5
add shell based hooks for service::Endpoint, also make format 6 years ago
Michael 6bf54e0925
Remove AsyncKeyExchange, HiddenServiceAddressLookup and OutboundContext to their own components 6 years ago