Commit Graph

108 Commits (ca5ed01b2c12e5f12414fb9fa4646db5a9bb2c04)

Author SHA1 Message Date
Jason Rhinelander ca5ed01b2c Bump libquic to latest for static build fixes 8 months ago
Jason Rhinelander eb37796b65 Bump oxen-mq for libzmq llvm static build fix 8 months ago
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.
8 months ago
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.
8 months ago
dr7ana 12a89328fe Cmake restructuring 8 months ago
dr7ana ad007ff832 libquic/oxen-mq/oxenc version bumps 1 year ago
dr7ana ae319091d6 libquic bump 1 year ago
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
1 year ago
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
1 year ago
dr7ana bfa9629779 More carving + libquic bump
- bumped libquic to begin implementing dependent features on connection open/close signals
- more gutting of interface classes
1 year ago
dr7ana ffb90e87dc libquic bump 1 year ago
dr7ana d1b7eee7c8 Zlib version bump 1.2.13 -> 1.3 1 year ago
dr7ana a4272c4503 Added span backport 1 year ago
dr7ana 7ce517bd2d oxen-libquic update; no leak warn deprecated 1 year ago
dr7ana 0b6506a00b oxen-libquic version bump
- added CI fixes for gnutls build
1 year ago
dr7ana db01c7c4ce oxen-mq commit bump 1 year ago
Jason Rhinelander bc585d93d2
Remove external/ngtcp2 (use the one from libquic instead) 1 year ago
Thomas Winget 68e8abc234 bump libquic version 1 year ago
Jason Rhinelander cd7498cb5a
Bump libquic for oxen-logging fix 1 year ago
dr7ana 620f916e65 Bump oxen-libquic to latest PR's 1 year ago
Jason Rhinelander c997ca2b60
Don't rely on cmake search path for StaticBuild
Resolves a conflict with libquic's StaticBuild.
1 year ago
dr7ana 1346ce5326 oxen-libquic bump for cmake fix 1 year ago
dr7ana ad5055b85f cmake tweaks for redundant dependencies (WIP) 1 year ago
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.
1 year ago
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
1 year ago
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
2 years ago
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.
2 years ago
dan dc7f3cee22 Replace cxxopts with CLI11
- Simiplifies CLI code for future modification
- filesystem library linked in cmake check_for_std_filesystem file
2 years ago
Jason Rhinelander c3d212054a
Update deps to latest versions 2 years ago
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).
2 years ago
Jason Rhinelander 6ee7306217
oxen-mq update to tagged stable release 2 years ago
Thomas Winget eaf30de1fd
omq rpc log subscription
respects whether RPC is enabled, removes the log sink otherwise

bumps oxen-mq and oxen-logging
2 years ago
Jason Rhinelander 75e382604b
Bump required oxenc version 2 years ago
Jason Rhinelander 2eef7c5915
Don't look for sqlite when not building peerstats 2 years ago
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.
2 years ago
Jeff 23fd46c0db
add directory specific readmes 2 years ago
Jason Rhinelander f6019210c3
oxen-logging update to handle level/type parsing exceptions 2 years ago
Jason Rhinelander 9bf1d5837a
Update oxen-logging for macos compilation 2 years ago
Jeff 8cde7c7e7a
fix win32 and android builds 2 years ago
Jason Rhinelander e094125000
gcc 8/9 fix 2 years ago
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).
2 years ago
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).
2 years ago
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.
2 years ago
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
2 years ago
Jeff 0d0295e2dc
remove unneeded submodule 2 years ago
Jeff 7396eb7f3b
bump oxenc submodule and force oxenc submodule on win32 2 years ago
Jason Rhinelander c2f8a618e0
Update to oxenc 1.0.2 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
3 years ago
majestrate 838183e36e
Merge pull request #1748 from majestrate/liblokinet-udp-api-2021-09-19
liblokinet updates
3 years ago
Jeff 95efe8f4e5 bump ngtcp2 to v0.1.0 tag 3 years ago