Jan Winkelmann (keks)
7908359eab
Use serde for JSON-encoding benchmark data
2025-08-06 17:58:38 +02:00
Karolin Varner
15ae4b4ae5
Fix signal handling in rp and rosenpass ( #685 )
2025-08-06 15:59:49 +02:00
Karolin Varner
b5107c77d8
chore(rp): Docs fix
2025-08-04 08:44:15 +02:00
Karolin Varner
335584b187
fix: clippy fix (remove warnings)
2025-08-04 08:44:15 +02:00
Karolin Varner
3c0e167347
fix(rosenpass): Integrate signal handlers with mio
...
With this commit, rosenpass uses a signal handler based on the signal-hook-mio crate.
Even though, in this commit, no rosenpass-rp code is touched, this also
fixes the signal handling in rosenpass-rp. The way rosenpass is
integrated in rp is a bit of a hack – it just directly embeds
rosenpass in the same process (though on a dedicated thread). For this
reason, rp now just inherits rosenpass' signal handlers. The
rosenpass event_loop() will terminate. The main loop of `rp` just spends
most of the time waiting for rosenpass itself to finish, and exits when
it finishes.
Unfortunately, this means we are not using signalfd(2)[^0]; the
signal-hook-mio crate appears to use a pipe-based mechanism to deliver
events to mio instead.
This may not be such a bad thing, as signalfd has some severe drawbacks
with respect to subprocesses and masked signals[^1].
Fixes : #358 (https://github.com/rosenpass/rosenpass/issues/385 )
Fixes : #522 (https://github.com/rosenpass/rosenpass/issues/522 )
Fixes : #678 (https://github.com/rosenpass/rosenpass/pull/678 )
[^0]: https://unixism.net/2021/02/making-signals-less-painful-under-linux/
[^1]: https://ldpreload.com/blog/signalfd-is-useless?reposted-on-request
2025-08-04 08:44:15 +02:00
Karolin Varner
6f6fdef542
chore(rp): Rename crate rp -> rosenpass-rp
2025-08-04 08:44:15 +02:00
Karolin Varner
c839126e29
chore(rp): Move remaining sync io in exchange() into spawn_blocking
2025-08-04 08:44:15 +02:00
Karolin Varner
a1698f36a6
fix(rp): Start the proper rosenpass server on a dedicated thread
...
We should not block the tokio executor indefinetly.
2025-08-04 08:44:15 +02:00
Karolin Varner
2d6550da0f
chore(rp): Simplify peer configuration code
2025-08-04 08:44:15 +02:00
Karolin Varner
bae336d633
fix(rp): Make sure that the WG SK is erased ASAP
2025-08-04 08:44:15 +02:00
Karolin Varner
6c929f7ddc
chore(rp): Simplify error handling in exchange()
2025-08-04 08:44:15 +02:00
Karolin Varner
41eb620751
chore(rp): Simplify code to setup Rosenpass AppServer
2025-08-04 08:44:15 +02:00
Karolin Varner
8561aaf137
chore(rp): Move functionality to set wg sk and port into function
2025-08-04 08:44:15 +02:00
Karolin Varner
f0ee7a33c9
chore(rp): Make sure genetlink is cleaned up
2025-08-04 08:44:15 +02:00
Karolin Varner
1d4a70f863
fix(rp): Use async commands to set up ip addr
...
We don't want to block the tokio runtime.
2025-08-04 08:44:15 +02:00
Karolin Varner
f4e8e4314b
chore: Use RAII for erasing the WireGuard device in rp
...
This, for now, disables correct handling of program termination,
but not because the RAII does not work. Instead, we need to implement
a proper signal handling concept.
We also removed some teardown handlers which are not covered by RAII,
like removing the routes we set up. The reason for this is, that this
is going to be taken care of by removing the wireguard device anyway.
2025-08-04 08:44:15 +02:00
Karolin Varner
1b9be7519b
chore: Unnecessary string clone in rp
2025-08-04 08:44:15 +02:00
Karolin Varner
c689f8e78a
feat(rp): Enable logging
2025-08-04 08:44:15 +02:00
Karolin Varner
edcbf290fc
chore: Use default error handler in rp main()
2025-08-04 08:44:15 +02:00
Karolin Varner
31a5dbe420
feat: Janitor, utilities for cleaning up with tokio
2025-08-04 08:44:15 +02:00
Karolin Varner
a85f9b8e63
chore: Better error handling in link_create_and_up in rp
2025-08-03 15:15:14 +02:00
Karolin Varner
21ea526435
chore: Restructure imports in rosenpass_rp::exchange
2025-08-03 15:15:14 +02:00
Karolin Varner
35e956e340
fix: Simplify structure of rp::exchange
...
Before this commit, there was a submodule rp::exchange::netlink
and there where platform checks, printing error messages on systems
other than freebsd and linux.
Neither is really necessary. If the application won't compile on other
systems it won't work, and if it happens to work then why give users a
spurious error message.
2025-08-03 15:15:14 +02:00
Karolin Varner
3371d7f00f
chore: Clippy fixes for rp crate
2025-08-03 15:15:14 +02:00
Karolin Varner
3f2a9bb96b
chore(deps): bump tokio from 1.44.2 to 1.46.1 ( #679 )
2025-07-31 12:22:35 +02:00
Rosenpass CI Bot
8dfa67a2dd
Regenerate cargo vet exemptions
2025-07-30 23:45:24 +00:00
dependabot[bot]
f31d635df8
chore(deps): bump tokio from 1.44.2 to 1.46.1
...
Bumps [tokio](https://github.com/tokio-rs/tokio ) from 1.44.2 to 1.46.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases )
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.44.2...tokio-1.46.1 )
---
updated-dependencies:
- dependency-name: tokio
dependency-version: 1.46.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-07-30 23:44:49 +00:00
Karolin Varner
75702dfc03
chore(deps): bump clap_mangen from 0.2.24 to 0.2.27 ( #657 )
2025-07-30 16:13:12 +02:00
Rosenpass CI Bot
3af479a27e
Regenerate cargo vet exemptions
2025-07-29 15:20:29 +00:00
dependabot[bot]
e76e5b253f
chore(deps): bump clap_mangen from 0.2.24 to 0.2.27
...
Dependabot couldn't find the original pull request head commit, 518c533e040c5dd92156f84f8c20cffb9c7eacf6.
2025-07-29 15:19:47 +00:00
Karolin Varner
0d944afbd8
Add another checkout step for the supply-chain action in case of a dependabot PR ( #677 )
2025-07-29 17:18:03 +02:00
Karolin Varner
8d81be56f3
fix: Re-trigger CI when cargo vet exemptions are regenerated for Dependabot PRs
...
Co-authored-by: David Niehues <niehues@utilacy.com >
2025-07-29 17:16:11 +02:00
Karolin Varner
16b3914c46
Make the CI restart once cargo-vet exemptions for dependabot have been pushed (new iteration ( #674 )
2025-07-29 15:52:31 +02:00
David Niehues
ae060f7cfb
fixes to PR
2025-07-29 15:39:23 +02:00
David Niehues
afa6212264
fix(CI+dependabot): adapt the supply-chain workflow for cargo-vet to work with dependabot, i.e. regenerating exemptions for dependabot and restart the CI afterwards
2025-07-29 15:22:43 +02:00
David Niehues
3c744c253b
fix(CI+dependabot): add instructions on how to set up a repository to work with the supply-chain+dependabot accomodations
2025-07-29 15:22:43 +02:00
Karolin Varner
53e6553c8b
fix(rosenpass): Fix the error message if the secret key is invalid ( #669 )
2025-07-29 14:15:22 +02:00
David Niehues
4cd2cdfcff
fix(rosenpass): Fix the error message if the secret key is invalid
2025-07-29 14:14:36 +02:00
Karolin Varner
3e03e47935
fix: Regression caused by benchmarks ( #670 )
2025-07-09 19:20:15 +02:00
Karolin Varner
7003671cde
fix: Regression caused by benchmarks
...
CI keeps failing for external pull requests as GH's permission
model was not fully accounted for
2025-07-09 10:08:05 +02:00
Karolin Varner
91fc50c1e1
Specify WireGuard OSK as a protocol extension & allow for custom OSK domain separators ( #664 )
2025-07-07 12:05:19 +02:00
Karolin Varner
b1a7d94295
feat: Support for custom osk (output key) domain separators in Rosenpass app
...
This allows for custom protocol extensions with custom domain
separators to be used without modifying the Rosenpass source code
2025-06-25 19:48:29 +02:00
Karolin Varner
48b7bb2f14
feat(whitepaper): Introduce protocol extensions & specify WG integration as one
2025-06-25 19:48:29 +02:00
Karolin Varner
77e3682820
chore: Whitespace issues in the whitepaper
2025-06-25 19:48:29 +02:00
Karolin Varner
8bad02bcda
feat: Disallow unknown fields in rosenpass and rp configuration
2025-06-25 19:48:29 +02:00
Karolin Varner
864407f90b
chore: Fix module documentation for app_server
2025-06-25 19:38:51 +02:00
Karolin Varner
4deee59e90
chore: Restructure imports in various places
2025-06-25 19:38:51 +02:00
Karolin Varner
c82ed332f6
Start splitting protocol.rs into multiple files ( #655 )
2025-06-24 14:50:52 +02:00
Karolin Varner
5ced547a07
chore: PeerIndex split from protocol.rs
2025-06-24 14:01:31 +02:00
Karolin Varner
bdaedc4e2a
chore: CookieStore split from protocol.rs
2025-06-24 14:01:31 +02:00