fix: Don't do weird wire signing for server keys route

This commit is contained in:
timedout authored and Jade Ellis committed 2026-10-14 10:34:51 +01:00
1 parent 3508b1a5e3
commit c1f6a7c082
2 files changed
+10 -5

No files matched your search

+1 -1
View File
@@ -206,7 +206,7 @@ pub fn build(router: Router<State>, state: State) -> Router<State> {
if config.allow_federation {
router = router
.ruma_route(&server::get_server_version_route)
.route("/_matrix/key/v2/server", get(server::get_server_keys_route))
.ruma_route(&server::get_server_keys_route)
.ruma_route(&server::get_remote_server_keys_batch_route)
.ruma_route(&server::get_remote_server_keys_route)
.ruma_route(&server::get_public_rooms_route)
+9 -4
View File
@@ -5,7 +5,7 @@ use std::{
time::Instant,
};
use axum::{Json, extract::State, response::IntoResponse};
use axum::extract::State;
use conduwuit::{
Err, Result, debug, debug_info, error,
utils::{ReadyExt, stream::BroadbandExt, to_canonical_object},
@@ -16,7 +16,7 @@ use ruma::{
MilliSecondsSinceUnixEpoch, OwnedServerName, OwnedServerSigningKeyId, ServerName,
api::federation::discovery::{
ServerSigningKeys, get_remote_server_keys, get_remote_server_keys_batch,
get_remote_server_keys_batch::v2::QueryCriteria,
get_remote_server_keys_batch::v2::QueryCriteria, get_server_keys,
},
serde::Raw,
uint,
@@ -31,8 +31,13 @@ use crate::router::Ruma;
/// Gets the public signing keys of this server.
pub(crate) async fn get_server_keys_route(
State(services): State<crate::State>,
) -> Result<impl IntoResponse> {
Ok(Json(services.server_keys.build_server_keys_response().await?))
_body: Ruma<get_server_keys::v2::Request>,
) -> Result<get_server_keys::v2::Response> {
services
.server_keys
.build_server_keys_response()
.await
.map(get_server_keys::v2::Response::new)
}
const MAX_KEYS_PER_QUERY: usize = 16384;