From f94b474364b7aeb7c9afec8aa30dbb9b48fcdefe Mon Sep 17 00:00:00 2001 From: adiraj66132 Date: Sun, 12 Jul 2026 10:56:08 +0530 Subject: [PATCH] fix: reject SFTP connection on host key verification error and panic on SFTP URL rebase - `check_server_key` now rejects (rather than silently accepting) when known_hosts cannot be read or parsed, so a corrupt/unreadable file no longer disables host-key verification. - `UrlBuf::rebase` no longer hits `todo!()` for SFTP URLs; it rebases via a typed `UnixPath` base, matching the other URL variants. --- yazi-shared/src/url/buf.rs | 4 ++-- yazi-vfs/src/provider/sftp/conn.rs | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/yazi-shared/src/url/buf.rs b/yazi-shared/src/url/buf.rs index ef9b2e05..cfdb80de 100644 --- a/yazi-shared/src/url/buf.rs +++ b/yazi-shared/src/url/buf.rs @@ -167,8 +167,8 @@ impl UrlBuf { Self::Archive { loc: loc.rebase(base), domain: domain.clone() } } Self::Sftp { loc, domain } => { - todo!(); - // Self::Sftp { loc: loc.rebase(base), domain: domain.clone() } + let base = typed_path::UnixPath::new(base.as_os_str().as_encoded_bytes()); + Self::Sftp { loc: loc.rebase(base), domain: domain.clone() } } } } diff --git a/yazi-vfs/src/provider/sftp/conn.rs b/yazi-vfs/src/provider/sftp/conn.rs index 0472cd2a..7f95fbf0 100644 --- a/yazi-vfs/src/provider/sftp/conn.rs +++ b/yazi-vfs/src/provider/sftp/conn.rs @@ -54,8 +54,8 @@ impl russh::client::Handler for Conn { Ok(false) } Err(e) => { - tracing::warn!("Could not verify host key for `{}`: {e}", self.config.host); - Ok(true) + tracing::error!("Could not verify host key for `{}`: {e}", self.config.host); + Ok(false) } } }