Commit Graph

2237 Commits

Author SHA1 Message Date
Jeff Becker
0945275fd5
make it compile 2018-09-16 08:53:23 -04:00
Jeff Becker
9ed3da1671
correctly map addresses 2018-09-16 08:51:16 -04:00
Jeff Becker
8114f63e70
use queues 2018-09-16 08:25:17 -04:00
Jeff Becker
2f2e3be8b7
lessen logging spew 2018-09-16 08:09:21 -04:00
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.
2018-09-16 08:06:19 -04:00
Jeff Becker
44cea54dea
avoid stack overflow 2018-09-15 07:54:08 -04:00
Jeff Becker
7027ba2cf1
more agressive network exploration
add install target for makefile
2018-09-15 07:37:46 -04:00
Jeff Becker
dd6a8360ba
don't tick in kqueue if closed 2018-09-14 14:36:39 -04:00
Jeff Becker
2bd7f2101d
remove logging 2018-09-14 13:46:02 -04:00
Jeff Becker
7f3465022d
check for null session 2018-09-14 11:27:34 -04:00
Jeff Becker
39401dac42
don't use vendored director iterator 2018-09-14 11:22:44 -04:00
Jeff Becker
f5b8d552e1
path peer profiling
propagate introsets better
2018-09-14 10:50:37 -04:00
Jeff Becker
354df88367
more ip endpoint fixes
spam dht with lookups less
2018-09-14 09:43:42 -04:00
Jeff Becker
ffdff3e09c
mark successful connections in profiling
don't dht lookup bad routers
2018-09-13 12:58:25 -04:00
Jeff Becker
6986f04418
basic router profiling and fix ip rewrite 2018-09-13 12:41:53 -04:00
Jeff Becker
76e87aa608
more debug logging
timed out paths are not expired
2018-09-13 09:07:00 -04:00
Jeff Becker
f55c5e674d
relax timeouts 2018-09-13 08:40:13 -04:00
Jeff Becker
3af51cbe55
add path latency minimum checker
add min-latency option to hidden service config
2018-09-13 08:27:28 -04:00
Jeff Becker
c0afc97d41
better explore logic 2018-09-13 08:04:36 -04:00
Jeff Becker
832b24ba93
delete don't abort when building paths failed to key exchange
try making dht less talky

