Commit Graph

872 Commits (a1d1518bc08404c7bec1aab8359739a07dea374c)

Author SHA1 Message Date
Jeff Becker 3963070139
fix windows 6 years ago
Jeff Becker 095170d11e
fix windows build 6 years ago
Jeff Becker be38ea70f0
try fixing CI builds 6 years ago
Jeff Becker 62bae2075b
proper shift 6 years ago
Jeff Becker f110f3f3ad
tweak parameters for path build and obtain path if we have none 6 years ago
Jeff Becker 8e4b0a7963
fix reply logic 6 years ago
Jeff Becker efc6e23c6f
fix tcp checksum calc 6 years ago
Jeff Becker c31fd5fcde
make hidden services work again (probably) 6 years ago
Jeff Becker 5ebe3cc97c
limits and have clients use ephemeral identity 6 years ago
Jeff Becker d83eb54739
only shift introset when we get a drop that matches current intro set 6 years ago
Jeff Becker cde76250ca
close connections 6 years ago
Jeff Becker ebe30e81c9
try unscrewing things up 6 years ago
Jeff Becker acc1b625b4
actually store introsets when found 6 years ago
Jeff Becker 8d679b00a7
only log errors on sessions made with utp
only rebuild paths when introset changes router for outbound context
6 years ago
Jeff Becker d1f1dd3c84
publish intro to multiple routers 6 years ago
Jeff Becker b0f15d668a
don't close stale router sessions 6 years ago
Jeff Becker 2cf5e14ae9
lookup routers for intros 6 years ago
Jeff Becker 271acaf7e9
better intro shift logic, also actually shift intros 6 years ago
Jeff Becker 96716a39ef
send link layer keep alive and track bad intros 6 years ago
Jeff Becker 1eda28a2da
close invalid sockets 6 years ago
Jeff Becker 0c1e22650e
try calcuating tcp checksums right
try tracking convo tags correctly
6 years ago
Jeff Becker 8d6e7df94d
update convo tag and intro 6 years ago
Jeff Becker 1471e90fb5
intro handover 6 years ago
Jeff Becker 9ee7275a02
decrypt frames correctly and set return address 6 years ago
Jeff 689668d892 fix osx build 6 years ago
Jeff Becker 6dfed968ea
use correct parameter 6 years ago
Jeff Becker bc3b411dbf
make it right 6 years ago
Jeff Becker 217f4a0d3f
use correct intro in tag tracking 6 years ago
Jeff Becker 9ffcf66e58
more checks less logging 6 years ago
Jeff Becker edbd9197e5
update spec and fix copy constructor 6 years ago
Jeff Becker f029b9508c
pick router closest in keyspace for lookups and publishing 6 years ago
Jeff Becker 2761da0b5f
actually load config 6 years ago
Jeff Becker e047bfa266
update readme
add sighup
6 years ago
Jeff Becker c900e9d004
increment iterator 6 years ago
Jeff Becker 9f9f9d9bb1
correct tcp checksum recalc (probably) 6 years ago
Jeff Becker 0945275fd5
make it compile 6 years ago
Jeff Becker 9ed3da1671
correctly map addresses 6 years ago
Jeff Becker 8114f63e70
use queues 6 years ago
Jeff Becker 2f2e3be8b7
lessen logging spew 6 years ago
Jeff Becker 4f691b8974
make tun write correct number of bytes
try doing correct ip checksum and for upper layers that need it too

