Commit Graph

7902 Commits

Author SHA1 Message Date
Jeff
baddad9564
remove compat wrapper 2022-09-08 14:23:53 -04:00
Jeff
253d22db4f
restucture dbus parts
* move dbus into llarp/linux/dbus.hpp and llarp/linux/dbus.cpp
* provide platform abstraction for setting dns in preparation for network manager
2022-09-08 14:23:53 -04:00
Jeff
2d586145ee
wire up dns srv records 2022-09-08 14:23:52 -04:00
Jeff
74362149eb
refactor dns subsystem
we want to be able to have multiple locally bound dns sockets in lokinet so
i restructured most of the dns subsystem in order to make this easier.

specifically, we have a new structure to dns subsystem:

* dns::QueryJob_Base

base type for holding a dns query and response with virtual methods
in charge of sending a reply to whoever requested.

* dns::PacketSource_Base

base type for reading and writing dns messages to and from wherever they came from

* dns::Resolver_Base

base type for filtering and handling of dns messages asynchronously.

* dns::Server

contextualized per endpoint dns object, responsible for all dns related isms.

this change hides all impelementation details of all of the dns components.
adds some more helper functions for parsing dns and dealing with OwnedBuffer.

overall dns becomes less of a pain with this new structure. probably.
2022-09-08 14:23:52 -04:00
Jeff Becker
bf2488d9e8
zero copy compare 2022-09-08 11:22:36 -04:00
Jeff Becker
1b9898aabc
restructure readme and docs 2022-09-04 10:04:15 -04:00
majestrate
a8c0f76e1c
Merge pull request #1971 from majestrate/docs-and-such-2022-08-06
more docs
2022-09-03 08:03:28 -04:00
majestrate
d5a2616d6f
Merge pull request #1983 from jagerman/macos-packaging
Macos packaging
2022-08-31 09:51:50 -04:00
Jason Rhinelander
2eef7c5915
Don't look for sqlite when not building peerstats 2022-08-30 17:26:08 -03:00
Jason Rhinelander
57cebe5c9f Don't build peerstats tests when peer stats disabled 2022-08-30 16:23:06 -03:00
Jason Rhinelander
955cecb21d Drone macos fixes
- fix lib check script to look at the network extension
- amend the list of intented linked libs
- upload the dmg
2022-08-30 16:20:28 -03:00
Jason Rhinelander
6e5db4f560 Set up sign target dependencies always; mark unsigned package
Even if we aren't codesigning, things like the `package` target expect
to be able to depend on `notarize` (and thus implicitly sign ->
assemble) to require a built package.

Also add a `-UNSIGNED` into the built dmg filename.
2022-08-30 15:58:53 -03:00
Jason Rhinelander
ceed8e3238
Remove unused parameter names 2022-08-30 15:53:40 -03:00
Jason Rhinelander
dccc86ea62 Apple icon bullshit
Apple introduced a bug in macOS 11 that they can't be arsed to fix which
breaks PNG loading into icns files by dropping the blue channel of the
last pixel, leaving a streak of yellow pixels at the bottom of the
image.

This hacks around it by setting a fully transparent, non-white (actually
yellow) pixel in the bottom-right corner of the images.

This is such inexcusable trash.
2022-08-30 15:46:13 -03:00
Jason Rhinelander
500530a336 dmg: version, and set icon
- Add the version number into the .dmg filename
- Set the lokinet icon on the .dmg.  This is done via a swift program
  because all the Apple CLI tools to do this are deprecated.
2022-08-30 14:00:58 -03:00
Jason Rhinelander
4605b49cfc Fix codesigning: reenable extension provisioning profile
The macOS PR that was merged accidentally dropped a cmake option that
result in the extension's provisioning profile not getting copied into
place (but was working locally because I was using a build dir where the
variable was still set).  This restores the option to fix the
codesigning.
2022-08-29 15:54:46 -03:00
Jason Rhinelander
f5376e98c2 Lower minimum version for swift binary
CMake apparently doesn't do anything with CMAKE_OSX_DEPLOYMENT_TARGET
for swift, which results in a 12+ minimum version.  This fixes it
(albeit in a hacky way since the only apple-sanctioned way to properly
set this appears to be "use xcode").

