From a4f18f99ad2d02635fb72a0053d551878339ffca Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timo=20K=C3=B6sters?= <timo@koesters.xyz>
Date: Tue, 7 Feb 2023 15:26:34 +0100
Subject: [PATCH] fix: ignore bad user ids

---
 src/database/mod.rs | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/src/database/mod.rs b/src/database/mod.rs
index 78bb358b..46ba5b33 100644
--- a/src/database/mod.rs
+++ b/src/database/mod.rs
@@ -800,10 +800,17 @@ impl KeyValueDatabase {
             }
 
             if services().globals.database_version()? < 12 {
-                for username in services().users.list_local_users().unwrap() {
-                    let user =
-                        UserId::parse_with_server_name(username, services().globals.server_name())
-                            .unwrap();
+                for username in services().users.list_local_users()? {
+                    let user = match UserId::parse_with_server_name(
+                        username.clone(),
+                        services().globals.server_name(),
+                    ) {
+                        Ok(u) => u,
+                        Err(e) => {
+                            warn!("Invalid username {username}: {e}");
+                            continue;
+                        }
+                    };
 
                     let raw_rules_list = services()
                         .account_data