Files
rosenpass/CHANGELOG.md
2024-08-23 12:35:27 +02:00

63 KiB
Raw Blame History

title, linkTitle, weight, menu, type
title linkTitle weight menu type
Changelog 5 false docs
<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-Fy6S3B9q64WdZWQUiU+q4/2Lc9npb8tCaSX9FK7E8HnRr0Jz8D6OP9dO5Vg3Q9ct" crossorigin="anonymous"></script>
unreleased/untagged

🚀 Features

- 1555d08 Drop obsolete RTX_BUFFER_SIZE and usize_max
- abdbf8f Cleanup, document and add tests
- 77760d7 Use mio::Token based polling
- 53e5601 Close API connections after error
- 594f894 AddPskBroker endpoint
- 24eebe2 AddListenSocket endpoint
- 1d2fa7d API Feature Add server keys via API
- edf1e77 SupplyKeypair endpoint
- 065b0fc Add enable_wg_broker feature using MioBrokerClient
- 1853e0a Add test case and check fd value
- 245d4d1 Add tests for util file.rs
- 6d47169 Set CLOEXEC flag on claimed fds and mask them
- 4bcd38a Infrastructure for the Rosenpass API
- 730a039 A variety of utilities in preparation for implementing the API
- ea071f5 Convenience functions and traits to automatically handle ErrorKind::{Interrupt, WouldBlock}
- 3063d3e Convenience traits to get the ErrorKind of an io error for match clauses
- 1bf0eed Convenience function to just call a function
- 99ac3c0 Experimental support for encryption using libcrux
- d0a6e99 Regression CI based on misc/generate_configs.py
- 7a4f700 Improved memfd-secret allocation (#347)
- c1abfbf Add wireguard-broker interface in AppServer (#303)
- 2bac991 Merge from dev/broker-architecture, fixes, test
- 4bb3153 Change base64 to base64ct crate (#295)
- cc7e8dc Implement rp tool in Rust (#235)
- ca972e8 Remove libsodium
- 2fa0a2a Use core::hint::black_box in rosenpass_constant_time::xor
- b620368 Migrate away from sodium blake2b towards the rust crypto implementation
- e0f75ab Use xchacha implementation from rust crypto instead of sodium
- 0789c60 Use chacha implementation from rust crypto instead of sodium
- 85c4470 Migrate to memsec
- b2a64ed Add INITIATOR_TEST and RESPONDER_TEST macros
- 91da0df Identity hiding in two stage process
- 4a170b1 Add inital identity hiding code to proverif
- eb76179 Add format_rustcode.sh script
- 3a0ebd2 Add fuzzing for libsodium allocator
- d45e24e Move lenses into library
- 101c9bf Add an internal library for guaranteed results
- 5448cdc Use the rand crate for random values instead of sodium
- 77cd8a9 Move prftree into ciphers crate
- 70fa9bd Wrap sodium_malloc as a custom allocator
- 85a6180 Use the zeroize crate for zeroization
- d539be3 Rosenpass-to for nicely handling destination parameters
- a49254a Add initial set of fuzzing targets

🐛 Bug Fixes

- 9bbf943 Be polite and kill child processes in api integration tests
- c1704b1 Wrong response size set
- 0fe2d98 Remove ineffectual broker integration test
- ab805da Libc & rustix are making problems in CI for unknown reasons
- 258efe4 PSK broker integration did not work
- 8808ed5 Quiet log level should be warn
- 1ab457e Print stack trace to errors propagated to main function
- c9c266f Flush stdout after printing key update notification
- 37f7b3e Consistently use feature flag `experiment_libcrux`
- 40377dc Fix shared_secret length in Kyber encaps fuzz test
- 07146d9 Update handle_msg.rs fuzz test and handshake.rs bench to use PublicBox
- 0e059af Fix duplicate key issue (#329)
- 0e8945d .ci/gen-workflow-files.nu script
- cd23e9a Failing tests
- 13a853f Fix crate vulnerabilities
- 639541a Grammatical typo in cli.rs
- 62aa9b4 Second round of clippy lints
- 26cb4a5 Apply clippy lints
- 1c14be3 Make benches work again
- 9824db4 Migrate away from lazy_static in favor of thread_local
- e3b7248 Make sure all tests are run during CI runs
- 7c83e24 Fix Rust code in markdown files
- 61ef5b9 Add deprecated keygen command
- 9819148 Remove OSFONTDIR var from whitepaper build
- 1eefb5f Guaranteed results typo
- 284ebb2 Enabled fuzzing
- 40861cc Nix flake failing due to rosenpass-to
- 46156fc Setup cargo fmt to check the entire workspace

🚜 Refactor

- 81487b1 Get rid of comment and unessary truncation of buffer
- 8ea253f Use memoffset crate instead of unstable offset_of feature
- a996b08 Replace lenses library with the zerocopy crate

📚 Documentation

- 1f7196e Add documentation for testing
- de60e5f Run prettier over CONTRIBUTING.md
- b50ddda Pointed to website documentation in readme
- 7282fba Migrated cooking recipe from wiki
- 29917fd Fix keygen/gen-keys misspell
- c9cef05 Add bibliography to the manual page

🎨 Styling

- fd8f2e4 Apply rustfmt

🧪 Testing

- d913e19 Add tests for controlflow
- 9f78531 Cleanup fd.rs tests
- 8496571 Modify existing tests to cover load/store for PublicBox as well

📦 Miscellaneous Tasks

- 2238919 Fd/time: add tests, docs, cleanups
- 624d8d2 API: Close connections after errors & use mio::Token based polling
- a831e01 Utilities to check for unix domain stream sockets
- 3caff91 Fallback for empty api section in config
- 7a31b57 Infrastructure to use endpoints with fd. passing
- d5a8c85 Specifying a keypair should be opt. at startup
- 48f7ff9 Deal with CryptoServer being uninit.
- 5f6c36e Decouple AppServer from CryptoServer::timebase
- 7b3b761 API should have access to AppServer
- 15002a7 Experimental PSK Broker Support
- 08653c3 Clippy
- 520c8c6 Feature naming scheme fully applied
- fd0f35b Gen-key subcommand should show canonical paths
- 6fc45ca Prettier
- c359b87 Convert broker interface setup to use mio's UnixStream where possible
- 355b481 Make MiobrokerClient import conditional
- 274d245 Unify enable_wg_broker and enable_broker_api features
- 7b6a9ee Test full workspace with codecov
- 4554dc4 Drop codecov token
- 465c6be Switch to codecov action v4 branch
- 9fd3df6 Fix typos and add various comments
- 138e6b6 To crate documentation indendation (purely cosmetic)
- 2dde0a2 Refactor integration_tests (purely cosmetic)
- 3cc3b60 Move CliCommand::run -> CliArgs::run; do not mutate the configuration
- 8d3c879 Reorganize memfd secret policy
- 648a94e Clippy fixes on wireguard-broker
- 54ac5ee Warnings & clippy hints
- 40c5bbd Ensure that rustAnalyzer is installed in dev environment
- a4b8fc2 Move memcmp test API doc to test memcmp test module
- deafc1c Style adjustments Cargo.toml
- 6bbe85a Remove unnecessary imports
- e70c5b3 Ignore vscode directory
- f6320c3 Fixup regression test
- cc5877d Use my new name
- cc22165 Ensure punctuation is consistent in doc comments
- 100d7b6 Simplify some dereferencing incantations in PublicBox
- 7c54a37 Add generate_configs.py script
- 5f8b00d Rollback symbolic models to original state
- 70c5ec2 Remove libsodium references in nix flake, ci (#334)
- 06969c4 Add write permissions in dependent-issues workflow
- a8ed0e8 Update codecov configuration file
- ad6405f Add codecov configuration file
- 761d573 Changes from #160- Invoke the mandoc linter (#296)
- 21e693a Add codecov (llvm-cov) coverage (#297)
- be91b30 Load WireGuard SK into secret memory (#293)
- 3e734e0 Replace Into<> with From<> trait
- c9e2967 Remove useless conversion
- bc6bff4 Remove redundant Ok()
- de90505 Remove needless borrow
- 4e83446 Remove needless borrow
- a581f7d Replace if let with is_ok() call
- bd6a6e5 Remove needless borrow for nonce array
- e0496c1 Use copy instead of clone trait
- f4116f2 Remove redundant mutability
- 8099bc4 Remove redundant cast
- 39d174c Suppress clippy warnings for neutral element
- 76d5093 Apply .ci/gen-workflow-files.nu script
- ffd81b6 Update flake.lock
- d1d218a Add dedicated nixpkgs input to flake
- 199ecb8 Add configuration
- baa35af Exclude rosenpass-fuzzing
- b2de384 Add secure memcmp_le function
- c69fd88 Enable cargo bench again
- 4d482aa Cargo fmt & fix
- 13df700 Drop overlay due to upstream fix
- 4f4e8e1 Drop deprecated std::env::home_dir()
- 478fadb Enable aarch64-linux builds again
- 7c1ada4 Add link to manual
- 9690085 Cargo fmt
- e42f90b Add helper to turn typenums into const values
- 30cb0e9 Remove references to libsodium from secret-memory
- 972e82b Move kems out of rosenpass crate
- 838f700 Upgrade dependencies
- 0f89ab7 Shorten fuzzing runtime to make sure the CI finishes quickly
- cf132bc Move rest of coloring.rs into secret-memory crate
- 7bda010 Move Public and debug_crypto_array into secret-memory crate
- cc8c13e Remove lprf.rs (dead code)
- 09aa0e0 Move hashing functions into sodium/ciphers crate
- 86300ca Use naming scheme without rosenpass- for crates
- 3ddf736 Move xchacha20 implementation out of rosenpass::sodium
- c64e721 Move chacha20 implementation out of rosenpass::sodium
- 4c51ead Move libsodium's helper function into their own namespace
- c5c3452 Move libsodium's memzero, randombytes fns into rosenpass-sodium
- 6553141 Move libsodium's increment into rosenpass-sodium crate
- a3de526 Move libsodium's compare into rosenpass-sodium crate
- 5da0e41 Move memcmp into rosenpass-sodium crate
- 99634d9 Move sodium init integration into rosenpass-sodium crate
- e505421 Move file utils into coloring or the util crate
- 3db9755 Move functional utils into utils library
- 556dbd2 Move time utils into util crate
- 6cd42eb Move max_usize into util crate
- a220c11 Move xor_into, copying and base64 utils into own crates
0.2.1 2023-11-18 - 0b4b127

📝 Release

- 0b4b127 Release rosenpass version 0.2.1
0.2.1-rc.3 2023-11-18 - 44264a7

📝 Release

- 44264a7 Release rosenpass version 0.2.1-rc.3
rosenpass-v0.2.1-rc.2 2023-11-18 - 9597e48

📝 Release

- 9597e48 Release rosenpass version 0.2.1-rc.2
rosenpass-v0.2.1-rc.1 2023-11-18 - 3901e66

📝 Release

- 3901e66 Release rosenpass version 0.2.1-rc.1

🐛 Bug Fixes

- 2774678 Doctest should pass buffers of correct length to handle_msg
- 447a4f7 Restore benchmarks to working order

🚜 Refactor

- f48a923 Remove redundant references

📚 Documentation

- 0051cbd Add unit test for xor_into
- 1e37f89 Clarify the assumptions about the server

🧪 Testing

- f323839 Fix wrong comment
- b7a7684 Ensure 8MiB of stack size for key generation

📦 Miscellaneous Tasks

- 932bde3 Update
- 1356323 Rustfmt
- e5e04c6 Replace `is_ok()` by `if let`
- 6e15c38 Remove redundant stack increase
- 04eb86a Move wg exit status check to thread
- bf850e3 Handle the exit status of wg process
- dd39936 Reap spawned wireguard child
- b50820e Default `WireGuard::extra_params` to empty `Vec`
- 1135cd7 Remove `unsafe` from `store_secret`
- 51f04f7 Remove `unsafe` from `store_secret`
- d0a8429 Move `StaticKEM::keygen` out of `unsafe`
- d6a7ebe Allow false positive with redundancies
- 2123367 Fix clippy warnings in `build.rs`
0.2.0 2023-09-05 - b997238

📝 Release

- b997238 Release rosenpass version 0.2.0
0.2.0-rc.1 2023-08-29 - d915e63

🚀 Features

- 62fab06 Restart host discovery on connection loss
- b4d74d6 Upload man pages to website

🐛 Bug Fixes

- 7e6985f Revert spell correction zeroized -> zeroed
- b958eac Typos in Rust code, readme and man pages
- 397a776 Race condition due to concurrent handshake
- 19fe736 Git directory detection should not print an error if we are not in a git repo
- b29720b Formatting
- 78e32a6 Show cargo fmt errors
- 5f78857 Show warnings from git directory detection
- 69f6267 Reintroduce ability to actually supply wireguard with keys
- 7aa48b9 Escape uses of angle brackets and pointy brackets in documentation
- 229224d Restore QC/doc CI job to operation
- e12cd18 Disable broken CI jobs
- 9469b62 Host-path discovery
- f8bea94 Always send messages to a peer using the socket they contacted us with
- f3c343c Handle the various possible dual-stack configurations reliably
- 4279869 Adjust the rp(1) script to support the new rosenpass(1) command line parameters

📚 Documentation

- 0456ded Add a manual page for `rp(1)`

📦 Miscellaneous Tasks

- 6025623 Update outdated dependencies
- 5a67b47 Perform a `shellcheck`
- 66e696f Update
- 8ff9b53 Include a static compiled manual page
- 067a839 Defaults to dual-stack
- 38835fb Add mirrors
- 0d2ca37 Update
- 097fd03 Upgrade crate dependencies
- 3856d77 Move slides into their own repo
- 7154af5 Indicate that the listen parameter can be given multiple times in the help
- e03fed4 Cleanup unneccesary debug output
0.1.2-rc.4 2023-04-13 - 94d57f2

📝 Release

- 94d57f2 Release rosenpass version 0.1.2-rc.4

🚀 Features

- 25a7a07 Reorder RWPQC slides
- a723951 CrossFyre 2023 Submission abstract
- 34d0bab Add RWPQC 23 slides
- 2aeb906 Add YRCS talk slides
- 5afa6c1 Add licensing infos

🐛 Bug Fixes

- a011cc1 Rollback adding an article to state, acknowledgement and replay
- 8eea528 Remove warning about this being a research project

📚 Documentation

- 279b3c4 Add rosenpass.1 manual page

📦 Miscellaneous Tasks

- a624051 Consistently use the term `Key Encapsulation Mechanism`
- ecc1b75 Delete outdated illustrations
0.1.1 2023-02-25 - 97f5d75

📝 Release

- 97f5d75 Release rosenpass version 0.1.1
0.1.1-rc.7 2023-02-25 - aa15872

📝 Release

- aa15872 Release rosenpass version 0.1.1-rc.7
- 1d10e7f Release rosenpass version 0.1.1-rc.6
0.1.1-rc.5 2023-02-25 - f4c351c

📝 Release

- f4c351c Release rosenpass version 0.1.1-rc.5
0.1.1-rc.4 2023-02-25 - 4b4902c

📝 Release

- 4b4902c Release rosenpass version 0.1.1-rc.4
- 9b3f467 Release rosenpass version 0.1.1-rc.3
0.1.1-rc.3 2023-02-24 - 8313a61

📝 Release

- 8313a61 Release rosenpass version 0.1.1-rc.3
0.1.1-rc.2 2023-02-24 - d50c3fc

📝 Release

- d50c3fc Release rosenpass version 0.1.1-rc.2

🚀 Features

- aaf79be Give thanks to NLNet
- 22c2387 `rp` now detects rosenpass binary in nix builds

🐛 Bug Fixes

- 55e4fc7 Support for absolute paths in rp
0.1.1-rc.1 2023-02-24 - e34610a

📝 Release

- e34610a Release rosenpass version 0.1.1-rc.1

🐛 Bug Fixes

- 83d5f37 Proofreading of whitepaper