check timestamps on intros
2018-09-13 07:30:21 -04:00
Jeff Becker
0c1dfa4a27
check nodedb for routers not just dht peer list 2018-09-13 07:16:56 -04:00
Jeff Becker
b947e55616
fix leak on sign/encrypt fail 2018-09-12 19:21:59 -04:00
Jeff Becker
b56d25730e
improve send rate 2018-09-12 09:29:42 -04:00
Jeff Becker
6f4e998910
fix previous commit 2018-09-11 12:31:53 -04:00
Jeff Becker
3d424b57a7
client side endpoint improvements 2018-09-11 12:21:43 -04:00
Jeff Becker
ac2c14437f
god damnit 2018-09-11 12:04:00 -04:00
Jeff Becker
956549c818
connect to 10 random routers on startup 2018-09-11 11:53:54 -04:00
Jeff Becker
1c849973ca
send data discarded messages 2018-09-11 11:34:12 -04:00
Jeff Becker
a9b259985e
add data discarded message in routing layer to indicate
a path no longer exists.
2018-09-11 11:28:36 -04:00
Jeff Becker
baf2e1fb3c
client improvements
for real do correct timestamp comparison for introsets
2018-09-11 09:21:35 -04:00
Jeff Becker
2993e834a0
fix ip stuff 2018-09-10 15:31:29 -04:00
Jeff Becker
320fbdf3bc
always traffic 2018-09-10 14:04:30 -04:00
Jeff Becker
2eca0005c1
fix up more stuff 2018-09-10 13:37:28 -04:00
Jeff Becker
c3a7f64344
expire introsets correctly and allow multiple tun if 2018-09-10 12:36:36 -04:00
Jeff Becker
b96887ddb2
various fixes and tweaks 2018-09-10 09:43:36 -04:00
Jeff Becker
1952ece99d
more logging 2018-09-10 07:08:09 -04:00
Jeff Becker
cb2802e003
fix segfault on quit 2018-09-10 07:05:41 -04:00
Jeff Becker
1df9a4b078
persist RC from lookups in nodedb 2018-09-09 14:18:34 -04:00
Jeff Becker
96526058b2
update readme and make dht bootstrap work with low peer count 2018-09-09 08:27:56 -04:00
Jeff Becker
b23dab09fb
don't overwrite our RC, hide parameter. 2018-09-09 07:23:21 -04:00
Jeff Becker
0f97494998
fug 2018-09-08 12:54:37 -04:00
Jeff Becker
751b86d8c3
forgot a change 2018-09-08 12:45:38 -04:00
Jeff Becker
adbf53bc40
protocol docs, more efficient padding, make code reflect protocol changes. 2018-09-08 11:53:20 -04:00
Jeff Becker
ec143e11a4
explore via 1 router 2018-09-08 04:27:05 -04:00
Jeff Becker
48e30f5492
actually fix compile error for windows 2018-09-07 16:50:10 -04:00
Jeff Becker
c43a075b74
force number of workers in threadpool 2018-09-07 16:48:52 -04:00
Jeff Becker
bfb00bb7bd
utp fixes 2018-09-07 16:36:06 -04:00
Jeff Becker
4b3a113397
mostly works 2018-09-07 13:41:49 -04:00
Jeff Becker
5dfcd60df1
more 2018-09-06 16:31:58 -04:00
Jeff Becker
6ef89ea8b2
un break (kinda) 2018-09-06 09:16:24 -04:00
Jeff Becker
60d5277351
broken 2018-09-06 07:46:19 -04:00
Ryan Tharp
742a0b8da7 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-09-06 00:32:06 +00:00
Jeff Becker
ba648868c4
more 2018-09-04 15:15:06 -04:00
Jeff Becker
2a8fc53ca6
make it compile 2018-09-04 08:55:20 -04:00
Jeff Becker
085563ac2f
implement utp link protocol
gut curvecp for now
2018-09-04 08:41:25 -04:00
Jeff Becker
1839da9c3c
add bencode file helpers and move link server functions into source file 2018-09-03 09:10:56 -04:00
Jeff Becker
a8b672a19f
make it compile 2018-09-03 08:08:02 -04:00
Jeff Becker
ce1290d327
add more members to llarp::Addr 2018-09-03 08:03:43 -04: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
4e693a2414
make signatures work again ;~; 2018-08-31 09:51:24 -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
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
cf0aa2da24
forgot files 2018-08-26 08:51:41 -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
3588580c1a
Merge branch 'master' of ssh://github.com/loki-project/loki-network 2018-08-24 12:07:46 -04:00
Jeff Becker
435fba25fd
add parts to rcutil to print out info about RCs: ./rcutil -V self.signed 2018-08-24 12:07:17 -04:00
Ryan Tharp
c8a613eec6 deconflict saddr 2018-08-23 17:39:01 -07:00
Ryan Tharp
8724ddd792 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-08-23 22:51:23 +00:00
despair86
e71c00f736 header fix 2018-08-23 13:48:41 -05:00
despair86
258c2a12dc i blame clang-format 2018-08-23 13:44:45 -05:00
despair86
79c992a9be Microsoft libc6.x and libc7.x do not have C99 printf semantics, mingw-w64 handles this inline 2018-08-23 13:44:45 -05:00
despair86
23ecd03c71 win32 native threading vs pthreads on mingw-w64
also, msc++ implements all of C++17
2018-08-23 13:44:44 -05:00
despair86
3ccb425021 hmm this may work on BSD unix... 2018-08-23 13:44:44 -05:00
Ricardo Villegas
3cca107041 more header fixes
-despair86
2018-08-23 13:44:43 -05:00
despair86
9b73b013ce run-time assertion in ms c: make sure that CPP macro and local variable LOOPS == loops 2018-08-23 13:42:54 -05:00
Jeff
7af9ed0f70 Merge branch 'master' of ssh://github.com/loki-project/loki-network 2018-08-23 14:02:13 -04:00
Jeff
367258551b fix osx build 2018-08-23 14:02:02 -04:00
Jeff Becker
ba12f3e5e2
prevent crash? 2018-08-23 11:34:43 -04:00
Jeff Becker
3625313304
clear pending dht tx 2018-08-23 11:29:43 -04:00
Jeff Becker
bb25537fb5
build paths if we have no connected routers to make sessions happen 2018-08-23 11:19:16 -04:00
Jeff Becker
4e3acd0277
persist sessions between routers 2018-08-23 10:35:29 -04:00
Jeff Becker
51029f0f2f
make loopback testnet work again 2018-08-23 10:07:53 -04:00
Jeff Becker
885fb3cd97
revert back to priority queue for codel 2018-08-23 08:26:31 -04:00
Jeff Becker
f989996bc7
lol 2018-08-22 12:25:10 -04:00
Jeff Becker
b77525b72d
persist on commit 2018-08-22 12:19:51 -04:00
Jeff Becker
b7039f6e5c
more tun stuff 2018-08-22 11:52:10 -04:00
Jeff Becker
a2f4c3e3bb
add more autogenerate config lines 2018-08-22 11:51:50 -04:00
Jeff Becker
dbac1334e0
disable promises in win32 2018-08-21 14:39:18 -04:00
Jeff Becker
4e2f0ccbf8
* add ProcessIf in CoDel queue to requeue unprocessed items
* more tun code
* make event loop tick and write with tun
2018-08-21 14:17:16 -04:00
Jeff Becker
4aebbda640
more tun stuff 2018-08-20 15:12:12 -04:00
despair86
c24a73f756 ran the linter on new code 2018-08-20 05:52:47 -05:00
despair86
db1989c848 new named thread API on win32 2018-08-20 05:38:25 -05:00
despair86
961a4b1d3c eww, merge conflicts 2018-08-18 21:54:53 -05:00
Ricardo Villegas
43760dee2e more sun patches, plus a note to port solaris tuntap after
doing the windows port of same
2018-08-18 21:26:25 -05:00
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
2018-08-18 21:26:18 -05:00
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
2018-08-18 21:25:24 -05:00
despair86
72c2231caf this works apparently 2018-08-18 21:24:41 -05:00
despair86
556bc2b740 these headers need to be in a specific order
because the winsock sdk does weird shit
2018-08-18 21:24:41 -05:00
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 2018-08-18 21:24:40 -05:00
Jeff Becker
4ab9f72415
backport for gcc 5 2018-08-18 11:34:06 -04:00
Jeff Becker
377cc78144
fix crash 2018-08-18 10:01:21 -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
Ryan Tharp
e4214cb25e format 2018-08-17 03:40:14 -07:00
Ryan Tharp
32fa716ac3 Merge branch 'master' of https://github.com/neuroscr/loki-network 2018-08-17 03:39:30 -07:00
Ryan Tharp
7171abe825 gcc 7 fix 2018-08-17 03:39:11 -07:00
Ryan Tharp
cabd523188 make sure it's lowercase before decoding 2018-08-17 03:38:46 -07:00
Ryan Tharp
9f1f3a35d4 skip answer if type 5 (cname) and advance to first answer, also properly adjsut for SOA hack 2018-08-17 03:36:54 -07:00
Ryan Tharp
e3df552986 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-08-17 06:17:51 +00:00
Jeff Becker
913fb1d88a
don't use 100% cpu 2018-08-16 11:31:32 -04:00
Jeff Becker
08d6121a5a
more tun code 2018-08-16 10:34:15 -04:00
Ryan Tharp
80f70f5a84 fix linux compile 2018-08-16 10:50:09 +00:00
Ryan Tharp
a5f2f7080d Merge branch 'master' of https://github.com/neuroscr/loki-network 2018-08-16 10:44:31 +00:00
Ryan Tharp
94b6b828c1 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-08-16 10:38:02 +00:00
Jeff Becker
5b322510a7
try making it compile 2018-08-15 12:21:51 -04:00
Jeff Becker
e6de816dce
touch win32 code to make it compile, sorry. 2018-08-15 12:19:22 -04:00
Jeff Becker
b47a67bbd5
make it compile 2018-08-15 12:08:54 -04:00
Jeff Becker
b4f672b950
continue to fix kqueue build 2018-08-15 11:46:39 -04:00
Jeff Becker
944d22abde
fix kqueue build 2018-08-15 11:45:07 -04:00
Jeff Becker
04bf8d6116
some tun interface code 2018-08-15 11:36:34 -04:00
Jeff Becker
6a828ea985
fix shadow build 2018-08-14 18:07:58 -04:00
Jeff Becker
98b3bd6354
add runtime toggle of AVX2 code in sntrup 2018-08-14 17:28:14 -04:00
Jeff Becker
1d3e9f6adc
make testnet no longer crash 2018-08-14 17:17:18 -04:00
Jeff Becker
c12da3dfc7
fix bad offset 2018-08-13 19:25:36 -04:00
Jeff Becker
186bd7d573
use NTRU for introset end to end encryption 2018-08-13 19:22:31 -04:00
Ryan Tharp
484a4b6164 match up prototypes to remove LLVM 3.8 warning 2018-08-13 01:48:19 -07:00
Ryan Tharp
ec237768d7 merge 2018-08-13 01:47:24 -07:00
Ryan Tharp
ab3493ba3d Merge branch 'master' of https://github.com/loki-project/loki-network 2018-08-13 08:31:54 +00:00
Jeff Becker
d7c1c3322f
it works. 2018-08-12 13:22:29 -04:00
Jeff Becker
e79708c1dc
hidden services sorta work 2018-08-10 17:34:11 -04:00
Jeff Becker
a9b28e5407
more fuxing around 2018-08-09 23:51:38 -04:00
Jeff Becker
c36c83d9dc
more hidden service code 2018-08-09 15:02:17 -04:00
Jeff Becker
143da869b5
fix windows build 2018-08-09 11:55:37 -04:00
Jeff Becker
b6ec1e94db
only write nickname if present in rc 2018-08-09 11:36:58 -04:00
Jeff Becker
6bae623481
more defaults 2018-08-09 09:55:51 -04:00
Jeff Becker
32d82b5ba5
add more defaults in config with comments 2018-08-09 09:38:44 -04:00
Ryan Tharp
bf52d363de Merge branch 'master' of https://github.com/loki-project/loki-network 2018-08-09 11:33:53 +00:00
Ryan Tharp
15dbaf3808 big clang-format cleanup 2018-08-09 04:28:55 -07:00
Ryan Tharp
3ada1e15be llarp_main_queryDHT_RC(), llarp_main_init_dnsd(), actually query DHT on dns lookup 2018-08-09 04:22:57 -07:00
Jeff Becker
d5532e4de4
more boilerplate and enable tun/tap build 2018-08-08 15:37:33 -04:00
Jeff Becker
c71d0b2bb3
always use SIGCHLD in clone 2018-08-08 14:50:45 -04:00
Jeff Becker
e4bcf44a25
make net isolated threadpool more generic 2018-08-08 14:02:08 -04:00
Jeff Becker
33c5cf5a89
override join for isolated threadpool 2018-08-08 13:47:13 -04:00
Jeff Becker
62f41d3747
initial threadpool isolation code and run make format 2018-08-08 13:43:46 -04:00
Jeff Becker
30edb26ed9
use endian helpers 2018-08-08 13:01:32 -04:00
Jeff Becker
ebfe820b7a
remove the rest of gcc compiler warnings 2018-08-08 12:58:43 -04:00
Jeff Becker
53b4a94c75
clang format and fix (some) compile warnings 2018-08-08 12:56:45 -04:00
Ryan Tharp
b5e136d916 fix if 10 is in use, comments and other last minute notes 2018-08-08 06:21:14 -07:00
Ryan Tharp
9cb814587d use CopyInto cleanup 2018-08-08 06:10:02 -07:00
Ryan Tharp
4e7fee7ef5 linux build fixes 2018-08-08 12:44:50 +00:00
Ryan Tharp
57c41f0d65 new ip tracker 2018-08-08 05:41:09 -07:00
Ryan Tharp
c5dd067abe format 2018-08-08 05:40:54 -07:00
Ryan Tharp
f6398f0126 llarp_getPrivateIfs(), format 2018-08-08 05:36:10 -07:00
Ryan Tharp
73a8be3e60 fix warning 2018-08-08 05:35:38 -07:00
Ryan Tharp
99761ad2c7 add copyright, fix gcc warning 2018-08-06 05:24:12 -07:00
Ryan Tharp
16c56ff04b Merge branch 'master' of https://github.com/majestrate/llarp + gcc 7.2 fixes 2018-08-06 12:02:00 +00:00
despair86
1e9f49d6ef Merge remote-tracking branch 'upstream/master' 2018-08-03 22:07:46 -05:00
Jeff Becker
224748bcaf Merge remote-tracking branch 'loki/master' 2018-08-04 13:00:42 +10:00
Jeff Becker
86ec4dacc3 dht and testnet fixes 2018-08-04 12:59:32 +10:00
despair86
9c0b395c67 vs clang format isn't supposed to inject tabs ffs 2018-08-03 19:06:11 -05:00
despair86
c1765d562b minor patch, make sure the iocp fields are valid before attempting to cast the ev_id back to its ptr 2018-08-03 19:05:45 -05:00
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
2018-08-03 04:21:53 -05:00
Jeff Becker
f68e3029b0 fix timeouts 2018-08-03 15:32:07 +10:00
Jeff Becker
68a69da0bf fix kqueue run function, have it wait for 10ms so tick works 2018-08-03 13:56:45 +10:00
Jeff Becker
694644ac8b timeout for kevent tick 2018-08-03 11:24:53 +10:00
Jeff Becker
cc59d7944a event loop must call tick every tick including on timeout 2018-08-03 10:41:01 +10:00
Jeff Becker
44663d18a5 fix typo 2018-08-03 10:34:47 +10: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
1b20ba6a6c fix dead code, clean up parts. 2018-08-03 09:03:23 +10:00
Jeff Becker
066c208622 add mutex/lock to singlethread mode threadpool
remove uneeded i2p.rock.signed.txt