supported right now are icmp, tcp, and udp. more will come later
probably.
6 years ago
Jeff Becker 44cea54dea
avoid stack overflow 6 years ago
Jeff Becker 7027ba2cf1
more agressive network exploration
add install target for makefile
6 years ago
Jeff Becker dd6a8360ba
don't tick in kqueue if closed 6 years ago
Jeff Becker 2bd7f2101d
remove logging 6 years ago
Jeff Becker 7f3465022d
check for null session 6 years ago
Jeff Becker 39401dac42
don't use vendored director iterator 6 years ago
Jeff Becker f5b8d552e1
path peer profiling
propagate introsets better
6 years ago
Jeff Becker 354df88367
more ip endpoint fixes
spam dht with lookups less
6 years ago
Jeff Becker ffdff3e09c
mark successful connections in profiling
don't dht lookup bad routers
6 years ago
Jeff Becker 6986f04418
basic router profiling and fix ip rewrite 6 years ago
Jeff Becker 76e87aa608
more debug logging
timed out paths are not expired
6 years ago
Jeff Becker f55c5e674d
relax timeouts 6 years ago
Jeff Becker 3af51cbe55
add path latency minimum checker
add min-latency option to hidden service config
6 years ago
Jeff Becker c0afc97d41
better explore logic 6 years ago
Jeff Becker 832b24ba93
delete don't abort when building paths failed to key exchange
try making dht less talky

check timestamps on intros
6 years ago
Jeff Becker 0c1dfa4a27
check nodedb for routers not just dht peer list 6 years ago
Jeff Becker b947e55616
fix leak on sign/encrypt fail 6 years ago
Jeff Becker b56d25730e
improve send rate 6 years ago
Jeff Becker 6f4e998910
fix previous commit 6 years ago
Jeff Becker 3d424b57a7
client side endpoint improvements 6 years ago
Jeff Becker ac2c14437f
god damnit 6 years ago
Jeff Becker 956549c818
connect to 10 random routers on startup 6 years ago
Jeff Becker 1c849973ca
send data discarded messages 6 years ago
Jeff Becker a9b259985e
add data discarded message in routing layer to indicate
a path no longer exists.
6 years ago
Jeff Becker baf2e1fb3c
client improvements
for real do correct timestamp comparison for introsets
6 years ago
Jeff Becker 2993e834a0
fix ip stuff 6 years ago
Jeff Becker 320fbdf3bc
always traffic 6 years ago
Jeff Becker 2eca0005c1
fix up more stuff 6 years ago
Jeff Becker c3a7f64344
expire introsets correctly and allow multiple tun if 6 years ago
Jeff Becker b96887ddb2
various fixes and tweaks 6 years ago
Jeff Becker 1952ece99d
more logging 6 years ago
Jeff Becker cb2802e003
fix segfault on quit 6 years ago
Jeff Becker 1df9a4b078
persist RC from lookups in nodedb 6 years ago
Jeff Becker 96526058b2
update readme and make dht bootstrap work with low peer count 6 years ago
Jeff Becker b23dab09fb
don't overwrite our RC, hide parameter. 6 years ago
Jeff Becker 0f97494998
fug 6 years ago
Jeff Becker 751b86d8c3
forgot a change 6 years ago
Jeff Becker adbf53bc40
protocol docs, more efficient padding, make code reflect protocol changes. 6 years ago
Jeff Becker ec143e11a4
explore via 1 router 6 years ago
Jeff Becker 48e30f5492
actually fix compile error for windows 6 years ago
Jeff Becker c43a075b74
force number of workers in threadpool 6 years ago
Jeff Becker bfb00bb7bd
utp fixes 6 years ago
Jeff Becker 4b3a113397
mostly works 6 years ago
Jeff Becker 5dfcd60df1
more 6 years ago
Jeff Becker 6ef89ea8b2
un break (kinda) 6 years ago
Jeff Becker 60d5277351
broken 6 years ago
Ryan Tharp 742a0b8da7 Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Jeff Becker ba648868c4
more 6 years ago
Jeff Becker 2a8fc53ca6
make it compile 6 years ago
Jeff Becker 085563ac2f
implement utp link protocol
gut curvecp for now
6 years ago
Jeff Becker 1839da9c3c
add bencode file helpers and move link server functions into source file 6 years ago
Jeff Becker a8b672a19f
make it compile 6 years ago
Jeff Becker ce1290d327
add more members to llarp::Addr 6 years ago
Jeff Becker c3c388b6aa
remove iwp and start on curvecp
does not compile
6 years ago
Jeff Becker 74b713870b
use const
always use outbound links
6 years ago
Jeff Becker b362784581
redo codel to do as few allocations as possible 6 years ago
Jeff Becker 8bae1a4735
move codel off of pointer types 6 years ago
Jeff Becker 4e693a2414
make signatures work again ;~; 6 years ago
Jeff Becker 973f86c900
it compiles 6 years ago
Jeff Becker 5228a81bae
more refactor
get rid of C api
6 years ago
Jeff Becker b122fc59f8
refactor (not done) 6 years ago
Jeff Becker 199dad09dd
* kill dht feedback loop
* add dht exploration for discovering new routers