Shame on Apple, as usual.
2022-08-29 15:53:16 -03:00
Jason Rhinelander
039d1429f5 Build an installer dmg 2022-08-29 12:53:08 -03:00
Jason Rhinelander
182f1dccb9 Fix mac.sh defaults to make a signed, notarized build 2022-08-26 16:05:46 -03:00
Jason Rhinelander
8b157c304e Remove obsolete mac packaging cruft 2022-08-26 16:05:46 -03:00
Jason Rhinelander
d6fe1f1610 Update gui submodule to dev branch 2022-08-26 16:05:46 -03:00
Jeff
4c897f583c
fix up log statements
* make socket bind errors have a distinct message reported when caught using their own exception type
* omit printing banner in setup when we run from the lokinet executable (but not the liblokinet.so entry point)
2022-08-22 16:50:46 -04:00
Jeff
a9abeb33cc
bump version to 0.9.10
* update release motto for 0.9.10
2022-08-22 16:50:34 -04:00
jeff
6929a02842
set up links to new docs pages 2022-08-21 12:25:15 -04:00
majestrate
256470229d
add more info
clarifiy what .loki and .snode gtld are
2022-08-21 12:18:10 -04:00
Jeff
f6613c9526
wire up new docs pages
reword a few things about the links rewired.
2022-08-21 12:18:10 -04:00
Jeff
f3533e9912
add initial high level usage docs 2022-08-21 12:18:09 -04:00
Jeff
badf72838e
move all code directory readmes into docs/project-structure.md 2022-08-21 12:18:09 -04:00
majestrate
13c71c3626
Merge pull request #1942 from jagerman/macos-sysex
macOS system extension
2022-08-16 11:32:51 -04:00
Jason Rhinelander
ab16d428cb Don't use sign target for contrib/mac.sh 2022-08-12 21:18:46 -03:00
Jason Rhinelander
2b7b1fcc79 Working signed macOS GUI build 2022-08-12 21:13:39 -03:00
Jason Rhinelander
496c1d274c Stub out the peer stats sqlite_orm code
This avoids needing to build it and include it in static builds since we
aren't currently making use of it.
2022-08-12 21:13:39 -03:00
Jason Rhinelander
8c2f4175d6 contrib/windows.sh: do a release build by default 2022-08-12 21:13:39 -03:00
jeff
181de210cd Build apple/macos GUI from lokinet project
This adds the gui as a submodule, and consolidates the GUI handling a
bit between the two platforms.
2022-08-12 21:13:39 -03:00
Jason Rhinelander
7b2b114240 Remove disabled submodule check
It's easy enough to add -DSUBMODULE_CHECK=OFF yourself if you really
won't want it, and much more useful to have it enabled as a default.
2022-08-12 21:13:39 -03:00
Jason Rhinelander
c504c030cf Update mingw zmq patch
The one we were applying for closesocket breaks on some versions.
2022-08-12 21:13:38 -03:00
jeff
b8896740de build gui and assemble app bundles into one singular app bundle 2022-08-12 21:13:38 -03:00
jeff
279b5710cc maker packet tunnel provider compile 2022-08-12 21:13:38 -03:00
Jason Rhinelander
5530ec3057 Handle Apple's trash servers when polling for notarization
Apple's servers have a gateway timeout a small but noticeable percentage
of the time, which was breaking the script.  Detect such Apple flakiness
and keep trying.
2022-08-12 21:13:38 -03:00
Jason Rhinelander
09372994bb macOS system extension support
Adds support for building Lokinet as a system extension, and fixes
various problems in the macos implementation found during development of
the system extension support.
2022-08-12 21:13:38 -03:00
Jeff
61d7ff3787 on apple write packets back to interface when it is for us because that does not have a route spec for the interace ip on loopback as apple finds having sensible defaults bothersome internally 2022-08-12 20:23:00 -03:00
Jason Rhinelander
e97752734d Fix platform::is_apple value 2022-08-12 20:23:00 -03:00
Jason Rhinelander
4c39a2d395 Make sure BUILD_SHARED_LIBS is a cache variable
Otherwise cmake warns about propagation of normal variables into cache
variables when it hits the option in the oxen-mq submodule.
2022-08-12 20:23:00 -03:00
Jason Rhinelander
93421c6eaf Change permissions for system extension 2022-08-12 20:23:00 -03:00
Jason Rhinelander
49b2878209 Require explicit disabling of codesigning
Make the mac build require passing either an explicit -DCODESIGN=OFF or
the code signing identities.
2022-08-12 20:23:00 -03:00
Jeff
5dd71995c4 add lokinet.swift cli args
* add --start flag to start lokinet
* add --stop flag to stop
* by default lokinet on macos needs a flag or it will be a nop
2022-08-12 20:23:00 -03:00
majestrate
c81e950d13
Merge pull request #1973 from majestrate/nodedb-logic-fix-2022-08-07
do not clear out entries that are valid from nodedb when we are a service node
2022-08-07 17:28:18 -04:00
Jeff
4341b8c684 do not clear out entries that are valid from nodedb when we are a service node.
this logic was inverted.
2022-08-07 13:44:48 -04:00
majestrate
9917daa84d
Merge pull request #1972 from majestrate/happyify-ci-pipelin-2022-08-06
fix ci pipeline
2022-08-07 13:41:59 -04:00
Jeff
8d1d1d0b57 make unit tests happy 2022-08-06 16:04:25 -04:00