Commit Graph

897 Commits

Author SHA1 Message Date
Ryan Tharp
0ad4f43fe5 header clean up and clang-format 2018-09-24 06:09:01 -07:00
Jeff Becker
79680a4f6b
try not killing paths if they get data
use correct mainloop
2018-09-24 08:56:07 -04:00
Jeff Becker
17d2aa1df1
track path data usage and don't kill paths when under heavy use 2018-09-24 07:36:47 -04:00
Jeff Becker
97bae70817
close sessions on link close not on destructor 2018-09-24 06:23:11 -04:00
Ryan Tharp
5ab68771e4 reverse DNS support 2018-09-23 09:59:59 -07:00
Ryan Tharp
1adc31d09d fix debug output 2018-09-23 09:59:43 -07:00
Ryan Tharp
66d5f79293 debug 2018-09-23 09:59:13 -07:00
Ryan Tharp
589e1357fa reverse support, some SOA record fixes, hex packet debug helper 2018-09-23 09:57:53 -07:00
Ryan Tharp
73270486c5 fix 404 packet, reverse dns response support 2018-09-23 09:55:43 -07:00
Ryan Tharp
47c90e63e8 reverse dns detection and question type 2018-09-23 09:52:47 -07:00
Ryan Tharp
31c89fc9f8 start of nameresolver config key, actually inform the dns tracker of tun gw ip, some pre-ipv6 work, attempting some endian fixes 2018-09-23 09:48:43 -07:00
Ryan Tharp
1d08dbbf19 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-09-23 14:58:35 +00:00
Jeff Becker
6652cc4bde
breaking change: add timestamp to introset
i don't know why this wasn't here. i could've sworn it was.
2018-09-23 09:57:21 -04:00
Ryan Tharp
2a217b5f7d Merge branch 'master' of https://github.com/loki-project/loki-network 2018-09-23 11:38:37 +00:00
Jeff Becker
ce03801a51
close socket in destructor 2018-09-23 07:29:41 -04:00
Ryan Tharp
14d9b19a0f clang-format 2018-09-22 04:28:55 -07:00
Ryan Tharp
dba3b66b50 fix FreeBSD compil 2018-09-22 04:25:37 -07:00
Ryan Tharp
9d4d595624 compile fixes 2018-09-22 03:39:53 -07:00
Ryan Tharp
2b2e0007fa active DNS relay (server/client) in tun interface 2018-09-22 03:25:16 -07:00
Ryan Tharp
1e13967198 support multiple dns ip tracker contexts for netns 2018-09-22 03:24:32 -07:00
Ryan Tharp
6590d502cd get first tun interface wiring 2018-09-22 03:23:23 -07:00
Ryan Tharp
31595d209d move logic into client 2018-09-22 03:22:18 -07:00
Ryan Tharp
e53e093e17 for previous commit 2018-09-22 03:21:26 -07:00
Ryan Tharp
6d0cf0c8c0 move logic into dnsc context, clang-format 2018-09-22 03:20:40 -07:00
Ryan Tharp
88670928f0 clang format 2018-09-22 03:20:15 -07:00
Ryan Tharp
8aa9d99977 update build, refactor .loki lookups into their own file 2018-09-22 03:17:22 -07:00
Ryan Tharp
eef2dbaaf4 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-09-21 21:55:11 +00:00
Jeff Becker
4309ea3b97
better handling for introset propagation 2018-09-21 12:37:49 -04:00
Jeff Becker
a91f54cc8a
when we get an invalid introset in response call handler if exists with empty result instead of timing out 2018-09-21 12:17:26 -04:00
Jeff Becker
86807d2631
permit 10 seconds clock skew for introsets 2018-09-21 11:24:00 -04:00
Ryan Tharp
3138610253 clang format 2018-09-21 07:36:06 -07:00
Ryan Tharp
d639fa3fdd support other tun gateways others than 10.x.x.x 2018-09-21 12:53:45 +00:00
Ryan Tharp
ca7d3567a2 prefetch and expose it 2018-09-21 12:53:20 +00:00
Ryan Tharp
4df6202c9f Merge branch 'master' of https://github.com/loki-project/loki-network 2018-09-21 12:51:54 +00:00
Jeff Becker
7c90e13299
use another buffer for signing 2018-09-21 08:47:07 -04:00
Jeff Becker
4e7c6ee90a
fix crash 2018-09-21 08:30:57 -04:00
Ryan Tharp
6cb073aa02 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-09-21 11:06:57 +00:00
Jeff
e7e1db8302 fix epoll 2018-09-20 18:38:45 -04:00
Jeff
fcc2d00813 try to not die in event loop 2018-09-20 18:37:45 -04:00
Jeff
929cd8169f i fucking hate apple it's fucking shit, fucking god awful shit.
also drybones will never find this.
2018-09-20 18:31:34 -04:00
Jeff
d9424ca04b fix macos compile 2018-09-20 10:32:31 -04:00
Ryan Tharp
18c1e7094f undo llvm 3.8 fixme, Jeff said he fixed it 2018-09-20 12:48:06 +00:00
Ryan Tharp
29a304f928 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-09-20 12:45:19 +00:00
Ryan Tharp
c5208fc7ae whoops for the last commit 2018-09-20 12:37:19 +00:00
Ryan Tharp
8bcc3b7c24 actually store service address with dns_pointer, dns_iptracker_setup, dns_iptracker_init remove autodetection/hard code 10.x.x.x for now 2018-09-20 12:36:11 +00:00
Ryan Tharp
aaeb035033 getRange() and getFirstTun() refactor start 2018-09-20 12:35:29 +00:00
Ryan Tharp
79fb82a3c8 main_router_getRange to get access to tun 2018-09-20 12:34:53 +00:00
Jeff Becker
ef9666e79b
add logging 2018-09-20 07:50:07 -04:00
Jeff Becker
5fb08c2139
check introset timestamps 2018-09-20 07:27:18 -04:00
Jeff Becker
8588aaa60b
dont use expired intros when shifting intros and lookup introsets via near router. 2018-09-20 07:08:12 -04:00
Ryan Tharp
6e5905fb1e windows compile compat fixes 2018-09-20 03:07:16 -07:00
Ryan Tharp
e2f5298e00 better logging 2018-09-20 03:06:47 -07:00
Ryan Tharp
d7e4cb483f better logging, note 2018-09-20 03:06:24 -07:00
Ryan Tharp
2bdee7d528 expose mapAddress of first tunEndpoint 2018-09-20 03:05:42 -07:00
despair86
be4a78d7fa fixed during latest rebase 2018-09-20 00:24:26 -05:00
despair86
4afa358c49 fix win32 build 2018-09-19 20:41:47 -05:00
Rick V
0477db37ca wow64 cross compile setup 2018-09-19 19:43:16 -05:00
Jeff Becker
29cf0c9ba5
don't propagate expired introsets 2018-09-19 13:58:02 -04:00
Jeff Becker
70a04c5dad
better introset expire logic 2018-09-19 13:54:22 -04:00
Jeff Becker
caf06fdf9e
try reinitializing buffer instead of doing resize 2018-09-19 13:30:18 -04:00
Jeff Becker
f7462910c2
more logging 2018-09-19 13:04:55 -04:00
Jeff Becker
e0c8ae92b2
fix leak when forwarding and sending LRCM 2018-09-19 12:36:12 -04:00
Jeff Becker
5d5db06cbf
update handover logic a bit 2018-09-19 12:20:34 -04:00
Jeff Becker
44eeda3041
fix ip mapping for new addresses so they don't use premapped addresses 2018-09-19 10:49:42 -04:00
Jeff Becker
327acc6d9c
don't heap allocate messages for transit traffic 2018-09-19 10:12:46 -04:00
Jeff Becker
8901123b34
try better handover 2018-09-19 09:59:14 -04:00
Jeff Becker
a71d5f84bb
reduce log level 2018-09-19 09:37:46 -04:00
Jeff Becker
a36de551e4
try connecting but still drop 2018-09-19 09:27:15 -04:00
Ryan Tharp
893b017402 Merge branch 'master' of https://github.com/neuroscr/loki-network 2018-09-19 06:24:52 -07:00
Ryan Tharp
8f5b172d33 merge? 2018-09-19 06:24:36 -07:00
Ryan Tharp
f9936b43d3 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-09-19 13:21:15 +00:00
Jeff Becker
58198656a3
configurable base directory for config and add option for only generating config 2018-09-19 09:02:55 -04:00
Ryan Tharp
f283923cb7 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-09-19 12:28:48 +00:00
Ryan Tharp
9f33edeed0 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-09-19 12:22:34 +00:00
Jeff Becker
df53e79aff
fix windows 2018-09-19 07:56:12 -04:00
Jeff Becker
3963070139
fix windows 2018-09-19 07:54:58 -04:00
Jeff Becker
095170d11e
fix windows build 2018-09-19 07:53:16 -04:00
Jeff Becker
be38ea70f0
try fixing CI builds 2018-09-19 07:50:18 -04:00
Jeff Becker
62bae2075b
proper shift 2018-09-18 20:17:35 -04:00
Jeff Becker
f110f3f3ad
tweak parameters for path build and obtain path if we have none 2018-09-18 19:56:26 -04:00
Jeff Becker
8e4b0a7963
fix reply logic 2018-09-18 18:54:04 -04:00
Jeff Becker
efc6e23c6f
fix tcp checksum calc 2018-09-18 18:53:48 -04:00
Jeff Becker
c31fd5fcde
make hidden services work again (probably) 2018-09-18 17:32:17 -04:00
Jeff Becker
5ebe3cc97c
limits and have clients use ephemeral identity 2018-09-18 16:56:22 -04:00
Jeff Becker
d83eb54739
only shift introset when we get a drop that matches current intro set 2018-09-18 16:15:18 -04:00
Jeff Becker
cde76250ca
close connections 2018-09-18 14:05:41 -04:00
Jeff Becker
ebe30e81c9
try unscrewing things up 2018-09-18 13:48:26 -04:00
Jeff Becker
acc1b625b4
actually store introsets when found 2018-09-18 11:12:26 -04:00
Jeff Becker
8d679b00a7
only log errors on sessions made with utp
only rebuild paths when introset changes router for outbound context
2018-09-18 11:05:56 -04:00
Jeff Becker
d1f1dd3c84
publish intro to multiple routers 2018-09-18 10:48:06 -04:00
Jeff Becker
b0f15d668a
don't close stale router sessions 2018-09-18 10:17:15 -04:00
Jeff Becker
2cf5e14ae9
lookup routers for intros 2018-09-18 10:04:46 -04:00
Jeff Becker
271acaf7e9
better intro shift logic, also actually shift intros 2018-09-18 09:38:26 -04:00
Jeff Becker
96716a39ef
send link layer keep alive and track bad intros 2018-09-18 09:02:52 -04:00
Jeff Becker
1eda28a2da
close invalid sockets 2018-09-18 08:29:27 -04:00
Jeff Becker
0c1e22650e
try calcuating tcp checksums right
try tracking convo tags correctly
2018-09-18 07:08:47 -04:00
Jeff Becker
8d6e7df94d
update convo tag and intro 2018-09-18 06:18:57 -04:00
Jeff Becker
1471e90fb5
intro handover 2018-09-17 20:32:11 -04:00
Jeff Becker
9ee7275a02
decrypt frames correctly and set return address 2018-09-17 20:18:33 -04:00
Jeff
689668d892 fix osx build 2018-09-17 14:59:12 -04:00
Jeff Becker
6dfed968ea
use correct parameter 2018-09-17 12:27:16 -04:00
Jeff Becker
bc3b411dbf
make it right 2018-09-17 12:22:11 -04:00
Jeff Becker
217f4a0d3f
use correct intro in tag tracking 2018-09-17 12:12:42 -04:00
Jeff Becker
9ffcf66e58
more checks less logging 2018-09-17 11:32:37 -04:00
Jeff Becker
edbd9197e5
update spec and fix copy constructor 2018-09-17 09:28:26 -04:00
Jeff Becker
f029b9508c
pick router closest in keyspace for lookups and publishing 2018-09-17 08:10:44 -04:00
Jeff Becker
2761da0b5f
actually load config 2018-09-17 08:02:09 -04:00
Jeff Becker
e047bfa266
update readme
add sighup
2018-09-17 07:47:34 -04:00
Jeff Becker
c900e9d004
increment iterator 2018-09-17 07:45:35 -04:00
Jeff Becker
9f9f9d9bb1
correct tcp checksum recalc (probably) 2018-09-16 09:13:52 -04:00
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