Commit Graph

994 Commits

Author SHA1 Message Date
Ryan Tharp
7550d6b022 revert Jeff's misunderstanding 2018-10-09 11:02:53 +00:00
Ryan Tharp
2fb5eaba1c remove getSockAddr() per Jeffs PR CR, add additional notes to reduce confusion 2018-10-09 11:02:06 +00:00
Ryan Tharp
4d3ad13daa Merge branch 'master' of https://github.com/loki-project/loki-network 2018-10-09 10:41:19 +00:00
Ryan Tharp
9bc9eed1d5 Merge branch 'master' of https://github.com/neuroscr/loki-network 2018-10-09 10:41:00 +00:00
Jeff
bb3bed11dc try better handover logic again 2018-10-08 17:24:00 -04:00
Jeff
07871827d0 swap intro 2018-10-08 16:41:50 -04:00
Jeff
608768628a don't rebuild 2018-10-08 16:05:05 -04:00
Jeff
78b82f9a5e try not killing paths 2018-10-08 15:57:30 -04:00
Jeff
0c4709efdd Merge branch 'master' of ssh://github.com/loki-project/loki-network 2018-10-08 07:56:46 -04:00
Jeff
a1d1518bc0 update logging to use human readable time 2018-10-08 07:56:17 -04:00
Jeff Becker
291cc57395
revert 2018-10-07 11:29:36 -04:00
Jeff Becker
f03698fb33
add to queue 2018-10-07 10:32:54 -04:00
Jeff Becker
f1a303d4d9
locking 2018-10-07 10:23:02 -04:00
Jeff Becker
0a4da82780
remove line 2018-10-07 10:11:55 -04:00
Jeff Becker
0480df528c
fixes 2018-10-07 10:11:03 -04:00
Jeff Becker
95b097f9b7
multithreaded crypto (maybe) 2018-10-07 10:10:48 -04:00
despair86
3c13101beb clang-format 2018-10-06 12:04:52 -05:00
despair86
3c7b7f2176 overlapped io pending is NOT an error 2018-10-06 12:04:52 -05:00
despair86
31c8aee3c1 woooooooooooooo
lokinet on win32 is now live
and the server code is more stable than the client code
2018-10-06 12:04:51 -05:00
despair86
2326ad0339 added note 2018-10-06 12:04:51 -05:00
despair86
e98835ff5c debug 2018-10-06 12:04:50 -05:00
despair86
457d6fbaf6 rebase conflict 2018-10-06 12:04:50 -05:00
despair86
94c5f46d33 try fixing win32 event loop 2018-10-06 12:04:50 -05:00
despair86
6ba60093d2 switch to std::variant for win32 ev_io
- sockets are a distinct (non-negative) file descriptor
- plain old file descriptors are opaque handles

