Commit Graph

7435 Commits

Author SHA1 Message Date
jeff deb0a982be
it works 2021-09-02 14:17:09 -04:00
jeff 1272a4fbe1
add dummy sign target for ci when we don't have signing keys
remove static macos from ci pipeline
2021-09-02 14:17:09 -04:00
jeff d24221e67a
make ci run ./contrib/mac.sh with no codesigning 2021-09-02 14:17:09 -04:00
jeff 7db2459469
macos sort of works now 2021-09-02 14:17:09 -04:00
Jason Rhinelander 81d27c35c1
Default CODESIGN_APPEX to CODESIGN_APP
Sometimes (e.g. dev builds) these can apparently be the same; sometimes
it seems they need to be different, because Apple.
2021-09-02 14:17:08 -04:00
Jason Rhinelander 3ab117a03b
Switch extension from a framework to an appex 2021-09-02 14:17:08 -04:00
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.
2021-09-02 14:17:08 -04:00
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
2021-09-02 14:17:08 -04:00
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 Becker 63ed5c16ed
upload bare apk as ci artifact 2021-09-02 13:11:29 -04:00
Jeff Becker 92cfa8a558
dont bundle raw jni libs 2021-09-02 13:05:16 -04:00
Jeff Becker c39225b3b9
correct lokinet flutter url 2021-09-02 12:03:04 -04:00
Jeff Becker f65ec8e79f
make ci try building the flutter apk in the android apk pipeline 2021-09-02 12:01:36 -04:00
Jason Rhinelander f3bc00bcd8
Merge pull request #1724 from majestrate/update-static-deps-2021-08-31
bump openssl static deps version for upstream security update
2021-09-01 17:30:51 -03: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
Jeff 0447ffc829
Merge pull request #1728 from jagerman/fix-arg-order-v2
Unbound callbacks also need arguments reversed
2021-09-01 14:19:05 -04: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
Jeff c0b8c87f81
Merge pull request #1725 from jagerman/dnsinterceptor-arg-reverse
Reapply "fix dns on android" + fix argument order
2021-09-01 11:58:02 -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
Jeff Becker 439183bf19
bump openssl static deps version for upstream security update 2021-08-31 12:05:01 -04:00
Jeff 2e52908510
Merge pull request #1722 from jagerman/sockaddr-optimization
SockAddr string optimization
2021-08-31 09:11:34 -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 e2894cdbac Change default dns listen port to 953 (instead of 1053)
Tom pointed out that it's slightly better to be a privileged port so
that someone can't hijack it on a restart.
2021-08-12 20:05:13 -03:00
Jason Rhinelander 9e757ac839 Fedora 34 rpm 2021-08-12 13:43:11 -03:00
Jason Rhinelander f2fede2dfe Remove broken split() method
This function has a bug when `last` returns npos (which then fails an
assertion in a debug build).

Rather than fixing it, it seemed easier just to remove it and rely on
the split() version that does almost exactly the same thing but takes a
string_view delimiter.
2021-08-12 13:43:07 -03: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
Jeff ea79d1c48c
Merge pull request #1713 from jagerman/remove-unused-user-defines
Remove unused defaults.hpp
2021-08-10 18:30:13 -04:00
Jason Rhinelander f40052df85 Remove old unused lokinet-bootstrap script
We compile one now for various, but the script apparently never got
removed.
2021-08-10 17:27:23 -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 ee4e73fd94
Merge pull request #1712 from jagerman/bencode-dump-stdin
bencode-dump.py: support reading from stdin
2021-08-06 14:52:42 -04:00
Jason Rhinelander 29418f7a7b bencode-dump.py: support reading from stdin
So that you can pipe bt-encoded output into it, e.g. from the
in-progress oxend bt-rpc interface.
2021-08-06 14:25:32 -03:00