update makefile clean target
2018-08-03 07:26:14 +10:00
Jeff Becker
5c03b3c8f9 add comments 2018-08-03 06:50:16 +10:00
Ryan Tharp
52bbf890ef move hook out of dnsd into daemon, made hook use timer, decode_answer has beginning SOA parsing support, getDNSstring() refactor 2018-08-02 05:51:49 -07: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
6bd2e965fc don't store client RC EVER 2018-08-02 14:34:16 +10:00
Jeff Becker
6ffa2eed1c fix up dht 2018-08-02 11:41:40 +10:00
Jeff Becker
12ea412763 fix dumb dht mistake 2018-08-02 11:10:58 +10:00
Jeff Becker
f8e3ef16b9 correct typo 2018-08-02 10:53:14 +10:00
Jeff Becker
d511057b7d * logging updates
* nicknames in RC (yw kee)

* spec update

* more hidden service code
2018-08-02 10:48:43 +10:00
Jeff Becker
bc1c49b092 dht fixes 2018-08-02 08:10:38 +10:00
Jeff Becker
d1bbce8192 add uint16/32 put/read on buffers 2018-08-02 08:09:12 +10:00
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() 2018-08-01 05:51:28 -07:00
Ryan Tharp
de56a32069 another DNS clean up pass 2018-08-01 02:04:40 -07:00
Ryan Tharp
14df6724f7 bring kqueue up to date with epoll 2018-07-31 20:32:13 -07:00
Ryan Tharp
c5851cd63a Merge branch 'master' of https://github.com/neuroscr/loki-network 2018-08-01 02:29:21 +00:00
Ryan Tharp
0b32bad7b9 Merge branch 'master' of https://github.com/majestrate/llarp 2018-08-01 02:29:16 +00:00
Ryan Tharp
564d96f0c8 print(), write(filename), commitStream(outstream), private commit() 2018-07-31 19:20:40 -07:00
Jeff Becker
928ec3790d deterministic logging 2018-07-31 08:35:54 +10:00
Jeff Becker
058ce4fae3 don't put private addresses into rc EVER 2018-07-30 15:58:20 +10:00
Jeff Becker
3b82dfd818 fix previous commit 2018-07-30 11:53:35 +10:00
Jeff Becker
3f54989b68 fix previous commit 2018-07-30 11:50:26 +10:00
Jeff Becker
28f6a76312 remove unused encoding functions 2018-07-30 11:39:35 +10:00
Jeff Becker
d4ea843d33 fix feedback loop 2018-07-30 11:29:22 +10:00
Jeff Becker
1107b39d94 fix decode error 2018-07-30 11:29:12 +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
d011fb550e have logic and netio run in same thread for now 2018-07-30 08:20:31 +10:00
Jeff Becker
08b60a9ae7 update code to match protocol spec
backwards incompat change
2018-07-29 08:20:32 +10:00
Ryan Tharp
c78449e32c Merge branch 'master' of https://github.com/neuroscr/loki-network 2018-07-27 20:08:40 -07:00
Ryan Tharp
05e34e7b2f hook to get dnsd_context it was called from 2018-07-27 20:07:47 -07:00
Jeff Becker
f7ab46aef0 fix osx build 2018-07-27 14:30:32 +10:00
Jeff Becker
f65fee38be fix ffi example 2018-07-27 14:25:34 +10:00
Jeff Becker
b1eddbc70f unbreak shared library build 2018-07-27 14:07:22 +10:00
Jeff Becker
07b99e8ac4 extern "C" block for shared library 2018-07-27 13:41:55 +10:00
Jeff Becker
d6f8fd0f60 include header for android 2018-07-27 12:34:09 +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
3570bf7b1a Merge remote-tracking branch 'ryan/master' 2018-07-27 07:39:49 +10:00
Jeff Becker
e80fa5dc82 Merge branch 'master' of ssh://github.com/majestrate/llarp 2018-07-27 07:09:06 +10:00
Jeff Becker
0f649d844f more 2018-07-27 07:08:56 +10:00
Ryan Tharp
043dcaeac7 add dns section 2018-07-26 03:53:27 -07:00
Ryan Tharp
0f068a7ea4 fix warnings 2018-07-26 03:52:55 -07:00
Ryan Tharp
bd229be656 handleBaseCmdLineArgs() refactor 2018-07-26 03:52:23 -07:00
Ryan Tharp
554834425d important note, as I have relays that are outbound only 2018-07-26 03:21:51 -07:00
Ryan Tharp
dfc347aefb fix NAT 2018-07-26 03:21:19 -07: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
4dd7b2843f only get public addresses 2018-07-25 14:05:23 +10:00
Jeff Becker
536f63ed2a better hop selection fault tolerance 2018-07-25 11:54:37 +10:00
Jeff Becker
7cec96901d update build logic for clients 2018-07-25 11:39:12 +10:00
Jeff Becker
ee54149465 when building paths only use nodes we are directly connected to for first hops. 2018-07-25 11:36:22 +10: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
f9db26adee add mingw stl threading lib
run make format
2018-07-25 10:35:11 +10:00
Jeff Becker
f222f002f4 Merge remote-tracking branch 'loki/master' 2018-07-25 08:52:02 +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
230dd86906 revert 2018-07-24 17:13:09 +10:00
Jeff Becker
8553c206cb endian stuff 2018-07-24 17:06:42 +10:00
Jeff Becker
53b80e8448 remove unused code 2018-07-24 16:39:52 +10:00
Jeff Becker
a9c92213df more backport 2018-07-24 16:37:12 +10:00
Jeff Becker
f7daee5abf backport 2018-07-24 16:34:23 +10:00
Jeff Becker
066cf537e2 backport 2018-07-24 16:33:22 +10:00
Jeff Becker
98e992e28f backport 2018-07-24 16:31:25 +10:00
Jeff Becker
62b94b17aa more backport 2018-07-24 16:30:01 +10:00
Jeff Becker
5007da5528 backport 2018-07-24 16:25:13 +10:00
Jeff Becker
40dc125b17 another backport 2018-07-24 16:22:03 +10:00
Jeff Becker
f695b947f7 more arm fixes 2018-07-24 16:20:05 +10:00
Jeff Becker
47ee78844a try making android work 2018-07-24 13:31:34 +10:00
Jeff Becker
c445897706 typo fix 2018-07-24 13:23:00 +10:00
Jeff Becker
ec5ac295e4 test 2018-07-24 13:21:33 +10:00
Jeff Becker
4ec076baf5 android ifaddrs shim 2018-07-24 12:34:12 +10:00
Jeff Becker
da7455a86d header for android 2018-07-24 12:28:20 +10:00
Jeff Becker
fd4938b1e4 more android pendatic fixes 2018-07-24 12:25:10 +10:00
Jeff Becker
a24a9f3e7f revert to old epoll for android 2018-07-24 11:44:01 +10:00
Ryan Tharp
14ad9cab11 Merge branch 'master' of https://github.com/majestrate/llarp 2018-07-24 01:43:32 +00:00
Jeff Becker
45ea414a7b fix attempt for android 2018-07-24 11:42:10 +10:00
Ryan Tharp
49b4d0189a linux gcc compat 2018-07-24 01:06:56 +00:00
Ryan Tharp
0decbe5613 fix gcc 2018-07-23 17:46:02 -07:00
Ryan Tharp
b93ea8a087 fix intercept api, implement new intercept api, logging clean up 2018-07-23 16:56:26 -07:00
Jeff Becker
cb3d373689 don't send latency messages from the future 2018-07-24 09:08:08 +10:00
Jeff Becker
23fd7ac30c always ack for 0 fragment messages 2018-07-24 08:54:57 +10:00
Jeff Becker
de52a33361 remove logging 2018-07-24 08:54:47 +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
d38646ed54 more hidden service stuff 2018-07-23 09:14:29 +10:00
Ryan Tharp
ca06f1dded refactor clean up (pass 1) 2018-07-21 20:34:28 -07:00
Ryan Tharp
a9e8584acd clang-format (finally :) 2018-07-21 06:24:47 -07:00
Ryan Tharp
eadca4b4fc "fixed" DNS multithreaded 2018-07-21 06:19:06 -07:00
Ryan Tharp
6582a2fb0f fix casting of ip to return correct results 2018-07-20 03:42:28 -07:00
Ryan Tharp
dd4b3fa9a1 continue llarpification (StackBuffer) and other refactor 2018-07-20 03:28:21 -07:00
Jeff Becker
02ca1796b2 all the files 2018-07-20 14:50:28 +10:00
Jeff Becker
9114d79bd6 * make number of hops configurable
* remove compile warnings
2018-07-20 07:08:11 +10:00
Jeff Becker
7fbc21207f more hidden service stuff 2018-07-19 14:58:39 +10:00
Jeff Becker
97e11a28f6 make format 2018-07-19 08:50:16 +10:00
Jeff Becker
994a5fe928 dht fixups 2018-07-19 08:50:05 +10:00
Ryan Tharp
3758b1f6bf heap allocate more sockaddr, debug adjustment 2018-07-18 14:07:37 -07:00
Ryan Tharp
86e439f61b heap allocate dns_request, copy sockaddr 2018-07-18 14:06:18 -07:00
Jeff Becker
7c518bc4da prefetch introset via tag (non working) 2018-07-19 06:58:16 +10:00
Jeff Becker
5d5757cbec more dht stuff 2018-07-18 13:10:21 +10:00
Jeff Becker
2dec6428dc introset expiration 2018-07-18 10:25:24 +10:00
Jeff Becker
bb8d566671 hidden service tags 2018-07-17 17:30:03 +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
4b748a29f3 fix dns 2018-07-17 09:26:58 +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
Jeff Becker
bce3cd85c6 initial implementation of find intro message for hidden service dht (not done yet) 2018-07-17 07:22:25 +10:00
Ryan Tharp
077c22150f fix response bug, libev refactor 2018-07-16 05:48:04 -07:00
Jeff Becker
0242e293c9 more 2018-07-16 13:32:13 +10:00
Jeff Becker
77aadf1d90
more api stuff 2018-07-13 15:26:28 -04:00
Jeff Becker
a68cfefaa6
make it compile and run make format 2018-07-13 09:36:51 -04:00
Ryan Tharp
0750befddc skip private interfaces if no public-address et 2018-07-13 06:13:04 -07:00
Ryan Tharp
a3d791e516 update logging to new format 2018-07-13 09:28:50 +00:00
Ryan Tharp
14fac288fc relay job if you need to ask again (reapply, merge fix) 2018-07-13 09:28:16 +00:00
Ryan Tharp
8a7db419f9 reapply DHT changes 2018-07-13 09:27:57 +00:00
Ryan Tharp
9073a5a9f3 actually resolve conflict 2018-07-13 09:27:13 +00:00
Ryan Tharp
cfb69224b5 Merge branch 'master' of https://github.com/neuroscr/loki-network 2018-07-13 07:54:27 +00:00
Ryan Tharp
e1a4c2f32c Merge branch 'hidden-service-dht' of https://github.com/majestrate/llarp 2018-07-13 07:25:20 +00:00
Jeff Becker
5bbaae4e2e
more 2018-07-12 14:21:44 -04:00
Jeff Becker
fe01c38d8e
* fix dht feedback loop
* start on dht lookups for hidden services