this makes the specialisations of llarp::ev_io on win32 type-safe as
- TAP-Windows v9 adapter is a plain old device file (same as on UNIX and Linux)
- UDP listeners are sockets, so the type must change (from signed to unsigned int) to accomodate Winsock2
2018-10-06 12:04:49 -05:00
despair86
ca0d09142a Finally put together some skeletal TUN code for NT
up next: debugging the windows client code
stretch goal: prototype hosting a full masternode on Windows Server (still _highly_ experimental when it _does_ appear)
2018-10-06 12:04:48 -05:00
Jeff
11753f5d7e clarification for path transfer 2018-10-06 12:37:54 -04:00
Jeff
56d07ea700 try fix, dont use me 2018-10-06 12:21:45 -04:00
Jeff
a1fd9a0f93 don't publish every build 2018-10-06 12:09:37 -04:00
Jeff
78e601807d fix 2018-10-06 12:04:46 -04:00
Jeff
9a60c08810 only publish when we have at least 3 established paths 2018-10-06 12:03:54 -04:00
Jeff
e5208b65cc mark session active 2018-10-06 11:41:24 -04:00
Jeff
a0317e1430 remove logging 2018-10-06 11:10:02 -04:00
Jeff Becker
848f5c3059
make it compile 2018-10-05 11:05:52 -04:00
Ryan Tharp
57fccaf2e6
ShouldCreateDefaultHiddenService(), auto mode for defaultIfAddr & defaultIfName, favor llarp::Addr, guards, NAT with no bindings fix, actually name ifname set ifname 2018-10-05 11:02:58 -04:00
Jeff Becker
832e1849b2
remove log and swap intros 2018-10-04 14:15:22 -04:00
Jeff Becker
98df3b09f2
only use good routers 2018-10-04 13:51:45 -04:00
Jeff Becker
ab306b70bb
try closing session correctly 2018-10-04 13:41:23 -04:00
Jeff Becker
d71f0db2a5
more vigorous profiling 2018-10-04 13:34:26 -04:00
Jeff Becker
746e95994e
stricter profiling and better handover 2018-10-04 12:48:26 -04:00
Jeff Becker
a8f7a26c00
fix timestamps 2018-10-04 11:36:46 -04:00
Jeff Becker
1146bb34ac
make dns work 2018-10-04 11:34:31 -04:00
Ryan Tharp
6738fcaa6a
make sure iptracker is configured on start 2018-10-04 11:20:52 -04:00
Ryan Tharp
1efb68e9cd
pass tracker into dns_iptracker_setup 2018-10-04 11:20:34 -04:00
Ryan Tharp
bd1a25856e Merge branch 'master' of https://github.com/neuroscr/loki-network 2018-10-04 07:14:06 -07:00
Ryan Tharp
e09c80e7e9 make sure iptracker is configured on start 2018-10-04 07:10:42 -07:00
Ryan Tharp
f101dba662 fix refactor typo 2018-10-04 07:10:28 -07:00
Ryan Tharp
27afd392f2 pass tracker into dns_iptracker_setup 2018-10-04 07:10:09 -07:00
Jeff Becker
497c8c7d66
fix config 2018-10-04 09:56:06 -04:00
Jeff Becker
13a9ff7e5a
make configs generate sane defaults 2018-10-04 09:55:29 -04:00
Jeff Becker
a07b9b18d1
fix segfault 2018-10-04 09:21:05 -04:00
Jeff Becker
b724cc54fe
Merge remote-tracking branch 'ryan/master' 2018-10-04 09:04:57 -04:00
Jeff Becker
f19f78b573
try better handover logic 2018-10-04 09:03:48 -04:00
Jeff Becker
a3001dfe1d
fix timestamps, revert to old behavior 2018-10-04 09:02:03 -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
bcbaf47adf ShouldCreateDefaultHiddenService(), auto mode for defaultIfAddr & defaultIfName, favor llarp::Addr, guards, NAT with no bindings fix, actually name ifname set ifname 2018-10-03 04:01:42 -07:00
Ryan Tharp
cc42e8e623 guard, rename endpoint to context, main_router_endpoint_iterator() implementation 2018-10-03 04:00:47 -07:00
Jeff Becker
8f98ef3e28
forgot file 2018-10-03 07:00:30 -04:00
Ryan Tharp
604c44e191 use llarp::Addr, added some guards 2018-10-03 03:59:49 -07:00
Jeff Becker
1f02498fc0
code for disabling default hidden service 2018-10-03 06:59:30 -04:00
Ryan Tharp
6bfd55f3f4 fix headers, clang-format, favor llarp::Addr 2018-10-03 03:54:12 -07:00
Ryan Tharp
f032a83e37 use llarp::Addr to store local private ip 2018-10-03 03:52:00 -07:00
Ryan Tharp
c40d5f4c4d notes and guard 2018-10-03 03:49:57 -07:00
Ryan Tharp
a0082e95bb change dll from tunEndpoint to router hidden service context, const some unchanging ptrs, use llarp::Addr more 2018-10-03 03:48:31 -07:00
Ryan Tharp
8f32f357c2 hasEndpoints(), mapAddressAll_context(), iterate(), MappAddressAllIter() 2018-10-03 03:44:58 -07:00
Ryan Tharp
429927187a refactored detect into net.cpp, clang-format 2018-10-03 03:42:44 -07:00
Ryan Tharp
a0aa363365 doesn't make sense to pass by value 2018-10-03 03:42:12 -07:00
Ryan Tharp
ec2aaa533f pretty sure this a clang-format 2018-10-03 03:40:32 -07:00
Ryan Tharp
48d9a38534 getSockAddr(), findFreePrivateRange(), findFreeLokiTunIfName() 2018-10-03 03:35:39 -07:00
Ryan Tharp
ce02a37b1c clang-format 2018-10-03 03:33:28 -07:00
Ryan Tharp
4b3b09736b Merge branch 'master' of https://github.com/loki-project/loki-network 2018-10-02 23:11:44 +00:00
Jeff
acc03fcad7 add default hidden service endpoint for clients 2018-10-02 13:35:51 -04:00
Jeff
b7eea47336 fall through 2018-10-02 11:41:40 -04:00
Jeff
a9eeb7fed9 meh 2018-10-02 11:33:01 -04:00
Jeff
1d41d93fd0 fix linux 2018-10-02 11:32:07 -04:00
Jeff
77b2903bda logging and add DST awareness to timestamps 2018-10-02 11:29:37 -04:00
Jeff
f3d446dafb handover logic fix, remove and add logging 2018-10-02 11:00:34 -04:00
Jeff
dbeead03f3 fix kqueue build 2018-10-02 10:29:46 -04:00
despair86
991c1d8fce fix 2018-10-01 15:19:26 -05:00
despair86
19b7f47322 bug: if we have only one network interface, then terminate the linked list with nullptr
otherwise, the windows build will crash
2018-10-01 15:08:56 -05: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
despair86
7f809eb53b fix windows build 2018-10-01 15:06:07 -05:00
despair86
7c5d98ca31 clean up win32 build rules 2018-10-01 15:06:06 -05:00
Jeff Becker
0f7c7c871f
reduce log levels and don't establish outbound send context for previously made inbound sessions 2018-10-01 14:10:25 -04:00
Jeff Becker
23cff0bee3
try fixing all that tun shit, YOLO 2018-10-01 13:16:15 -04:00
Jeff Becker
8aa0d0d4a8
try fixing tun writing 2018-10-01 13:05:36 -04:00
Jeff Becker
9e8563a884
cache convo tag and drop traffic 2018-10-01 11:45:55 -04:00
Jeff Becker
1eef5387b6
update introset on message drop 2018-10-01 10:31:54 -04:00
Jeff Becker
681e669fd8
try better publish logic and timeouts for requests 2018-10-01 10:18:17 -04:00
Ryan Tharp
4cc482764d clang format 2018-10-01 03:00:11 -07:00
Ryan Tharp
fb9b60bd16 clang-format 2018-10-01 02:57:57 -07:00
Ryan Tharp
e890ef2e5b ensure_config split router/client refactor, move C++ stuff to .hpp 2018-10-01 02:56:14 -07:00
Ryan Tharp
058ed4d4ea Merge branch 'master' of https://github.com/neuroscr/loki-network 2018-10-01 09:03:31 +00:00
Jeff
4158e422bb don't store introsets when forwarding a request 2018-09-30 12:02:42 -04:00
Jeff
a168c81a75 make mac tun work 2018-09-30 11:40:34 -04:00
Jeff
e50cbf5acb Merge branch 'master' of ssh://github.com/loki-project/loki-network 2018-09-30 11:25:59 -04:00
Jeff Becker
f6c812a642
include packet info in tun but discard it so that tun can work on platforms
that include packet info
2018-09-30 09:23:37 -04:00
Jeff Becker
138c222a1a
dns port configurable at compile time (make this configurable on runtime plz) 2018-09-30 08:42:28 -04:00
Jeff Becker
2b8bd11f5e
ping less and try not to double free in llarp_router::SendToOrQueue 2018-09-30 08:01:58 -04:00
Jeff Becker
ed5867e49f
don't use std::list 2018-09-30 07:17:48 -04:00
Ryan Tharp
79d61dedc3 use new llarp::Addr based init 2018-09-29 03:28:55 -07:00
Ryan Tharp
9ea564e832 update llarp_main_init_dnsd to make new DNSd init 2018-09-29 03:27:38 -07:00
Ryan Tharp
e876506295 improve b32 failure handling, dead code removal 2018-09-29 03:26:34 -07:00
Ryan Tharp
0278ba6edf more clang-format 2018-09-29 03:25:07 -07:00
Ryan Tharp
6c2d0e21bf llarp_dnsd_init() update to use llarp::Addr more and adjust to new DNSc init changes, remove unneeded WIN32 change (made it the default) 2018-09-29 03:22:48 -07:00
Ryan Tharp
35def45c98 answer_request_alloc() use a unique_ptr, multiple resolver support start, llarp_dnsc_init to use llarp::Addrs 2018-09-29 03:18:33 -07:00
Jeff
d6463bf8de Merge branch 'master' of ssh://github.com/loki-project/loki-network 2018-09-28 19:47:25 -04:00
Jeff
52da002488 comit 2018-09-28 19:47:18 -04:00
Jeff Becker
36c927fc79
premptively build path to selected intro's router every time we don't have it if we get an introset update, on the outbound context 2018-09-28 11:46:47 -04:00
Jeff Becker
8a4b2e97a5
add lint target for makefile using clang tidy
run make format
2018-09-28 10:29:34 -04:00
Jeff Becker
8878e5c4d1
redundancy with outbound contexts
have multiple outbound contexts and send on the one that is alive
2018-09-28 08:22:50 -04:00
Jeff Becker
869b758365
more 2018-09-27 13:29:26 -04:00
Jeff Becker
fa5389cb05
docstrings and manual rebuild if the path expires soon 2018-09-27 12:15:40 -04:00
Jeff Becker
186a36cd4b
try fixing dht crash 2018-09-27 08:47:21 -04:00
Jeff Becker
724a093da7
syntax 2018-09-27 07:09:00 -04:00
Jeff Becker
17a8ac13ad
fix logic 2018-09-27 07:07:20 -04:00
Jeff Becker
22b1e58dcf
clear intro 2018-09-27 07:03:01 -04:00
Jeff Becker
d71882259e
try spacing path building out more wide in time so that intros don't die in the same small interval 2018-09-27 06:51:30 -04:00
Jeff Becker
34dc5bec93
check for cache hit to prevent automapping 2018-09-26 10:41:45 -04:00
Jeff Becker
9a062f79fb
use parent endpoint paths when we can more 2018-09-26 10:06:48 -04:00
Jeff Becker
b40dd30c7a
linear backoff for path building to lessen strain on the network 2018-09-26 09:04:25 -04:00
Jeff Becker
f85cfcdab0
please don't fucking do this, reverted. 2018-09-26 08:33:12 -04:00
Jeff Becker
7b0860aec0
Merge remote-tracking branch 'ryan/master' 2018-09-26 07:22:27 -04:00
Jeff Becker
dc47a0630b
try using parent endpoint's pathset if outbound context does not have a path to a router 2018-09-26 07:16:54 -04:00
Jeff Becker
c9bfe640b7
increment sequence number so we don't spam new intro frames 2018-09-26 06:52:57 -04:00
Jeff Becker
69bf060974
correct key 2018-09-25 09:43:06 -04:00
Jeff Becker
179d18bad4
use correct value 2018-09-25 09:38:10 -04:00
Jeff Becker
7d10103e15
don't repeat 2018-09-25 09:34:35 -04:00
Ryan Tharp
731ea83834 bug fix and cleanup 2018-09-25 06:26:21 -07:00
Ryan Tharp
ca532e39c8 Merge branch 'master' of https://github.com/neuroscr/loki-network 2018-09-25 06:21:19 -07:00
Ryan Tharp
1436036d94 make sure all vectors are unique_ptr, unorder maps (optimization) 2018-09-25 06:20:39 -07:00
Jeff Becker
59cdc160cd
add slot for bootstrap node in config autogeneration 2018-09-25 08:11:10 -04:00
Ryan Tharp
89d41dd365
Merge branch 'master' into master 2018-09-24 13:57:40 -07:00
Jeff Becker
b273676a63
more logic for dead sessions to prevent segfault 2018-09-24 15:50:52 -04:00
Jeff Becker
16508a99db
tweak timeouts more 2018-09-24 13:33:54 -04:00
Jeff Becker
2d18cfcdd7
tweak timeout 2018-09-24 13:14:05 -04:00
Jeff Becker
d298e4f124
use intros only if they don't expire soon 2018-09-24 13:13:29 -04:00
Jeff Becker
5dfaeebb16
mark sessions dead/inactive 2018-09-24 11:52:25 -04:00
Jeff Becker
9a20daa1ce
add send timeouts 2018-09-24 11:34:56 -04:00
Jeff Becker
983c72f032
use 6 paths by default 2018-09-24 10:46:43 -04:00
Jeff Becker
ca1fc0babd
try alternative path death detection 2018-09-24 10:44:23 -04:00
Jeff Becker
3af93954f3
actually publish via far router 2018-09-24 10:31:58 -04:00
Ryan Tharp
0e6d85f6c9 Merge branch 'master' of https://github.com/loki-project/loki-network 2018-09-24 13:24:42 +00:00
Ryan Tharp
64f6f762bd how did this even compile on llvm 2018-09-24 13:24:21 +00:00
Ryan Tharp
287358ae62 I can't bare to throw out all this debugging I added to debug connections, put behind neuroCryptoDebug define for now 2018-09-24 06:11:30 -07:00
Ryan Tharp
902f6f14b7 pass RC by ref, header cleanup, clang format 2018-09-24 06:10:36 -07:00
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