Commit Graph

86 Commits

Author SHA1 Message Date
necro-nemsis
c3d6bcc3b7 Align remaining submodules to stable branch 2022-12-16 05:46:30 -05:00
necro-nemsis
bf10734b03 checkout oxen-encoding commit a869ae2b0152ad70855e3774a425c39a25ae1ca6 2022-12-15 06:34:00 -05:00
necro-nemsis
1313a192da checkout oxen-mq ac6ef82ff6fd20437b7d073466dbef82a95a2173 2022-12-15 06:22:42 -05:00
necro-nemsis
ca00d8e1a6 checkout cpr commit f88fd7737de3e640c61703eb57a0fa0ce00c60cd 2022-12-15 05:57:56 -05:00
necro-nemsis
133e883b6e Merge remote-tracking branch 'upstream/stable' into fedora/36 2022-12-15 05:46:03 -05:00
necro-nemsis
2bb1118a89 Merge stable branch and bump version 2022-12-15 05:32:49 -05:00
Jason Rhinelander
c3d212054a
Update deps to latest versions 2022-11-29 12:42:40 -04:00
Jason Rhinelander
081dfd3328 Update submodules to latest version:
cpr: 1.9.2
cxxopts: 3.0.0
ghc-filesystem: 1.5.12
nlohmann-json: 3.11.2
pybind11: 2.10.0
sqlite_orm: 1.7.1

Plus other updates need to make these work:
- cpr needs a cprver.h configured with the version (cmake code copied
  from oxen-core).
2022-10-20 12:17:23 -03:00
Jason Rhinelander
6ee7306217
oxen-mq update to tagged stable release 2022-10-06 14:01:09 -03:00
Thomas Winget
eaf30de1fd
omq rpc log subscription
respects whether RPC is enabled, removes the log sink otherwise

bumps oxen-mq and oxen-logging
2022-10-06 11:56:04 -03:00
Jason Rhinelander
75e382604b
Bump required oxenc version 2022-10-05 16:48:59 -03:00
Jason Rhinelander
2eef7c5915
Don't look for sqlite when not building peerstats 2022-08-30 17:26:08 -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
23fd46c0db
add directory specific readmes 2022-07-26 09:26:28 -04:00
Jason Rhinelander
f6019210c3
oxen-logging update to handle level/type parsing exceptions 2022-07-19 13:39:00 -03:00
Jason Rhinelander
9bf1d5837a
Update oxen-logging for macos compilation 2022-07-19 12:40:07 -03:00
Jeff
8cde7c7e7a
fix win32 and android builds 2022-07-19 11:31:14 -04:00
Jason Rhinelander
e094125000
gcc 8/9 fix 2022-07-18 17:38:04 -03:00
Jason Rhinelander
2f9e182b20
Avoid ctor inheritance to make diagnostics better
Using constructor inheritance DRYs the code, but unfortunately confuses
GCC as to where the proper "required from here" location is, which makes
debugging formatting errors very difficult.  Avoid it (and update
oxen-logging to avoid it there as well).
2022-07-18 13:07:33 -03:00
Jason Rhinelander
b81f7025c9
Replace logging with oxen-logger
Replaces custom logging system with spdlog-based oxen logging.  This
commit mainly replaces the backend logging with the spdlog-based system,
but doesn't (yet) convert all the existing LogWarn, etc. to use the new
format-based logging.

New logging statements will look like:

    llarp::log::warning(cat, "blah: {}", val);

where `cat` should be set up in each .cpp or cluster of .cpp files, as
described in the oxen-logging README.

As part of spdlog we get fmt, which gives us nice format strings, where
are applied generously in this commit.

Making types printable now requires two steps:
- add a ToString() method
- add this specialization:

      template <>
      constexpr inline bool llarp::IsToStringFormattable<llarp::Whatever> = true;

This will then allow the type to be printed as a "{}" value in a
fmt::format string.  This is applied to all our printable types here,
and all of the `operator<<` are removed.

This commit also:
- replaces various uses of `operator<<` to ToString()
- replaces various uses of std::stringstream with either fmt::format or
  plain std::string
- Rename some to_string and toString() methods to ToString() for
  consistency (and to work with fmt)
- Replace `stringify(...)` and `make_exception` usage with fmt::format
  (and remove stringify/make_exception from util/str.hpp).
2022-07-15 22:17:59 -03:00
Jason Rhinelander
523a8a74ca
Clean up system-or-submodule handling
Fixes a bug on older cmake linking against oxenmq (older cmake hates the
direct oxenmq::oxenmq -> PkgConfig::OXENMQ alias), and also makes it
easier to handle things like nlohmann::json (which we can use from the
system *or* submodule).

Borrowed from oxen-ss/oxen-core.
2022-05-31 19:51:29 -03:00
Jeff
1dfc2e883b
bump verions of all deps
bump submodules

Fix dynamic version generation

   - GIT_FOUND OR Git_FOUND wasn't available because we hadn't done a
     find_package(Git) yet.
   - required version variables weren't being passed through to the cmake
     script
2022-05-30 17:08:08 -03:00
Jeff
0d0295e2dc
remove unneeded submodule 2022-05-25 16:42:10 -04:00
Jeff
7396eb7f3b
bump oxenc submodule and force oxenc submodule on win32 2022-05-18 17:40:55 -04:00
Jason Rhinelander
c2f8a618e0
Update to oxenc 1.0.2 2022-04-28 14:23:52 -03:00
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
2022-02-17 16:30:17 -04:00
majestrate
838183e36e
Merge pull request #1748 from majestrate/liblokinet-udp-api-2021-09-19
liblokinet updates
2022-02-06 13:19:08 -05:00
Jeff
95efe8f4e5 bump ngtcp2 to v0.1.0 tag 2022-01-31 13:05:03 -05:00
Jeff Becker
b20e7bedf8 identify 2022-01-31 10:53:48 -05:00
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
2022-01-31 10:53:48 -05:00
Jeff Becker
ec83641ee8
update submodule 2021-09-24 16:51:03 -04:00
Jeff Becker
3c61af1de9
bump ngtcp2 submodule 2021-09-24 16:51:03 -04:00
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.
2021-09-10 15:12:57 -03:00
jeff
0708a0d897
initial network extension code for macos
probably does not work
2021-09-02 14:17:08 -04:00
Jason Rhinelander
d90b28ce24 Remove double cpr submodule
Fix cpr being listed twice in .gitmodules and submodule check.
2021-06-01 10:49:38 -03:00
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
2021-04-20 19:58:11 -03:00
Jeff Becker
83b0f25075
cleanup after rebase 2021-04-19 07:19:07 -04:00
Jeff Becker
c547cd0118
fixes for lokinet-bootstrap
* use schannel on windows platforms
* load ca bundle for non windows platforms
* use geteuid for detecting root user when finding default data dir
2021-04-19 07:08:23 -04:00
Jeff Becker
3d87dbff91
bullshit for windows and openssl with CPR
* windows static cross compile is wonky af so we add some hacks to make it work
2021-04-19 07:08:03 -04:00
Jeff Becker
ebdb9699c0
refactor: make lokinet-bootstrap a native executable
* pull in cpr
* tidy up windows.sh
* rename main.cpp to lokinet.cpp to satisfy my autism
* add llarp::GetDefaultBootstrap()
2021-04-19 07:06:15 -04:00
Jason Rhinelander
db2344505f
Update ngtcp2 2021-04-19 06:59:04 -04:00
Jason Rhinelander
a1a152b5c3
Disable building ngtcp2 example code 2021-04-19 06:59:04 -04:00
Jeff Becker
eb965c8323
fix link error in ngtcp2 2021-04-19 06:58:35 -04:00
Jeff Becker
1885b1cae9
more 2021-04-19 06:58:05 -04:00
Jason Rhinelander
46c619c49f
Move external/ cmake bits into external/CMakeLists.txt
- Move uvw target to external instead of llarp/CMakeLists.txt

- Add sqlite_orm headers via interface library rather than shoving it
  into the global include search path.

- Find sqlite3 as part of the sqlite_orm target deps rather than linking
  it separately.  (Also don't link it into lokinet-util, which doesn't
  appear to actually need it).
2021-04-19 06:57:45 -04:00
Jason Rhinelander
442fa951fc
Add ngtcp2 submodule 2021-04-19 06:56:26 -04:00
Jeff Becker
0c37cc7f60
lokinet-bootstrap native binary 2021-04-15 13:39:45 -04:00
Jason Rhinelander
e0bb7b7d0f Bump oxen-mq submodule to tagged 1.2.4 2021-03-09 15:45:50 -04:00
Jason Rhinelander
91d6698a9d Reformat with clang-format-11 2021-03-05 13:36:31 -04:00
Jason Rhinelander
ced035d401 Switch uvw to a fork with libuv backwards compat support 2021-03-04 16:51:18 -04:00