1
1
Fork 0
mirror of https://github.com/oxen-io/lokinet synced 2023-12-14 06:53:00 +01:00
Commit graph

4531 commits

Author SHA1 Message Date
jeff 5edd045c9b
add swift version bullshit file and additional bullshittery 2021-09-02 14:17:08 -04:00
jeff 0708a0d897
initial network extension code for macos
probably does not work
2021-09-02 14:17:08 -04:00
Jeff 3bcc8f99c0
Merge pull request #1726 from majestrate/dns-graceful-teardown-2021-09-01
dns refactor
2021-09-01 16:23:27 -04:00
Jeff 060c571060
Merge pull request #1727 from majestrate/android-hang-fix-2021-09-01
dont save addrmap on android as it hangs
2021-09-01 16:23:17 -04:00
Jeff cd99e5c4f4
Merge pull request #1729 from jagerman/fix-omq-deprecation
Stop using deprecated OMQ connect_remote overload
2021-09-01 16:19:35 -04:00
Jason Rhinelander a8a7ef5461 Stop using deprecated OMQ connect_remote overload 2021-09-01 15:40:25 -03:00
Jason Rhinelander 14c93e2b93 Unbound callbacks also need arguments reversed
PR #1725 reversed argument orders but UnboundResolver was still using
(from,to) ordering in its callbacks, which leaked through to make a
wrong order in our reply function (which simply forwards arguments).

This fixes that bug by making UnboundResolver callback argument order
consistent (i.e. using to, from) with the PacketHandler argument order.
2021-09-01 14:40:18 -03:00
Jeff Becker 0c1a3e19bd
redo dns to use event loop on non windows and threading bullshit on windows 2021-09-01 13:08:37 -04:00
Jeff Becker a4a9062f12
dont save addrmap on android as it hangs 2021-09-01 12:07:10 -04:00
Jason Rhinelander 3ce329d2bf Reapply "fix dns on android" + fix argument order
The reason the dns fix on android didn't work is that the DnsInterceptor
had a reversed to/from argument order for its
`SendServerMessageBufferTo` overload, and so android/mac needed the
to/from to be reversed so that the second reverse cancelled out the
first one.

Upon review, the DnsInterceptor order (to, from) is more intuitive than
the base order (from, to), so this reapplies the dns fix and swaps
everything *except* DnsInterceptor to match the (to, from) argument
order.
2021-09-01 12:09:27 -03:00
Jason Rhinelander a70035b7ec
Revert "fix dns on android"
This reverts commit dace0224ec.

This reportedly didn't fix things on Android, and most definitely breaks
macOS (with this we get a bunch of errors about expecting inbound when
we have outbound).
2021-08-31 18:58:03 -04:00
Jeff 418eb4efaa
Merge pull request #1721 from majestrate/platform-bits-2021-08-26
initial routing table platform bits refactor
2021-08-31 12:10:32 -04:00
Jason Rhinelander 3deb55193f SockAddr string optimization
- Reduce buffer size to INET6_ADDRSTRLEN, and use a single buf rather
  than two identical ones in each branch.
- Don't pre-reserve because doing so is usually going to over-allocate,
  but also because it prevents SSO, especially for the IPv4 case which
  should fit in SSO for all IPv4 addresses.