* tweak loopback testnet paramters to not be initially fully connected
6 years ago
Jeff Becker cf0aa2da24
forgot files 6 years ago
Jeff Becker d3eef5c8b7
more netns code 6 years ago
Jeff Becker bee5eee0b1
fix skiplist placement 6 years ago
Jeff Becker 3588580c1a
Merge branch 'master' of ssh://github.com/loki-project/loki-network 6 years ago
Jeff Becker 435fba25fd
add parts to rcutil to print out info about RCs: ./rcutil -V self.signed 6 years ago
Ryan Tharp c8a613eec6 deconflict saddr 6 years ago
Ryan Tharp 8724ddd792 Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
despair86 e71c00f736 header fix 6 years ago
despair86 258c2a12dc i blame clang-format 6 years ago
despair86 79c992a9be Microsoft libc6.x and libc7.x do not have C99 printf semantics, mingw-w64 handles this inline 6 years ago
despair86 23ecd03c71 win32 native threading vs pthreads on mingw-w64
also, msc++ implements all of C++17
6 years ago
despair86 3ccb425021 hmm this may work on BSD unix... 6 years ago
Ricardo Villegas 3cca107041 more header fixes
-despair86
6 years ago
despair86 9b73b013ce run-time assertion in ms c: make sure that CPP macro and local variable `LOOPS == loops` 6 years ago
Jeff 7af9ed0f70 Merge branch 'master' of ssh://github.com/loki-project/loki-network 6 years ago
Jeff 367258551b fix osx build 6 years ago
Jeff Becker ba12f3e5e2
prevent crash? 6 years ago
Jeff Becker 3625313304
clear pending dht tx 6 years ago
Jeff Becker bb25537fb5
build paths if we have no connected routers to make sessions happen 6 years ago
Jeff Becker 4e3acd0277
persist sessions between routers 6 years ago
Jeff Becker 51029f0f2f
make loopback testnet work again 6 years ago
Jeff Becker 885fb3cd97
revert back to priority queue for codel 6 years ago
Jeff Becker f989996bc7
lol 6 years ago
Jeff Becker b77525b72d
persist on commit 6 years ago
Jeff Becker b7039f6e5c
more tun stuff 6 years ago
Jeff Becker a2f4c3e3bb
add more autogenerate config lines 6 years ago
Jeff Becker dbac1334e0
disable promises in win32 6 years ago
Jeff Becker 4e2f0ccbf8
* add ProcessIf in CoDel queue to requeue unprocessed items
* more tun code
* make event loop tick and write with tun
6 years ago
Jeff Becker 4aebbda640
more tun stuff 6 years ago
despair86 c24a73f756 ran the linter on new code 6 years ago
despair86 db1989c848 new named thread API on win32 6 years ago
despair86 961a4b1d3c eww, merge conflicts 6 years ago
Ricardo Villegas 43760dee2e more sun patches, plus a note to port solaris tuntap after
doing the windows port of same
6 years ago
despair86 8c1b2c3b79 win32 fluff
more win32 on msc++ fluff

and a solaris patch that i may revert later if the cpp directives aren't processed correctly
-despair86
6 years ago
despair86 9ad93a0893 sunos patches, avoid shadowing data members in derived classes, header fixes
SunOS build works, with a few issues:

- no tuntap debugging on Solaris? (TUNSDEBUG ioctl missing)
- regular socket ioctls are not pulled in with #include <sys/ioctl.h>
  even though they're included at the bottom of same (filio.h,
  sockio.h)
- no named threads in any libre fork of solaris

-despair86 (rick)

sun patch
6 years ago
despair86 72c2231caf this works apparently 6 years ago
despair86 556bc2b740 these headers need to be in a specific order
because the winsock sdk does weird shit
6 years ago
despair86 5f47b335a4 now matches the other platform behaviour, namely, that as long as the event-based queue file descriptor is valid, so is the event loop itself 6 years ago
Jeff Becker 4ab9f72415
backport for gcc 5 6 years ago
Jeff Becker 377cc78144
fix crash 6 years ago
Jeff Becker 1a1f93c171
* more tun stuff
* use std::unique_ptr where bare pointers aren't absolutely required
6 years ago
Ryan Tharp e4214cb25e format 6 years ago
Ryan Tharp 32fa716ac3 Merge branch 'master' of https://github.com/neuroscr/loki-network 6 years ago
Ryan Tharp 7171abe825 gcc 7 fix 6 years ago
Ryan Tharp cabd523188 make sure it's lowercase before decoding 6 years ago
Ryan Tharp 9f1f3a35d4 skip answer if type 5 (cname) and advance to first answer, also properly adjsut for SOA hack 6 years ago
Ryan Tharp e3df552986 Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Jeff Becker 913fb1d88a
don't use 100% cpu 6 years ago
Jeff Becker 08d6121a5a
more tun code 6 years ago
Ryan Tharp 80f70f5a84 fix linux compile 6 years ago
Ryan Tharp a5f2f7080d Merge branch 'master' of https://github.com/neuroscr/loki-network 6 years ago
Ryan Tharp 94b6b828c1 Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Jeff Becker 5b322510a7
try making it compile 6 years ago
Jeff Becker e6de816dce
touch win32 code to make it compile, sorry. 6 years ago
Jeff Becker b47a67bbd5
make it compile 6 years ago
Jeff Becker b4f672b950
continue to fix kqueue build 6 years ago
Jeff Becker 944d22abde
fix kqueue build 6 years ago
Jeff Becker 04bf8d6116
some tun interface code 6 years ago
Jeff Becker 6a828ea985
fix shadow build 6 years ago
Jeff Becker 98b3bd6354
add runtime toggle of AVX2 code in sntrup 6 years ago
Jeff Becker 1d3e9f6adc
make testnet no longer crash 6 years ago
Jeff Becker c12da3dfc7
fix bad offset 6 years ago
Jeff Becker 186bd7d573
use NTRU for introset end to end encryption 6 years ago
Ryan Tharp 484a4b6164 match up prototypes to remove LLVM 3.8 warning 6 years ago
Ryan Tharp ec237768d7 merge 6 years ago
Ryan Tharp ab3493ba3d Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Jeff Becker d7c1c3322f
it works. 6 years ago
Jeff Becker e79708c1dc
hidden services sorta work 6 years ago
Jeff Becker a9b28e5407
more fuxing around 6 years ago
Jeff Becker c36c83d9dc
more hidden service code 6 years ago
Jeff Becker 143da869b5
fix windows build 6 years ago
Jeff Becker b6ec1e94db
only write nickname if present in rc 6 years ago
Jeff Becker 6bae623481
more defaults 6 years ago
Jeff Becker 32d82b5ba5
add more defaults in config with comments 6 years ago
Ryan Tharp bf52d363de Merge branch 'master' of https://github.com/loki-project/loki-network 6 years ago
Ryan Tharp 15dbaf3808 big clang-format cleanup 6 years ago
Ryan Tharp 3ada1e15be llarp_main_queryDHT_RC(), llarp_main_init_dnsd(), actually query DHT on dns lookup 6 years ago
Jeff Becker d5532e4de4
more boilerplate and enable tun/tap build 6 years ago
Jeff Becker c71d0b2bb3
always use SIGCHLD in clone 6 years ago
Jeff Becker e4bcf44a25
make net isolated threadpool more generic 6 years ago
Jeff Becker 33c5cf5a89
override join for isolated threadpool 6 years ago
Jeff Becker 62f41d3747
initial threadpool isolation code and run make format 6 years ago
Jeff Becker 30edb26ed9
use endian helpers 6 years ago
Jeff Becker ebfe820b7a
remove the rest of gcc compiler warnings 6 years ago
Jeff Becker 53b4a94c75
clang format and fix (some) compile warnings 6 years ago
Ryan Tharp b5e136d916 fix if 10 is in use, comments and other last minute notes 6 years ago
Ryan Tharp 9cb814587d use CopyInto cleanup 6 years ago
Ryan Tharp 4e7fee7ef5 linux build fixes 6 years ago
Ryan Tharp 57c41f0d65 new ip tracker 6 years ago
Ryan Tharp c5dd067abe format 6 years ago
Ryan Tharp f6398f0126 llarp_getPrivateIfs(), format 6 years ago
Ryan Tharp 73a8be3e60 fix warning 6 years ago
Ryan Tharp 99761ad2c7 add copyright, fix gcc warning 6 years ago
Ryan Tharp 16c56ff04b Merge branch 'master' of https://github.com/majestrate/llarp + gcc 7.2 fixes 6 years ago
despair86 1e9f49d6ef Merge remote-tracking branch 'upstream/master' 6 years ago
Jeff Becker 224748bcaf Merge remote-tracking branch 'loki/master' 6 years ago
Jeff Becker 86ec4dacc3 dht and testnet fixes 6 years ago
despair86 9c0b395c67 vs clang format isn't supposed to inject tabs ffs 6 years ago
despair86 c1765d562b minor patch, make sure the iocp fields are valid before attempting to cast the ev_id back to its ptr 6 years ago
despair86 ae956aff5f This completes the Windows NT Server port of the LokiNetwork components.
Also changed the epoll_wait timeout to 10ms in llarp_epoll_loop::run() to match the other platforms.

