Commit Graph

294 Commits

Author SHA1 Message Date
Jeff Becker
0c37cc7f60
lokinet-bootstrap native binary 2021-04-15 13:39:45 -04:00
Jeff Becker
9e05e245e0
rebrand and bump version 2021-04-14 12:55:52 -04:00
Thomas Winget
09ebe77860 let format.sh try system clang-format in case it is the correct version 2021-03-09 19:36:57 -05:00
Jason Rhinelander
e5aa96ed7c Upgrade to clang-format 11
The formatting changes here are not too large and also nice: in
particular clang-format-11 appears to do better handling of `{...}`
constructor braces/arguments.
2021-03-05 13:36:31 -04:00
Jeff Becker
27685b1b6e
fix docker lines and dont install recommended packages 2021-03-04 17:03:02 -05:00
Jason Rhinelander
78a43e7163 Add oxen-core deps to docker images 2021-03-04 17:21:45 -04:00
Jeff Becker
b9d439558f
dont include lokinet-bootstrap.ps1 in ci builds 2021-03-04 14:05:44 -05:00
Jeff
f685d615bf
Merge pull request #1537 from majestrate/android-works-now-2021-02-11
Android
2021-03-02 14:08:40 -05:00
Thomas Winget
4c630e0437 Large collection of changes to make android work
- Previous android java and jni code updated to work, but with much love
  still needed to make it work nicely, e.g. handling when the VPN is
  turned off.

- DNS handling refactored to allow android to intercept and handle DNS
  requests as we can't set the system DNS to use a high port
  (and apparently Chrome ignores system DNS settings anyway)

- add packet router structure to allow separate handling of specific
  intercepted traffic, e.g. UDP traffic to port 53 gets handled by our
  DNS handler rather than being naively forwarded as exit traffic.

- For now, android lokinet is exit-only and hard-coded to use exit.loki
  as its exit.  The exit will be configurable before release, but
  allowing to not use exit-only mode is more of a challenge.

- some old gitignore remnants which were matching to things we don't
  want them to (and are no longer relevant) removed