* make debug logging confurable on runtime with env var LLARP_DEBUG=1

* make eventloop tick only when we get traffic

* make testnet parameters configurable on runtime
2018-07-12 09:43:37 -04:00
Jeff Becker
bae4f746be
publish hidden service descriptors and acknoledge publish 2018-07-11 12:11:19 -04:00
Jeff Becker
980db97145
remove unneeded headers 2018-07-11 09:21:44 -04:00
Jeff Becker
39e100d0b2
refactor dht code to be split up a bit more 2018-07-11 09:20:14 -04:00
Jeff Becker
cf6275155a
pump less 2018-07-10 07:56:05 -04:00
Jeff Becker
1337cc0c25
also pump outbound queues during logic tick 2018-07-10 07:51:51 -04:00
Jeff Becker
59ca4e4cae
make it work 2018-07-10 07:47:22 -04:00
Jeff Becker
4c08d9a028
make it compile 2018-07-10 07:36:55 -04:00
Jeff Becker
6ad79b97dc
broken 2018-07-09 13:32:11 -04:00
Jeff Becker
dfa567e816
Merge remote-tracking branch 'sachaaaa/refactor' into hidden-service-dht 2018-07-09 10:24:44 -04:00
Jeff Becker
30c14dfda5
make format 2018-07-09 08:30:01 -04:00
sachaaaaa
61bb7905f0 fix method calls in server.cpp + use ctor instead of factory/allocator
to squash
2018-07-09 15:01:30 +10:00
sachaaaaa
661f050636 Fix includes/forward declarations 2018-07-09 15:01:30 +10:00
sachaaaaa
6f055eca4f Extracted structs out of iwp_link.cpp
to rebase

