Commit Graph

972 Commits (d3bada5564b49355d32e2cd0ccbadf402244266f)

Author SHA1 Message Date
despair86 94c5f46d33 try fixing win32 event loop 6 years ago
despair86 6ba60093d2 switch to std::variant for win32 ev_io
- sockets are a distinct (non-negative) file descriptor
- plain old file descriptors are opaque handles

this makes the specialisations of llarp::ev_io on win32 type-safe as
- TAP-Windows v9 adapter is a plain old device file (same as on UNIX and Linux)
- UDP listeners are sockets, so the type must change (from signed to unsigned int) to accomodate Winsock2
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
Jeff 11753f5d7e clarification for path transfer 6 years ago
Jeff 56d07ea700 try fix, dont use me 6 years ago
Jeff a1fd9a0f93 don't publish every build 6 years ago
Jeff 78e601807d fix 6 years ago
Jeff 9a60c08810 only publish when we have at least 3 established paths 6 years ago
Jeff e5208b65cc mark session active 6 years ago
Jeff a0317e1430 remove logging 6 years ago
Jeff Becker 848f5c3059
make it compile 6 years ago
Ryan Tharp 57fccaf2e6
ShouldCreateDefaultHiddenService(), auto mode for defaultIfAddr & defaultIfName, favor llarp::Addr, guards, NAT with no bindings fix, actually name ifname set ifname 6 years ago
Jeff Becker 832e1849b2
remove log and swap intros 6 years ago
Jeff Becker 98df3b09f2
only use good routers 6 years ago
Jeff Becker ab306b70bb
try closing session correctly 6 years ago
Jeff Becker d71f0db2a5
more vigorous profiling 6 years ago
Jeff Becker 746e95994e
stricter profiling and better handover 6 years ago
Jeff Becker a8f7a26c00
fix timestamps 6 years ago
Jeff Becker 1146bb34ac
make dns work 6 years ago
Ryan Tharp 6738fcaa6a
make sure iptracker is configured on start 6 years ago
Ryan Tharp 1efb68e9cd
pass tracker into dns_iptracker_setup 6 years ago
Ryan Tharp bd1a25856e Merge branch 'master' of https://github.com/neuroscr/loki-network 6 years ago
Ryan Tharp e09c80e7e9 make sure iptracker is configured on start 6 years ago
Ryan Tharp f101dba662 fix refactor typo 6 years ago
Ryan Tharp 27afd392f2 pass tracker into dns_iptracker_setup 6 years ago
Jeff Becker 497c8c7d66
fix config 6 years ago
Jeff Becker 13a9ff7e5a
make configs generate sane defaults 6 years ago
Jeff Becker a07b9b18d1
fix segfault 6 years ago
Jeff Becker b724cc54fe
Merge remote-tracking branch 'ryan/master' 6 years ago
Jeff Becker f19f78b573
try better handover logic 6 years ago
Jeff Becker a3001dfe1d
fix timestamps, revert to old behavior 6 years ago
Ryan Tharp f4c5999852 Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Jeff Becker 0b0278a312
we don't use crypto_async anymore 6 years ago
Ryan Tharp bcbaf47adf ShouldCreateDefaultHiddenService(), auto mode for defaultIfAddr & defaultIfName, favor llarp::Addr, guards, NAT with no bindings fix, actually name ifname set ifname 6 years ago
Ryan Tharp cc42e8e623 guard, rename endpoint to context, main_router_endpoint_iterator() implementation 6 years ago
Jeff Becker 8f98ef3e28
forgot file 6 years ago
Ryan Tharp 604c44e191 use llarp::Addr, added some guards 6 years ago
Jeff Becker 1f02498fc0
code for disabling default hidden service 6 years ago
Ryan Tharp 6bfd55f3f4 fix headers, clang-format, favor llarp::Addr 6 years ago
Ryan Tharp f032a83e37 use llarp::Addr to store local private ip 6 years ago
Ryan Tharp c40d5f4c4d notes and guard 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 8f32f357c2 hasEndpoints(), mapAddressAll_context(), iterate(), MappAddressAllIter() 6 years ago
Ryan Tharp 429927187a refactored detect into net.cpp, clang-format 6 years ago
Ryan Tharp a0aa363365 doesn't make sense to pass by value 6 years ago
Ryan Tharp ec2aaa533f pretty sure this a clang-format 6 years ago
Ryan Tharp 48d9a38534 getSockAddr(), findFreePrivateRange(), findFreeLokiTunIfName() 6 years ago
Ryan Tharp ce02a37b1c clang-format 6 years ago
Ryan Tharp 4b3b09736b Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Jeff acc03fcad7 add default hidden service endpoint for clients 6 years ago
Jeff b7eea47336 fall through 6 years ago
Jeff a9eeb7fed9 meh 6 years ago
Jeff 1d41d93fd0 fix linux 6 years ago
Jeff 77b2903bda logging and add DST awareness to timestamps 6 years ago
Jeff f3d446dafb handover logic fix, remove and add logging 6 years ago
Jeff dbeead03f3 fix kqueue build 6 years ago
despair86 991c1d8fce fix 6 years ago
despair86 19b7f47322 bug: if we have only one network interface, then terminate the linked list with nullptr
otherwise, the windows build will crash
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 8ac7d4f6dc if we didn't specify a path to save our config in, only create .lokinet on the assumption that $HOME or $APPDATA (on NT) already exist
add win32 tun glue, fix llarp timebase
(In fact, _both_ of these are guaranteed to exist on their respective platforms.)
also, tuntap is now wired up to the windows port
6 years ago
despair86 7f809eb53b fix windows build 6 years ago
despair86 7c5d98ca31 clean up win32 build rules 6 years ago
Jeff Becker 0f7c7c871f
reduce log levels and don't establish outbound send context for previously made inbound sessions 6 years ago
Jeff Becker 23cff0bee3
try fixing all that tun shit, YOLO 6 years ago
Jeff Becker 8aa0d0d4a8
try fixing tun writing 6 years ago
Jeff Becker 9e8563a884
cache convo tag and drop traffic 6 years ago
Jeff Becker 1eef5387b6
update introset on message drop 6 years ago
Jeff Becker 681e669fd8
try better publish logic and timeouts for requests 6 years ago
Ryan Tharp 4cc482764d clang format 6 years ago
Ryan Tharp fb9b60bd16 clang-format 6 years ago
Ryan Tharp e890ef2e5b ensure_config split router/client refactor, move C++ stuff to .hpp 6 years ago
Ryan Tharp 058ed4d4ea Merge branch 'master' of https://github.com/neuroscr/loki-network 6 years ago
Jeff 4158e422bb don't store introsets when forwarding a request 6 years ago
Jeff a168c81a75 make mac tun work 6 years ago
Jeff e50cbf5acb Merge branch 'master' of ssh://github.com/loki-project/loki-network 6 years ago
Jeff Becker f6c812a642
include packet info in tun but discard it so that tun can work on platforms
that include packet info
6 years ago
Jeff Becker 138c222a1a
dns port configurable at compile time (make this configurable on runtime plz) 6 years ago
Jeff Becker 2b8bd11f5e
ping less and try not to double free in llarp_router::SendToOrQueue 6 years ago
Jeff Becker ed5867e49f
don't use std::list 6 years ago
Ryan Tharp 79d61dedc3 use new llarp::Addr based init 6 years ago
Ryan Tharp 9ea564e832 update llarp_main_init_dnsd to make new DNSd init 6 years ago
Ryan Tharp e876506295 improve b32 failure handling, dead code removal 6 years ago
Ryan Tharp 0278ba6edf more clang-format 6 years ago
Ryan Tharp 6c2d0e21bf llarp_dnsd_init() update to use llarp::Addr more and adjust to new DNSc init changes, remove unneeded WIN32 change (made it the default) 6 years ago
Ryan Tharp 35def45c98 answer_request_alloc() use a unique_ptr, multiple resolver support start, llarp_dnsc_init to use llarp::Addrs 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 36c927fc79
premptively build path to selected intro's router every time we don't have it if we get an introset update, on the outbound context 6 years ago
Jeff Becker 8a4b2e97a5
add lint target for makefile using clang tidy
run make format
6 years ago
Jeff Becker 8878e5c4d1
redundancy with outbound contexts
have multiple outbound contexts and send on the one that is alive
6 years ago
Jeff Becker 869b758365
more 6 years ago
Jeff Becker fa5389cb05
docstrings and manual rebuild if the path expires soon 6 years ago
Jeff Becker 186a36cd4b
try fixing dht crash 6 years ago
Jeff Becker 724a093da7
syntax 6 years ago
Jeff Becker 17a8ac13ad
fix logic 6 years ago
Jeff Becker 22b1e58dcf
clear intro 6 years ago
Jeff Becker d71882259e
try spacing path building out more wide in time so that intros don't die in the same small interval 6 years ago
Jeff Becker 34dc5bec93
check for cache hit to prevent automapping 6 years ago
Jeff Becker 9a062f79fb
use parent endpoint paths when we can more 6 years ago
Jeff Becker b40dd30c7a
linear backoff for path building to lessen strain on the network 6 years ago
Jeff Becker f85cfcdab0
please don't fucking do this, reverted. 6 years ago
Jeff Becker 7b0860aec0
Merge remote-tracking branch 'ryan/master' 6 years ago
Jeff Becker dc47a0630b
try using parent endpoint's pathset if outbound context does not have a path to a router 6 years ago
Jeff Becker c9bfe640b7
increment sequence number so we don't spam new intro frames 6 years ago
Jeff Becker 69bf060974
correct key 6 years ago
Jeff Becker 179d18bad4
use correct value 6 years ago
Jeff Becker 7d10103e15
don't repeat 6 years ago
Ryan Tharp 731ea83834 bug fix and cleanup 6 years ago
Ryan Tharp ca532e39c8 Merge branch 'master' of https://github.com/neuroscr/loki-network 6 years ago
Ryan Tharp 1436036d94 make sure all vectors are unique_ptr, unorder maps (optimization) 6 years ago
Jeff Becker 59cdc160cd
add slot for bootstrap node in config autogeneration 6 years ago
Ryan Tharp 89d41dd365
Merge branch 'master' into master 6 years ago
Jeff Becker b273676a63
more logic for dead sessions to prevent segfault 6 years ago
Jeff Becker 16508a99db
tweak timeouts more 6 years ago
Jeff Becker 2d18cfcdd7
tweak timeout 6 years ago
Jeff Becker d298e4f124
use intros only if they don't expire soon 6 years ago
Jeff Becker 5dfaeebb16
mark sessions dead/inactive 6 years ago
Jeff Becker 9a20daa1ce
add send timeouts 6 years ago
Jeff Becker 983c72f032
use 6 paths by default 6 years ago
Jeff Becker ca1fc0babd
try alternative path death detection 6 years ago
Jeff Becker 3af93954f3
actually publish via far router 6 years ago
Ryan Tharp 0e6d85f6c9 Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Ryan Tharp 64f6f762bd how did this even compile on llvm 6 years ago
Ryan Tharp 287358ae62 I can't bare to throw out all this debugging I added to debug connections, put behind neuroCryptoDebug define for now 6 years ago
Ryan Tharp 902f6f14b7 pass RC by ref, header cleanup, clang format 6 years ago
Ryan Tharp 0ad4f43fe5 header clean up and clang-format 6 years ago
Jeff Becker 79680a4f6b
try not killing paths if they get data
use correct mainloop
6 years ago
Jeff Becker 17d2aa1df1
track path data usage and don't kill paths when under heavy use 6 years ago
Jeff Becker 97bae70817
close sessions on link close not on destructor 6 years ago
Ryan Tharp 5ab68771e4 reverse DNS support 6 years ago
Ryan Tharp 1adc31d09d fix debug output 6 years ago
Ryan Tharp 66d5f79293 debug 6 years ago
Ryan Tharp 589e1357fa reverse support, some SOA record fixes, hex packet debug helper 6 years ago
Ryan Tharp 73270486c5 fix 404 packet, reverse dns response support 6 years ago
Ryan Tharp 47c90e63e8 reverse dns detection and question type 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 1d08dbbf19 Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Jeff Becker 6652cc4bde
breaking change: add timestamp to introset
i don't know why this wasn't here. i could've sworn it was.
6 years ago
Ryan Tharp 2a217b5f7d Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Jeff Becker ce03801a51
close socket in destructor 6 years ago
Ryan Tharp 14d9b19a0f clang-format 6 years ago
Ryan Tharp dba3b66b50 fix FreeBSD compil 6 years ago
Ryan Tharp 9d4d595624 compile fixes 6 years ago
Ryan Tharp 2b2e0007fa active DNS relay (server/client) in tun interface 6 years ago
Ryan Tharp 1e13967198 support multiple dns ip tracker contexts for netns 6 years ago
Ryan Tharp 6590d502cd get first tun interface wiring 6 years ago
Ryan Tharp 31595d209d move logic into client 6 years ago
Ryan Tharp e53e093e17 for previous commit 6 years ago
Ryan Tharp 6d0cf0c8c0 move logic into dnsc context, clang-format 6 years ago
Ryan Tharp 88670928f0 clang format 6 years ago