Repository navigation
build(connector)!: update sspi to 0.23 and picky to rc.26 - #2080
Suresh Kumar Ramu (sureshkumarramu) wants to merge 2 commits into
Conversation
|
The public API compatibility check fails inside Verified locally on this branch: Note Human-tuned, LLM-assisted content. |
|
PR automation is failing because of a picky-krb 0.12.5 incompatibility, fixed on master by #2074. Please rebase on master to fix it. |
409a9b7 to
838cc42
Compare
|
Rebased on master (838cc42). The public-API check now fails before comparing anything: |
|
I think this should fix that one: #2088 |
`sspi 0.21` and `picky 7.0.0-rc.25` pin pre-release `ed25519-dalek` / `curve25519-dalek`. Cargo treats a pre-release and the stable release of the same major as one slot, so a dependency graph that already contains the stable crates cannot resolve `ironrdp-connector` at all. `sspi 0.23` pins no dalek crate and `picky rc.26` uses the stable ones. `TsRequest::buffer_len` is fallible in `sspi 0.23`; the connector and the acceptor map its error like the encode step beside it. `sspi` is re-exported by the connector, so this is a breaking dependency change for consumers of its `sspi` types, and the manifest line now carries the public marker. BREAKING CHANGE: `ironrdp_connector::sspi` is now `sspi 0.23`. Issue: Devolutions#1363 Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
838cc42 to
40902b4
Compare
Benoît Cortier (CBenoit)
left a comment
There was a problem hiding this comment.
LGTM, thank you!
`TsRequest::buffer_len` returns a `Result` in `sspi 0.23`. The native CredSSP path in `ironrdp-vmconnect` builds only on Windows, so the previous commit's Linux checks never compiled it; it now maps the error like the encode step beside it, as the connector and the acceptor do. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Head branch was pushed to by a user without write access
|
Windows CI failure: cause and fix What failed: Cause: in sspi 0.23, Fix (d90284f): one call site, handled the same way as the other two: let mut encoded = Vec::with_capacity(usize::from(
outgoing
.buffer_len()
.map_err(|error| custom_err!("native CredSSP request length", error))?,
));A search for Verified, cross-compiling for Windows (
A correction: my earlier "all checks pass" was premature. The main CI run was still waiting for workflow approval, and only the automation checks had run. Sorry for the extra round. The fix is pushed as a separate commit so the change is easy to see. I'm happy to squash it into the first commit if you prefer one. |
There was a problem hiding this comment.
🟢 Dependency upgrade (sspi 0.21->0.23, picky 7.0.0-rc.25->rc.26) with minimal code adaptation: three TsRequest::buffer_len() call sites (ironrdp-connector, ironrdp-acceptor, ironrdp-vmconnect) updated to handle the now-fallible sspi 0.23 signature by propagating an error via custom_err!, matching the adjacent encode_ts_request handling. Independently verified: all three call sites are the complete set of TsRequest::buffer_len() callers (the Windows-only vmconnect site fixed in d90284f included); custom_err! is in scope in all three files; no other sspi callers remain (acceptor lib.rs:200 uses the unrelated infallible EarlyUserAuthResult::buffer_len); the '# public' marker is correctly placed only on the connector, which re-exports sspi, while mstsgu, ironrdp, and ffi keep sspi private; lockfile transitions (pre-release dalek/ec crates to stable) are consistent with the upgrade and picky-krb is held at 0.12.4 consistent with the yanked 0.12.5. No PDU fields, constants, sequencing, or sec…
sspi 0.21andpicky 7.0.0-rc.25pin pre-releaseed25519-dalek/curve25519-dalek. Cargo treats a pre-release and the stable release of the same major as one slot, so a dependency graph that already contains the stable crates cannot resolveironrdp-connectorat all.sspi 0.23pins no dalek crate andpicky rc.26uses the stable ones.TsRequest::buffer_lenis fallible insspi 0.23; the connector and the acceptor map its error like the encode step beside it.sspiis re-exported by the connector, so this is a breaking dependency change for consumers of itssspitypes, and the manifest line now carries the public marker.picky-krbis held at 0.12.4 in the lockfile becausesspi 0.23.0does not build against 0.12.5, published after it.BREAKING CHANGE:
ironrdp_connector::sspiis nowsspi 0.23.Issue: #1363
Co-authored-by: Claude Fable 5.1 noreply@anthropic.com