to rebase
2018-07-09 15:01:15 +10:00
sachaaaaa
7442387307 renamed .c to .cpp 2018-07-09 14:34:28 +10: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
sachaaaaa
b5762fa85a Move EncodeLIM to its own source file 2018-07-09 13:08:41 +10:00
Ryan Tharp
840a50abbc don't skip private interfaces quite yet/we need them for NAT to work correctly, try_connect refactor clean up 2018-07-08 06:28:10 -07:00
Ryan Tharp
3a21ca604f llarp_rc_new to initialize properties correctly 2018-07-08 06:26:24 -07:00
Ryan Tharp
016da4b7aa remove unneeded debug 2018-07-08 06:24:53 -07:00
Ryan Tharp
425a486d84 irelay the pending->job as the current job when checking the next node, add iterate flag to job, potential fix for possible problem, debug 2018-07-08 06:22:02 -07:00
Ryan Tharp
00e56ecfd2 Merge branch 'hidden-service-dht' of https://github.com/majestrate/llarp 2018-07-08 11:41:44 +00:00
Jeff Becker
6cb31ecb1a
base32 encoding and unit tests 2018-07-06 12:08:30 -04:00
Jeff Becker
21a2ffdeaf
* refactor log functions
* add more stuff for hidden service dht
2018-07-05 11:44:06 -04:00
Jeff Becker
d2a4f0b103
start on hidden service dht 2018-07-05 10:23:45 -04:00
Ryan Tharp
938cfec657 Revert "resolve_job_type() and on_verify_client_rc() clean u"
This reverts commit 9805cc153f.
2018-07-04 14:01:32 -07:00
Ryan Tharp
d7fc0f83a7 Revert "use resolve_job_type() instead of public"
This reverts commit 9aa5163c81.
2018-07-04 14:01:20 -07:00
Ryan Tharp
9aa5163c81 use resolve_job_type() instead of public 2018-07-04 05:09:44 -07:00
Ryan Tharp
9805cc153f resolve_job_type() and on_verify_client_rc() clean u 2018-07-04 05:09:18 -07:00
Ryan Tharp
dd3c04cff5 Merge branch 'master' of https://github.com/majestrate/llarp 2018-07-04 10:13:34 +00:00
Jeff Becker
f134b8c4d1
always put messages in inbound processing queue 2018-07-03 10:04:13 -04:00
Jeff Becker
b994bf5f5b
fix previous commit 2018-07-03 09:57:31 -04:00
Jeff Becker
54aed396c2
don't repeat process messages on link layer 2018-07-03 09:54:43 -04:00
Jeff Becker
cc23d8ddbd
format 2018-07-03 09:34:53 -04:00
Jeff Becker
2b8cd93d6a
make it compile :^) 2018-07-03 09:34:46 -04:00
Jeff Becker
ab509e0a13
try not to crash 2018-07-03 09:33:37 -04:00
Jeff Becker
4ca34995bf
add inbound server connections to DHT 2018-07-03 09:13:56 -04:00
Jeff Becker
0213ada22c
don't lock 2018-07-03 08:30:46 -04:00
Jeff Becker
8a682a8b83
fix previous commit 2018-07-03 08:21:56 -04:00
Jeff Becker
d34937118d
make it compile :DDDD 2018-07-03 08:12:30 -04:00
Jeff Becker
139d48b790
inbound queue fixes 2018-07-03 08:10:44 -04:00
Ryan Tharp
876324fdbc llarp_main_abort => llarp_logic_stop_timer 2018-07-03 04:25:36 -07:00
Jeff Becker
42e839ab81
keepalive settings tweak 2018-07-02 15:56:47 -04:00
Jeff Becker
705271e7b8
try fixing timeout 2018-07-02 15:34:00 -04:00
Jeff Becker
fb13c5ce3e
more tweaking 2018-07-02 15:24:22 -04:00
Jeff Becker
8cfcc101b4
* path latency ticks every 5s
* retransmit xmit if we haven't gotten an ack yet (IWP)
2018-06-29 12:02:39 -04:00
Jeff Becker
9c57be0301
look up remote not self 2018-06-29 10:43:06 -04:00
Jeff Becker
711cc509a9
make format 2018-06-29 10:26:27 -04:00
Jeff Becker
18b50f4a74
* implement path transfer message
* update dht docs
* update other docs
* start working on dht for hidden services
* fix up unit tests for dht
* update makefile and other build files
2018-06-29 10:25:09 -04:00
Jeff Becker
7d9bffdf9c
make format 2018-06-29 08:15:15 -04:00
Ryan Tharp
0af33b4205
Merge pull request #3 from neuroscr/master
vendor libtuntap, set log level c api, codel fixes, private network detection, nat address override, --locate and --localInfo utils
2018-06-28 21:10:11 -07:00
Jeff Becker
eeb9c9e5b4
do correct dht lookup 2018-06-28 11:10:25 -04:00
Ryan Tharp
0cc0c8f476 better public override detection 2018-06-28 04:59:50 -07:00
Ryan Tharp
d5a89b91b3 clean up debug, detect override better 2018-06-28 04:50:01 -07:00
Ryan Tharp
b524f19119 fix missing header 2018-06-28 11:40:46 +00:00
Ryan Tharp
d132e3cd10 load config-file from config, llarp_main_getLocalRC(), llarp_main_checkOnline(), llarp_main_queryDHT() refactor 2018-06-28 04:32:26 -07:00
Ryan Tharp
b93943ab32 support for public-address/public-port overrides for NAT, decrease min paths to 3, add debugging 2018-06-28 04:29:10 -07:00
Ryan Tharp
9636beaeeb sameAddr(), isPrivate() 2018-06-28 04:24:50 -07:00
Ryan Tharp
07f0653e83 Merge branch 'master' of https://github.com/majestrate/llarp 2018-06-28 08:20:19 +00:00
Jeff Becker
1c26fb5e40
* codel related changes
* add tick callback to udp event loop
2018-06-27 09:14:07 -04:00
Jeff Becker
86f16ff090
don't make LRCM grow in size 2018-06-27 09:13:33 -04:00
Ryan Tharp
3dbe3f8d97 fix codel packet sending, adjust codel window to be more reasonable, add debugging/warnings 2018-06-27 03:59:23 -07:00
Jeff Becker
9b2bcfc22e
only pump queue from timer 2018-06-26 13:12:33 -04:00
Jeff Becker
92d1f50203
make path latency tests work 2018-06-26 12:23:43 -04:00
Jeff Becker
5439947781
fix path building so that it works for real 2018-06-26 10:52:19 -04: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
5d9fe74e39
can we fix it? NO it's fucked. :D 2018-06-25 21:30:36 -04: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
c31e5795fc setup() refactor, llarp_main_queryDHT() 2018-06-23 07:56:59 -07:00
Ryan Tharp
16f7de99e4 disable llarp_nodedb_async_load_rc 2018-06-23 07:55:25 -07:00
Ryan Tharp
f0ba20741c remove unused variables 2018-06-23 07:53:57 -07:00
Ryan Tharp
7bfb0ad3e4 c api implementation for setting log level 2018-06-23 07:52:38 -07:00
Ryan Tharp
7545a34213 c api for setting logging level 2018-06-23 07:52:15 -07:00
Jeff Becker
ce643cc8e0
don't have FindClosest return true if we have no active dht nodes 2018-06-23 10:25:19 -04:00
Ryan Tharp
deb97fda3f Merge branch 'master' of https://github.com/majestrate/llarp 2018-06-23 11:28:37 +00:00
Jeff Becker
a5570e87c6
Merge branch 'master' of ssh://github.com/majestrate/llarp 2018-06-22 20:01:05 -04:00
Jeff Becker
c88d3860b8
some api code 2018-06-22 20:00:44 -04:00
Jeff
65233617ac fix macos build 2018-06-22 16:13:56 -04: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
Jeff Becker
2f8cde8e07
path building works in downstream direction 2018-06-22 08:45:46 -04:00
Ryan Tharp
6d09596792 better patching and notification 2018-06-21 22:59:40 -07:00
Ryan Tharp
f0f65ae98e fix build 2018-06-22 05:44:19 +00:00
Ryan Tharp
9dff277a7e Merge branch 'master' of https://github.com/majestrate/llarp
(upstream repo was broken)
2018-06-22 05:42:50 +00:00
Jeff Becker
cd0dc72e0c
make format 2018-06-21 20:25:51 -04:00
Jeff Becker
39c63432be
ALMOST got path building working 2018-06-21 20:25:30 -04:00
Jeff Becker
50402820e1
more 2018-06-21 11:46:35 -04:00
Jeff Becker
9b73be11cc
fix up dht a bit 2018-06-21 10:20:14 -04:00
Ryan Tharp
4b0c1b35eb proper merge of resolved conflicts 2018-06-21 13:33:42 +00:00
Ryan Tharp
c4dd8f4a29 Merge branch 'master' of https://github.com/majestrate/llarp 2018-06-21 13:26:46 +00:00
Ryan Tharp
38f25b2268 fix git 2018-06-21 06:08:21 -07:00
Ryan Tharp
8b9652dae3 fix git 2018-06-21 06:06:13 -07:00
Jeff Becker
a2d9dc1d93
it does stuff :+DDDDD 2018-06-21 08:55:02 -04:00
Ryan Tharp
f3f68e4bcb llarp_findOrCreateEncryption refactor, llarp_rc_set_pubkey(), llarp_rc_set_pubenckey(), llarp_rc_set_pubsigkey(), include more debug on sig verify failure 2018-06-21 05:52:45 -07: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
53c5474dc6 hexDecode helper 2018-06-21 04:13:40 -07:00
Ryan Tharp
2e74bce713 getDatabase and associated functions 2018-06-21 04:11:55 -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
Ryan Tharp
5bb70c6ddb llvm 3.8 compile fixes 2018-06-21 02:31:53 -07:00
Ryan Tharp
fe3bc37c8c Merge branch 'master' of https://github.com/neuroscr/loki-network 2018-06-21 09:26:14 +00:00
Ryan Tharp
7d2aa9b036 Merge branch 'master' of https://github.com/majestrate/llarp 2018-06-21 09:25:59 +00:00
Jeff Becker
44e34f81e8
tweaks to testnet 2018-06-20 13:45:44 -04: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
Ryan Tharp
51c97d44b3 ReloadConfig refactor, direct nodedb functions 2018-06-19 02:44:53 -07:00
Ryan Tharp
fa82d6258c llarp_rc_read() 2018-06-19 02:43:18 -07:00
Ryan Tharp
a31bf559b9 guard to prevent crash 2018-06-19 02:19:23 -07:00
Jeff Becker
aa251cdd01
make format 2018-06-18 18:05:02 -04:00
Jeff Becker
08c0318e82
initial path building stuff (broken) 2018-06-18 18:03:50 -04:00
Ryan Tharp
75f48aff32 correct pathfinder.cpp file 2018-06-18 01:44:15 -07:00
Ryan Tharp
e88a1102e2 pathfinder interface design 2018-06-18 01:35:57 -07:00
Ryan Tharp
9e502a5beb added static constexpr back because I got it working and assuming it's preferred 2018-06-18 01:13:55 -07:00
Ryan Tharp
f49bd89a42 Merge branch 'master' of https://github.com/neuroscr/llarp 2018-06-18 01:06:29 -07:00
Ryan Tharp
72800275cb fix llvm 3.8 linker error via https://stackoverflow.com/a/36670394/7697705 2018-06-18 01:01:42 -07:00
Ryan Tharp
e00713687e fix debug messages 2018-06-18 00:55:55 -07:00
Ryan Tharp
7cd13b3f89 changed info message 2018-06-18 00:55:06 -07:00
Jeff Becker
54366c040c
make format 2018-06-17 11:26:00 -04:00
Jeff Becker
aa53ab839a
fixes 2018-06-16 08:34:22 -04:00
Jeff Becker
9723a11195
clarify docs
post forwarding LRCM to logic thread
2018-06-15 10:33:38 -04:00
Jeff Becker
51c5cf8540
get rid of AF_PACKET for now 2018-06-14 16:42:30 -04:00
Jeff Becker
7da65fc1d7
don't send padding by default 2018-06-14 16:34:35 -04:00
Jeff Becker
d3d14ba03a
fix infinite loop 2018-06-14 16:33:05 -04:00
Jeff
98f332f7a5 make it work on mac os with makefiles 2018-06-14 16:13:07 -04:00
Jeff Becker
22d4d5b3d0
make rcutil build 2018-06-14 15:28:27 -04:00
Jeff Becker
53eb3d0a59
default to c++11 2018-06-14 15:22:26 -04:00
Jeff
31c26d1a85
Merge pull request #5 from neuroscr/master
PATH_SEP, FS shim
2018-06-14 15:00:31 -04:00
Jeff Becker
0d85577fac
exponential backoff 2018-06-14 13:35:12 -04:00
Jeff Becker
11f9c3532b
default lookup job to not found 2018-06-14 11:46:45 -04:00
Jeff Becker
3dc5f3ddf6
be concise 2018-06-14 11:44:55 -04:00
Jeff Becker
1395cb8518
iterative search as well as recursive 2018-06-14 11:42:21 -04:00
Jeff Becker
d645c07290
fix up dht 2018-06-14 11:39:54 -04:00
Jeff Becker
6e5ebd62bf
do dht lookup for unknown routers 2018-06-14 11:10:31 -04:00
Jeff Becker
1288148999
slightly better iwp session establish logic 2018-06-14 11:01:10 -04:00
Jeff Becker
b3f1440b19
correct iwp session logic 2018-06-14 10:34:51 -04:00
Jeff Becker
c28d17d2d5
verify rc sig in iwp 2018-06-14 10:27:28 -04:00
Jeff Becker
43bf2c3dbb
verify authenticity of iwp session (initial) 2018-06-14 10:26:03 -04:00
Jeff Becker
ccf8574c03
make unit tests work 2018-06-14 10:04:42 -04:00
Ryan Tharp
ce8d0f48b7 Merge branch 'master' of https://github.com/majestrate/llarp 2018-06-14 07:55:55 +00:00
Ryan Tharp
2b08fb1235 windows support 2018-06-14 00:49:56 -07:00
Ryan Tharp
72bc32dcf4 define PATH_SEP, llvm 3.8 fs shim 2018-06-14 00:48:42 -07:00
Jeff Becker
d5fe7623fc
more dht stuff 2018-06-13 12:32:34 -04:00
Jeff Becker
9d66b3a1a6
xenial backport fix 2018-06-13 09:26:12 -04:00
Jeff Becker
09d6a46cad
correct encoding of aligned buffer 2018-06-13 09:18:18 -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
Ryan Tharp
087f4c2f02 clean up llarp_nodedb_async_verify api, make setRC save to correct path 2018-06-13 04:40:49 -07:00
Jeff Becker
2ff92efea5
merge all 2018-06-13 07:37:44 -04:00
Jeff Becker
0d9025bc7d
Merge remote-tracking branch 'ryan/master' into dev 2018-06-13 07:31:34 -04:00
Ryan Tharp
1cf247e36e Merge branch 'master' of https://github.com/majestrate/llarp 2018-06-12 21:53:55 +00:00
Jeff Becker
4758bc119a
more onion routing code 2018-06-12 12:45:12 -04:00
Jeff Becker
d2700f818b
comply with spec
update spec
2018-06-12 08:49:23 -04:00
Jeff Becker
a8ab66f4f8
refactor to use AlignedBuffer for public key, shared secret, nonce, secret key etc 2018-06-12 07:57:14 -04:00
Jeff Becker
f80cce26c6
encrypt in place 2018-06-11 09:44:49 -04:00
Jeff Becker
9d749d20ae
encrypted frames 2018-06-11 09:25:10 -04:00
Jeff Becker
ec53cab169
more onion routing stuff 2018-06-10 10:05:48 -04:00
Jeff Becker
a947806b57
start working on onion routing parts 2018-06-08 09:12:17 -04:00
Jeff Becker
3e293eed6c
lessen warning threshold for slow jobs 2018-06-07 12:30:54 -04:00
Jeff Becker
315798a0c4
* loopback test network
* fix various crashes and race conditions

