You've already forked authentication-service
mirror of
https://github.com/matrix-org/matrix-authentication-service.git
synced 2025-08-09 04:22:45 +03:00
matrix-synapse: urlencode parameters before sending them to Synapse
This commit is contained in:
1
Cargo.lock
generated
1
Cargo.lock
generated
@@ -3411,6 +3411,7 @@ dependencies = [
|
|||||||
"tower",
|
"tower",
|
||||||
"tracing",
|
"tracing",
|
||||||
"url",
|
"url",
|
||||||
|
"urlencoding",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@@ -19,6 +19,7 @@ serde.workspace = true
|
|||||||
tower.workspace = true
|
tower.workspace = true
|
||||||
tracing.workspace = true
|
tracing.workspace = true
|
||||||
url.workspace = true
|
url.workspace = true
|
||||||
|
urlencoding = "2.1.3"
|
||||||
|
|
||||||
mas-axum-utils.workspace = true
|
mas-axum-utils.workspace = true
|
||||||
mas-http.workspace = true
|
mas-http.workspace = true
|
||||||
|
@@ -152,6 +152,7 @@ impl HomeserverConnection for SynapseConnection {
|
|||||||
err(Display),
|
err(Display),
|
||||||
)]
|
)]
|
||||||
async fn query_user(&self, mxid: &str) -> Result<MatrixUser, Self::Error> {
|
async fn query_user(&self, mxid: &str) -> Result<MatrixUser, Self::Error> {
|
||||||
|
let mxid = urlencoding::encode(mxid);
|
||||||
let mut client = self
|
let mut client = self
|
||||||
.http_client_factory
|
.http_client_factory
|
||||||
.client("homeserver.query_user")
|
.client("homeserver.query_user")
|
||||||
@@ -186,6 +187,7 @@ impl HomeserverConnection for SynapseConnection {
|
|||||||
err(Display),
|
err(Display),
|
||||||
)]
|
)]
|
||||||
async fn is_localpart_available(&self, localpart: &str) -> Result<bool, Self::Error> {
|
async fn is_localpart_available(&self, localpart: &str) -> Result<bool, Self::Error> {
|
||||||
|
let localpart = urlencoding::encode(localpart);
|
||||||
let mut client = self
|
let mut client = self
|
||||||
.http_client_factory
|
.http_client_factory
|
||||||
.client("homeserver.is_localpart_available");
|
.client("homeserver.is_localpart_available");
|
||||||
@@ -252,11 +254,9 @@ impl HomeserverConnection for SynapseConnection {
|
|||||||
.request_bytes_to_body()
|
.request_bytes_to_body()
|
||||||
.json_request();
|
.json_request();
|
||||||
|
|
||||||
|
let mxid = urlencoding::encode(request.mxid());
|
||||||
let request = self
|
let request = self
|
||||||
.put(&format!(
|
.put(&format!("_synapse/admin/v2/users/{mxid}"))
|
||||||
"_synapse/admin/v2/users/{mxid}",
|
|
||||||
mxid = request.mxid()
|
|
||||||
))
|
|
||||||
.body(body)?;
|
.body(body)?;
|
||||||
|
|
||||||
let response = client.ready().await?.call(request).await?;
|
let response = client.ready().await?.call(request).await?;
|
||||||
@@ -282,6 +282,7 @@ impl HomeserverConnection for SynapseConnection {
|
|||||||
err(Display),
|
err(Display),
|
||||||
)]
|
)]
|
||||||
async fn create_device(&self, mxid: &str, device_id: &str) -> Result<(), Self::Error> {
|
async fn create_device(&self, mxid: &str, device_id: &str) -> Result<(), Self::Error> {
|
||||||
|
let mxid = urlencoding::encode(mxid);
|
||||||
let mut client = self
|
let mut client = self
|
||||||
.http_client_factory
|
.http_client_factory
|
||||||
.client("homeserver.create_device")
|
.client("homeserver.create_device")
|
||||||
@@ -312,6 +313,8 @@ impl HomeserverConnection for SynapseConnection {
|
|||||||
err(Display),
|
err(Display),
|
||||||
)]
|
)]
|
||||||
async fn delete_device(&self, mxid: &str, device_id: &str) -> Result<(), Self::Error> {
|
async fn delete_device(&self, mxid: &str, device_id: &str) -> Result<(), Self::Error> {
|
||||||
|
let mxid = urlencoding::encode(mxid);
|
||||||
|
let device_id = urlencoding::encode(device_id);
|
||||||
let mut client = self.http_client_factory.client("homeserver.delete_device");
|
let mut client = self.http_client_factory.client("homeserver.delete_device");
|
||||||
|
|
||||||
let request = self
|
let request = self
|
||||||
@@ -340,6 +343,7 @@ impl HomeserverConnection for SynapseConnection {
|
|||||||
err(Display),
|
err(Display),
|
||||||
)]
|
)]
|
||||||
async fn delete_user(&self, mxid: &str, erase: bool) -> Result<(), Self::Error> {
|
async fn delete_user(&self, mxid: &str, erase: bool) -> Result<(), Self::Error> {
|
||||||
|
let mxid = urlencoding::encode(mxid);
|
||||||
let mut client = self
|
let mut client = self
|
||||||
.http_client_factory
|
.http_client_factory
|
||||||
.client("homeserver.delete_user")
|
.client("homeserver.delete_user")
|
||||||
@@ -370,6 +374,7 @@ impl HomeserverConnection for SynapseConnection {
|
|||||||
err(Display),
|
err(Display),
|
||||||
)]
|
)]
|
||||||
async fn set_displayname(&self, mxid: &str, displayname: &str) -> Result<(), Self::Error> {
|
async fn set_displayname(&self, mxid: &str, displayname: &str) -> Result<(), Self::Error> {
|
||||||
|
let mxid = urlencoding::encode(mxid);
|
||||||
let mut client = self
|
let mut client = self
|
||||||
.http_client_factory
|
.http_client_factory
|
||||||
.client("homeserver.set_displayname")
|
.client("homeserver.set_displayname")
|
||||||
@@ -412,6 +417,7 @@ impl HomeserverConnection for SynapseConnection {
|
|||||||
err(Display),
|
err(Display),
|
||||||
)]
|
)]
|
||||||
async fn allow_cross_signing_reset(&self, mxid: &str) -> Result<(), Self::Error> {
|
async fn allow_cross_signing_reset(&self, mxid: &str) -> Result<(), Self::Error> {
|
||||||
|
let mxid = urlencoding::encode(mxid);
|
||||||
let mut client = self
|
let mut client = self
|
||||||
.http_client_factory
|
.http_client_factory
|
||||||
.client("homeserver.allow_cross_signing_reset")
|
.client("homeserver.allow_cross_signing_reset")
|
||||||
|
Reference in New Issue
Block a user