| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Start tracking channel state | Dirkjan Ochtman | 2026-01-24 | 2 | -6/+61 | |
| | | ||||||
| * | Parse ChannelOpen messages | Dirkjan Ochtman | 2026-01-24 | 2 | -1/+96 | |
| | | ||||||
| * | Add message types for connection service | David Venhoek | 2026-01-24 | 1 | -0/+42 | |
| | | ||||||
| * | Handle user auth requests | Dirkjan Ochtman | 2026-01-24 | 2 | -5/+61 | |
| | | ||||||
| * | Parse UserAuthRequest messages | Dirkjan Ochtman | 2026-01-23 | 3 | -3/+151 | |
| | | ||||||
| * | Add message types for ssh-userauth service | David Venhoek | 2026-01-23 | 1 | -0/+12 | |
| | | ||||||
| * | Check for user auth service request message | Dirkjan Ochtman | 2026-01-23 | 2 | -9/+103 | |
| | | ||||||
| * | Decode ServiceRequest messages | Dirkjan Ochtman | 2026-01-23 | 2 | -1/+48 | |
| | | ||||||
| * | Implement Debug for IncomingPacket | Dirkjan Ochtman | 2026-01-23 | 1 | -5/+20 | |
| | | ||||||
| * | Parse message type in packet decoding | David Venhoek | 2026-01-23 | 3 | -20/+20 | |
| | | | | | | | This makes the packet type available on all messages, simplifying error handling downstream as it no longer needs to deal with the anomalous case of a completely empty packet. | |||||
| * | Add sequence number field to packet | David Venhoek | 2026-01-23 | 1 | -4/+13 | |
| | | | | | | | This does not yet implement proper handling of sequence numbers. That is a fairly significant refactor which should be done as part of the patches for the encryption/decryption channels. | |||||
| * | 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 | |
| | | ||||||
