镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

fix(openssh): close residual regress compatibility gaps #314

Closed

Description

@inureyes

Part of #275. Follow-up to #313.

Context

The final OpenSSH V_10_3_P1 compatibility runs for #313 reached the epic gate on both CI platforms:

  • macOS: 60 passed out of 66 eligible tests, 6 failed, 7 environmental, 6 skipped
  • Ubuntu: 61 passed out of 69 eligible tests, 8 failed, 4 environmental, 6 skipped

This issue keeps every remaining candidate-only failure explicitly tracked after the epic closes. It does not reclassify environmental failures or reduce the committed score floor.

Remaining candidate failures

Test macOS Ubuntu First observed gap
agent-restrict fail fail candidate key generation path
dynamic-forward fail fail dynamic forwarding startup and SOCKS coverage
hostkey-agent fail fail Ed25519 host-key agent behavior
multiplex fail fail unsupported -O conninfo and remaining control operations
percent fail fail percent expansion in match/exec handling
proxyjump fail fail basic parsing and multi-hop behavior
rekey environmental fail Ubuntu candidate timeout
scp3 environmental fail Ubuntu remote-to-remote copy behavior

The uploaded result tables classify channel-timeout, connection-timeout, forwarding, and sftp-badcmds as environmental on both platforms. macOS additionally classifies forward-control, rekey, and scp3 as environmental because the reference client fails in the same environment. The six upstream skips remain unchanged.

Scope

  • reproduce each candidate-only failure against the pinned harness
  • fix compatibility gaps without weakening fixture validation or score floors
  • split independent implementation areas into linked issues when a focused fix is safer
  • retain reference-client evidence for platform-specific environmental classifications

Acceptance criteria

Status after #325 (2026-10-21)

Measured on main 5c4261a (run 39535872538):

Test macOS Ubuntu
dynamic-forward, percent, proxyjump pass pass
scp3 environmental pass
agent-restrict fail fail
hostkey-agent fail fail
multiplex fail fail
rekey environmental fail (candidate timeout)

agent-restrict depends on the upstream russh binding API (russh PR #794). The ProxyCommand token expansion issue found during #325 is tracked in #326.

Activity

  1. self-assigned this
    on Oct 20, 2026
  2. added and removed
    status:backlogIn the backlog, not yet ready
    on Oct 20, 2026
  3. inureyes commented on Oct 21, 2026

    @inureyes
    MemberAuthor

    Status after the implementation branch fix/issue-314-regress-residual-gaps, measured on a Linux aarch64 host with the pinned V_10_3_P1 harness:

    • rekey: passes in 114.3 s (reference client 114.5 s). The 0.6 s per-connection padding in the client is gone and the manifest minimum is 180 s with the measured numbers recorded in docs/openssh-regress.md.
    • multiplex: passes in 72.1 s including Unix-domain -O forward/-O cancel when the regress path fits sockaddr_un; on this host the pinned harness reports both clients environmental because the path is too long. The CI log's single cmp failure was the Unix phase.
    • hostkey-agent: every plain and non-FIDO certificate phase and multiple hostkeys pass with full host-certificate validation. The two sk-* certificate phases are tracked in fix(openssh): decide FIDO host-key coverage for the hostkey-agent sk certificate phases #328.
    • agent-restrict: the host_d/host_e failures were missing host-certificate support and pass now; the eight phases that need session-bind@openssh.com are tracked in feat(agent): bind destination-constrained agent keys with session-bind@openssh.com #327 (russh PR #794).

    CI on Ubuntu and macOS will provide the two-platform artifacts for the remaining checkboxes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions