Commit Graph

149 Commits (7f27760c97da11dcca0b7aa54f869989a65fb7da)

Author SHA1 Message Date
Thomas Winget 2c6e7b86c3
SRV records fixes (#1332)
* fix a log print log level

* correctly match SRV record service and protocol...

* tests for new dns question functions
4 years ago
Thomas Winget b1c14af938
SRV Record handling for introsets (#1331)
* update loki-mq submodule for tuple support

* srv record reply implementation

still need to encode srv records into intro sets / router contacts
as well as decode from them and match against queried service.proto

* inverted condition fix in config code

* SRV record struct (de-)serialization for intro sets

* parsing and using srv records from config (for/in introsets)

* adopt str utils from core and use for srv parsing

* changes to repeat requests

no longer drop repeat requests on the floor, but do not make
an *actual* request for them if one is in progress.

do not call reply hook for each reply for a request, as
each userland request is actually made into several lokinet
requests and this would result in duplicate replies.

* fetch SRVs from introsets for .loki

* make format

* dns and srv fixes, srv appears to be working
4 years ago
Jeff Becker 4bb214eba0
attempt fix for libunbound on win32
* run unbound stuff in another thread because LOL windows
* because unbound runs in another thread callbacks for libunbound need to be wrapped in a deferred call so they are done in the logic thread
* bump sqlite3 dep because it's gone, repin hash.
4 years ago
Thomas Winget 8f0330c9f2 std::vector instead of std::array 4 years ago
Thomas Winget b875d40491 restructure how upstream dns replies are handled
llarp::dns::Message does not fully support DNS packets,
so converting the upstream response to one will not work
for all query types.  Also it is kinda silly to begin with,
as the upstream reply is already a network packet, ready to go.
4 years ago
Thomas Winget 221e9ff5de make format 4 years ago
Thomas Winget c2a30692cf Implement upstream DNS using libunbound 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
Jason Rhinelander 1697bf90fe C++17
Compiles with C++17, replaces ghc::filesystem with std::filesystem,
nonstd::optional with std::optional, and llarp::string_view with
std::string_view.
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.
4 years ago
Jeff a6a3d77bb4
Merge pull request #1174 from notlesh/reduce-rr-decode-fail-verbosity-2020-03-09
Reduce log verbosity when DNS RR decode fails
4 years ago
Jeff Becker 51516f751b return NS record for localhost.loki to squash errors in host lookups 4 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.
4 years ago
Stephen Shelton f40ce505a8
Reduce log verbosity when DNS RR decode fails 4 years ago
Jeff Becker 9c30ff7a26
handle snode and clean up codepath for hooked dns 4 years ago
Jeff Becker 1d5c712adb
monkey patch upstream dns to rewrite .loki cname answers 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 fcf0ae2b9e
prune unused files. 5 years ago
Jeff Becker 56dce90de9
add trace log level for tracking logic thread jobs 5 years ago
Jeff 9ace1b2398
Merge pull request #870 from majestrate/disable-doh-using-isp-backdoor-provided-by-mozilla-thanks-from-nsa
disable DoH
5 years ago
Jeff Becker d2be8ac384
fix issue #894 5 years ago
Jeff Becker bd07845dd3
make format 5 years ago
jeff 37d7f2b1e7 disable DoH using mozilla's ISP backdoor record. 5 years ago
Michael edd0ec398f
Move thread stuff to subdirectory 5 years ago
Michael 1aec0dfa2b
Move logging to subdirectory 5 years ago
Michael 16cdfbd5f0
clang-tidy modernize pass 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 c60099002b
reverse dns for ipv6 5 years ago
Jeff Becker 2403ab8f86
ipv6 5 years ago
Jeff Becker b679dd7341
fixit 5 years ago
Jeff Becker c355d37beb
use limited size queue for logic and singled threaded threadpool 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 Becker 92ad98be8b
refactor hooks to be have more c++isms
make path build timeouts use log level warning
5 years ago
Jeff Becker 241dba0476
fix dns for smaller domains 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 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
Michael 9ee525a006
Fix shadowing warnings 5 years ago
Jeff Becker 0529e45ebe
more 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 8484e29c9b
turn more stuff into std::shared_ptr
remove dead codepaths
5 years ago
Jeff Becker 3a8cb0bfb5
add shell based hooks for service::Endpoint, also make format 5 years ago
michael-loki 0195152e05 Allow builds on MSVC (#518)
* Import cxxopts to replace getopts usage

* Add visual studio build things

* Fixup abseil build parts

* Replace __attribute__((unused)) with ABSL_ATTRIBUTE_UNUSED

* Fixup minor windows build issues

* Replace getopts usage

* Temporarily fixup .rc files

* More minor windows fixes

* Get a working build

* Revert .rc files

* Revert changes to nodedb
5 years ago
Jeff Becker f8edd3fbce
fix compiler warning 5 years ago
Jeff Becker fadf519029
don't give extra record on end when nx 5 years ago
Jeff Becker 3aa0cc9d0b
address issue #510 5 years ago
Jeff Becker 7f25b62ef5
remove adding of defaults to upstream dns resolvers 5 years ago
Jeff Becker e178a70929
use shared_ptr for event loop 5 years ago
Jeff Becker 1922221c3d
permit no upstream resolvers and send servfail if we have none 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
Rick V 61fb9a9c82
added some notes to gear up for the #371 putback by @michael-loki
moved platform-specifc stuff *to* platform specifc lib
removed -Wno-format on windows and *actually* turn on proper format checking
here using compiler-specifc extension for C99
5 years ago
Ryan Tharp 22d76f7454 additional macos DNS fixes 5 years ago
Ryan Tharp 4d6451aaa2 fix mojave random.snode lookup issue #324 5 years ago
Michael e4cf1f245c
Convert most of llarp to use Printer 5 years ago
Jeff Becker 1a283c0176
try addressing issue #324 5 years ago
Michael a00d6afc5e
Convert llarp_buffer_t to be a class with methods 5 years ago
Jeff Becker 8c77c53675
reply with cname 5 years ago
Jeff Becker 0bbd1ecbe4
fix previous commit 5 years ago
Jeff Becker 67282f03c0
disable recursion on nxdomain responses 5 years ago
Jeff Becker 5a33d2c84a
Merge remote-tracking branch 'origin/staging' into staging 5 years ago
Jeff Becker 804df24a87
remove stray semicolin 5 years ago
Jeff Becker a7ff62f668
set dns flags correctly (probably) 5 years ago
Ryan Tharp 4bf4faa956 make format 5 years ago
Ryan Tharp fefb012bf8 fix llvm 3.8 5 years ago
Michael 7ca3e13e78
Rename to ManagedBuffer 5 years ago
Michael f3b0af9d2f
Create CopyableBuffer type 5 years ago
Jeff Becker 9e50e2d34a
try fixing AAAA record handling, return NOERROR with no records. 5 years ago
Michael 79157414f3
Split crypto.hpp into 3 different files 6 years ago
Michael a3463120cc
Move net components into a distinct folder 6 years ago
Michael 081d4dfa32
Reorganise source into more folders 6 years ago
Michael fa2b466ffe
Reorganise tests to mirror source layout 6 years ago
Michael e5eda0fb8f
Move lokinet unspecific components to a util/ library 6 years ago
Michael df4fd0ef56
Fix some low hanging performance issues 6 years ago
Michael 4257b62e88
Add .cpp files for all .hpp files 6 years ago
Jeff Becker 2a678f47c4
fix previous commit 6 years ago
Jeff Becker be1e78ca5d
make it compile 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
Michael 85dde7b6b0
Move remaining include/llarp headers to llarp/ 6 years ago
Michael a5c3ba0fdd
Move logger.hpp to llarp/ 6 years ago
Michael d9ce493a9e
Move dns* to llarp/ 6 years ago
Michael c064893947
Move buffer.hpp to llarp/ 6 years ago
Michael 7be452092c
Convert llarp_crypto to be a true C++ class 6 years ago
Jeff 31d86ae273 class must be 1 6 years ago
Jeff 3eb78b6118 add mx record for .loki 6 years ago
Jeff Becker e1ee2de38a
correctly encode response 6 years ago
Jeff Becker 1f104881be
unit testing for ptr 6 years ago
Jeff Becker ebb42ca46f
fix previous commit 6 years ago
Jeff Becker c27b7c2858
separate client/server in dns proxy 6 years ago
Jeff Becker 40678f9019
add dnslib unit test coverage 6 years ago
Jeff Becker 1d1bde2e88
add dnslib 6 years ago