From a5ee339873079b368801e2ac3258f67ec451df03 Mon Sep 17 00:00:00 2001
From: Matt Johnston <matt@ucc.asn.au>
Date: Fri, 7 Apr 2023 17:43:52 +0800
Subject: [PATCH] Make bad known_hosts lines a warning

Instead of exiting
---
 async/src/known_hosts.rs | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/async/src/known_hosts.rs b/async/src/known_hosts.rs
index 578e638..0612331 100644
--- a/async/src/known_hosts.rs
+++ b/async/src/known_hosts.rs
@@ -97,9 +97,13 @@ pub fn check_known_hosts_file(
             continue;
         }
 
-        let known_key = OpenSSHKey::from_openssh(&lk).map_err(|_| {
-            KnownHostsError::Other { msg: format!("Bad key format {}:{}", p.display(), line) }
-        })?;
+        let known_key = match OpenSSHKey::from_openssh(&lk) {
+            Ok(k) => k,
+            Err(e) => {
+                warn!("Unparsed key for {} on line {}:{}", host, p.display(), line);
+                continue;
+            }
+        };
 
         if pubk.algorithm() != known_key.algorithm() {
             debug!("Line {line}, Ignoring other-format existing key {known_key:?}")
-- 
GitLab