diff --git a/src/service/admin/mod.rs b/src/service/admin/mod.rs index b3370d5a..f4fff7e1 100644 --- a/src/service/admin/mod.rs +++ b/src/service/admin/mod.rs @@ -403,7 +403,7 @@ impl Service { let reply_message_content = match command { AdminCommand::Appservice(command) => match command { AppserviceCommand::Register => { - if body.len() > 2 && body[0].trim() == "```" && body.last().unwrap().trim() == "```" + if body.len() > 2 && body[0].trim().starts_with("```") && body.last().unwrap().trim() == "```" { let appservice_config = body[1..body.len() - 1].join("\n"); let parsed_config = @@ -595,7 +595,7 @@ impl Service { } }, UserCommand::DeactivateAll { leave_rooms, force } => { - if body.len() > 2 && body[0].trim() == "```" && body.last().unwrap().trim() == "```" + if body.len() > 2 && body[0].trim().starts_with("```") && body.last().unwrap().trim() == "```" { let usernames = body.clone().drain(1..body.len() - 1).collect::>(); @@ -707,7 +707,7 @@ impl Service { RoomMessageEventContent::text_plain(&msg) }, FederationCommand::SignJson => { - if body.len() > 2 && body[0].trim() == "```" && body.last().unwrap().trim() == "```" + if body.len() > 2 && body[0].trim().starts_with("```") && body.last().unwrap().trim() == "```" { let string = body[1..body.len() - 1].join("\n"); match serde_json::from_str(&string) { @@ -731,7 +731,7 @@ impl Service { } }, FederationCommand::VerifyJson => { - if body.len() > 2 && body[0].trim() == "```" && body.last().unwrap().trim() == "```" + if body.len() > 2 && body[0].trim().starts_with("```") && body.last().unwrap().trim() == "```" { let string = body[1..body.len() - 1].join("\n"); match serde_json::from_str(&string) { @@ -813,7 +813,7 @@ impl Service { } }, DebugCommand::ParsePdu => { - if body.len() > 2 && body[0].trim() == "```" && body.last().unwrap().trim() == "```" + if body.len() > 2 && body[0].trim().starts_with("```") && body.last().unwrap().trim() == "```" { let string = body[1..body.len() - 1].join("\n"); match serde_json::from_str(&string) {