Commit Graph
29 Commits
Author SHA1 Message Date
wucke13 4a3b59fd15 refine cli of exchange command
This implements feedback from #87 on ambiguities of the CLI
2023-06-10 04:03:55 +02:00
wucke13 73a8489232 add private-key argument to cli parser
- fixes #72
2023-06-09 22:20:24 +02:00
Karolin VarnerandKarolin Varner 7e6985fdc6 fix: Revert spell correction zeroized -> zeroed
This is an established term.
2023-06-01 11:51:27 +02:00
Steffen VogelandKarolin Varner b958eacaae fix: Typos in Rust code, readme and man pages 2023-06-01 11:51:27 +02:00
Karolin VarnerandKarolin Varner 397a776c55 fix: Race condition due to concurrent handshake
After establishing a session in responder role, the peer
should abort ongoing handshakes in initiator role.

Also adds an extra wait period before creating an
initiation if peer had been the initiator in the previous
handshake. This makes sure that unless there are huge latencies,
there are no concurrent handshakes in the first place.

Fixes: #43
2023-05-26 11:46:00 +02:00
Karolin VarnerandKarolin Varner b29720b0c6 fix: Formatting 2023-05-23 22:26:56 +02:00
Karolin Varner 69f62673a5 fix: Reintroduce ability to actually supply wireguard with keys
Regression introduced in b99d072879
due to forgetfullness
2023-05-23 11:26:01 +02:00
Karolin Varner 097fd0332d chore: Upgrade crate dependencies 2023-05-23 11:24:39 +02:00
Karolin VarnerandKarolin Varner 7aa48b95af fix: Escape uses of angle brackets and pointy brackets in documentation
This was a regression introduced in b99d072879
which went unnoticed because of the broken CI

https://github.com/rosenpass/rosenpass/issues/62
2023-05-23 08:54:53 +02:00
Karolin VarnerandKarolin Varner 62fab066d4 feat: Restart host discovery on connection loss
This will retry other sockets and the host-name given on the
command-line when a connection loss is detected.
2023-05-22 11:42:51 +02:00
Karolin VarnerandKarolin Varner 9469b62f58 fix: Host-path discovery
When rosenpass is started, we either know no peer address or we know a
hostname. How to contact this hostname may not be entirely clear because
we now have multiple sockets we could send on and DNS may return
multiple addresses.

To robustly handle host path discovery, we try each
socket-ip-combination in a round robin fashion; the struct stores the
offset of the last used combination internally and and will continue
with the next combination on every call.
2023-05-22 11:42:51 +02:00
Karolin VarnerandKarolin Varner f8bea94330 fix: Always send messages to a peer using the socket they contacted us with
To implement this it was necessary to introduce an `Endpoint` abstraction
over SocketAddr's that includes the information which socket was used.
2023-05-22 11:42:51 +02:00
Karolin VarnerandKarolin Varner f3c343c472 fix: Handle the various possible dual-stack configurations reliably 2023-05-22 11:42:51 +02:00
Karolin VarnerandKarolin Varner 7154af52f9 chore: Indicate that the listen parameter can be given multiple times in the help 2023-05-22 11:42:51 +02:00
Karolin VarnerandKarolin Varner e03fed404f chore: Cleanup unneccesary debug output 2023-05-22 11:42:51 +02:00
wucke13andKarolin Varner b99d072879 major rewrite of application server & frontend
- adds TOML based configuation files
  - with example configuratios in config-examples
- reimplments arcane CLI argument parser as automaton
- adds a new CLI focused arround configuration files
- moves all file utility stuff from `main.rs` to `util.rs`
- moves all AppServer stuff to dedicated `app_server.rs`
- add mio for multi-listen-socket support (should fix #27)
- consistency: rename private to secret
2023-05-22 11:42:51 +02:00
Emil Engler 13cc7e05ed invoke man(1) when requesting help
This commit invokes `man(1)` when requesting help and emits the built-in
manual, if the manual page is not found on the system.
2023-04-25 14:54:30 +02:00
wucke13andGitHub 9c40c77f71 Merge pull request #42 from rosenpass/dev/fix-#41
fix #41
2023-04-09 18:18:19 +02:00
wucke13 c79dffa627 fix #41
Adds a check for empty messages as well as unit test verifying that
empty messages are handled as desired.
2023-04-09 17:54:51 +02:00
wucke13andKarolin Varner b8f19c5510 remove multimatch macro and fix typo 2023-04-09 17:52:41 +02:00
wucke13andKarolin Varner f459b91abf fix documentation 2023-04-09 17:52:41 +02:00
wucke13 df02f616bf remove code format snowflakes
this also enables the `cargo fmt` check in the flake
2023-04-05 16:35:31 +02:00
wucke13 87b08bcee1 rename SKEM -> StaticKEM & EKEM -> EphemeralKEM 2023-04-05 16:35:26 +02:00
wucke13 897fa3daf6 improve documentation
- fix key-exchange doctest example
- add more info on the CryptoServer struct
- add more doc-strings
2023-04-04 22:13:23 +02:00
wucke13 953b861b4c add rustfmt::skip attributes on _special_ code
related to https://github.com/rust-lang/rustfmt/issues/4306
2023-04-04 22:13:23 +02:00
wucke13 1a61a99575 rename protocol::Server -> protocol::CryptoServer 2023-04-04 22:13:12 +02:00
Karolin Varner 8eea5284bf fix(usage): Remove warning about this being a research project 2023-03-04 22:24:09 +01:00
Emil EnglerandKarolin Varner df00c1987c fix typos 2023-03-04 22:15:32 +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