2021-08-30 16:55:17 -03:00
Jeff Becker 6251c13d46
add NOP implementation of VPN route manager for android 2021-08-27 19:49:01 -04:00
Jeff Becker 07a58ffa6c
use vpn::NetworkInterface for add/del route via interface instead of string 2021-08-27 11:55:57 -04:00
Jeff Becker c9b9ed91c2
make add/del blackhole default to empty implementation 2021-08-27 11:42:24 -04:00
Jeff Becker e25ae7192f
introduce add/del route via interface to route manager 2021-08-27 11:40:40 -04:00
Jeff Becker 64cd2990bc
remove old routing table maniuplation code 2021-08-27 11:07:54 -04:00
Jeff Becker 9791fd62a0
initial win32 port of route manager 2021-08-27 11:02:21 -04:00
Jeff Becker 0871862452
initial routing table refactor
* move routing table manipulation to vpn platform
* add initial linux implementation of vpn platform route manipulation
2021-08-27 10:42:04 -04:00
Jeff Becker 37dde7da05
format 2021-08-16 08:37:58 -04:00
Jason Rhinelander f39084bffa
Merge pull request #1714 from jagerman/remove-broken-split
Remove unneeded split(str, char) method
2021-08-11 19:08:14 -03:00
Jason Rhinelander 1b878e348b
Merge pull request #1715 from jagerman/default-upstream-dns-port
Fix default upstream DNS not working
2021-08-11 19:08:00 -03:00
Jason Rhinelander 73f0432b28 Fix default upstream DNS not working
The default upstream DNS was being set to 1.1.1.1:0, which doesn't work.
This fixes it to also set the port so that default upstream resolution
(i.e. with an empty config) works again.
2021-08-11 18:24:11 -03:00
Jason Rhinelander 9950adf472 Remove unneeded split(str, char) method
This function had a bug in stable (fixed in dev) when `last` returns
npos, but the function also appears to basically be duplicating what the
next split version can do, so this just removes it and uses the single
more generic split(strview, strview) method.
2021-08-11 00:26:52 -03:00
Jason Rhinelander ae1243e9d9 Remove unused defaults.hpp
The definitions in here aren't actually used anywhere anymore, so just
drop it.
2021-08-10 17:13:27 -03:00
Jeff Becker e96ec156ea
add / remove route blackhole so we dont leak if we crash 2021-07-12 08:26:53 -04:00
Jeff Becker dace0224ec
fix dns on android 2021-07-09 09:51:51 -04:00
Jeff Becker 4f1bd14d3c
fix issue with excessively pedantic stl on archlinux 2021-07-06 08:54:39 -04:00
Jeff Becker 14cc115489
dont use constexpr 2021-07-05 12:38:18 -04:00
Jeff Becker 069d9487b7
* throw exception on invalid SessionResult when transforming to SendStatus
* add case for printing unknown SessionResult
2021-07-05 09:18:28 -04:00
Jeff Becker 18cb59a1b5
* make tranform function for SessionResult to SendStatus
* add case for SessionResult::EstablishFail
* clean up outbound message handler to use transform function instead of many private member functions
2021-07-05 09:09:21 -04:00
Jeff Becker 30848165e7
add path filter in lokinetmon 2021-07-05 09:09:21 -04:00
Jeff Becker e7ac0f3902
expunge outbound contexts that have not gotten inbound traffic for a long while 2021-07-05 09:09:20 -04:00
Jeff Becker 75451d7124
* add establish fail enum
* dont call outbound session hooks for inbound sessions
2021-07-05 09:09:20 -04:00
Jeff Becker e3281cd026
add string representation to SessionResult 2021-07-05 09:09:20 -04:00
Jeff Becker 1d1d97b0ef
disable peer status entirely 2021-07-05 09:09:20 -04:00
Jeff Becker 2578983a09
dont give peer stats in rpc 2021-07-05 09:09:20 -04:00
Jeff Becker 20bc338eba
inbound sessions from CLIENTS should only have an elevated lifetime 2021-07-05 09:09:20 -04:00
Jeff Becker caddeef2e8
more information in logs 2021-07-05 09:09:20 -04:00
Jeff Becker 977ea3d689
* add log warn
* throw if inbound link makes outbound session
2021-07-05 09:09:20 -04:00
Jeff Becker 99379c5def
establish outbound sessions when we have no outbound session.
when we have an inbound session we still want to make an outbound session.
2021-07-05 09:09:20 -04:00
Jeff Becker cf0349c259
if we have an inbound session don't fail with NoLink 2021-07-05 09:09:19 -04:00
Jeff Becker f4fa83703f
refactor to use RouterID instead of rc.pubkey 2021-06-30 06:45:11 -04:00
Thomas Winget 8515fe09d4 fix minor oversight/inefficiency with already established connections 2021-06-29 18:44:42 -04:00
Jeff Becker abd6e4c558
use weak_ptr instead of bare pointer to prevent use after free 2021-06-25 05:08:31 -04:00
Jeff Becker aa48a1de1b
lower log level 2021-06-23 07:30:30 -04:00
Jeff Becker 3ad59105ef
when an outbound context is "marked bad" we want to ignore any new paths.
before this commit when a new path was made when an outbound context marked bad lokinet would segfault.
2021-06-23 07:21:01 -04:00
Jeff Becker 9d0dffe086
only permit 1 pending session per udp endpoint 2021-06-22 09:26:03 -04:00
Jeff Becker 67f8a7116f
if we get a discard message from the pivot discard the outbound context if the remote intro is also expired 2021-06-21 16:02:03 -04:00