Commit Graph

260 Commits (8efac67c0ab84e7f434c556a2b65a296689227fc)

Author SHA1 Message Date
Jeff d05518be57 use the new electron gui in windows build 2 years ago
Jeff e2a94b44bb bump zlib hashpin 2 years ago
Jason Rhinelander d02558350a
Crank oxen-mq to (1.2.)11; switch to oxen-encoding
- Update oxen-mq submodule to latest stable
- Add oxen-encoding submodule
- Convert all oxenmq encoding usage to oxenc
- Modernize cmake handling of oxenmq/oxenc
2 years ago
majestrate 838183e36e
Merge pull request #1748 from majestrate/liblokinet-udp-api-2021-09-19
liblokinet updates
2 years ago
Jeff 48559bd282 fix up ppc64le cross target 2 years ago
Jeff eae4d3cf74 fixup armhf target 2 years ago
Jeff 08a9e0ad39 add cross compile helpers and update/add toolchains 2 years ago
Jeff 95efe8f4e5 bump ngtcp2 to v0.1.0 tag 2 years ago
Jeff 3c983e2cd7 libcurl no long users --without-libmetalink so remove the flag 2 years ago
Jeff 199055a6aa chore: bump static deps versions 2 years ago
Jeff Becker bf6dfaaef8 cmake fixups 2 years ago
Jeff Becker b31cac4b71 nodejs dipshittery 2 years ago
Jeff Becker 51b1d41b12 disable gost in static build 2 years ago
Jeff Becker 5b8ebb269c changes for liblokinet-ffi
* cmake option BUILD_DAEMON for toggling building of daemon directory
* when WITH_BOOTSTRAP is OFF dont build curl or cpr
2 years ago
Jeff 996de3d4c6 make it so github sees the repo is gpl3 2 years ago
Jeff 388fc53380
match io loop event order on windows/apple to match linux.
on win32/apple reading packets from the interface does not count as an io operation.
manually trigger pump on win32/apple to pretend that it is an io event.
add platform quark function MaybeWakeUpperLayers on vpn::Interface to manaully wake up the other components on platforms that need that (ones on which packet io is not done via io events).
on non linux platforms, use uv_prepare_t instead of uv_check_t as the former triggers before blocking for io, instead of after. this better matches linux's order of operations in libuv.
3 years ago
Jeff Becker b5f5d07f03
bump libunbound static dep hashpin 3 years ago
Jason Rhinelander 9c32058a50 Remove windows linefeeds 3 years ago
Jeff 12bca7031b
Merge pull request #1638 from majestrate/log-refactor-source-location-2021-05-11
refactor logging to use std::source_location
3 years ago
Jeff Becker 5c457ff486
refactor logging to use std::source_location
* use std::source_location instead of godawful macros in logging
* remove unused/absolutely haram af json logstream
* fix bug in android logger where it doesn't respect eLogNone
3 years ago
Jeff Becker d354a35869
always build ngtcp2 as static
squashme
3 years ago
Jason Rhinelander 488ed47cda Remove duplicate handling of jemalloc
We were linking/loading it in different ways, one with cmake option
`USE_JELLOC` and the other, older version `WITH_JEMALLOC`.  This removes
the latter (which was default OFF) and keeps the former (which was added
and has been default ON since 0.9.4 or so).

Also removes the `ifdef`ed JEMALLOC code in lokinet.cpp because we don't
need it; just linking to jemalloc is enough to get the malloc/free
replacements.
3 years ago
Jeff baa89771fb
Merge pull request #1735 from majestrate/cmake-lokinet-bootstrap-tweaks-2021-09-10
make lokinet-bootstrap target toggleable
3 years ago
Jason Rhinelander 62d7192a50 Add mainnet/testnet bootstrap files into repo
We use them everywhere now (include the debs) so it makes sense to have
them bundled here rather than needing a download during package build
(in particular for debs that's considered a bad thing).
3 years ago
Jason Rhinelander 089fc026d8 Redo how we build ngtcp2 lib
ngtcp2's top-level CMakeLists.txt is not friendly to being used as a
subdirectory (for instance, it always adds a `check` target when cunit
is installed), so stop using it in favour of skipping directly into the
ngtcp2/lib subdir.

This requires some hackery to set up a couple of the things the
top-level cmake does, but it isn't *too* painful.
3 years ago
Jeff Becker 7e1236503c
make lokinet-bootstrap target toggleable
add cmake option to disable building lokinet-bootstrap binary
3 years ago
Jason Rhinelander 2b8ef416c3 Remove old mac installer packaging 3 years ago
jeff 0708a0d897
initial network extension code for macos
probably does not work
3 years ago
Jeff Becker 439183bf19
bump openssl static deps version for upstream security update 3 years ago
Jeff Becker ae186f7000
use $(MAKE) only on makefile generator 3 years ago
Jeff Becker e5bc34a7b1
[buildsystem] remove use of ninja entirely
* modify contrib/window.sh now uses makefiles
* create contrib/android.sh for building shared libs for android apk
* update drone ci jizz for android
* update cmake/StaticBuild.cmake to use $(MAKE) so that builds can parallelize (super epic)
* remove android directory as it is no longer needed
3 years ago
Jeff Becker 046ab3d453
export functions in liblokinet for win32 dll 3 years ago
Jeff Becker 37a9bd768e
fix linking on win32 for lokinet.dll
only apply static link flags for executables
3 years ago
Jeff Becker d583f8bd72
windows cmake upgrades:
* dont call lokinet-bootstrap.exe on install
* bump lokinet gui version with hashpin update
3 years ago
Jeff Becker 499bb38e6f
fix route poking via rpc:
* immediately poke routes when we are told to use an exit so that packets get pushed which makes an exit path happen
* fix up cmake oddity in nsis section
3 years ago
Jeff Becker 8c0f448e12
add liblokinet option to nsis cpack installer 3 years ago
Jeff Becker 94f24b2fde
win32 installer
* make tuntap driver its own install component so that we can optionally not install it
3 years ago
Jeff Becker 16ff8b4149
link against core foundation as a fix for static macos build 3 years ago
Jeff Becker c4dad12f2e
libunbound patch no longer needed as fixes have been upstreamed 3 years ago
Jason Rhinelander b54d608b3f Fix curl hash
Hash was for the bz2 instead of xz
3 years ago
Jeff Becker ecd41e7a31
bump libuv version to match the tarball fetched 3 years ago
Jason Rhinelander ed1a80170a Update submodules and static build deps
Static deps:
- expat 2.3.0
- unbound 1.13.1
- sqlite 3.35.5
- libuv 1.41.0
- curl 7.76.1

Submodules:
- ghc-filesystem 1.5.4
- ngtcp2 (latest master)
- oxenmq 1.2.5
- pybind11 2.6.2
- sqlite_orm 1.6
3 years ago
Jeff Becker 0c37cc7f60
lokinet-bootstrap native binary 3 years ago
Jeff Becker 9e05e245e0
rebrand and bump version 3 years ago
Jeff Becker 143c66b332
lokimq -> oxenmq artifact
* fix dep to lokimq in macos installer gui target when doing make package, change it to oxenmq
3 years ago
Jeff Becker a8885c5405
update gui hashpin for windows 3 years ago
Jason Rhinelander 8aa1b702cd Disallow evil compilation
-fpermissive allows nasty things that are (apparently) needed on
Windows, so only enable it there.

vla are evil, so don't just warn but error on it.

remove duplicate -Wno-unknown-pragmas
3 years ago
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
3 years ago
Jeff Becker 85867bd7be
make service restart 3 years ago
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
3 years ago