Commit Graph

107 Commits

Author SHA1 Message Date
Jason Rhinelander
eb37796b65 Bump oxen-mq for libzmq llvm static build fix 2024-01-31 07:54:12 -08:00
Jason Rhinelander
b909f537fe Default libcrypt to whether or not we find it
Also deliberately don't provide the function at all if we aren't
compiled with libcrypt so that we can't link if we try to call it when
not available.
2024-01-31 07:54:12 -08:00
Jason Rhinelander
52b175772f Bring oxen-encoding back in as a submodule
As long as it's loaded before oxen-mq or libquic, this should end up
being the one that gets used in oxen-mq/libquic, and so we don't have to
update those when we want something in a newer oxen-encoding.
2024-01-31 07:54:12 -08:00
dr7ana
12a89328fe Cmake restructuring 2024-01-31 07:54:12 -08:00
dr7ana
ad007ff832 libquic/oxen-mq/oxenc version bumps 2023-09-29 10:44:31 -07:00
dr7ana
ae319091d6 libquic bump 2023-09-26 10:55:03 -07:00
dr7ana
d0c3837384 libquic bparser merged
- bumped version to latest main branch commit
- wired up callbacks to set RPC request stream on creation
- methods for I/O of control and data messages through link_manager
2023-09-25 13:52:23 -07:00
dr7ana
a3e6cec7e7 Address type migration + libquic bump
- llarp/router/router.hpp, route_poker, and platform code moved to libquic Address types
- implementing required methods in link_manager for connection establishment
- coming along nicely
2023-09-19 13:15:59 -07:00
dr7ana
bfa9629779 More carving + libquic bump
- bumped libquic to begin implementing dependent features on connection open/close signals
- more gutting of interface classes
2023-09-18 14:50:23 -07:00
dr7ana
ffb90e87dc libquic bump 2023-09-14 12:16:13 -07:00
dr7ana
d1b7eee7c8 Zlib version bump 1.2.13 -> 1.3 2023-09-14 05:20:13 -07:00
dr7ana
a4272c4503 Added span backport 2023-09-14 05:08:10 -07:00
dr7ana
7ce517bd2d oxen-libquic update; no leak warn deprecated 2023-09-13 10:39:11 -07:00
dr7ana
0b6506a00b oxen-libquic version bump
- added CI fixes for gnutls build
2023-09-13 09:50:23 -07:00
dr7ana
db01c7c4ce oxen-mq commit bump 2023-08-29 05:21:32 -07:00
Jason Rhinelander
bc585d93d2
Remove external/ngtcp2 (use the one from libquic instead) 2023-08-28 18:32:19 -03:00
Thomas Winget
68e8abc234 bump libquic version 2023-08-28 15:01:31 -04:00
Jason Rhinelander
cd7498cb5a
Bump libquic for oxen-logging fix 2023-08-28 14:59:06 -03:00
dr7ana
620f916e65 Bump oxen-libquic to latest PR's 2023-08-28 10:17:44 -07:00
Jason Rhinelander
c997ca2b60
Don't rely on cmake search path for StaticBuild
Resolves a conflict with libquic's StaticBuild.
2023-08-28 13:15:36 -03:00
dr7ana
1346ce5326 oxen-libquic bump for cmake fix 2023-08-28 09:03:49 -07:00
dr7ana
ad5055b85f cmake tweaks for redundant dependencies (WIP) 2023-08-28 11:06:06 -04:00
Thomas Winget
3c46b07bfe Add oxen-libquic submodule
TODO: correctly plug it into CMake and remove ngtcp2 submodule from lokinet
as it will now come from oxen-libquic, if even used directly by lokinet at all.
2023-08-28 10:59:13 -04:00
dr7ana
9acac2c33e CI fixes
- oxen-logging updated to bump fmt version
- version bump oxen-logging to fix fmt version
- version bump oxen-mq to solve uniform distribution error
- misc errors introduced by above version bumps
- clang-format 14 -> 15
2023-08-11 14:01:07 -07:00
dan
13b01c86a6 Updated RpcServer Initialization and Logic
-- Moved all RPCServer initialization logic to rpcserver constructor
    -- Fixed config logic, fxn binding to rpc address, fxn adding rpc cats
    -- router hive failed CI/CD resulting from outdated reference to rpcBindAddr
    -- ipc socket as default hidden from windows (for now)
refactored config endpoint
    - added rpc call script (contrib/omq-rpc.py)
    - added new fxns to .ini config stuff
    - added delete .ini file functionality to config endpoint
    - added edge case control for config endpoint

add commented out line in clang-form for header reorg later
2023-01-24 06:50:46 -08:00
Thomas Winget
fbfd70a35a Fix incorrect usage of oxen-logging syslog
Previously oxen-logging was erroneously hard-coded to use the target
"lokinet" for system logs.  Obviously this is wrong for anything else
which uses oxen-logging and the system log.  This changes our call to
add_sink to pass "lokinet" as the target rather than the config
filename, and updates oxen-logging to use that argument correctly.
2023-01-17 17:04:53 -05:00
dan
dc7f3cee22 Replace cxxopts with CLI11
- Simiplifies CLI code for future modification
- filesystem library linked in cmake check_for_std_filesystem file
2023-01-06 15:04:14 -08: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