| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Revert "Inline WriteState::handle_packet()" | bjorn3 | 2026-01-20 | 1 | -2/+12 | |
| | | | | | | | | It caused poll_write_to to never be called for the unencrypted phase, causing a hang. This reverts commit fc68e05743e83f643659bef10e8bfeb23d9deac1. | |||||
| * | Use tracing span | Dirkjan Ochtman | 2026-01-20 | 1 | -10/+11 | |
| | | ||||||
| * | Encode outgoing identification in WriteState buffer | Dirkjan Ochtman | 2026-01-20 | 2 | -7/+10 | |
| | | ||||||
| * | Move new key packet exchange into update_keys() | Dirkjan Ochtman | 2026-01-20 | 1 | -21/+10 | |
| | | ||||||
| * | Avoid unwrapping for sending ignore packet | Dirkjan Ochtman | 2026-01-20 | 1 | -2/+6 | |
| | | ||||||
| * | Upgrade fatal logging to error | Dirkjan Ochtman | 2026-01-20 | 1 | -8/+8 | |
| | | ||||||
| * | Clarify structure in Connection::run() | Dirkjan Ochtman | 2026-01-20 | 1 | -0/+6 | |
| | | ||||||
| * | Make ConnectionContext long-lived | Dirkjan Ochtman | 2026-01-20 | 2 | -43/+32 | |
| | | ||||||
| * | Store signature directly | Dirkjan Ochtman | 2026-01-20 | 1 | -6/+4 | |
| | | ||||||
| * | Log warning on failure to decode packets | Dirkjan Ochtman | 2026-01-20 | 1 | -3/+10 | |
| | | ||||||
| * | Extract key update into a method | Dirkjan Ochtman | 2026-01-20 | 1 | -6/+14 | |
| | | ||||||
| * | Inline WriteState::handle_packet() | Dirkjan Ochtman | 2026-01-20 | 1 | -12/+2 | |
| | | ||||||
| * | Implement conversion of MessageType into u8. | David Venhoek | 2026-01-20 | 1 | -13/+19 | |
| | | ||||||
| * | Implement encode/decode for boolean. | David Venhoek | 2026-01-20 | 1 | -0/+15 | |
| | | ||||||
| * | Ensure packet size is at least 16 | bjorn3 | 2026-01-20 | 1 | -1/+2 | |
| | | | | | This is a requirement of the SSH spec. | |||||
| * | Rename OutgoingPacket to EncodedPacket | bjorn3 | 2026-01-20 | 1 | -5/+7 | |
| | | | | | | | This frees up the OutgoingPacket name for a struct or enum representing the contents of a packet to send without all the structure wrapping the payload of a packet. | |||||
| * | Rename Packet to IncomingPacket | bjorn3 | 2026-01-20 | 2 | -11/+13 | |
| | | | | | | The Packet type is only used for incoming packets, never for outgoing packets. | |||||
| * | Ensure packets are a multiple of the cipher block size | bjorn3 | 2026-01-20 | 1 | -5/+10 | |
| | | ||||||
| * | Implement support for encryption | bjorn3 | 2026-01-20 | 3 | -64/+183 | |
| | | ||||||
| * | Get rid of the separate PacketBuilder | bjorn3 | 2026-01-20 | 3 | -63/+30 | |
| | | ||||||
| * | Tweak style | Dirkjan Ochtman | 2026-01-19 | 1 | -12/+8 | |
| | | ||||||
| * | Use higher-level abstractions for VersionExchange reading | Dirkjan Ochtman | 2026-01-19 | 2 | -26/+26 | |
| | | ||||||
| * | Rename decrypting_key to decryption | Dirkjan Ochtman | 2026-01-19 | 1 | -5/+5 | |
| | | ||||||
| * | Use full keys type during decryption | Dirkjan Ochtman | 2026-01-19 | 1 | -13/+10 | |
| | | ||||||
| * | Clarify documentation for ReadState fields | Dirkjan Ochtman | 2026-01-19 | 1 | -9/+11 | |
| | | ||||||
| * | Replace Packet::decode with ReadState::decode_packet | bjorn3 | 2026-01-19 | 1 | -48/+30 | |
| | | | | | | This handles accessing the internal decrypted buffer that the user doesn't otherwise have access to. | |||||
| * | Handle NEW_KEYS and set encryption key for ReadState | bjorn3 | 2026-01-19 | 3 | -9/+64 | |
| | | ||||||
| * | Implement support for decryption in ReadState | bjorn3 | 2026-01-19 | 3 | -40/+200 | |
| | | ||||||
| * | Move packet parsing out of ReadState::packet | bjorn3 | 2026-01-19 | 2 | -72/+32 | |
| | | | | | | | | | | Outside of a couple very narrow cases like the initial packet and (when strict key exchange is used) the rest of the key exchange, there is never a single fixed packet type which can be received at any given point in time. As such immediately parsing the packet to a fixed type in ReadState::packet doesn't help much, while it does complicate the code a bit. | |||||
| * | Introduce Completion enum | bjorn3 | 2026-01-19 | 2 | -11/+16 | |
| | | ||||||
| * | Fix validation of the identification string | bjorn3 | 2026-01-19 | 1 | -1/+3 | |
| | | | | | | The max size of the identification string is 255 including CRLF, not 256 excluding CRLF. | |||||
| * | Truncate buffer when reading from stream | Dirkjan Ochtman | 2026-01-17 | 2 | -10/+10 | |
| | | ||||||
| * | Loop in case identification is incomplete | Dirkjan Ochtman | 2026-01-17 | 1 | -3/+10 | |
| | | ||||||
| * | Simplify version exchange error handling | Dirkjan Ochtman | 2026-01-17 | 1 | -23/+15 | |
| | | ||||||
| * | Untangle buffering data and decoding it | Dirkjan Ochtman | 2026-01-17 | 2 | -9/+14 | |
| | | ||||||
| * | Attach read() to ReadState | Dirkjan Ochtman | 2026-01-17 | 2 | -22/+25 | |
| | | ||||||
| * | Abstract I/O stream | Dirkjan Ochtman | 2026-01-17 | 2 | -11/+10 | |
| | | ||||||
| * | Move some code around | Dirkjan Ochtman | 2026-01-15 | 3 | -119/+118 | |
| | | ||||||
| * | Port KeyExchange state to centralized I/O | Dirkjan Ochtman | 2026-01-15 | 2 | -28/+43 | |
| | | ||||||
| * | Add abstraction for the handshake hash | Dirkjan Ochtman | 2026-01-15 | 2 | -20/+35 | |
| | | ||||||
| * | Deduplicate read buffer truncation | Dirkjan Ochtman | 2026-01-15 | 2 | -12/+10 | |
| | | ||||||
| * | Use generic packet decoding more | Dirkjan Ochtman | 2026-01-15 | 2 | -20/+24 | |
| | | ||||||
| * | Track packet payload through decoding | Dirkjan Ochtman | 2026-01-15 | 1 | -8/+32 | |
| | | ||||||
| * | Replace KeyExchange::for_new_session() with Default impl | Dirkjan Ochtman | 2026-01-15 | 2 | -6/+2 | |
| | | ||||||
| * | Extract I/O from EcdhKeyExchange state handling | Dirkjan Ochtman | 2026-01-15 | 3 | -65/+119 | |
| | | ||||||
| * | Avoid RawKeySet lifetime dependency on session ID | Dirkjan Ochtman | 2026-01-15 | 1 | -23/+23 | |
| | | ||||||
| * | Support for derived encryption keys larger than the SHA256 output (#84) | bjorn3 | 2026-01-15 | 1 | -24/+64 | |
| | | ||||||
| * | Take semver-compatible dependency updates | Dirkjan Ochtman | 2026-01-14 | 1 | -31/+31 | |
| | | ||||||
| * | Reduce indirection some more | Dirkjan Ochtman | 2026-01-05 | 1 | -19/+25 | |
| | | ||||||
| * | Clean up indirection with KeyDerivation | Dirkjan Ochtman | 2026-01-05 | 1 | -13/+6 | |
| | | ||||||
