Merge upstream v2.18.0#11
Conversation
📝 WalkthroughWalkthroughSSH 传输层新增独立 AEAD 包计数器( ChangesSSH 传输层安全修复与破坏性契约变更
Sequence Diagram(s)sequenceDiagram
participant Client as SSHClient
participant Transport as SSHTransport
participant Callback as onVerifyHostKey
Transport->>Transport: _handleMessageKexInit 收到服务器 KEXINIT
Transport->>Transport: _hostkeyFingerprint(hostkey) → SHA256:<base64>
Transport->>Callback: fingerprint (UTF-8 Uint8List, SHA256 格式)
alt 回调返回 true
Callback-->>Transport: true
Transport->>Transport: 继续握手,应用 _applyLocalKeys/_applyRemoteKeys
Transport->>Transport: _localAeadPacketCount = 0 / _remoteAeadPacketCount = 0
else 回调返回 false
Callback-->>Transport: false
Transport->>Client: 抛出主机密钥验证错误(SSHAuthAbortError)
end
Possibly related PRs
✨ Finishing Touches⚔️ Resolve merge conflicts
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@CHANGELOG.md`:
- Line 3: The CHANGELOG.md file contains a new reference `[`#162`]` on line 3 but
is missing the corresponding link definition in the reference section at the end
of the file. Add the missing markdown reference link definition for `[`#162`]` in
the references section of the CHANGELOG.md file, pointing to the appropriate
GitHub issue URL (following the same pattern as other reference definitions
already present in the file).
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 3f8e1c4a-dc75-442c-b495-159b22db7fd1
📒 Files selected for processing (6)
CHANGELOG.mdlib/src/ssh_transport.dartpubspec.yamltest/src/ssh_client_test.darttest/src/ssh_transport_fingerprint_test.darttest/test_utils.dart
📜 Review details
🔇 Additional comments (6)
test/src/ssh_transport_fingerprint_test.dart (1)
9-29: LGTM!test/src/ssh_client_test.dart (1)
19-67: LGTM!Also applies to: 195-196
test/test_utils.dart (1)
46-48: LGTM!pubspec.yaml (1)
2-2: LGTM!lib/src/ssh_transport.dart (2)
34-45: LGTM!Also applies to: 1267-1277
217-231: LGTM!Also applies to: 366-390, 723-751, 838-856, 876-894
| @@ -1,3 +1,7 @@ | |||
| ## [2.18.0] - 2026-05-18 | |||
| - Fixed AES-GCM cipher encryption and decryption sequence number/nonce counter resetting during key exchanges [#165]. Thanks [@vicajilau]. | |||
| - **BREAKING**: `SSHHostkeyVerifyHandler` now receives an OpenSSH-style `SHA256:<base64>` host key fingerprint instead of the previous raw MD5 digest, so host key pinning code must be updated accordingly [#162]. Thanks [@thyssentishman]. | |||
There was a problem hiding this comment.
补上 [TerminalStudio#162] 的引用定义。
第 3 行新增了 [TerminalStudio#162],但文件末尾没有对应的链接定义,Markdown 会显示为失效链接。请在引用区补一条 [TerminalStudio#162]: ...。
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@CHANGELOG.md` at line 3, The CHANGELOG.md file contains a new reference
`[`#162`]` on line 3 but is missing the corresponding link definition in the
reference section at the end of the file. Add the missing markdown reference
link definition for `[`#162`]` in the references section of the CHANGELOG.md file,
pointing to the appropriate GitHub issue URL (following the same pattern as
other reference definitions already present in the file).
Summary by CodeRabbit
发布说明
Bug Fixes
Breaking Changes
SHA256:<base64>格式)Tests