* rename iwp-connect to connect in config

* rename iwp-links to bind in config

* always make a link just for outbound sessions even if no bind section is provided
2018-06-07 12:22:49 -04:00
Ryan Tharp
716f64634d compile fix and remove unneeded patterning 2018-06-07 02:40:06 -07:00
Ryan Tharp
70579e6846 finish implementing llarp_nodedb_async_verify, move context inside llarp_async_verify_rc 2018-06-07 02:36:30 -07:00
Ryan Tharp
373fbc58dc move struct so we can compile 2018-06-07 07:14:52 +00:00
Ryan Tharp
7b8ef635e4 Merge branch 'master' of https://github.com/majestrate/llarp 2018-06-07 06:49:57 +00:00
Jeff Becker
a0f1d548f8
more shadow stuff 2018-06-06 17:23:57 -04:00
Jeff Becker
90611731a5
initial shadow test net 2018-06-06 13:02:57 -04:00
Jeff Becker
e12bd9442f
expose multi process/single process option 2018-06-06 08:49:46 -04:00
Jeff Becker
0278ba559c
add single threaded mode for shadow 2018-06-06 08:46:26 -04:00
Jeff Becker
4fd0ef6984
timer fixes 2018-06-05 07:48:06 -04:00
Jeff Becker
d3782cb3ab
update timer 2018-06-04 13:22:14 -04:00
Ryan Tharp
d0196fdc65 comment and error output 2018-06-04 06:11:13 -07:00
Ryan Tharp
a7abaa7f02 llvm 3.8 fixes 2018-06-04 06:10:19 -07:00
Ryan Tharp
bbf9f2274c fix kqueue on OSX 2018-06-04 06:08:35 -07:00
Ryan Tharp
b7fe7e465c llvm 3.8 compat 2018-06-04 06:07:31 -07:00
Ryan Tharp
6e1a0e1702 Merge branch 'master' of https://github.com/majestrate/llarp 2018-06-04 12:59:20 +00:00
Jeff Becker
d5e232d7c5
advance iterator 2018-06-04 07:59:29 -04:00
Jeff Becker
eae8a81e35
fix timer a bit more 2018-06-04 07:49:37 -04:00
Jeff Becker
98130d0dcd
fix up timer 2018-06-04 07:46:02 -04:00
Ryan Tharp
87c6571bc2 fixed context, change deletion method 2018-06-04 01:42:21 +00:00
Ryan Tharp
129605cc36 Merge branch 'master' of https://github.com/neuroscr/llarp 2018-06-04 00:43:11 +00:00
Ryan Tharp
56fcaaa567 Merge branch 'master' of https://github.com/majestrate/llarp 2018-06-03 22:49:04 +00:00
Jeff Becker
4ce92ae9d1
xenial 2018-06-03 11:41:41 -04:00
Jeff Becker
c9fe6c374f
try fixing timer again 2018-06-03 11:40:12 -04:00
Jeff Becker
f8be941bce
more timer fixing shit 2018-06-03 11:31:26 -04:00
Jeff Becker
1effcf88f8
try fixing timer 2018-06-03 11:27:22 -04:00
Jeff Becker
c4fef111d2
add breaak 2018-06-03 11:04:46 -04:00
Jeff Becker
000658d7b0
fix hashing 2018-06-03 11:02:00 -04:00
Jeff Becker
5fb1953ee9
more checks 2018-06-03 10:41:59 -04:00
Jeff Becker
0416bda24f
reassemble in order 2018-06-03 10:34:00 -04:00
Jeff Becker
698cc0489e
logging 2018-06-03 10:28:22 -04:00
Jeff Becker
4231243931
more iwp tweaking 2018-06-03 10:06:56 -04:00
Jeff Becker
70d19621ee
immediate acknoledge xmit and then trasnmit frags 2018-06-03 09:49:12 -04:00
Jeff Becker
adeb3ca837
xenial backport 2018-06-03 09:39:13 -04:00
Jeff Becker
c2d76dce3a
inbound message fixes 2018-06-03 09:36:38 -04:00
Jeff Becker
2075f9a6b8
add discard message for testing 2018-06-03 09:04:51 -04:00
Jeff Becker
04628874cd
handle message fragmentation better 2018-06-03 08:35:50 -04:00
Jeff Becker
0d4baa924e
bounds check 2018-06-03 08:17:06 -04:00
Jeff Becker
a3628f153a
fix 2018-06-02 10:44:26 -04:00
Jeff Becker
0acf142619
make it compile 2018-06-02 10:41:30 -04:00
Jeff Becker
840c7c4925
fix timeout issue 2018-06-02 10:40:41 -04:00
Jeff Becker
1c2155284e
only keepalive when established 2018-06-02 09:46:35 -04:00
Jeff Becker
7ea64305ab
keepalive every tick 2018-06-02 09:42:19 -04:00
Jeff Becker
3fd79f73c6
increment iterator 2018-06-02 09:36:59 -04:00
Jeff Becker
3ad3dbd29d
add debug 2018-06-02 09:34:06 -04:00
Jeff Becker
c6b3a45eca
actually call session ticker 2018-06-02 09:22:08 -04:00
Jeff Becker
87aabefddc
some fixups on link layer
only add trusted routers to DHT
2018-06-02 09:18:11 -04:00
Ryan Tharp
a6f3e09d8b remove debug 2018-06-01 15:41:10 -07:00
Ryan Tharp
34dca85780 fix BSD compile issue, added some debug, OSX compile fixes 2018-06-01 15:39:30 -07:00
Ryan Tharp
3f6a5c4ca5 Merge branch 'master' of https://github.com/majestrate/llarp 2018-06-01 21:55:48 +00:00
Jeff Becker
fe7388bd69
make it work 2018-06-01 17:47:38 -04:00
Jeff Becker
620b9616a6
initial dht implementation 2018-06-01 17:35:17 -04:00
Jeff Becker
1a6a0755e3
fix compile warning 2018-06-01 14:05:40 -04:00
Jeff Becker
3db5bffbbd
fix xenial backport 2018-06-01 13:54:21 -04:00
Jeff Becker
9816fd65e9
* logging refactor to be concise
* don't inline bencode

