Jeff Becker
aa988a6fa4
Merge remote-tracking branch 'cathugger/master'
2018-10-10 08:10:04 -04:00
cathugger
05e6c31238
ip: some fixes and tweaks
2018-10-10 12:06:28 +00:00
Jeff Becker
1d7b0d77a9
Revert "make it compile :DDDD"
...
This breaks the build and reverts commit 6732cbf54f
.
2018-10-10 07:58:04 -04:00
Jeff Becker
6732cbf54f
make it compile :DDDD
2018-10-10 07:51:11 -04:00
Jeff Becker
32a028f6d8
Merge remote-tracking branch 'cathugger/master'
2018-10-10 07:48:44 -04:00
Jeff Becker
cbfc73515e
fix zeroing of addresses, put it in the right place
2018-10-10 07:47:30 -04:00
cathugger
5169df546c
ip: UDP checksum recalculation support
2018-10-10 05:38:59 +03:00
cathugger
7fd501e528
ip: use deltachksum for IPv4 headers aswell
2018-10-10 04:59:52 +03:00
cathugger
36ea776d07
ip: try to fix deltachksum
2018-10-10 04:29:44 +03:00
cathugger
0f8e0e9d58
tun: fix "fix "clear src/dst addresses and checksum before sending""
...
correct dst address is required for FlushSend to work, so do IP address and checksum null'ing there.
dang myself.
2018-10-10 03:28:53 +03:00
cathugger
4f7ae52cad
tun: fix "clear src/dst addresses and checksum before sending"
...
clearing of addresses and checksum was put in wrong place, so it null'd everything before writing to tun interface.
damnit jeff.
2018-10-10 03:00:48 +03:00
cathugger
ed39cb98e1
ip: (try to) fix deltachksum
2018-10-10 00:56:20 +03:00
cathugger
c515e4a248
ip: avoid pointless length checks
2018-10-10 00:09:16 +03:00
cathugger
a92e7c2104
ip: fix stupid MIN thing
2018-10-09 20:49:20 +03:00
cathugger
b5392c5679
make format
2018-10-09 20:09:45 +03:00
cathugger
2f4b0fbda6
ip: use delta TCP checksum calculation, don't recalculate ICMP checksum
2018-10-09 20:02:49 +03:00
cathugger
4cba59f3c4
tun+ip: clarify what happens where
2018-10-09 17:09:03 +03:00
Ryan Tharp
529cd4e6a3
expose dns_query and build_dns_packet()
2018-10-09 05:41:33 -07:00
Ryan Tharp
c8c4a0da10
don't risk any SOA crashes, fix language types
2018-10-09 05:40:53 -07:00
Ryan Tharp
924c3c0895
fix cast
2018-10-09 05:38:41 -07:00
Jeff Becker
eb9150431f
make it compile
2018-10-09 08:32:02 -04:00
Jeff Becker
6d7d6f6efa
clear src/dst addresses and checksum before sending (infoleak)
2018-10-09 08:29:46 -04:00
Jeff Becker
a7f8da4cbc
fix double free
2018-10-09 08:10:20 -04:00
Jeff Becker
475ac63f4a
initial admin api infra
2018-10-09 08:06:30 -04:00
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
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