Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

flex-error: resolve conflicts with master #945

Merged
merged 3 commits into from
Aug 7, 2021

Commits on Aug 4, 2021

  1. Implement full-duplex secret connection (#938)

    * Implement thread-safe cloning of a secret connection
    
    Signed-off-by: Thane Thomson <connect@thanethomson.com>
    
    * Expand documentation for SecretConnection on threading considerations
    
    Signed-off-by: Thane Thomson <connect@thanethomson.com>
    
    * Extract peer construction into its own method
    
    Signed-off-by: Thane Thomson <connect@thanethomson.com>
    
    * Add test for cloned SecretConnection
    
    This adds a `TcpStream`-based test for parallelizing operations on a
    `SecretConnection`. I used `TcpStream` instead of the buffered reader in
    the other tests because it wasn't feasible to implement the `TryClone`
    trait for that buffered pipe implementation.
    
    Signed-off-by: Thane Thomson <connect@thanethomson.com>
    
    * Add more messages to test
    
    Signed-off-by: Thane Thomson <connect@thanethomson.com>
    
    * Expand comment for clarity
    
    Signed-off-by: Thane Thomson <connect@thanethomson.com>
    
    * Add .changelog entry
    
    Signed-off-by: Thane Thomson <connect@thanethomson.com>
    
    * Restore half-duplex operations
    
    Signed-off-by: Thane Thomson <connect@thanethomson.com>
    
    * Extract encrypt/decrypt fns as independent methods
    
    Signed-off-by: Thane Thomson <connect@thanethomson.com>
    
    * Remove unnecessary trait bounds
    
    Signed-off-by: Thane Thomson <connect@thanethomson.com>
    
    * Extract send/receive state
    
    Signed-off-by: Thane Thomson <connect@thanethomson.com>
    
    * Extract read/write functionality as standalone methods
    
    Signed-off-by: Thane Thomson <connect@thanethomson.com>
    
    * Add logic to facilitate splitting SecretConnection into its sending and receiving halves
    
    Signed-off-by: Thane Thomson <connect@thanethomson.com>
    
    * Restore split SecretConnection test using new semantics
    
    Signed-off-by: Thane Thomson <connect@thanethomson.com>
    
    * Update changelog entry
    
    Signed-off-by: Thane Thomson <connect@thanethomson.com>
    
    * Update docs for `SecretConnection`
    
    Signed-off-by: Thane Thomson <connect@thanethomson.com>
    
    * Condense error reporting
    
    Signed-off-by: Thane Thomson <connect@thanethomson.com>
    
    * Extract TryClone trait into its own crate
    
    As per the discussion at
    #938 (comment),
    this extracts the `TryClone` trait into a new crate called
    `tendermint-std-ext` in the `std-ext` directory.
    
    This new crate is intended to contain any code that we need that extends
    the Rust standard library.
    
    Signed-off-by: Thane Thomson <connect@thanethomson.com>
    
    * Reorder imports
    
    Signed-off-by: Thane Thomson <connect@thanethomson.com>
    
    * Assert validation regardless of debug build
    
    This introduces the internal encryption assertions at runtime regardless
    of build type. This may introduce a small performance hit, but it's
    probably worth it to ensure correctness.
    
    Effectively this is keeping an eye on the code in the
    `encrypt_and_write` fn to ensure its correctness.
    
    Signed-off-by: Thane Thomson <connect@thanethomson.com>
    
    * Remove remote_pubkey optionality from sender/receiver halves
    
    Signed-off-by: Thane Thomson <connect@thanethomson.com>
    
    * Update SecretConnection docs with comment content
    
    Signed-off-by: Thane Thomson <connect@thanethomson.com>
    
    * Fix doc link to TryClone trait
    
    Signed-off-by: Thane Thomson <connect@thanethomson.com>
    
    * Fix doc link to TryClone trait
    
    Signed-off-by: Thane Thomson <connect@thanethomson.com>
    
    * Add docs on SecretConnection failures and connection integrity
    
    Signed-off-by: Thane Thomson <connect@thanethomson.com>
    
    * Synchronize sending/receiving failures to comply with crypto algorithm constraints
    
    Signed-off-by: Thane Thomson <connect@thanethomson.com>
    
    * Rename try_split method to split for SecretConnection
    
    Signed-off-by: Thane Thomson <connect@thanethomson.com>
    
    * Remove redundant field name prefixes
    
    Signed-off-by: Thane Thomson <connect@thanethomson.com>
    
    * Fix broken link in docs
    
    Signed-off-by: Thane Thomson <connect@thanethomson.com>
    thanethomson committed Aug 4, 2021
    Configuration menu
    Copy the full SHA
    09c8454 View commit details
    Browse the repository at this point in the history

Commits on Aug 6, 2021

  1. Fix recent clippy errors on master (#941)

    * Fix needless borrows in codebase
    
    Signed-off-by: Thane Thomson <connect@thanethomson.com>
    
    * Ignore needless collect warning (we do actually seem to need it)
    
    Signed-off-by: Thane Thomson <connect@thanethomson.com>
    
    * Remove trailing semicolon in macro to fix docs compiling
    
    Signed-off-by: Thane Thomson <connect@thanethomson.com>
    thanethomson committed Aug 6, 2021
    Configuration menu
    Copy the full SHA
    e824bfc View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2021

  1. Resolve conflicts with master

    Signed-off-by: Thane Thomson <connect@thanethomson.com>
    thanethomson committed Aug 7, 2021
    Configuration menu
    Copy the full SHA
    1efaa00 View commit details
    Browse the repository at this point in the history