fix: print actual reason for failed host params collecting

previously, we didn't show any reason for failed collecting of host params in the auth form, but just a generic message

refs #441
This commit is contained in:
Christian Visintin
2026-08-31 15:31:47 +02:00
parent 2bbe560ec5
commit 9fbd617f88
4 changed files with 173 additions and 592 deletions
Generated
+156 -577
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -72,7 +72,7 @@ serde = { version = "1", features = ["derive"] }
serde_json = "1"
shellexpand = "3"
simplelog = "0.12"
ssh2-config = "0.7"
ssh2-config = "0.8"
tempfile = "3"
thiserror = "2"
tokio = { version = "1", features = ["rt"] }
-3
View File
@@ -33,9 +33,6 @@ ignore = [
{ id = "RUSTSEC-2026-0195", reason = "owner: termscp maintainers; review by 2026-12-31; upgrade remotefs-webdav/self_update to quick-xml >=0.41" },
# The SSH stack requires RSA, for which RustSec reports no safe upgrade.
{ id = "RUSTSEC-2023-0071", reason = "owner: termscp maintainers; review by 2026-12-31; replace RSA dependency when upstream fix exists" },
# russh-keys retains an older russh-cryptovec line and cannot select the
# fixed 0.60.3 release without an upstream dependency update.
{ id = "RUSTSEC-2026-0153", reason = "owner: termscp maintainers; review by 2026-12-31; upgrade remotefs-ssh/russh-keys to russh-cryptovec >=0.60.3" },
# rustls-pemfile is retained by the WebDAV and Kubernetes clients. Both
# versions are unmaintained but have no reported vulnerability.
{ id = "RUSTSEC-2025-0134", reason = "owner: termscp maintainers; review by 2026-12-31; upgrade WebDAV/Kubernetes clients away from rustls-pemfile" },
+16 -11
View File
@@ -24,19 +24,24 @@ impl AuthActivity {
fn update_form(&mut self, msg: FormMsg) -> Option<Msg> {
match msg {
FormMsg::Connect => {
let Ok(remote_params) = self.collect_remote_host_params() else {
// mount error
self.mount_error("Invalid remote params parameters");
return None;
let remote_params = match self.collect_remote_host_params() {
Ok(remote_params) => remote_params,
Err(err) => {
// mount error
self.mount_error(format!("Invalid remote host parameters: {err}"));
return None;
}
};
let Ok(host_bridge_params) = self.collect_host_bridge_params() else {
// mount error
self.mount_error("Invalid host bridge params parameters");
return None;
};
debug!("Remote params: {:?}", remote_params);
let host_bridge_params = match self.collect_host_bridge_params() {
Ok(host_bridge_params) => host_bridge_params,
Err(err) => {
// mount error
self.mount_error(format!("Invalid host bridge parameters: {err}"));
return None;
}
};
debug!("Host bridge params: {:?}", host_bridge_params);
self.save_recent();