Commit Graph
47 Commits
Author SHA1 Message Date
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 8bad02bcda feat: Disallow unknown fields in rosenpass and rp configuration 2025-06-25 19:48:29 +02:00
Karolin Varner 4deee59e90 chore: Restructure imports in various places 2025-06-25 19:38:51 +02:00
Karolin Varner 9656fa7025 chore: Split basic types from protocol.rs into own file 2025-06-24 14:01:31 +02:00
wucke13andKarolin Varner d496490916 fix: set crate MSRVs to a precise version
Before this change, the patch release was left open. This patch
pinpoints it exactly, down to the patch release.

Signed-off-by: wucke13 <wucke13+github@gmail.com>
2025-05-09 18:22:10 +02:00
Karolin Varner f22f4aad7d feat: Fix minimum supported cargo version to 1.77
This should ensure, that our Cargo.lock file stays at version 3
when using `cargo update` or dependabot.
2025-04-13 13:44:36 +02:00
Karolin Varner 54fc904c15 fix(rp): Protocol version field should be optional 2025-04-08 23:54:48 +02:00
David NiehuesandJan Winkelmann (keks) b21a95dbbd doc(rp+rosenpass+ciphers+cipher-traits): Apply cargo fmt formatting 2025-04-03 16:55:03 +02:00
David NiehuesandJan Winkelmann (keks) 944be10bd2 dev(rp): Adapt rp to include set a protocol version. 2025-04-03 16:55:03 +02:00
Jan Winkelmann (keks) 6494518460 add fine-grained features 2025-04-03 16:14:19 +02:00
Jan Winkelmann (keks) b84e0beae8 introduce traits for all the primitives and algorithms. A bit more cleanup. 2025-04-03 16:12:44 +02:00
Jan Winkelmann (keks) 949a3e4d23 Add &self receiver to KEM trait methods 2025-04-03 16:12:44 +02:00
Jan Winkelmann (keks) d61b137761 update KEM trait 2025-04-03 16:12:44 +02:00
Dimitris Apostolou fe60cea959 fix: avoid duplicate crates 2025-02-24 13:48:31 +02:00
Karolin Varner 4982e40084 chore: Smoketests for rp 2024-12-19 15:00:08 +01:00
David Niehues 8805ef7c38 style: Ensure inline comments start upper case and end with a dot, and fix some overlong lines. 2024-12-12 21:14:02 +01:00
David Niehues cca02dc8d1 add documentation for the rp crate 2024-12-12 21:14:02 +01:00
Karolin VarnerandPaul Spooren 2d20ad6335 fix: CI issues under Darwin 2024-12-09 15:35:34 +01:00
Jacek GalowiczandPaul Spooren df3d1821c8 Fix build for mac 2024-12-09 15:35:34 +01:00
Jacek GalowiczandPaul Spooren cd7558594f rp: Add exchange-config command
This is similar to `rosenpass exchange`/`rosenpass exchange-config`.
It's however slightly different to the configuration file models the `rp
exchange` command line.
2024-12-09 15:35:34 +01:00
Jacek GalowiczandPaul Spooren 022cdc4ffa rp: set allowed-ips as routes
Prepare the rp app for a systemd unit file that sets up wireguard
connections.
2024-12-09 15:35:34 +01:00
Jacek GalowiczandPaul Spooren 06d4e289a5 rp: Add ip parameter to exchange command
Prepare the `rp` app for a systemd unit that sets up a wireguard connection.
2024-12-09 15:35:34 +01:00
Paul SpoorenandKarolin Varner b0706354d3 chore: Format all Cargo.toml files
Signed-off-by: Paul Spooren <mail@aparcar.org>
2024-10-01 11:22:45 +01:00
Karolin Varner d5a8c85abe chore(API): Specifying a keypair should be opt. at startup
…so we can specify it later using the API.
2024-08-16 08:34:07 +02:00
Karolin Varner 8d3c8790fe chore: Reorganize memfd secret policy
- Policy is now set in main.rs, not cli.rs.
- Feature is called experiment_memfd_secret, not enable_memfd_alloc

This also fixes the last remaining warnings.
2024-08-03 15:17:09 +02:00
Karolin VarnerandGitHub 19f7905bc9 Merge pull request #362 from rosenpass/dev/karo/libcrux_chacha20poly1305
feat: Experimental support for encryption using libcrux
2024-07-10 15:08:31 +02:00
Paul Spooren 79b634fadf drop unused import of WG_B64_LEN
This causes warnings

Signed-off-by: Paul Spooren <mail@aparcar.org>
2024-07-08 13:48:00 +02:00
Karolin Varner 99ac3c0902 feat: Experimental support for encryption using libcrux
Libcrux is a library for formally verified implementations of
cryptographic primitives. It uses multiple back ends; one of which is
libjade. A cryptographic library written in the jasmin assembly
language for high assurance cryptographic implementations.

To use compile with the experiment_libcrux feature enabled:

    cargo build --features experiment_libcrux
2024-07-03 21:46:40 +02:00
Katherine Watson 3286e49370 Replace &* incantations with .deref() 2024-06-17 20:49:40 -07:00
Katherine Watson a18658847c Move static KEM public key to new PublicBox struct 2024-06-17 20:49:40 -07:00
Prabhpreet DuaandGitHub f535a31cd7 Feature flag for memfd_secret alloc (#343)
* feature flag for memfd_secret alloc

* Cargo fmt
2024-06-11 14:53:30 +05:30
Prabhpreet DuaandGitHub 526c930119 Secret memory with memfd_secret (#321)
Implements:
- An additional allocator to use memfd_secret(2) and guard pages using mmap(2), implemented in quininer/memsec#16
- An allocator that abstracts away underlying allocators, and uses specified allocator set by rosenpass_secret_memory::policy functions (or a function that sets rosenpass_secret_memory::alloc::ALLOC_INIT
- Updates to tests- integration, fuzz, bench: some tests use procspawn to spawn multiple processes with different allocator policies
2024-06-10 13:12:44 +05:30
c1abfbfd14 feat(rosenpass): Add wireguard-broker interface in AppServer (#303)
Dynamically dispatch WireguardBrokerMio trait in AppServer. Also allows for mio event registration and poll processing, logic from dev/broker-architecture branch

Co-authored-by: Prabhpreet Dua <615318+prabhpreet@users.noreply.github.com>
Co-authored-by: Karolin Varner <karo@cupdev.net>
2024-05-20 18:12:42 +05:30
2bac991305 feat(wireguard-broker): merge from dev/broker-architecture, fixes, test
* wireguard-broker: merge from dev/broker-architecture
* use zerocopy instead of lenses
* Require use_broker feature flag to comile broker binaries
* Remove PhantomData from BrokerServer & BrokerClient
* Modify mio client rx to be non-recursive, add integration test

Co-authored-by: Karolin Varner <karo@cupdev.net>
Co-authored-by: Prabhpreet Dua <615318+prabhpreet@users.noreply.github.com>
2024-05-07 12:23:35 +05:30
Prabhpreet DuaandGitHub 4bb3153761 feat(deps): Change base64 to base64ct crate (#295) 2024-05-06 21:14:10 +05:30
Emil EnglerandGitHub be91b3049c rp: Load WireGuard SK into secret memory (#293)
Fixes #287
2024-04-30 18:10:04 +02:00
Emil Engler de905056fc rp: Remove needless borrow 2024-04-25 11:13:32 +02:00
Gergő MóriczandGitHub cc7e8dc510 feat(rp-rust): implement rp tool in Rust (#235) 2024-04-19 20:44:55 +02:00
wucke13 47b4d394ef small fixups for rp script 2023-08-29 23:32:14 +02:00
wucke13 d6b83a4a0b add freebsd support, prepare for other BSDs 2023-08-23 18:20:17 +02:00
Marek KütheandKarolin Varner 067a839d4b rp: Defaults to dual-stack
If currently no IP address, only on IPv6 is listen by default. This commit would make it listen dual-stack - i.e. IPv4 and IPv6 - by default.

Signed-off-by: Marek Küthe <m.k@mk16.de>
2023-08-21 14:04:46 +02:00
Karolin VarnerandKarolin Varner 19fe7360d2 fix: Git directory detection should not print an error if we are not in a git repo 2023-05-26 11:46:00 +02:00
Karolin Varner 5f78857ff5 fix: Show warnings from git directory detection 2023-05-23 11:36:20 +02:00
Karolin VarnerandKarolin Varner 42798699e4 fix: Adjust the rp(1) script to support the new rosenpass(1) command line parameters
The previous commit still introduces breaking changes;
this means we are now developing a 1.x.x version instead
of a 0.x.x version. We will create a 0.x.x development branch
where we might backport some of the features we are introducing now
2023-05-22 11:42:51 +02:00
Karolin Varner 55e4fc7e9a fix: Support for absolute paths in rp
This was not a very functional way of removing trailing slashes.

Fixes: #3
2023-02-24 11:46:30 +01:00
Karolin Varner 22c238764a feat: rp now detects rosenpass binary in nix builds 2023-02-24 11:43:08 +01:00
Karolin Varnerandwucke13 4e72c52ca0 add Rosenpass, the tool
Initial implementation of the Rosenpass tool, implemented by @koraa.
Includes contributions and some lints from @wucke13.

Co-authored-by: wucke13 <wucke13@gmail.com>
2023-02-23 20:45:56 +01:00