Commit Graph

59 Commits

Author SHA1 Message Date
Michael
16cdfbd5f0
clang-tidy modernize pass 2019-08-12 16:52:58 +01:00
Thomas Winget
baf8019fe5 Refactor Router code into more classes
This commit refactors functionality from the Router class into separate,
dedicated classes.
There are a few behavior changes that came as a result of discussion on
what the correct behavior should be.
In addition, many things Router was previously doing can now be provided
callback functions to alert the calling point when the asynchronous
action completes, successfully or otherwise.
2019-07-25 14:11:02 -04:00
Michael
75430a234c
Convert to use memFn 2019-06-02 22:19:10 +01:00
Jeff
674f272a46
Merge pull request #630 from majestrate/master
recent stability stuff
2019-05-29 08:20:25 -04:00
Michael
491fee206b
Port code to use CryptoManager over passing Crypto pointers 2019-05-28 20:45:08 +01:00
Jeff Becker
27c101cc32
close timed out sessions 2019-05-25 10:54:30 -04:00
Jeff Becker
64c7ed42fc
make format 2019-05-22 12:20:50 -04:00
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
2019-05-22 12:20:03 -04:00
Michael
25f10d5b11
Fix more address sanitiser issues 2019-04-02 10:03:53 +01:00
Michael
561b997c93
Move IWP code to its own directory 2019-03-29 16:00:12 +00:00
Jeff Becker
c3c388b6aa
remove iwp and start on curvecp
does not compile
2018-09-02 14:25:42 -04:00
Jeff Becker
74b713870b
use const
always use outbound links
2018-08-31 15:46:25 -04:00
Jeff Becker
b362784581
redo codel to do as few allocations as possible 2018-08-31 14:33:08 -04:00
Jeff Becker
8bae1a4735
move codel off of pointer types 2018-08-31 10:41:04 -04:00
Jeff Becker
5228a81bae
more refactor
get rid of C api
2018-08-30 14:48:43 -04:00
Jeff Becker
b122fc59f8
refactor (not done) 2018-08-29 16:40:26 -04:00
Jeff Becker
199dad09dd
* kill dht feedback loop
* add dht exploration for discovering new routers

* tweak loopback testnet paramters to not be initially fully connected
2018-08-27 09:44:16 -04:00
Jeff Becker
b7039f6e5c
more tun stuff 2018-08-22 11:52:10 -04:00
Jeff Becker
1a1f93c171
* more tun stuff
* use std::unique_ptr where bare pointers aren't absolutely required
2018-08-17 15:49:58 -04:00
Jeff Becker
6a828ea985
fix shadow build 2018-08-14 18:07:58 -04:00
Jeff Becker
1d3e9f6adc
make testnet no longer crash 2018-08-14 17:17:18 -04:00
Jeff Becker
186bd7d573
use NTRU for introset end to end encryption 2018-08-13 19:22:31 -04:00
Jeff Becker
e79708c1dc
hidden services sorta work 2018-08-10 17:34:11 -04:00
Jeff Becker
62f41d3747
initial threadpool isolation code and run make format 2018-08-08 13:43:46 -04:00
Jeff Becker
86ec4dacc3 dht and testnet fixes 2018-08-04 12:59:32 +10:00
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
2018-08-01 23:41:02 -05:00
Jeff Becker
7622f6cef1 dht tweaks 2018-08-02 14:34:46 +10:00
Jeff Becker
bc1c49b092 dht fixes 2018-08-02 08:10:38 +10:00
Jeff Becker
d4ea843d33 fix feedback loop 2018-07-30 11:29:22 +10:00
Jeff Becker
b9f07e8593 * tweak event loop parameters
* various code cleanup
2018-07-30 10:30:10 +10:00
Jeff Becker
908716aca4 cleanup 2018-07-30 09:29:36 +10:00
Jeff Becker
2f51f6202a make it not crash 2018-07-30 08:57:39 +10:00
Jeff Becker
48cfdab63c get rid of wizard and autogenerate configs if not present with sane defaults 2018-07-27 10:21:57 +10:00
Jeff Becker
976ca3015c move iwp server to own source file 2018-07-27 08:06:11 +10:00
Jeff Becker
0f649d844f more 2018-07-27 07:08:56 +10:00
Jeff Becker
e91f69a0ef * put sequence numbers in routing messages
* more endian crap

* don't tick logic too much
2018-07-25 08:34:46 +10:00
Jeff Becker
44e898afc8 more endian crap 2018-07-24 17:18:35 +10:00
Jeff Becker
8553c206cb endian stuff 2018-07-24 17:06:42 +10:00
Jeff Becker
23fd7ac30c always ack for 0 fragment messages 2018-07-24 08:54:57 +10:00
Jeff Becker
e23d3a8eda * pad messages under 1KB to 1KB to reduce jitter
* fix race
2018-07-24 08:36:46 +10:00
Jeff Becker
dbe4a35230 add sequence numbers to routing messages 2018-07-24 07:59:43 +10:00
Jeff Becker
19e3b9c642 * more hidden service code
* begin lokinet api
2018-07-23 17:38:29 +10:00
Jeff Becker
02ca1796b2 all the files 2018-07-20 14:50:28 +10:00
Jeff Becker
7fbc21207f more hidden service stuff 2018-07-19 14:58:39 +10:00
Jeff Becker
994a5fe928 dht fixups 2018-07-19 08:50:05 +10:00
Jeff Becker
7c518bc4da prefetch introset via tag (non working) 2018-07-19 06:58:16 +10:00
Jeff Becker
f23ed98c33 make it work 2018-07-17 16:17:13 +10:00
Jeff Becker
bb8532a281 correct ordering of outbound messages 2018-07-17 14:43:44 +10:00
Jeff Becker
6945fe53a5 more also run make format 2018-07-17 14:37:50 +10:00
Jeff Becker
f48acbc23e Merge remote-tracking branch 'ryan/libdns' into hidden-service-dht
also run make format
2018-07-17 07:26:16 +10:00