Commit Graph

174 Commits

Author SHA1 Message Date
Jeff Becker
b0d850afb5
durable write for nodedb 2019-07-15 13:19:31 -04:00
Jeff Becker
b9bcc2b775
make threadpool consice 2019-07-09 09:47:24 -04:00
Jeff Becker
54a098356d
continue using llarp::openfilestream 2019-06-24 12:39:03 -04:00
Jeff Becker
f56273eb6a
fix comparision 2019-06-20 10:01:34 -04:00
Jeff Becker
aadde2e9c6
save all nodedb entries in memory on exit 2019-06-17 10:23:38 -04:00
Jeff Becker
9ec41b8831
update RC expiration logic, lookup more often and remove stale entries 2019-06-10 08:47:21 -04:00
Michael
491fee206b
Port code to use CryptoManager over passing Crypto pointers 2019-05-28 20:45:08 +01: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
636bb2a17d
Convert router diskworker to use a modern ThreadPool 2019-05-18 23:04:08 +01:00
Jeff Becker
94eb37d490
bundle RC in build record to improve build success rates. 2019-04-17 15:05:54 -04:00
Jeff
5834607997 * don't ban bootstrap nodes with profiling
* less vigorous profiling timeouts
* async remove rc from disk
2019-04-14 07:25:15 -04:00
Jeff Becker
5af8d0a392
don't insert RCs in main thread 2019-03-29 11:08:31 -04:00
Jeff Becker
d4cb6808ec
more 2019-03-25 11:41:37 -04:00
Jeff Becker
fbb2c78d3c
async remove dead rc files when we think they are dead 2019-03-25 09:52:22 -04:00
Jeff Becker
5d3833ef1a
fix dumb as shit path building that causes premature termiantion because of duplicate hops 2019-03-11 09:58:31 -04:00
Michael
61f3273dc4
Add threading annotations and fix potential deadlocks 2019-03-04 00:03:52 +00:00
Michael
c5a129ddff
Convert to use abseil synchronisation primitives 2019-03-03 21:20:38 +00:00
Jeff Becker
2dfb53ef13
prevent deadlock 2019-02-08 08:04:12 -05:00
Jeff Becker
10f9d6444d
actually insert entries when they exist 2019-02-07 07:40:44 -05:00
Jeff Becker
d5caec719f
make it compile 2019-02-07 07:25:22 -05:00
Jeff Becker
cff6bc1c8d
don't hang 2019-02-07 07:23:02 -05:00
Jeff Becker
00eede9160
Merge remote-tracking branch 'origin/staging' into staging 2019-02-04 18:13:57 -05:00
Michael
f3b0af9d2f
Create CopyableBuffer type 2019-02-02 23:21:35 +00:00
Jeff Becker
fd507e4194
fix hop selection and disable onion key rotation 2019-01-29 07:34:07 -05:00
Michael
04e0fe3ad7
Move crypto code to a subdirectory 2019-01-13 15:06:16 +00:00
Michael
081d4dfa32
Reorganise source into more folders 2019-01-11 01:19:49 +00:00
Michael
fa2b466ffe
Reorganise tests to mirror source layout 2019-01-11 00:12:52 +00:00
Michael
e5eda0fb8f
Move lokinet unspecific components to a util/ library 2019-01-10 20:07:24 +00:00
Michael
df4fd0ef56
Fix some low hanging performance issues 2019-01-07 22:15:41 +00:00
Michael
ea19093a20
Remove const byte* conversion operators from llarp::AlignedBuffer 2019-01-02 01:04:04 +00:00
Michael
334161c9bb
Remove data() conversions from llarp::AlignedBuffer 2019-01-02 01:03:53 +00:00
Jeff Becker
0ff214f43f
fixes 2018-12-29 10:44:25 -05:00
Jeff Becker
44904f9226
change skiplist filename convention (backwards compatable change) 2018-12-28 10:17:51 -05:00
Jeff Becker
4d689da148
more 2018-12-27 13:42:23 -05:00
Jeff Becker
6fc42dc7ad
fixes 2018-12-19 12:48:29 -05:00
Jeff Becker
cca19290de
session renegotiation, RC expiration, more utp unit tests, network isolation. 2018-12-19 11:17:41 -05:00
Michael
85dde7b6b0
Move remaining include/llarp headers to llarp/ 2018-12-12 02:53:02 +00:00
Michael
b92ea0521b
Move router_contact.hpp to llarp/ 2018-12-12 02:53:01 +00:00
Michael
451bbedfaf
Move crypto.hpp to llarp/ 2018-12-12 02:53:01 +00:00
Michael
7be452092c
Convert llarp_crypto to be a true C++ class 2018-12-11 00:53:55 +00:00
Michael
6358b25db0
Convert llarp_nodedb to be a true C++ class 2018-12-10 23:31:39 +00:00
Jeff Becker
fad734a5ce
strict types for pubkey, secretkey and routerid 2018-12-10 12:22:59 -05:00
Michael
30e9dca2e5
Convert llarp_logic to be a C++ class 2018-12-10 14:15:11 +00:00
Jeff Becker
b543d6243d
Merge branch 'master' into dev 2018-11-20 07:42:17 -05:00
Michael
d750ec0605
Rename logic.h 2018-11-20 00:52:19 +00:00
Jeff Becker
5dbe41608f
more exit stuff 2018-11-14 13:02:27 -05:00
Jeff Becker
d3278946f2
ipv4 bogon checking 2018-10-15 08:02:32 -04:00
Ryan Tharp
f4c5999852 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-10-03 11:46:24 +00:00
Jeff Becker
0b0278a312
we don't use crypto_async anymore 2018-10-03 07:02:56 -04:00
Ryan Tharp
a0aa363365 doesn't make sense to pass by value 2018-10-03 03:42:12 -07:00
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)
2018-10-01 15:08:55 -05:00
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
2018-10-01 15:08:52 -05:00
Jeff Becker
6986f04418
basic router profiling and fix ip rewrite 2018-09-13 12:41:53 -04:00
Jeff Becker
956549c818
connect to 10 random routers on startup 2018-09-11 11:53:54 -04:00
Jeff Becker
b96887ddb2
various fixes and tweaks 2018-09-10 09:43:36 -04:00
Jeff Becker
5dfcd60df1
more 2018-09-06 16:31:58 -04:00
Jeff Becker
60d5277351
broken 2018-09-06 07:46:19 -04:00
Jeff Becker
8bae1a4735
move codel off of pointer types 2018-08-31 10:41:04 -04:00
Jeff Becker
973f86c900
it compiles 2018-08-31 08:46:54 -04:00
Jeff Becker
5228a81bae
more refactor
get rid of C api
2018-08-30 14:48:43 -04:00
Jeff Becker
d3eef5c8b7
more netns code 2018-08-26 08:51:22 -04:00
Jeff Becker
bee5eee0b1
fix skiplist placement 2018-08-24 13:25:47 -04:00
Jeff Becker
e79708c1dc
hidden services sorta work 2018-08-10 17:34:11 -04:00
Jeff Becker
9dc88fb64b another win32 cross compile fix 2018-08-03 09:37:54 +10:00
Jeff Becker
a99fa8f6cf try fixing windows cross compile 2018-08-03 09:36:34 +10:00
Jeff Becker
0d2bce2089 fix up win32 specific parts 2018-08-03 09:30:34 +10:00
Jeff Becker
5c03b3c8f9 add comments 2018-08-03 06:50:16 +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
6bd2e965fc don't store client RC EVER 2018-08-02 14:34:16 +10:00
Jeff Becker
08b60a9ae7 update code to match protocol spec
backwards incompat change
2018-07-29 08:20:32 +10:00
Ryan Tharp
2fcd885030 make compile on linux gcc 7.2 2018-07-26 08:52:27 +00:00
despair86
bbe0634edc this should get things going on UNIX :D 2018-07-25 20:00:15 -05:00
Jeff Becker
17ad12cd2c * don't heap allocate llarp_rc
* store rc into network database cache on connect
2018-07-25 11:24:37 +10:00
Jeff Becker
02ca1796b2 all the files 2018-07-20 14:50:28 +10:00
Jeff Becker
6945fe53a5 more also run make format 2018-07-17 14:37:50 +10:00
Jeff Becker
0242e293c9 more 2018-07-16 13:32:13 +10:00
Jeff Becker
dfa567e816
Merge remote-tracking branch 'sachaaaa/refactor' into hidden-service-dht 2018-07-09 10:24:44 -04:00
sachaaaaa
33586d385b clang format 2018-07-09 14:34:28 +10:00
sachaaaaa
c7940076bf Remove most of the extern "C"
remove extern "C"
2018-07-09 14:34:09 +10:00
Jeff Becker
21a2ffdeaf
* refactor log functions
* add more stuff for hidden service dht
2018-07-05 11:44:06 -04:00
Ryan Tharp
07f0653e83 Merge branch 'master' of https://github.com/majestrate/llarp 2018-06-28 08:20:19 +00:00
Jeff Becker
6633fb151d
make it work 2018-06-26 09:39:29 -04:00
Ryan Tharp
ede0cb4772 Merge branch 'master' of https://github.com/neuroscr/loki-network 2018-06-26 10:08:51 +00:00
Jeff Becker
da22f306e0
* add path building management
* fix bug in iwp that caused crash
2018-06-25 11:12:08 -04:00
Ryan Tharp
16f7de99e4 disable llarp_nodedb_async_load_rc 2018-06-23 07:55:25 -07:00
Ryan Tharp
deb97fda3f Merge branch 'master' of https://github.com/majestrate/llarp 2018-06-23 11:28:37 +00:00
Jeff Becker
47b4b5c536
make format 2018-06-22 09:59:50 -04:00
Jeff Becker
f2c42e4e5a
onion routing downstream traffic relaying works on testnet 2018-06-22 09:59:28 -04:00
Ryan Tharp
810c0c83bf iterator clean up 2018-06-21 04:33:28 -07:00
Ryan Tharp
10f9fc86e8 skip directories and .DS_Store on MacOS, remove some dead code 2018-06-21 04:14:14 -07:00
Ryan Tharp
932e04c81f use llarp_rc_read, llarp_nodedb_put_rc(), llarp_nodedb_iterate_all(), iterate() 2018-06-21 02:33:23 -07:00
Jeff Becker
78f3ca0155
more 2018-06-20 08:34:48 -04:00
Jeff Becker
f68ffbc33d
more path building stuff 2018-06-19 13:11:24 -04:00
Jeff Becker
d3d14ba03a
fix infinite loop 2018-06-14 16:33:05 -04:00
Jeff Becker
0d85577fac
exponential backoff 2018-06-14 13:35:12 -04:00
Jeff Becker
c104abb9c2
make nodedb work 2018-06-13 09:09:19 -04:00
Jeff Becker
10ddc3da8a
async load rc 2018-06-13 08:58:51 -04:00
Ryan Tharp
d8329b9955 Merge branch 'master' of https://github.com/majestrate/llarp 2018-06-13 11:53:18 +00:00
Ryan Tharp
7ad98cad9f was supposed to be in last commit, and context wasn't. Context just loads from disk now 2018-06-13 04:41:23 -07:00