* refactor initial start of dht code a bit
2018-06-01 13:47:37 -04:00
Jeff Becker
0724479eba
fix logging 2018-06-01 10:24:58 -04:00
Jeff Becker
5649d261ae
start fleshing out dht subsystem a bit 2018-06-01 10:08:54 -04:00
Ryan Tharp
40dedf7471 start of async version of verifying router contacts 2018-05-31 06:08:06 -07:00
Ryan Tharp
ee28623dbf important threading note 2018-05-31 06:07:52 -07:00
Ryan Tharp
5f3c2b4499 implement missing llarp_alloc struct 2018-05-31 06:06:28 -07:00
Ryan Tharp
563f94773b Merge branch 'master' of https://github.com/majestrate/llarp 2018-05-31 09:32:38 +00:00
Jeff Becker
fe19314484
more stuff 2018-05-30 16:56:47 -04:00
Ryan Tharp
eebb36683c new getter/setter style API 2018-05-29 17:40:02 -07:00
Jeff Becker
c45e9e9f0a
add frame counter 2018-05-29 14:56:00 -04:00
Jeff Becker
1b1969891e
make reused sessions alive again 2018-05-29 14:36:40 -04:00
Jeff Becker
db48e82841
fix up naming 2018-05-29 14:32:47 -04:00
Jeff Becker
ba87b1036a
initialize inner member 2018-05-29 14:17:28 -04:00
Jeff Becker
2bcb4d30fd
handle intro/introack better 2018-05-29 14:08:39 -04:00
Jeff Becker
3425e73a9c
try fixing race 2018-05-29 13:45:33 -04:00
Jeff Becker
052b53df69
use unorderd_map not map 2018-05-29 12:11:32 -04:00
Jeff Becker
21ed6de756
try fixing multi session 2018-05-29 12:01:28 -04:00
Jeff Becker
55be8ee6a3
handle frag messages in iwp 2018-05-29 11:47:10 -04:00
Jeff Becker
6ce74fe130
use emplace not try_emplace for backport 2018-05-29 10:57:13 -04:00
Jeff Becker
8351f19e9a
retry on session already made 2018-05-29 09:45:47 -04:00
Jeff Becker
31cbfd255e
ipv4 fixes 2018-05-29 09:40:26 -04:00
Ryan Tharp
9f2d7f717a Merge branch 'master' of https://github.com/majestrate/llarp 2018-05-29 12:21:50 +00:00
Ryan Tharp
3808ea1215 FreeBSD use specific FreeBSD pthread naming api 2018-05-29 05:16:44 -07:00
Ryan Tharp
a57cffa481 AF_LINK support (AF_PACKET guard), fallback to ipv4 if ipv6 doesn't connect 2018-05-29 05:16:08 -07:00
Jeff Becker
bee7c2b271
ipv4 fixes 2018-05-29 08:15:48 -04:00
Ryan Tharp
d7672aa37a AF_PACKET guards 2018-05-29 05:15:34 -07:00
Ryan Tharp
5efbb00189 kqueue support 2018-05-29 05:14:50 -07:00
Ryan Tharp
78007425fd use FreeBSD API for setting thread names 2018-05-29 05:13:33 -07:00
Jeff Becker
57c39eeded
prevent double free 2018-05-28 16:58:10 -04:00
Jeff Becker
a00a0622d1
more docs
more logging
2018-05-28 16:51:15 -04:00
Jeff Becker
56a0efd41d
remove logging 2018-05-28 10:28:26 -04:00
Jeff Becker
24caf1fc8c
docs 2018-05-28 10:26:16 -04:00
Jeff Becker
02d785d30c
add release targets to makefile for future
purge llarp_alloc

colored logging
2018-05-28 09:49:44 -04:00
Jeff Becker
e58bd10b23
add python ffi example wrapper code 2018-05-27 15:13:25 -04:00
Jeff Becker
3f21cc5865
make c api for main 2018-05-27 14:03:10 -04:00
Jeff Becker
4a3a0fc556
make an application context to simplify the main function 2018-05-27 13:44:01 -04:00
Jeff Becker
956973cb84
use configurable number of net io threads 2018-05-27 12:45:04 -04:00
Jeff Becker
bfaa837bce
refactor everything to use logger 2018-05-27 10:04:30 -04:00
Jeff Becker
39b1714f27
add minimal logger
move some printf to use logger

remove warnings from bencode.h
2018-05-27 09:42:55 -04:00
Jeff Becker
720452770b
* add removing timer jobs
* remove timer before session timeout

* don't reschedule timer right before timeout
2018-05-27 08:49:10 -04:00
Jeff Becker
c51d29a0c6
add link level keepalive
remove debugging messages

