* Store wireguard peers in db
* Add update to nym-node
* Move gateway-requests and gateway-storage to common
* Carry storage to PeerController field
* Double kernel modifications with storage ones
* Take storage peers at boot
* Link storage query for registration flow
* Move authenticator peer comms in peer manager
* Modify template too
* Remove unused
* Fix clippy
* Fix clippy non-linux
* Keep storage data up-to-date on every check
* Check for staleness in storage timestamps
* Remove potential for panic in unwrap
* Fix clippy
* Fmt
* Clippy after rebase
* Remove in memory test structure
* Add check for 1GB/day/user and remove stale check
* Use saturated_sub
* Remove from wg peers
* Use 10 seconds instead of 1
* Query bandwidth message
* Ad client query message too
* Keep stale check
* Make bandwidth cap value public
* Fix consumed vs available bug
* Don't overwrite existing registrations
* Use self pub key instead of peer's
* Include wireguard in gw config
* Support nym node first
* Create wg keypair
* Activate wg feature in gw dep
* Move key paths to separate structure
* Use client reg
* Generate and use own private key
* Rename network to ip for wg gw
* Propagate wireguard setup error message
* Remove logs
* Bump gateway version number
* Remove upgrade code
* Init wireguard on migration
* Upgrade code for nym-node too
* Wireguard paths upgrade
* Init wg keys on upgrade
* Simplify pub key translatations
* Fix clippy
* Undo comment change
* Fix tests
* Don't bump version just yet
* Remove redundant source attr
* Remove unused wg details
* Rename wg device
* Init for mixnode migration as well
* Add upgrade for gw wireguard deleted field
* Move interface removal to Drop trait impl
* Fix clippy
* Wgapi could be included on other platforms
* Handle peer control msgs
* Send add peer msg
* Handle double registration
* Fix deadlock
* Fix clippy
* More clippy
* Use same defguard
* Fix unit test
* Fix wasm build
* Move implementations from types to wireguard crate
* Fix linux
* Include wireguard in gw config
* Support nym node first
* Create wg keypair
* Activate wg feature in gw dep
* Move key paths to separate structure
* Use client reg
* Generate and use own private key
* Rename network to ip for wg gw
* Propagate wireguard setup error message
* Remove logs
* Bump gateway version number
* Remove upgrade code
* Init wireguard on migration
* Upgrade code for nym-node too
* Wireguard paths upgrade
* Init wg keys on upgrade
* Simplify pub key translatations
* Fix clippy
* Undo comment change
* Fix tests
* Don't bump version just yet
* Remove redundant source attr
* Remove unused wg details
* Rename wg device
* Init for mixnode migration as well
* Add upgrade for gw wireguard deleted field
* Move interface removal to Drop trait impl
* Fix clippy
* Wgapi could be included on other platforms
* Kernel wg mode in gateway
* Cleanup boringtun code
* Fix clippy
* Fix feature flag missing
* Remove even more and get rid of boringtun
* Fix bad merge
* Add wireguard_mode flag to SDK
* Add to builder in sdk too
* Move hardcoded IP in a lighter crate
* Put in network defaults
* Fix linux
* Move wireguard mode swap before init
* Use the updated gateway hosts
* Set wireguard IP even for pre-inited mix client
* Fix typo
* wip
* Use common interface request response
* wip: extract crates
* wip
* new structure compiles
* Create tun_common subdir
* Comment out return_mix_delays for now
* Remove unused boringtun dependency
* Revert to previous packet encoding
* Allow dead code on non-linux
* Add new function
* Rework error handling in tun device
* Extract out timeout constants
* Experiment with timeouts
* Update error msg
* try_send in one direction as hotfix for deadlock
* Downgrade some log from info to debug
* Update comment
* rustfmt
* Squashing all the changes
initial router
started expanding the API
initial empty openapi/swagger
populated build-info endpoint
wip: populating rest of swagger
missing swagger data + using closure capture for immutable state
running the api as a proper task in gateway 'run'
fixing some version/feature clashes
refactored routes structures
initial host information endpoint
expanded on gateway-related endpoints
signing host information
moved all models to separate crate
unified http api client
routes unification + node api client
new generic cache and refresher
nym-api caching node self described information
removed old cache type
temporarily wired up NymContractCache to NodeDescriptionProvider
caching self reported host info
clients using self-described gateway information
fixed request timeouts for wasm
fixed wasm builds
post rebase fixes
cargo fmt
brought in wg routes into nym-node router
added ErrorResponse for wireguard routes
basic swagger support for wg endpoints
turns out swagger can be happy with strongly typed requests
output type support for wg routes
using concrete error type for nym node request error
fixed the registration test
landing page configurability
increased configurability
fixed build and lints of other crates
added default user-agent to http-api-client
reduced severity of gateway details lookup failure
changed default http port from 80 to 8080
nym-api using new default port for queries
added health endpoint
nym-api trying multiple ports for the client
using camelcase for node status
corrected health endpoint description
restored and revamped 'force_tls' flag to filter all gateways that support the wss protocol
fixed 'pub_key' path param in open api schema
derived Debug on 'NymNodeDescription'
ensuring valid public ips
added init and run flags to set hostname and public ips
fixed listening address being pushed to public ip
fixed the positional local flag
logging remote ip address of the request
updated helper function to query for described gateways
enabled tls in gateway client
removed hack-opts from mix fetch
additional changes after rebasing against origin/develop
* clippy
* wasm-related target locking
* more clippy, but this time in tests
* Extract out parse_peer
* wip: handle_packet extract
* Extract out active_peers.rs
* wip: rework to struct from free function
* udp_listener working
* wip
* more udp_listener
* tun_device
* wip
* tun_device
* Remove some old commented out stuff
* tidy
* Remove commented out line
* Forward directly on known addr
* Extract out test dev creation
* Extract out RegisteredPeers
* Extract out registered_peers.rs
* Reset main rate limiter on a timer
* Some pedantic clippy
* minor tidy
* Add missing continue
* wireguard: try to have a flow where we parse the public key up front
* Fix bug with continue instead of return in loop
* fix clippy::enum-variant-names
* Initial work on reverse nat
* wip
* Refine key gen
* Rename to wg_tunnel
* Forward packet to peer
* Remove source_addr
* Check if allowed to write to tunnel
* Extract out network_table
* Move map struc definitions to udp_listener
* Delegate ip network table calls
* Fix mac compilation
* Add TunTaskTx type
* Initial experiments with using tun device
* Remove some unused stuff and start tidying
* Match stored peer addr
* Refine comments and names
* Fix deadlock
* Annotate with some more logging
* Tweak log statements in handle_routine
* wip: temp logging
* log to info
* Refine logging
* clippy
* wip
* wip
* Most channels are in place
* tidy
* Send data to tunnel
* wip: adding in boringtun
* Handle timers
* Add consume_wg
* Split into mod
* Reorder
* Comments
* Refine channel handling
* Sort out dependency conflict
* Move wireguard listener in gateway beind a feature flag