Karolin Varner and GitHub
7cc7c0033c
Remove atomic-polyfill from dependency graph ( #832 )
2026-06-13 12:24:47 +02:00
Karolin Varner and GitHub
16e1c62c39
Add assertions to PublicBox randomize test ( #835 )
2026-06-13 12:23:30 +02:00
Karolin Varner and Ilka Schulz
8c2b60f898
fix: Security updates
2026-05-14 19:44:58 +02:00
Karolin Varner and GitHub
433ff09c43
chore(deps): bump actions/checkout from 4 to 5 ( #700 )
2025-09-20 11:31:50 +02:00
Karolin Varner and GitHub
0c48cfb91f
feat: add preliminary miri support ( #699 )
2025-09-05 16:22:16 +02:00
Karolin Varner
3f0c71d74b
chore: Regenerate cargo vet exemptions
2025-09-05 16:22:02 +02:00
Karolin Varner and GitHub
aa42ba070b
Apply Steffens review Fixes ( #698 )
2025-09-05 16:21:45 +02:00
Karolin Varner
8bf9ca203e
feat(whitepaper): Update scientific illustrations to account for Steffen Vogel's reviews
2025-09-05 16:14:13 +02:00
Karolin Varner
8b98d4caca
fix(whitepaper): Typos
2025-09-05 16:12:11 +02:00
Karolin Varner
9d5996e71c
fix(whitepaper): Cookie feature is implemented but experimental
2025-09-05 16:12:11 +02:00
Karolin Varner
f59b63a4d3
fix(whitepaper): pidi naming typo in load_biscuit()
2025-09-05 16:12:11 +02:00
Karolin Varner
e3a88d9a5e
fix(whitepaper): Harmonize naming of package size sums in Fig 2 (Message Types)
...
Graphics to be updated later
2025-09-05 16:12:11 +02:00
Karolin Varner
3c6a3a3735
fix: Upgrade stacker
...
Potentially fixes issues with flaky tests using stacker.
2025-09-05 16:12:11 +02:00
Karolin Varner
f38949615f
feat(whitepaper): Move protocol code figure higher in white paper
2025-09-05 16:12:11 +02:00
Karolin Varner
f431301d1e
feat(whitepaper): Info about timers used
...
Text recovered from PR #145 : https://github.com/rosenpass/rosenpass/pull/145
2025-09-05 16:12:11 +02:00
Karolin Varner
771cacb8c8
feat(whitepaper): More info about initiator/responder roles
...
Text recovered from PR #145 : https://github.com/rosenpass/rosenpass/pull/145
2025-09-05 16:12:11 +02:00
Karolin Varner
6383231a6a
fix(whitepaper): biscuit_ct destructuring is destructuring a concatenation
2025-09-05 16:12:11 +02:00
Karolin Varner
4daca9ed56
chore(whitepaper): Biscuit and pidi cipher texts now called pidi_ct/biscuit_ct
2025-09-05 16:12:11 +02:00
Karolin Varner
75ff1e8292
chore(whitepaper): Nomenclature improvements
2025-09-05 16:12:11 +02:00
Karolin Varner
484af1654a
feat(whitepaper): Precise references to KEM versions
2025-09-05 16:12:11 +02:00
Karolin Varner
9c82424dee
fix(whitepaper): Relax requirements on biscuit key life times
...
…and harmonize with the implementation
2025-09-05 16:12:11 +02:00
Karolin Varner
823e5aca56
fix(whitepaper): Incorrect ordering of auth and biscuit in RespHello
...
Graphic fix to come later
2025-09-05 16:12:11 +02:00
Karolin Varner
22bf2e3990
fix(proverif): Incorrect parameter ordering in encaps_/decaps_and_mix
2025-09-05 16:12:11 +02:00
Karolin Varner
f39a43a821
fix(proverif): Remove broken protocol analysis code
...
The identity hiding and DOS protection models where never actually
functional. Here we just remove them so the CI and manual runs of
analysis.sh stop giving spurious errors.
2025-09-05 16:12:11 +02:00
Karolin Varner
bc6fa0d672
fix(whitepaper): Incorrect parameter ordering in encaps_/decaps_and_mix
...
Update of the figures in the white paper to come later.
2025-09-05 16:12:10 +02:00
Karolin Varner
db797ff11e
fix(whitepaper): Specify our incorrect (but likely secure) variant of HMAC
2025-09-05 16:12:10 +02:00
Karolin Varner
7790d82b51
fix(whitepaper): Inconsistency between implementation and whitepaper about blake2s/blake2b usage
2025-09-05 16:12:10 +02:00
Karolin Varner
b52c607efc
fix(whitepaper): Inconsistency between implementation and whitepaper about PROTOCOL label
2025-09-05 16:12:10 +02:00
Karolin Varner
d2a85a0d6b
fix(whitepaper): Inconsistency between implementation and whitepaper about labels for txki/txkr
...
Fix of Fig. 5 follows later.
2025-09-05 16:12:10 +02:00
Karolin Varner
221c583508
fix(whitepaper): Incorrect biscuit_no comparison in load_biscuit()
2025-09-05 16:12:10 +02:00
Karolin Varner
14c48cf069
fix(whitepaper): Incorrect name used
...
Fig. 5: Rosenpass Message Handling Code; in IHR5: `decaps_and_mix<SKEM>(sskr, spkr, ct1)` -> `decaps_and_mix<SKEM>(sskr, spkr, sctr)`
Actual update to the figure will be done later
2025-09-05 16:12:10 +02:00
Karolin Varner
6e43a21e74
feat(whitepaper): Brief section about endianness
2025-09-05 16:12:10 +02:00
Karolin Varner
6bfc29ef93
feat(whitepaper): Brief section about protocol roles
2025-09-05 16:12:10 +02:00
Karolin Varner
39341c0ef8
chore(whitepaper): Added an explaining paragraph to section 'Live Session State'
2025-09-05 16:12:10 +02:00
Karolin Varner
9ee86e01ec
feat(whitepaper): Comprehensive reference about packages, labels, and symmetric keys used in protocol
2025-09-05 16:12:10 +02:00
Karolin Varner
3721996f2d
chore(whitepaper): Stub for steffen vogel changelog entry
2025-09-05 16:12:10 +02:00
Karolin Varner
49ccb1ea95
fix: Spurious debug output in nix flake
2025-09-05 16:01:15 +02:00
Karolin Varner and GitHub
baa534f2e2
Add integration tests ( #672 )
2025-09-03 15:52:39 +02:00
Karolin Varner
6e62cd7c36
chore(ci): Remove spurious debug output
2025-09-03 15:52:01 +02:00
Karolin Varner and David Niehues
b88d3961ea
chore(integration-test): Nix fmt
2025-09-01 10:58:28 +02:00
Karolin Varner and David Niehues
82135cce5c
fix(integration-test): Incorrect peer IP in connection BA
2025-09-01 10:58:28 +02:00
Karolin Varner and David Niehues
879a25ec46
fix(integration-test): Use /32 again for allowed ips
2025-09-01 10:58:28 +02:00
Karolin Varner and David Niehues
098aff91ab
fix(integration-test): Don't erase endpoint & allowed ips when setting PSK
2025-09-01 10:58:28 +02:00
Karolin Varner and David Niehues
d5162d7b9a
fix(integration-test): Use deterministic WG keys
2025-09-01 10:58:28 +02:00
Karolin Varner and David Niehues
15f2153b1b
fix(integration-test): Use consistent network sizes
2025-09-01 10:58:28 +02:00
Karolin Varner and David Niehues
ad1235c4f8
chore: Dump network config in integration tests
2025-09-01 10:58:28 +02:00
Karolin Varner and David Niehues
9e6a9a7a4a
fix: Absurdly long timeout for i686 integration tests
2025-09-01 10:58:28 +02:00
Karolin Varner and David Niehues
c8a724a8d0
chore: Show PSKs exchanged in integration test
2025-09-01 10:58:27 +02:00
Karolin Varner and David Niehues
dffd0b33fe
fix: Spurious comment in integration tests
2025-09-01 10:58:27 +02:00
Karolin Varner and David Niehues
ba1c6a177e
fix: Spurious input in nix flake
2025-09-01 10:58:27 +02:00
Karolin Varner and David Niehues
6577d1731c
fix: In integration test in main flake: Move rosenpassOld into flake imports
2025-09-01 10:58:27 +02:00
Karolin Varner and David Niehues
18b6dae902
fix: Integration tests never actually used current version of code
2025-09-01 10:58:27 +02:00
Karolin Varner
b5ef5842d9
fix(docker): Builder runtime image not matching buildtime image
2025-08-29 18:23:17 +02:00
Karolin Varner and GitHub
c3e8297fa0
feat: Derandomize the rosenpass protocol by adding testvectors ( #604 )
2025-08-28 15:08:51 +02:00
Karolin Varner and GitHub
5c909b4ab9
chore(deps): bump actions/checkout from 4 to 5 ( #693 )
2025-08-12 15:44:06 +02:00
Karolin Varner and GitHub
916a9ebb71
chore(deps): bump libfuzzer-sys from 0.4.9 to 0.4.10 ( #691 )
2025-08-09 16:13:41 +02:00
Karolin Varner and GitHub
2e17779447
chore(deps): bump anyhow from 1.0.96 to 1.0.98 ( #690 )
2025-08-08 17:30:36 +02:00
Karolin Varner
76a8a39560
fix: Benchmarks should run on ubicloud runners
2025-08-07 20:00:05 +02:00
Karolin Varner and GitHub
de72e4a2a1
Use serde for JSON-encoding benchmark data ( #667 )
2025-08-07 16:40:16 +02:00
Karolin Varner and GitHub
f0467ea28b
chore(deps): bump actions/download-artifact from 4 to 5 ( #686 )
2025-08-07 16:04:46 +02:00
Karolin Varner and GitHub
1a8713a26f
chore(deps): bump log from 0.4.26 to 0.4.27 ( #681 )
2025-08-07 16:04:01 +02:00
Karolin Varner and GitHub
4f2519fb9c
fix: Compiling rp should be disabled on mac ( #688 )
2025-08-07 16:02:40 +02:00
Karolin Varner
72e6542958
fix: Compiling rp should be disabled on mac
2025-08-07 12:45:02 +02:00
Karolin Varner and GitHub
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 and GitHub
3f2a9bb96b
chore(deps): bump tokio from 1.44.2 to 1.46.1 ( #679 )
2025-07-31 12:22:35 +02:00
Karolin Varner and GitHub
75702dfc03
chore(deps): bump clap_mangen from 0.2.24 to 0.2.27 ( #657 )
2025-07-30 16:13:12 +02:00
Karolin Varner and GitHub
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 and David Niehues
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 and GitHub
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
Karolin Varner and GitHub
53e6553c8b
fix(rosenpass): Fix the error message if the secret key is invalid ( #669 )
2025-07-29 14:15:22 +02:00
Karolin Varner and GitHub
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 and GitHub
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