start handling more messages
2018-05-26 14:31:45 -04:00
Jeff Becker
93f0e03958
handle inter node messages
currently only handling LIM
2018-05-25 13:52:10 -04:00
Jeff Becker
c2ef57d9a2
Merge remote-tracking branch 'ryan/master' 2018-05-25 08:27:54 -04:00
Jeff Becker
7b7cc712d5
fix types 2018-05-25 08:24:31 -04:00
Jeff Becker
dc92b98c9c
more protocol changes to make it saner.
iwp sessions now can derive session key
2018-05-24 12:04:34 -04:00
Jeff Becker
4929bf0da8
fix with gcc and use default c++ compiler 2018-05-24 09:03:11 -04:00
Jeff Becker
b2a9605745
it does stuff :DDDDDDDD 2018-05-23 16:37:43 -04:00
Jeff Becker
d426f9e65e
more 2018-05-23 09:49:00 -04:00
Ryan Tharp
4d911f94d6 remove debug 2018-05-22 23:54:42 +00:00
Ryan Tharp
9ea9a6b527 fix struct declaration to make gcc 7.3 happy 2018-05-22 23:17:37 +00:00
Jeff Becker
d8631bb2b5
fix leaks 2018-05-22 15:19:06 -04:00
Jeff Becker
71c34231b2
Merge remote-tracking branch 'ryan/master' 2018-05-22 14:41:38 -04:00
Jeff Becker
bc9e32d690
clang format and lots of stupid bug fixes 2018-05-22 11:54:19 -04:00
Jeff Becker
ae5243cc95
add clang format but don't format YET 2018-05-21 10:28:15 -04:00
Ryan Tharp
ea5f4ba2d5 Merge branch 'master' of https://github.com/majestrate/llarp 2018-05-21 13:22:02 +00:00
Jeff Becker
4e19ce8191
add buffer helper 2018-05-21 09:17:07 -04:00
Ryan Tharp
7495c2fc19 remove unneeded temporary variable per code review 2018-05-21 12:57:37 +00:00
Ryan Tharp
9e1d8bd943 u key (last updated), minor whitespace 2018-05-21 12:44:50 +00:00
Ryan Tharp
fa49085e43 llarp_findOrCreateIdentity(), llarp_rc_write(), llarp_rc_clear(), llarp_rc_addr_list_iter(), llarp_rc_set_addrs(), llarp_rc_set_pubkey(), llarp_rc_sign(), minor whitespace cleanup 2018-05-21 12:43:32 +00:00
Jeff Becker
cc97da29d4
named threadpool 2018-05-20 14:56:34 -04:00
Jeff Becker
bffb4c3f3a
fixes 2018-05-20 13:55:54 -04:00
Jeff Becker
6cc469775f
implement rc signing 2018-05-20 13:45:47 -04:00
Jeff Becker
0f6c0d8a56
start fixing up main 2018-05-20 12:15:16 -04:00
Jeff Becker
87ae0aa972
make it nicer 2018-05-20 11:35:59 -04:00
Jeff Becker
14b795a384
refactor async crypto and remove old unneeded code 2018-05-20 10:54:52 -04:00
Jeff Becker
a3a359de8e
update docs and make it compile 2018-05-20 09:43:42 -04:00
Jeff Becker
d86c459cdb
more 2018-05-19 13:21:56 -04:00
Jeff Becker
0cc6d175cf
does not compile. update spec. 2018-05-19 09:36:42 -04:00
Jeff Becker
14d2de8edb
add initial iwp async crypto for intro 2018-05-18 16:08:57 -04:00
Jeff Becker
4939c7a5e3
fix threading and stopping 2018-05-18 14:27:13 -04:00
Jeff Becker
e695906c0c
make timer work 2018-05-18 13:50:21 -04:00
Jeff Becker
ce8e5088c4
more meat for iwp 2018-05-18 13:10:48 -04:00
Jeff Becker
3f675f0290
update iwp 2018-05-18 12:09:45 -04:00
Jeff Becker
d6b5fc5224
update iwp 2018-05-18 12:08:47 -04:00
Jeff Becker
9deafe7ce8
more 2018-05-18 10:48:30 -04:00
Jeff Becker
8b8deb49ba
remove old file 2018-05-18 10:40:42 -04:00
Jeff Becker
cb351ae9ff
refactor iwp, get rid of dtls 2018-05-18 10:40:06 -04:00
Jeff Becker
cb53d66869
mbedtls 2018-05-18 09:54:15 -04:00
Jeff Becker
4959067af2
it binds 2018-05-18 09:17:58 -04:00
Jeff Becker
64d5265102
more 2018-05-18 08:39:17 -04:00
Jeff Becker
f022a5bcdf
more 2018-05-17 16:00:58 -04:00
Jeff Becker
420f49a288
fix leak 2018-05-16 14:16:23 -04:00
Jeff Becker
91a9108300
refactor 2018-05-16 14:13:18 -04:00
Jeff Becker
c0ff64868d
more meat 2018-05-16 12:41:20 -04:00
Jeff Becker
69498bd104
fix warnings 2018-05-16 11:53:28 -04:00
Jeff Becker
7b46e44859
more 2018-05-16 11:49:16 -04:00
Jeff Becker
f7e52a1878
more 2018-05-16 11:30:05 -04:00
Jeff Becker
e4005102ba
cleanup 2018-05-16 10:09:02 -04:00
Jeff Becker
63150549fc
start moving to cmake 2018-05-16 09:56:51 -04:00
Jeff Becker
45cd73b1c2
more gutts 2018-05-13 14:07:36 -04:00
Jeff Becker
76d885d39e
more 2018-05-10 19:32:46 -04:00
Jeff Becker
4cc5059cbe
format 2018-04-30 14:18:34 -04:00
Jeff Becker
8aa898aef8
more 2018-04-30 14:18:18 -04:00
Jeff Becker
a5611e2206
format 2018-04-30 12:14:29 -04:00
Jeff Becker
8181670bf3
format 2018-04-30 12:14:20 -04:00
Jeff Becker
a7703b0dbc
refactor threadpool 2018-04-30 10:57:13 -04:00
Jeff Becker
d31391d856
start removing libuv 2018-04-30 09:18:57 -04:00
Jeff Becker
02dfb7c3a9
more 2018-04-08 08:18:16 -04:00
Jeff Becker
09be72b5b6
clang format 2018-04-05 10:43:16 -04:00
Jeff Becker
84ab8a792a
more 2018-04-05 10:38:22 -04:00
Jeff Becker
2687d9aeee
more 2018-04-05 10:23:14 -04:00
Jeff Becker
8c2bbbb2eb
more 2018-04-04 12:10:27 -04:00
Jeff Becker
dcc5e6e348
more 2018-04-04 11:19:11 -04:00
Jeff Becker
a449dffc09
more 2018-04-04 09:54:37 -04:00
Jeff Becker
6da13c876c
format 2018-02-20 19:11:26 -05:00
Jeff Becker
284c55f5aa
more optimizations 2018-02-18 13:45:06 -05:00
Jeff Becker
3bcc5604a6
don't use exp2 when allocating memory :D 2018-02-18 13:22:10 -05:00
Jeff Becker
3e4fe88b26
format 2018-02-18 13:15:45 -05:00
Jeff Becker
b949e61752
omg optimize 2018-02-15 12:09:27 -05:00
Jeff
43f9be08c8 format 2018-02-01 17:34:04 -05:00
Jeff
8c3bd25825 fix on os x 2018-02-01 17:10:47 -05:00
Jeff Becker
212165500d
more 2018-02-01 17:04:58 -05:00
Jeff Becker
58247343bf
format 2018-02-01 12:07:01 -05:00
Jeff Becker
1fdfdc0244
more 2018-02-01 12:06:49 -05:00
Jeff Becker
ae76b6b376
google format 2018-02-01 08:21:00 -05:00
Jeff Becker
4718281202
awe yeh 2018-01-31 14:59:26 -05:00
Jeff Becker
de3ddbb93e
clang-format 2018-01-29 09:27:24 -05:00
Jeff Becker
a704a28f34
make it compile and link 2018-01-29 09:19:00 -05:00
Jeff Becker
f50a49b7cb
progress (does not compile) 2018-01-26 20:18:10 -05:00
Jeff Becker
b7d4499f43
more 2018-01-26 09:17:51 -05:00
Jeff Becker
485e780552
sarp -> llarp 2018-01-25 11:24:33 -05:00
Jeff Becker
045a692522
more 2018-01-25 11:11:45 -05:00
Jeff Becker
62fb43a52c
refactor 2018-01-25 10:38:14 -05:00