-despair86
6 years ago
Jeff Becker f68e3029b0 fix timeouts 6 years ago
Jeff Becker 68a69da0bf fix kqueue run function, have it wait for 10ms so tick works 6 years ago
Jeff Becker 694644ac8b timeout for kevent tick 6 years ago
Jeff Becker cc59d7944a event loop must call tick every tick including on timeout 6 years ago
Jeff Becker 44663d18a5 fix typo 6 years ago
Jeff Becker 9dc88fb64b another win32 cross compile fix 6 years ago
Jeff Becker a99fa8f6cf try fixing windows cross compile 6 years ago
Jeff Becker 0d2bce2089 fix up win32 specific parts 6 years ago
Jeff Becker 1b20ba6a6c fix dead code, clean up parts. 6 years ago
Jeff Becker 066c208622 add mutex/lock to singlethread mode threadpool
remove uneeded i2p.rock.signed.txt

update makefile clean target
6 years ago
Jeff Becker 5c03b3c8f9 add comments 6 years ago
Ryan Tharp 52bbf890ef move hook out of dnsd into daemon, made hook use timer, decode_answer has beginning SOA parsing support, getDNSstring() refactor 6 years ago
despair86 bdc54835c2 initial windows server port. Requires Windows 2000 Server or later.
- updated CMake build script
- builds with Microsoft C++ 19.1x. such builds require Windows 8.1 or later
  unless you have the .NET Server 2003-toolset (v141_xp)
- windows port requires a C++17 compiler since cpp17::filesystem is POSIX-only
- HAVE_CXX17_FILESYSTEM manual toggle in CMake. You must manually specify where
  std::[experimental::]filesystem is defined in LDFLAGS or CMAKE_x_LINKER_FLAGS.
