diff --git a/src/service/admin/mod.rs b/src/service/admin/mod.rs index cd63cb9e7..065a39eeb 100644 --- a/src/service/admin/mod.rs +++ b/src/service/admin/mod.rs @@ -398,7 +398,7 @@ async fn process_admin_command( AdminCommand::Appservice(command) => match command { AppserviceCommand::Register => { if body.len() > 2 - && body[0].trim() == "```" + && body[0].trim().starts_with("```") && body.last().unwrap().trim() == "```" { let appservice_config = body[1..body.len() - 1].join("\n"); @@ -596,7 +596,7 @@ async fn process_admin_command( } UserCommand::DeactivateAll { leave_rooms, force } => { if body.len() > 2 - && body[0].trim() == "```" + && body[0].trim().starts_with("```") && body.last().unwrap().trim() == "```" { let usernames = body.clone().drain(1..body.len() - 1).collect::>(); @@ -710,7 +710,7 @@ async fn process_admin_command( } FederationCommand::SignJson => { if body.len() > 2 - && body[0].trim() == "```" + && body[0].trim().starts_with("```") && body.last().unwrap().trim() == "```" { let string = body[1..body.len() - 1].join("\n"); @@ -738,7 +738,7 @@ async fn process_admin_command( } FederationCommand::VerifyJson => { if body.len() > 2 - && body[0].trim() == "```" + && body[0].trim().starts_with("```") && body.last().unwrap().trim() == "```" { let string = body[1..body.len() - 1].join("\n"); @@ -826,7 +826,7 @@ async fn process_admin_command( } DebugCommand::ParsePdu => { if body.len() > 2 - && body[0].trim() == "```" + && body[0].trim().starts_with("```") && body.last().unwrap().trim() == "```" { let string = body[1..body.len() - 1].join("\n");