Commit Graph

329 Commits

Author SHA1 Message Date
Floriane TUERNAL SABOTINOV 254a414c49 change context propagation method to trace_id sharing to go accros async move barrier 2025-10-21 14:08:12 +02:00
Floriane TUERNAL SABOTINOV 7d087996b4 wip 2025-10-21 14:08:12 +02:00
Floriane TUERNAL SABOTINOV c5e66687b6 wip 2025-10-21 14:08:12 +02:00
Floriane TUERNAL SABOTINOV faaafbeae4 wip 2025-10-21 14:08:12 +02:00
Floriane TUERNAL SABOTINOV 32d7328c7b wip 2025-10-21 14:08:12 +02:00
Floriane TUERNAL SABOTINOV 6ba20e7f54 context extraction 2025-10-21 14:08:12 +02:00
Floriane TUERNAL SABOTINOV 74c064135b parent/chil propagation explicitation 2025-10-21 14:08:12 +02:00
Floriane TUERNAL SABOTINOV 1fef24a6ba try debug panic when using parent span 2025-10-21 14:08:12 +02:00
Floriane TUERNAL SABOTINOV 2ae73b7f31 rm clone because panic 2025-10-21 14:08:12 +02:00
Floriane TUERNAL SABOTINOV b93779850b propagation to parent function 2025-10-21 14:08:12 +02:00
Floriane TUERNAL SABOTINOV 651d0bb578 wip 2025-10-21 14:08:12 +02:00
Floriane TUERNAL SABOTINOV 4af1835dbd add method to extract trace_id from ContextCarrier 2025-10-21 14:08:12 +02:00
Floriane TUERNAL SABOTINOV f1bf9861cd use attach() instead of creating new span 2025-10-21 14:08:12 +02:00
Floriane TUERNAL SABOTINOV 15f56bccb1 forget to enter span 2025-10-21 14:08:12 +02:00
Floriane TUERNAL SABOTINOV b9a2efe0c9 use authenticatev2 and not authenticate 2025-10-21 14:08:12 +02:00
Floriane TUERNAL SABOTINOV 8492c7161c manual propagators for context from client to node 2025-10-21 14:08:10 +02:00
Floriane TUERNAL SABOTINOV 76770fa30c wip 2025-10-21 14:07:01 +02:00
Floriane TUERNAL SABOTINOV 9d774860e5 experiment do I preserve trace_id with with method 2025-10-21 14:07:01 +02:00
Floriane TUERNAL SABOTINOV 7d7bebacd2 try debug with otel specific tools 2025-10-21 14:07:01 +02:00
Floriane TUERNAL SABOTINOV cfe8c08ca6 print debug trace 2025-10-21 14:07:01 +02:00
Floriane TUERNAL SABOTINOV 9d8c328ce1 establishing initial authentication common trace_id 2025-10-21 14:07:01 +02:00
Floriane TUERNAL SABOTINOV 1fa615991b Revert "broken: context won't satisfy spawn async move"
This reverts commit 2b11479ad4801e1efa8ab0aca4ca577bd3f195fe.
2025-10-21 14:07:01 +02:00
Floriane TUERNAL SABOTINOV 9f3061a2eb broken: context won't satisfy spawn async move 2025-10-21 14:07:01 +02:00
Floriane TUERNAL SABOTINOV 953f930c4b try debug fresh handler context 2025-10-21 14:07:01 +02:00
Floriane TUERNAL SABOTINOV bda45b405c try keep context accross async call 2025-10-21 14:07:01 +02:00
Floriane TUERNAL SABOTINOV bb9f0540e8 instrumentation of nym-node to nym-gateway workflow 2025-10-21 14:07:01 +02:00
Floriane TUERNAL SABOTINOV e3569ccc16 fixed trace_id distibuted from sdk to gateway 2025-10-21 14:07:01 +02:00
Floriane TUERNAL SABOTINOV 5c9d58bad3 fix trace_id propagation from sdk to mix-node 2025-10-21 14:07:01 +02:00
Floriane TUERNAL SABOTINOV 6c03ab69fb try debug difference trace_id otel by use async for gateway and attach it to span in surb_reply 2025-10-21 14:07:01 +02:00
Floriane TUERNAL SABOTINOV 89329ab3ee add context propagation 2025-10-21 14:07:01 +02:00
Floriane TUERNAL SABOTINOV fa603be538 setup otel from run to forward_sphinx_packet 2025-10-21 13:59:59 +02:00
Mark Sinclair 7d7acc2691 wip: tracing in nym-node 2025-10-21 13:59:59 +02:00
Simon Wicky 51779c06a4 Registration Client (#6059)
* removing wg-gateway-client

* bandwidth_provider trait

* authenticator client

* adapt ip-packet-client

* nit

* registration_client

* accomodate new shutdown and bugfix

* sdk changes

* cleanup and shutdown management

* remove credential mode

* error cleanup

* better error handling

* removing useless cover traffic delay

* wasm client stuff

* cfg unix

* more wasm stuff

* change authenticator client to not be blocked by mixnet client
2025-09-30 15:50:04 +02:00
Simon Wicky 7bcd3fe754 fixy fix 2025-09-24 15:14:42 +02:00
benedettadavico 7147ba56e2 adding log 2025-09-24 14:40:53 +02:00
benedettadavico 810b0628bb testing fixes 2025-09-24 14:06:42 +02:00
Jędrzej Stuczyński 0ee387d983 Feature/cancellation migration (#6014)
* squashing work on using cancellation in nym crates

making nym-task wasm compilable

removed sending of status messages

replaced TaskManager with ShutdownManager in the validator rewarder

additional helpers for ShutdownManager

simplified ShutdownToken by removing the name field

TaskClient => ShutdownToken within all client tasks

wip: remove TaskHandle

* track all long-living client tasks

* add task tracking for most top level tasks within nym-node

* improved default builder

* split up cancellation module

* module documentation and unit tests

* nym node fixes and naming consistency

* wasm fixes

* assert_eq => assert

* wasm fixes and made 'run_until_shutdown' take reference instead of ownership

* linux-specific fixes to IpPacketRouter

* post rebasing fixes for signing monitor

* add ShutdownManager constructor to build it from an external token

* applying PR review suggestions
2025-09-10 13:56:39 +01:00
Bogdan-Ștefan Neacşu f8337d9b38 Wireguard metadata client library (#5943) 2025-08-28 15:43:46 +03:00
Bogdan-Ștefan Neacşu 4fb252c44b Wireguard private metadata (#5915) 2025-08-28 15:14:52 +03:00
Jędrzej Stuczyński 724420f97c chore: move authenticator into gateway crate (#5982)
* removed unused bits of authenticator config

* moved authenticator into gateway

* cleaned up imports

* clippy
2025-08-27 09:05:02 +01:00
Bogdan-Ștefan Neacşu d95f66bd90 Move credential verifier in peer controller (#5938)
* Move credential verifier in peer controller

* Send back errors of peer controller
2025-08-13 13:09:44 +03:00
Bogdan-Ștefan Neacşu b975d08342 Remove old free credential handle (#5864)
* Set cached storage counters to 0 (#5812)

* Set cached storage counters to 0

* u64 to i64 log possible error

* Check addition too

Debug commit

Remove more data from wg storage peer

Put actual ticket type in storage

Simplify add peer

Finish rebase

Pass defguard Peer

Cache less data for consumption

GatewayStorage traits

Wg API trait

Mock test structures

Unit test for peer controller

EcashManager trait

Init test of Authenticator

Remove peer test

* Fix windows different API

* Use make_bincode_serializer like in other places

* Add log_slow_statements to gateway storage

* Use correct LevelFilter

* Fix clippy

* More win fix

* Win clippy

* Use two error variants more

* Use only one Arc<RwLock<T>> instead of many more

* Remove commented test

* Specific trait import
2025-07-23 17:07:12 +03:00
Jędrzej Stuczyński ec53b570dc listen for shutdown signals during nym-node startup (#5879)
this is to avoid situation where the process can't be killed without 'kill -9' because the logic to listen to shutdown signals hasn't been hit yet
2025-07-14 12:13:40 +01:00
Jędrzej Stuczyński 44ec6d6bc8 bugfix: allow gateways to permit authentication from v4 clients (#5862) 2025-06-18 09:17:54 +01:00
Jędrzej Stuczyński d8c84cc4d6 feat: key rotation (#5777)
* wip

* wip: wrap node's sphinx key with a manager

* wip: choosing correct key for packet processing

* further propagation of key rotation information

* attaching key rotation information to reply surbs

* added basic key rotation information to mixnet contract

* wip: introducing cached queries for key rotation info from nym api

* unified nym-api contract cache refreshing

* finish packet decoding

* multi api client + retrieving rotation id

* rotating sphinx key files

* logic for migrating config file

* wip: putting new sphinx keys to self described endpoints

* processing loop of KeyRotationController

* fixed sphinx key loading

* rotating bloomfilters

* wired up KeyRotationController

* flushing bloomfilters to disk and loading

* most of nym-node changes

* post rebase fixes

* fixes due to backwards compatible hostkeys

* split http state.rs file

* dont use deprecated fields

* fixed backwards compatible deserialisation of host information

* split up node describe cache

* added a dedicated CacheRefresher listener to perform full refresh outside the set interval

* controlling announced sphinx keys within nym-api

* retrieving rotation id when pulling topology

* split nym-nodes http handlers

* v2 nym-api endpoints to retrieve nodes with additional metadata information

* bug fixes...

* additional bugfixes and guards against stuck epoch

* testnet manager: set first nym-api as the rewarder

* fixed host information deserialisation

* fixed panic during first key rotation

* post rebase fixes

* clippy

* more guards against stuck epochs

* added helper method to reset node's sphinx key

* instantiate mixnet contract with custom key rotation validity

* additional bugfixes and debugging nym-api deadlock

* passing shutdown to nym apis client

* remove dead test

* post rebasing fixes

* missing MixnetQueryClient variants

* remove usage of deprecated methods in sdk example

* fix: incorrect method signature

* post rebasing fixes

* attempt to retrieve key rotation id before doing any config migration work

* ignore tests relying on networking behaviour

* allow networking failures in certain tests
2025-06-03 11:22:51 +01:00
Jędrzej Stuczyński 4a1ce8154a chore: resolve 1.87 clippy warnings (#5802)
* Clippy in wallet & sdk

* Clippy in wallet

* Pin rust to 1.86 in builder

* apply changes from b7da75a18c

* missing nym-node features

* Box all the things

* additional boxes in the wallet

* post rebasing clippy

---------

Co-authored-by: dynco-nym <173912580+dynco-nym@users.noreply.github.com>
2025-05-27 11:08:36 +01:00
Simon Wicky a3a234b41b [Feature] RememberMe is the new don't ForgetMe (#5742)
* move SessionType into statsitcis common crate

* add RememberMe to clients config

* change stats collection logic to handle remember me

* set up sdk client to send remember me message

* bump NS API version
2025-05-09 14:43:32 +02:00
Jędrzej Stuczyński 84db9f6bcd chore: rename 'identity' module to 'ed25519' and 'encryption' to 'x25519' (#5707) 2025-04-13 11:58:25 +01:00
Jędrzej Stuczyński 0f6ec8610e hotfix: correctly increment ws connection counter (#5620) 2025-03-14 15:47:17 +00:00
Jędrzej Stuczyński 7d59a2477a chore: change auth v2 timestamp skew and allow values from the future (#5604)
* chore: change auth v2 timestamp skew and allow values from the future

* made the if statement more readable
2025-03-12 11:02:19 +00:00