Commit Graph

4537 Commits (712b5a5608e1e2412519e815c716cd4b5b494a08)

Author SHA1 Message Date
Jason Rhinelander 3f0b34e860
Consolidate apple-specific bits into llarp/apple 3 years ago
jeff deb0a982be
it works 3 years ago
jeff 7db2459469
macos sort of works now 3 years ago
Jason Rhinelander 3ab117a03b
Switch extension from a framework to an appex 3 years ago
Jason Rhinelander faf8a699a6
Set version into Info.plist, don't manually configure
cmake already treats the info plist as a file to be configured (not
merely copied) so we don't need to configure_file ourselves to a temp
file.
3 years ago
Jason Rhinelander 0bb00baacf
Various cmake build cleanups/refactors
- Added contrib/macos/README.txt with description of the cancer
  happening here.
- Add provisioningprofiles that Apple wants to make things work properly
- Made the entitlements files match the provisioningprofiles
- Remove configured entitlements files; we *can't* change any of the
  things here because they are closedly tied to the provisioningprofiles
  -- which means if someone wants to build their own Lokinet, they have
  to replace a bunch of crap and change application IDs throughout.
  This is the hostile-to-open-source Apple way.
- Remove unused old lokinet binary, as we're no longer using it on macos
- Use a POST_BUILD rather than install to copy things around into the
  right places
- Convert all the configure_file's to consistently use @ONLY
- Misc cleanups
3 years ago
jeff 5edd045c9b
add swift version bullshit file and additional bullshittery 3 years ago
jeff 0708a0d897
initial network extension code for macos
probably does not work
3 years ago
Jeff 3bcc8f99c0
Merge pull request #1726 from majestrate/dns-graceful-teardown-2021-09-01
dns refactor
3 years ago
Jeff 060c571060
Merge pull request #1727 from majestrate/android-hang-fix-2021-09-01
dont save addrmap on android as it hangs
3 years ago
Jeff cd99e5c4f4
Merge pull request #1729 from jagerman/fix-omq-deprecation
Stop using deprecated OMQ connect_remote overload
3 years ago
Jason Rhinelander a8a7ef5461 Stop using deprecated OMQ connect_remote overload 3 years ago
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.
3 years ago
Jeff Becker 0c1a3e19bd
redo dns to use event loop on non windows and threading bullshit on windows 3 years ago
Jeff Becker a4a9062f12
dont save addrmap on android as it hangs 3 years ago
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.
3 years ago
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).
3 years ago
Jeff 418eb4efaa
Merge pull request #1721 from majestrate/platform-bits-2021-08-26
initial routing table platform bits refactor
3 years ago
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.
3 years ago
Jeff Becker 6251c13d46
add NOP implementation of VPN route manager for android 3 years ago
Jeff Becker 07a58ffa6c
use vpn::NetworkInterface for add/del route via interface instead of string 3 years ago
Jeff Becker c9b9ed91c2
make add/del blackhole default to empty implementation 3 years ago
Jeff Becker e25ae7192f
introduce add/del route via interface to route manager 3 years ago
Jeff Becker 64cd2990bc
remove old routing table maniuplation code 3 years ago
Jeff Becker 9791fd62a0
initial win32 port of route manager 3 years ago
Jeff Becker 0871862452
initial routing table refactor
* move routing table manipulation to vpn platform
* add initial linux implementation of vpn platform route manipulation
3 years ago
Jeff Becker 37dde7da05
format 3 years ago
Jason Rhinelander f39084bffa
Merge pull request #1714 from jagerman/remove-broken-split
Remove unneeded split(str, char) method
3 years ago
Jason Rhinelander 1b878e348b
Merge pull request #1715 from jagerman/default-upstream-dns-port
Fix default upstream DNS not working
3 years ago
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.
3 years ago
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.
3 years ago
Jason Rhinelander ae1243e9d9 Remove unused defaults.hpp
The definitions in here aren't actually used anywhere anymore, so just
drop it.
3 years ago
Jeff Becker e96ec156ea
add / remove route blackhole so we dont leak if we crash 3 years ago
Jeff Becker dace0224ec
fix dns on android 3 years ago
Jeff Becker 4f1bd14d3c
fix issue with excessively pedantic stl on archlinux 3 years ago
Jeff Becker 14cc115489
dont use constexpr 3 years ago
Jeff Becker 069d9487b7
* throw exception on invalid SessionResult when transforming to SendStatus
* add case for printing unknown SessionResult
3 years ago
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
3 years ago
Jeff Becker 30848165e7
add path filter in lokinetmon 3 years ago
Jeff Becker e7ac0f3902
expunge outbound contexts that have not gotten inbound traffic for a long while 3 years ago
Jeff Becker 75451d7124
* add establish fail enum
* dont call outbound session hooks for inbound sessions
3 years ago
Jeff Becker e3281cd026
add string representation to SessionResult 3 years ago
Jeff Becker 1d1d97b0ef
disable peer status entirely 3 years ago
Jeff Becker 2578983a09
dont give peer stats in rpc 3 years ago
Jeff Becker 20bc338eba
inbound sessions from CLIENTS should only have an elevated lifetime 3 years ago
Jeff Becker caddeef2e8
more information in logs 3 years ago
Jeff Becker 977ea3d689
* add log warn
* throw if inbound link makes outbound session
3 years ago
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.
3 years ago
Jeff Becker cf0349c259
if we have an inbound session don't fail with NoLink 3 years ago
Jeff Becker f4fa83703f
refactor to use RouterID instead of rc.pubkey 3 years ago