- some minor changes to CI configuration
2021-03-02 13:18:22 -05:00
Jeff Becker
2655a64da0
redo ci pipeline:
* make cached docker containers for ci
* remove old docker files from root of repo
* use cached docker containers for ci
2021-03-02 07:21:57 -05:00
Jeff Becker
6d00c3ecd2
update windows parts
* document need for ninja-build package
* update contrib/windows.sh, remove -DCROSS_COMPILE option, set -e and set +x
2021-02-09 11:05:02 -05:00
Anton Nesterov
da2c979936 update apparmor profile:
add nameservice abstraction
give profile a name
allow to read conf, tmp files, etc.
remove /lib/@{multiarch}/ld-*.so mr, already covered by abstractions/base
allow local additions
2021-02-05 20:16:57 +00:00
Jeff Becker
df4ea34a56
nodedb refactor
* bump zmq static dep
* lokimq -> oxenmq
* llarp_nodedb -> llarp::NodeDB
* remove all crufty api parts of NodeDB
* make NodeDB rc selection api not suck
* make path builder api not suck
* propagate all above changes so that unit tests work and it all compiles
2021-02-02 09:35:40 -05:00
Jason Rhinelander
231674e5a5 Remove CMAKE_CROSSCOMPILE
We set CMAKE_CROSSCOMPILE in a few places, but that is just a typo for
CMAKE_CROSSCOMPILING.  However we don't need to set it at all: cmake
does so automatically whenever CMAKE_SYSTEM_NAME is set (which is why
our cross compiling actually works currently.)
2021-01-25 13:06:59 -04:00
Jason Rhinelander
b3d2177e73
Fix build server name & path (#1516)
builds.lokinet.dev -> oxen.rocks
/loki-project/ -> /oxen-io/
2021-01-19 07:39:53 -05:00
Jeff
0ed8942dc6
libuv cmake fixups (#1511)
* fix up cmake parts for libuv
* make libuv use external project via StaticBuild.cmake
* remove libuv submodule
2021-01-16 19:11:28 -05:00
Jeff
49b9ad7197
tun code refactor (#1495)
* partial tun code refactor

* take out the trash

* move vpn platform code into llarp/vpn/platform.cpp

* fix hive build

* fix win32

* fix memory leak on win32

* reduce cpu use

* make macos compile

* win32 patches:

* use wepoll for zmq
* use all cores on windows iocp read loop

* fix zmq patch for windows

* clean up cmake for win32

* add uninstall before reinstall option to win32 installer

* more ipv6 stuff

* make it compile

* fix up route poker

* remove an unneeded code block in macos wtf

* always use call to system

* fix route poker behavior on macos

* disable ipv6 on windows for now

* cpu perf improvement:

* colease calls to Router::PumpLL to 1 per event loop wakeup

* set up THEN add addresses

* emulate proactor event loop on win32

* remove excessively verbose error message

* fix issue #1499

* exclude uv_poll from win32 so that it can start up

* update logtag to include directory

* create minidump on windows if there was a crash

* make windows happy

* use dmp suffix on minidump files

* typo fix

* address feedback from jason
* use PROJECT_SOURCE_DIR instead of CMAKE_SOURCE_DIR
* quote $@ in apply-patches in case path has spaces in it

* address feedback from tom

* remove llarp/ev/pipe
* add comments for clairification
* make event loop queue size constant named
2021-01-11 18:13:22 -05:00
Jason Rhinelander
7ad1030736
Add full-static-deps armhf build (+upload) (#1505)
* Add armhf static build + upload

* openssl build fix for static armhf build

Without this it tries building for arm64.

* Disable LTO for armhf static build

* Fix static lib check for arm
2021-01-04 16:17:29 -05:00
Jeff
6407733c8e
* make llarp.halt rpc call actually return a reply (#1488)
* add --kill flag to lokinet-vpn that calls llarp.halt
* make macos uninstaller kill lokinet via lokinet-vpn --kill
2020-11-20 12:37:30 -05:00
Jason Rhinelander
f1b074bb95
Merge pull request #1487 from jagerman/revert-uninstaller-subdir
Revert "Build mac uninstaller as subproject instead of externalprojec…
2020-11-18 18:15:56 -04:00
Jeff
b18546086a
make macos uninstaller actually kill and uninstall lokinet (#1484)
* macos fluff

* make uninstaller work, the uninstall script needs to be called with /usr/bin/sudo to work because god know why it needs that even though it's already root.
* add logrotation
* make the uninstall script kill all the things

* revert

* use correct regular expression

* remove logrotate configs rename logrotate config file name to be more descriptive
2020-11-18 17:06:48 -05:00
Jason Rhinelander
bc62e9dd2d Revert "Build mac uninstaller as subproject instead of externalproject (#1485)"
This reverts commit e62f04c601.
2020-11-18 17:54:29 -04:00
Jason Rhinelander
e62f04c601
Build mac uninstaller as subproject instead of externalproject (#1485)
This makes it easier to build/rebuild via a target, and is a bit
cleaner.
2020-11-18 12:49:16 -05:00
Jason Rhinelander
a753e96d8d
Version bump (#1483)
* Bump version to 0.8.2

* Let cmake set PROJECT_NAME

`project(x ...)` already sets PROJECT_NAME (and CMAKE_PROKECT_NAME if
this is the top-level build) to `x`; the logic here seemed sort of
backwards.

* Get rid of uninstaller entitlement

We don't seem to need it anymore with Qt 5.15.1.

* Bump windows lokinet-gui build
2020-11-18 06:08:56 -05:00
Jason Rhinelander
1c0e4dc4e7 Move all patches into contrib/patches 2020-11-17 19:22:19 -04:00
Jason Rhinelander
f9144a7bb3 Patch to avoid IP_DONTFRAG bug in latest xcode with broken Big Sur SDK 2020-11-17 19:22:19 -04:00
Jeff Becker
876f292efb use /var/log/ for log files 2020-11-17 19:22:19 -04:00
Jeff Becker
300ce89278 kill the gui 2020-11-17 19:22:19 -04:00
Jeff Becker
452cf13841 delete lokinet applications directory 2020-11-17 19:22:19 -04:00
Jeff Becker
b8a1c69a3e remove old path too 2020-11-17 19:22:19 -04:00
Jeff Becker
42b979b266 remove line from uninstaller 2020-11-17 19:22:19 -04:00
Jeff Becker
c4e983da3f update icon 2020-11-17 19:22:19 -04:00
Jeff Becker
f3989c0f9a add entitlements 2020-11-17 19:22:19 -04:00
Jeff Becker
3a950aa950 change icon 2020-11-17 19:22:19 -04:00
Jeff Becker
4d089db3cd change tool name 2020-11-17 19:22:19 -04:00
Jeff Becker
36fa3f347a fix icon path 2020-11-17 19:22:19 -04:00
Jeff Becker
d2a68f8323 add install target 2020-11-17 19:22:19 -04:00
Jeff Becker
bb1f9c4dc0 ugh 2020-11-17 19:22:19 -04:00
Jeff Becker
d268ef1246 security.h 2020-11-17 19:22:19 -04:00
Jeff Becker
ee3489744e more fixes for macos 2020-11-17 19:22:19 -04:00
Jeff Becker
6e6bff5e1d fix header 2020-11-17 19:22:19 -04:00
Jeff Becker
e835ad6347 chmod +x 2020-11-17 19:22:19 -04:00
Jeff Becker
e183bf9673 fix typo 2020-11-17 19:22:19 -04:00
Jeff Becker
ca5df6436a add initial uninstaller code that is horrible 2020-11-17 19:22:19 -04:00
Jeff Becker
580f005f50 revert 2020-11-17 19:22:19 -04:00
Jeff Becker
3b3374fa4c try watching trash for lokinet-gui.app and delete ourself if we see it 2020-11-17 19:22:19 -04:00
Jeff Becker
0afe9f0138 update packaging for macos add preinstall script that nukes any existing lokinet make uninstaller revert dns to "empty" make cpack use preinstall script in pkg file 2020-11-17 19:22:19 -04:00
Jeff
f18f18372a
stop lokinet before uninstalling service (#1469)
* stop lokinet before uninstalling service

* kill gui in uninstaller

* add helper script for building windows installers because i forgot how to most of the time.
2020-11-11 09:55:00 -05:00
Jason Rhinelander
4eb275324d
Fix deb snapshot builds + misc other CI updates (#1462)
* Remove unneeded libcurl-dev build dep

* Make apt-get operations quieter

* apt repo updates

- store the apt repo gpg pubkey in the repo rather than having to fetch
it every time
- add the apt repo for all the deb builds
- update apt repo URL to deb.loki.network instead of
deb.imaginary.stream

* Use http so that we don't need ca-certificates

The repo packages are already signed so using https really isn't
important.

* Add hack to ignore jsonnet conflicts in deb builds

* Add build machine name to build output

* We don't install any shared libs currently
2020-11-10 05:25:37 -05:00
Jason Rhinelander
eea0929077
Move resolvconf from deb branches to contrib/ (#1439)
* Move resolvconf from deb branches to contrib/

This script gets invoked by the systemd service after startup to update
resolvconf with the lokinet dns server.

It was previously living in debian/lokinet-resolvconf in the
debian/ubuntu branches, but really belongs in contrib/ instead.

* Disable LTO on sid gcc/clang-11
2020-10-31 05:21:55 -04:00