- IPv6 support can be added at any time, and the windows sdk still has that
  inline getaddrinfo(3) if it can't find a suitable IPv6 stack.
- inline code for mingw-w64: there's a few bits and pieces still missing simply because
  mingw-w64 derives its windows sdk from wine and reactos, and then writing all the newer
  stuff into it by hand straight from the MSDN manpages.
- misc. C++11 stuff (nullptr and friends)
- Internal file handling code takes UTF-8 or plain 8-bit text, NTFS is UTF-16, so
  std::filesystem::path::c_str() is wchar_t. That's no good unless you first
  call std::filesystem::path::string().
- implemented getifaddrs(3) and if_nametoindex(3) on top of GetAdapters[Info|Addresses](2).
- updated readme with new info

BONUS: may implement Solaris/illumos IOCP someday...

-despair86
6 years ago
Jeff Becker 7622f6cef1 dht tweaks 6 years ago
Jeff Becker 6bd2e965fc don't store client RC EVER 6 years ago
Jeff Becker 6ffa2eed1c fix up dht 6 years ago
Jeff Becker 12ea412763 fix dumb dht mistake 6 years ago
Jeff Becker f8e3ef16b9 correct typo 6 years ago
Jeff Becker d511057b7d * logging updates
* nicknames in RC (yw kee)

* spec update

* more hidden service code
6 years ago
Jeff Becker bc1c49b092 dht fixes 6 years ago
Jeff Becker d1bbce8192 add uint16/32 put/read on buffers 6 years ago
Ryan Tharp 82f300523d handle crash on multiple response to an alreayd handled packet, rename hook to sendto_hook, writecname_dnss_response() and write404_dnss_response() 6 years ago
Ryan Tharp de56a32069 another DNS clean up pass 6 years ago
Ryan Tharp 14df6724f7 bring kqueue up to date with epoll 6 years ago
Ryan Tharp c5851cd63a Merge branch 'master' of https://github.com/neuroscr/loki-network 6 years ago
Ryan Tharp 0b32bad7b9 Merge branch 'master' of https://github.com/majestrate/llarp 6 years ago
Ryan Tharp 564d96f0c8 print(), write(filename), commitStream(outstream), private commit() 6 years ago
Jeff Becker 928ec3790d deterministic logging 6 years ago
Jeff Becker 058ce4fae3 don't put private addresses into rc EVER 6 years ago
Jeff Becker 3b82dfd818 fix previous commit 6 years ago
Jeff Becker 3f54989b68 fix previous commit 6 years ago
Jeff Becker 28f6a76312 remove unused encoding functions 6 years ago
Jeff Becker d4ea843d33 fix feedback loop 6 years ago
Jeff Becker 1107b39d94 fix decode error 6 years ago
Jeff Becker b9f07e8593 * tweak event loop parameters
* various code cleanup
6 years ago
Jeff Becker 908716aca4 cleanup 6 years ago
Jeff Becker 2f51f6202a make it not crash 6 years ago
Jeff Becker d011fb550e have logic and netio run in same thread for now 6 years ago
Jeff Becker 08b60a9ae7 update code to match protocol spec
backwards incompat change
6 years ago
Ryan Tharp c78449e32c Merge branch 'master' of https://github.com/neuroscr/loki-network 6 years ago
Ryan Tharp 05e34e7b2f hook to get dnsd_context it was called from 6 years ago
Jeff Becker f7ab46aef0 fix osx build 6 years ago
Jeff Becker f65fee38be fix ffi example 6 years ago
Jeff Becker b1eddbc70f unbreak shared library build 6 years ago
Jeff Becker 07b99e8ac4 extern "C" block for shared library 6 years ago
Jeff Becker d6f8fd0f60 include header for android 6 years ago
Jeff Becker 48cfdab63c get rid of wizard and autogenerate configs if not present with sane defaults 6 years ago
Jeff Becker 976ca3015c move iwp server to own source file 6 years ago