Commit Graph

1689 Commits (f277f368a1fe3f6d0bc4f88a19eaaf8e958036cc)

Author SHA1 Message Date
Jeff Becker c1e494c2c4
have llarp_ev_* use llarp_buffer_t 6 years ago
despair 09713adc9f wooo new warnings in clang-7 6 years ago
despair 60f6131e43 netbsd stuff 6 years ago
Michael e4c5f4f77a
Update from `typedef` to `using` in .hpp files 6 years ago
Jeff 067f6c7b26 make format and make it compile with clang 6 years ago
Jeff Becker 5d0a9d7dc7
make format 6 years ago
Jeff Becker 0ac6deff00
logging, fix hidden services 6 years ago
Jeff Becker 104e9c7ec9
fix race 6 years ago
Jeff Becker d064fc69d4
Merge remote-tracking branch 'origin/master' into dev 6 years ago
Jeff Becker 12a4022a56
make testnet compile 6 years ago
Jeff Becker cf57eca7c3
check keyspace distance and inform not found when next peer is not closer than previous peer 6 years ago
Ryan Tharp 43d3b83e89 turn down log 6 years ago
Ryan Tharp 872945a910 additional recommended clean up from code review and clang-format 6 years ago
Ryan Tharp 1c6031c677 clang-format 6 years ago
Ryan Tharp 090fac7b4e Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Ryan Tharp 0046b705e8 generic_handle_dnsc_recvfrom() remove unneeded parameter, start making daemon/dns better, deprecate raw_handle_recvfrom() 6 years ago
Michael cd0d9c5fe0
Fix broken assert :( 6 years ago
Jeff b7f5bb0178 Merge branch 'dev' of ssh://github.com/loki-project/loki-network into dev 6 years ago
Ryan Tharp d11ba89fbc Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Ryan Tharp 21eb79655a llarp_buffer_t conversion 6 years ago
Ryan Tharp b69ef21bb4 fix another compile problem 6 years ago
Ryan Tharp 91f24b3d45 fix compile problem 6 years ago
Ryan Tharp adab894ffe llarp_buffer_t conversion, decode the header one less time, move up where packet hdr is set, use emplace_back instead of push_back 6 years ago
Ryan Tharp 730fff7438 change casting, SOA type start, sang/micahel code review fixes 6 years ago
Ryan Tharp 638692f48a magic numbers to defs, llarp_buffer_t implementation, cleanup, Michael/Sang code review changes 6 years ago
Ryan Tharp 5d94125346 upgrade from_char_array to auto detection port 6 years ago
Michael 6ea0362167
Minor fixes for macOS build 6 years ago
Jeff Becker 67eadff143
node whitelist option via jsonrpc 6 years ago
Jeff Becker c1377851a6
return bool when trying to establish link layer session 6 years ago
Jeff Becker a202bc58a8
use correct path roles 6 years ago
Jeff Becker 130307bc94
build paths with correct role 6 years ago
Jeff Becker 94ad765b8e
don't use profiling if service node 6 years ago
Ryan Tharp 43e3bede6a Merge branch 'master' of https://github.com/neuroscr/loki-network 6 years ago
Ryan Tharp 40522639ce Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Jeff Becker 5cbfccfff4
don't crash 6 years ago
Jeff Becker 2bd2815290
don't sign traffic 6 years ago
Ryan Tharp da6621519d Merge branch 'master' of https://github.com/neuroscr/loki-network 6 years ago
Ryan Tharp efe86c2401 Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Jeff Becker a3bb2c7d6a
actually start disk threadpool 6 years ago
Jeff Becker 1380014583
set hooks 6 years ago
Jeff Becker ab5f477907
fix up leak 6 years ago
despair 906f11d08f gah how did i miss that 6 years ago
Jeff Becker 2e3adb48e3
add boilerplate for router whitelist via jsonrpc, disabled at the moment 6 years ago
Jeff Becker a4c30a4b81
fix merge 6 years ago
Jeff Becker b543d6243d
Merge branch 'master' into dev 6 years ago
Jeff Becker a8ec8a4215
Merge remote-tracking branch 'origin/master' 6 years ago
Jeff Becker 336ef631b2
more logging, try expunging loose sessions more vigorously 6 years ago
despair 436025e0ca fix utp flags leaking into the actual socket transmission
clang-format
6 years ago
despair 964e834fea finally get the right error on windows
fix

fix up errno on win32

test
6 years ago
despair 55670b6f82 fill in PTR request if it's too short (some DNS clients do this, notable: Microsoft DNS Client 5.0) 6 years ago
despair d1fa9ca342 is the resulting storage a proper string, or just a plain char array (no terminator)
eh
6 years ago
despair b9ab1f19a9 wooooo path builds work
update readme

fix gcc 8.x error
fix apple cross-clang someday
6 years ago
Michael d21af22ca3
Rename defaults.h 6 years ago
Michael d750ec0605
Rename logic.h 6 years ago
Michael 1c0cf72c02
Rename endian.h 6 years ago
Michael f91d2b9e11
Rename proto.h 6 years ago
Michael e39d02ddc2
Rename version.h 6 years ago
Ryan Tharp f5c05289aa start SOA type record 6 years ago
Ryan Tharp 375c39e748 Merge branch 'master' of http://github.com/loki-project/loki-network 6 years ago
Ryan Tharp 3a8a90e440 make gcc 8.2 and RPI=1 happy 6 years ago
despair c7d3e39c53 todo: check if we're adding a tun to the event loop
if so, add it to the listeners, but _not_ the epollfd
abstraction - epollfd takes _only_ sockets, and will reeeee
if you give it a file handle. fuck 16-bit Windows with a rusty
knife. In this case, we assume (like unix) that a file/device file
is _always_ ready to write
6 years ago
Michael 0b2ebc83e0
De-C-ify several .h headers 6 years ago
Jeff Becker e287e5132b
more vigorus pings 6 years ago
Jeff Becker 950d13a818
more logging 6 years ago
Jeff Becker bad32dbb98
more logging 6 years ago
Jeff Becker c9fda1e5af
pass 6 years ago
Jeff Becker 3dd466629b
check for nullptr 6 years ago
Jeff Becker 90a4f90ee6
limit build rate a lot more 6 years ago
Jeff Becker 2e13daae27
start threadpool explicitly 6 years ago
Jeff Becker 4e105f3cd5
add std::optional backport option for cxx11 6 years ago
Jeff Becker 5357b4b69f
make clang happy, disable netns by default (for now) 6 years ago
Jeff Becker 3585a558ec
Merge branch 'master' into dev 6 years ago
Jeff Becker 9c54939324
make llarp_router::SendToOrQueue check inbound and outbound links instead of just inbound or just outbound 6 years ago
Jeff Becker 270e5648b8
Merge remote-tracking branch 'github/master' 6 years ago
Jeff Becker 3718a7d016
Merge remote-tracking branch 'github/master' into dev 6 years ago
Jeff Becker d37daf7996
Merge branch 'master' into dev 6 years ago
Jeff Becker 7214f242e0
rip out old threadpool code 6 years ago
Michael 4c6f261b06
Use std::atomic<std::uint32_t> over std::atomic_uint32_t 6 years ago
despair ae616d0fa5 minor fixes
eh

why apple why

why apple why
6 years ago
despair be7ac352ca switch to a simulation of epoll
the native async event system on windows
is _not_ very good at getting external events
(i.e. we receive data, but we don't get any indication
that this ever happened)
6 years ago
despair c325246beb need to start winsock to use any networking
try fixing this
6 years ago
despair e18f786ab2 refactor event loop stuff
find some place in the C code to place the worker thread procedure
until such time that michael presents the new thread pool class

fix unix

get a new event port each time and delet in the event loop after use
6 years ago
Ryan Tharp 2daa986c33 fix static analysis issues 6 years ago
Ryan Tharp de418125f2 remove redundance from (sockaddr) param refactor 6 years ago
Ryan Tharp 42b8fc3a7a don't truncate last 2 bytes 6 years ago
Ryan Tharp 969865c499 internal refactor
- created various structs for each record type
- changed DNSd to return most of the recieved packet (allowing for multiple answers)
- favor vector<byte_t> over c-style buffers
- support NS records a little better
- fixed output on cname, ptr, txt
6 years ago
Ryan Tharp 373a14b44b clang-format 6 years ago
Jeff 23c8807d59
Merge pull request #54 from neuroscr/master
DNS QoL improvements
6 years ago
Ryan Tharp 82cfa61540 address alphakamp complaint about using 127.0.0.1 on linux (systemd taking it by default) 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 930b41f644 temp commit 6 years ago
Jeff Becker f5ac1b5c0d
Merge branch 'master' into dev 6 years ago
Michael 3c5e3e79f9
Create ThreadPool component with test suite 6 years ago
Michael 8a52bf448e
Create Queue component with test suite 6 years ago
Michael 951a065867
Create QueueManager component with test suite 6 years ago
Jeff Becker e3dc4dca11
mark paths as dead when they need to and revert codel changes 6 years ago
Jeff Becker ffccb058c4
syntax error 6 years ago
Jeff Becker ce2760135a
mark paths as active when they are 6 years ago
Jeff Becker 4e3089dee4
fix last commit 6 years ago
Jeff Becker 6866e70a95
build paths if we are out of exits on exit session 6 years ago
Jeff Becker 8d613c182f
nullptr check 6 years ago
Jeff Becker b56b3ad16d
don't remove ip mapping when endpoints are removed 6 years ago
Jeff Becker 17297837d9
that's dumb af, use std::unique_ptr 6 years ago
Jeff Becker 9d551ba768
more 6 years ago
Jeff Becker 937ab151ab
idk what is going on 6 years ago
Jeff Becker 9baf6ecfd9
idklol 6 years ago
Jeff Becker 723351eb4e
friendship with std::unordered_map is now over, std::map is my new best friend 6 years ago
Jeff Becker c7c6905e1e
explicit type 6 years ago
Jeff Becker 207e312eb0
more logging 6 years ago
Jeff Becker 01724c8529
use const iter 6 years ago
Jeff Becker 6f796d031b
use const 6 years ago
Jeff Becker 7b188d0fde
more 6 years ago
Jeff Becker 715822c20d
logging 6 years ago
Jeff Becker 60ad2c76e0
try this 6 years ago
Jeff Becker 2bfdd7798c
use emplace? 6 years ago
Jeff Becker d44872496f
gfdi 6 years ago
Jeff Becker cd94da7ffe
gfdi 6 years ago
Jeff Becker b689bbbcf6
gfdi 6 years ago
Jeff Becker 489d1e645b
actually add exit :p 6 years ago
Jeff Becker 0889071514
more logging 6 years ago
Jeff Becker 355d09e22b
random fixes 6 years ago
Jeff Becker 658210b9d1
fix up exit tun, fix up codel to actually do its job 6 years ago
Jeff Becker 2ca6a31d4c
serialize correctly 6 years ago
Jeff Becker ca3a675ac8
more logging 6 years ago
Jeff Becker 2f2d2847b3
debug logging 6 years ago
Jeff Becker 1a410c4b22
more logging 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 2f855c106c
increase buffer size 6 years ago
Jeff Becker 76c53a0dc9
update logging 6 years ago
Jeff Becker a520fb379b
use rxid instead of txid for exits 6 years ago
Jeff Becker d24bc70a7e
try fix 6 years ago
Jeff Becker fd4b452cdd
fix 6 years ago
Jeff Becker 9584c13aca
more 6 years ago
Jeff Becker a65a4b1b58
fix 6 years ago
Jeff Becker a3e14028d5
start exits 6 years ago
Jeff Becker 56676002aa
wire up exit traffic 6 years ago
Jeff Becker 5dbe41608f
more exit stuff 6 years ago
Jeff Becker f9a4c57d66
Merge branch 'master' into dev 6 years ago
Jeff Becker 06721ba7f3
Merge remote-tracking branch 'ryan/master' 6 years ago
Ryan Tharp 4127c9bea5 Don't let NS record stomp A values 6 years ago
Jeff Becker f40e4c0c84
more exit stuff 6 years ago
Jeff Becker 1fc8db83ca
Merge remote-tracking branch 'rick/dev' into dev 6 years ago
Jeff Becker 9db99d4d04
fix debian build 6 years ago
despair 715e59808e bad merge! 6 years ago
despair ff6a271278 why would pos ever be negative? 6 years ago
Jeff Becker af7b4b75b8
Merge remote-tracking branch 'rick/dev' into dev 6 years ago
despair a361626af5 this is driving me at least mildly insane
we _never_ get to llarp::udp_listener::read
6 years ago
despair c1d07e99a0 remove dead code
(rip golden shield users D:)

remove more dead code

debug udp stuff

remove debug kqueue
6 years ago
Jeff Becker e91d7cf88f
Merge remote-tracking branch 'rick/dev' into dev 6 years ago
Jeff Becker 9a12bfd0b1
Merge remote-tracking branch 'ryan/master' 6 years ago
Jeff Becker 394f21773a
Merge remote-tracking branch 'ryan/master' into dev 6 years ago
despair f6fb063684 this is driving me at least mildly insane
we _never_ get to llarp::udp_listener::read
6 years ago
despair d311b2e9a9 remove dead code
(rip golden shield users D:)

remove more dead code

debug udp stuff

remove debug kqueue
6 years ago
Ryan Tharp 2d190508c5 does not work on MacOS at all 6 years ago
Ryan Tharp 87b1fb8b31 fix bad merge 6 years ago
Ryan Tharp dfd602f390
Merge branch 'master' into master 6 years ago
Ryan Tharp c7aa3617b8 fix PTR record reading when answer type doesn't make question type 6 years ago
Jeff Becker 09945dce62
initial exit/service node comm code with some unit tests (incomplete) 6 years ago
Jeff 49cd5dfaa6 fix dns on macos 6 years ago
Jeff Becker 7b61cbb4a1
make dns port configurable, update default dns 6 years ago
Jeff Becker a83e21c464
add upstream dns to default hidden service 6 years ago
Jeff Becker fb0e6c3d9c
make dns configurable on runtime 6 years ago
Jeff Becker c30d908893
Merge branch 'master' into dev 6 years ago
Jeff Becker a59343cfec
we NEED NT >= 6 for event loop 6 years ago
Jeff Becker d408b08889
make windows cross compile pass, make format parts of libutp 6 years ago
Jeff Becker fd87f2ac96
purge VLAs from the codebase 6 years ago
Jeff Becker c91fc1770e
don't use VLA 6 years ago
Jeff Becker e0f1d985c8
more dht tweaks 6 years ago
Jeff Becker 38a92cb1a8
fixes for testnet 6 years ago
Jeff Becker 04a249a503
Merge remote-tracking branch 'rick/dev' 6 years ago
Jeff Becker 960aa479e9
fixes for ancient rpi toolchain 6 years ago
despair 48d2685e36 fix windows cross-compile 6 years ago
despair 2a5a0f1577 fix warnings on windows
up next: fix netbsd
6 years ago
Jeff Becker 7a78832841
Merge remote-tracking branch 'rick/dev' 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
Jeff Becker 58db5c1769
make android build work in android studio 6 years ago
despair 04e620ebf2 add iocp tcp connect
msys2 grabs its reactos sdk headers straight out of git
most cross-compilers use the versioned releases (v6 as of last week)

huh. for once setting the windows version macros doesn't break anything.
6 years ago
Michael Thorpe a2d5d80779
Enable warnings as errors
test criteria:
- Built from clean on macOS
6 years ago
Jeff Becker b501913f85
make android build work with gradle 6 years ago
Jeff Becker f1cca956f9
make android compile again 6 years ago
Jeff Becker f03603a0da
always remove dht nodes, lock sometimes, don't make router destructor virtual 6 years ago
Jeff Becker 80b99d2efb
make format and parallelize analyze target in makefile 6 years ago
Jeff Becker 7c3f80e84b
Merge remote-tracking branch 'ryan/master' 6 years ago
Ryan Tharp 917edfbd4e update llarp::Addr changes 6 years ago
Jeff d630862887 fix up config generation with example snapp config 6 years ago
Michael Thorpe 4f794277bc
Fix compile issue in endpoint.cpp 6 years ago
Ryan Tharp 6192b0277e accelerate already built paths (HasPathToService) 6 years ago
Ryan Tharp 1ded1813ea lower debug 6 years ago
Ryan Tharp 25fb34c7b4 lower debug 6 years ago
Jeff 1f7e0d79e6 make Endpoint::HasPathToService behavior correct 6 years ago
Ryan Tharp 1957916170 re-import missing addr functionality, make compile 6 years ago
Ryan Tharp 5d90cbe895 Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Jeff 50f37d8ede don't use endpoint's paths 6 years ago
Ryan Tharp eeab475875 fix build 6 years ago
Ryan Tharp 7af23dcaad format 6 years ago
Ryan Tharp 82d8d3c04d merge 6 years ago
Ryan Tharp 67390de0c2 merge 6 years ago
Jeff Becker 080c0da4a0
remvoe const requirement and update unit tests for jsonrpc server 6 years ago
Jeff Becker e7cfc9aa6e
try fixing freebsd build 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 c8f870392f
make format 6 years ago
Jeff Becker ac1d1169bc
Merge remote-tracking branch 'rick/dev' into dev 6 years ago
Jeff 4b92661f5d * fix up kqueue tcp connection tracking so it works on mac os
* match changes in epoll for kqueue changes
* additional checks in libabyss
6 years ago
despair 57ea36f947 i knew i was forgetting something earlier 6 years ago
despair 6e862f1acf apple compiler reeeeee 6 years ago
Jeff Becker 2d279e83fd
initial tcp connect for epoll 6 years ago
despair 561c5228d3 fixed race condition in event loop....dns seems to work now :DDD 6 years ago
despair 45f46fbece this...looks promising :DDDDD 6 years ago
despair 186e2ea989 refactored event loop base classes
use the base class impl for llarp::tcp_conn::sendto

can't seem to escape quotes ;-;

yeah this need to stay out of the unix build

turn on gnu extensions

apple stuff

remove duplicate code

clean up

fix vtable

clang-format

parameter checks
6 years ago
despair 9afe63d738 polish new build script
pass cxxflags down to c++ driver
6 years ago
despair 5a32ccf220 scan-build fixes on win32 code paths 6 years ago
despair 38f2a6b2c9 be slightly less annoying
check build rules
6 years ago
despair c5d1b32286 remove microsoft c++ crud
🤔🤔🤔🤔
6 years ago
despair 5aba9776d0 fix unit test 6 years ago
despair d425b5d308 implement tcp evloop on win32
(with its now-obsolete distinction between socketfd and fd)

sockets and file descriptors used to be distinct objects....back in the
16-bit Winsock 1.1 era, which needlessly complicated the 32-bit port
back then. these days one can use [Read|Write]File(2) to operate on
sockfds...which also have some of the semantics of [read|write]v(2)
i.e. the scatter-gather thing it's known for is done in async handler

-rick

variants are nice

added note to self

clang-format

link abyss properly

oops

shut up

*shrugs*

oops forgot to start winsock

moved our async io status flags to the base class

let derived classes override them as needed

this is probably a synchronous op _anyway_

fix typo

wtf
6 years ago
despair b1c28be916 grabbed packaging scripts and fluff from abandoned repo 6 years ago
Ryan Tharp 5248283128 Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Jeff Becker e722e69543
more freebsd stuff 6 years ago
Jeff Becker 0d09dbb1c2
disable special tun behavior for freebsd 6 years ago
Jeff Becker 51bfcb5493
milliseconds not microseconds 6 years ago
Jeff Becker dbd2c41909
use event loop for time 6 years ago
Ryan Tharp 3f424e545d Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Ryan Tharp 1877498fce Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Ryan Tharp 9205b8172c scan-build fixes 6 years ago
Jeff 9f9d4cd0e0 flush during tick 6 years ago
Jeff 2ca152f43f make tun work on kqueue 6 years ago
Jeff 678f9e30eb call cleanup timer 6 years ago
Jeff 04b738aa9e make it work on osx for real 6 years ago
Jeff d3531ca561 fix macos build and add anaylze target 6 years ago
Jeff ccead80c3d make jsonrpc server configurable on build, disabled by default.
default to client only and require explicitly run as relay to run as relay.
6 years ago
Jeff Becker b3e7fee982
try making compatable with older versions of rapidjson
add toy munin plugin
6 years ago
Jeff Becker 6e1761eb05
first jsonrpc endpoint added 6 years ago
Jeff Becker 48e4f676cc
add rpc method for llarp.admin.link.neighboors 6 years ago
Jeff Becker 04d55b94c5
fix up jsonrpc stuff 6 years ago
Jeff Becker ab7a4cd805
make jsonrpc demo work 6 years ago
Jeff Becker e8bbc10838
zero copy logic for abyss::http::ConnImpl 6 years ago
Jeff Becker f873b18036
fix up event loop 6 years ago
Jeff Becker c483ec5231
bounds check for tun and tcp writing 6 years ago
Jeff Becker de17324012
don't make tcp event code epoll specific 6 years ago
Jeff Becker 957a5ed833
initial epoll event loop implementation for tcp 6 years ago
Ryan Tharp 6f261c321c Merge branch 'master' of https://github.com/neuroscr/loki-network 6 years ago
Jeff b001d1f96b try fixing whatever memory corruption happens 6 years ago
Jeff 8c591ceb96 use default endpoint 6 years ago
Jeff f35f34ede4 check for address 6 years ago
Jeff c3989cbcf4 make dns work correctly with rdns, tired of waiting just make it fucking work. 6 years ago
Jeff 5ec9b651df ony publish to near router 6 years ago
Jeff 78448174f5 don't propagate introset too far 6 years ago
Ryan Tharp 4646779b0a refactor out net.hpp => net_addr.*, new inAddr struct API 6 years ago
Jeff 0e66ba2026 flush tun on macos 6 years ago
Jeff cadc01a9b1 makeit work on macos 6 years ago
Jeff 6a6ceec514 Merge branch 'master' into dev 6 years ago
Jeff Becker dccaa77e43
correct headers 6 years ago
Jeff Becker 4411d85040
fix headers 6 years ago
despair86 d8cfac47a8
ok updated to match recent changes 6 years ago
Jeff Becker c262f8b5e3
bundle relevent libsodium parts 6 years ago
Jeff 4ea3549c21 tick and use std::unique_ptr 6 years ago
Jeff b8ed9ceea8 fix kqueue and merge changes 6 years ago
Jeff 390333c787 Merge remote-tracking branch 'origin/master' 6 years ago
Jeff 146fa13837 merge 6 years ago
Jeff Becker cc106ed37b
fix dht bug, probably, re-enable loopback testnet functionality 6 years ago
Jeff Becker c6f1355c5d
Merge branch 'master' into dev 6 years ago
Jeff Becker 118954818c
try fixing memleak 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
Jeff Becker 26ad679b1d
set send queue limit to something really big 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
Ryan Tharp db64547ab3 Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Jeff Becker 40b003b6fc
Merge branch 'dev' of ssh://github.com/loki-project/loki-network into dev 6 years ago
Jeff Becker 612057003a
de changes 6 years ago
Jeff 1cb2bb6136 Merge branch 'dev' 6 years ago
Jeff cc3908f025 more changes 6 years ago
Jeff 71172fe72b use std::unique_ptr as to not leak like a motherfucker 6 years ago
Ryan Tharp 58c7443073 improve string handling of .loki, initial reverse hook handling 6 years ago
Ryan Tharp 0d9f42d87f stop iterator if visit returns false, fix funtion name typo 6 years ago
despair86 ae4a6ac217 fix ineffective RC bogon check
this used to write both private and public inet6 addresses into the RCs, for relays with port forwarding enabled
6 years ago
despair86 1a46631454 remove unused code 6 years ago
despair86 9d546cbac4 separate read and write event ports to avoid overwriting queue events 6 years ago
despair86 d4a7dfd08d remove extra code, pass the buffer size to read() directly, check for overflow 6 years ago
despair86 b2cb4cd0e8 fix uint 6 years ago
Jeff Becker e6a8edffbf
call hook 6 years ago
Jeff Becker 9a962540fb
update eventloop on win32 6 years ago
Jeff Becker 15c99f3192
unit tests for bogons 6 years ago
Jeff Becker 7960752430
fix crash 6 years ago
Jeff Becker 1a55839e26
Merge branch 'dev' of ssh://github.com/loki-project/loki-network into dev 6 years ago
Jeff 1da0f9f6f5 path randomization for lookups on failure 6 years ago
Jeff Becker ff26f2dcff
do bounds check 6 years ago
Jeff Becker d7c188d817
Revert "add a check for overlow in event loop"
This reverts commit 1042c73829.
6 years ago
Jeff Becker 1042c73829
add a check for overlow in event loop 6 years ago
Jeff Becker f72a954029
log endpoint when requesting introset 6 years ago
Jeff Becker acaeb26f45
shift intro if expired before building next message 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 360ccc33de
ip: more one's complement math improvements 6 years ago
cathugger 4d5f5fecfa
ip: make things fragmentation-aware, cleanup UDP handling; also format
one's complement math is pretty fun
6 years ago
Jeff Becker bf9512dfaf
Merge remote-tracking branch 'ryan/master' 6 years ago
Jeff Becker 8bf28940d1
Merge remote-tracking branch 'cathugger/master' 6 years ago
despair86 7f226d7734 revert merge
(i can put these in the dev branch for now)
6 years ago
cathugger 18c20396b6
add {h,n}uint16_t types, optimize TCP/UDP checksuming
use static functions + switch instead of lambda functions + map.
6 years ago
despair86 5576254c2e make it compile on nt 6 years ago
despair86 88854f558e Revert "return the correct address family?"
not really needed....looks safe so long as the bytes are in network order (hence, the inet4 link will only grab the top 32 bits of the whole inet6 address field.)
This reverts commit 56e41ebda0c29bb2a85dd3f8dbbfba30da8c0a2c.
6 years ago
despair86 7d30d9ee38 return the correct address family? 6 years ago
despair86 e08dedf7a2 really fix endianness 6 years ago
despair86 630cf99bae fix inet4 to inet6 transition bug 6 years ago
Ryan Tharp fd41f7b3db just make sure everything is initialized, fix typo in testing debug 6 years ago
Ryan Tharp 316df4703a merge 6 years ago
Ryan Tharp 14ccb2f81e Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Jeff Becker 252b2ee3fb
move function into source file out of header and add operator overloading for == and != on introset 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
Jeff e0c6404830 fix previous commit 6 years ago
Jeff 0023c15d0f fix introset expiration 6 years ago
Jeff fd37100ac8 typofix 6 years ago
cathugger 257ce99f43
ip: fix UDP checksum offset 6 years ago
cathugger e1c7d8a696 some tweaks and fixups 6 years ago
cathugger 4971fae171 uint32_t byte ordering type safety 6 years ago
Ryan Tharp 47a67cdefb restructure casting to avoid crash 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 1d7b0d77a9
Revert "make it compile :DDDD"
This breaks the build and reverts commit 6732cbf54f.
6 years ago
Jeff Becker 6732cbf54f
make it compile :DDDD 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 5169df546c ip: UDP checksum recalculation support 6 years ago
cathugger 7fd501e528 ip: use deltachksum for IPv4 headers aswell 6 years ago
cathugger 36ea776d07 ip: try to fix deltachksum 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 ed39cb98e1 ip: (try to) fix deltachksum 6 years ago
cathugger c515e4a248 ip: avoid pointless length checks 6 years ago
cathugger a92e7c2104 ip: fix stupid MIN thing 6 years ago
cathugger b5392c5679 make format 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
Ryan Tharp 529cd4e6a3 expose dns_query and build_dns_packet() 6 years ago
Ryan Tharp c8c4a0da10 don't risk any SOA crashes, fix language types 6 years ago
Ryan Tharp 924c3c0895 fix cast 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
Jeff Becker a7f8da4cbc
fix double free 6 years ago
Jeff Becker 475ac63f4a
initial admin api infra 6 years ago
Ryan Tharp 7550d6b022 revert Jeff's misunderstanding 6 years ago
Ryan Tharp 2fb5eaba1c remove getSockAddr() per Jeffs PR CR, add additional notes to reduce confusion 6 years ago
Ryan Tharp 4d3ad13daa Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Ryan Tharp 9bc9eed1d5 Merge branch 'master' of https://github.com/neuroscr/loki-network 6 years ago
Jeff bb3bed11dc try better handover logic again 6 years ago
Jeff 07871827d0 swap intro 6 years ago
Jeff 608768628a don't rebuild 6 years ago
Jeff 78b82f9a5e try not killing paths 6 years ago
Jeff 0c4709efdd Merge branch 'master' of ssh://github.com/loki-project/loki-network 6 years ago
Jeff a1d1518bc0 update logging to use human readable time 6 years ago
Jeff Becker 291cc57395
revert 6 years ago
Jeff Becker f03698fb33
add to queue 6 years ago
Jeff Becker f1a303d4d9
locking 6 years ago
Jeff Becker 0a4da82780
remove line 6 years ago
Jeff Becker 0480df528c
fixes 6 years ago
Jeff Becker 95b097f9b7
multithreaded crypto (maybe) 6 years ago
despair86 3c13101beb clang-format 6 years ago
despair86 3c7b7f2176 overlapped io pending is NOT an error 6 years ago
despair86 31c8aee3c1 woooooooooooooo
lokinet on win32 is now live
and the server code is more stable than the client code
6 years ago
despair86 2326ad0339 added note 6 years ago
despair86 e98835ff5c debug 6 years ago
despair86 457d6fbaf6 rebase conflict 6 years ago
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