Thinclient mutated caps#60
Closed
david415 wants to merge 9 commits into
Closed
Conversation
Match the katzenpost daemon, which now carries the BACAP box position inside the cap across the whole pigeonhole surface. Every method drops its loose index argument and reads back the cap advanced past the boxes it consumed: new_keypair, encrypt_read/write, the three start_resending variants, write_stream/read_stream, the create_courier_envelopes family, and tombstone_range. The persistent channel stores that evolving cap in the next_index column in place of a separate index, and the CLI's genkey no longer prints a first index. NextMessageBoxIndex and GetMessageBoxIndexCounter are left as they were.
The channel, high-level, and copy-stream smoke tests thread caps where they once threaded loose indexes, and the smoke test reads only the two capabilities from genkey output.
Mirror the Rust binding and the daemon: drop the loose index argument from every pigeonhole method and read back the advanced cap. The result dataclasses carry read_cap / write_cap / dest_write_cap(s) in place of a next index, and tombstone_range threads the cap. next_message_box_index and get_message_box_index_counter are unchanged.
Thread caps through the multi-message and copy-stream loops in place of loose indexes.
Point the integration workflow at katzenpost 2b330dc5bc81a4e6dafbdfce4cee822890190ccb, which carries the folded pigeonhole API the bindings now speak.
A handful of files predated any formatting discipline. Run cargo fmt across the crate so the tree is rustfmt-clean, in preparation for a CI gate that enforces it. No behavioural change.
Add a rustfmt workflow that runs cargo fmt --all --check on pushes and pull requests, so the tree stays uniformly formatted now that it is clean.
Run ruff format across the first-party Python (katzenpost_thinclient, katzenpost_reticulum, and the test suite) so the tree is ruff-clean, in preparation for a CI gate that enforces it. No behavioural change.
Add a ruff-format workflow that runs ruff format --check over the first-party Python on pushes and pull requests, mirroring the rustfmt gate. The ruff version is pinned to match the formatting sweep.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.