Repository navigation
update: refresh dependencies and adapt to API changes - #349
Merged
Merged
Conversation
Refresh Cargo.lock and move direct dependencies to their latest major versions: dirs 7, rustyline 19, lru 0.19, base64 0.23, libloading 0.9, argon2 0.6, and opentelemetry, opentelemetry_sdk, opentelemetry-otlp 0.33. The remaining held crates (generic-array 0.14.7, the pkcs1/rsa release candidates, psm) are pinned transitively by russh, ssh-key, and crypto-common. argon2 0.6 replaces the password-hash 0.5 API: hashes parse as phc::PasswordHash, hash_password draws its own salt through getrandom, a mismatch is Error::PasswordInvalid, and the std feature is gone, so the generic-array hold note no longer applies. tokio 1.54 deprecates AsyncFd::new as unsound. The PTY master and process stdin now use unsafe AsyncFd::register; both wrap an OwnedFd that keeps the descriptor open for the AsyncFd's lifetime. libloading 0.9 prints only "dlopen failed" or "dlsym failed" and moves the dlerror text to Error::source. A new loader_reason helper restores that text in external SecurityKeyProvider load and symbol errors, which a provider test caught. The localhost integration tests probed with host key checking disabled but ran the executor with accept-new, so a stale localhost entry in known_hosts passed the probe and failed every transfer. A shared helper now builds the executor with StrictHostKeyChecking::No, which also stops the tests from writing localhost and 127.0.0.1 keys to the user's known_hosts. The roundtrip test asserts on upload failure instead of returning early. Validated with fmt, clippy -D warnings, the full lib suite (1964 passed), and all four localhost integration tests.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refreshes
Cargo.lockand moves direct dependencies to their latest major versions: dirs 7, rustyline 19, lru 0.19, base64 0.23, libloading 0.9, argon2 0.6, and opentelemetry, opentelemetry_sdk, opentelemetry-otlp 0.33. generic-array 0.14.7, the pkcs1/rsa release candidates, and psm stay where russh, ssh-key, and crypto-common pin them.Compatibility fixes
phc::PasswordHash, salt generation insidehash_password, andError::PasswordInvalid. Thestdfeature no longer exists.AsyncFd::newis replaced withunsafe AsyncFd::registerin the server PTY and process stdin; both wrap anOwnedFd, which satisfies the new safety contract.Displayis now only "dlopen failed" or "dlsym failed", with thedlerrortext moved tosource().loader_reasonrestores the file and symbol detail in external SecurityKeyProvider errors (caught bya_library_without_sk_api_version_is_not_a_provider).preference_diron Windows, which bssh does not call. The other bumps needed no code changes.Integration tests
The localhost tests probed SSH with host key checking off but ran the executor in accept-new mode, so a stale
localhostentry inknown_hostspassed the probe and failed every transfer. They now share a helper that usesStrictHostKeyChecking::No, which also stops them from writing host keys into the user'sknown_hosts. The roundtrip test now asserts on upload failure instead of returning early.Validation
fmt, clippy
-D warnings, the full lib suite (1964 passed), and all fourintegration_testcases pass locally on macOS. Linux was not cross-checked locally (no cross C toolchain for aws-lc-sys); CI covers it.