mirror of
https://github.com/lennart-k/rustical.git
synced 2025-12-13 20:32:48 +00:00
dav: Fix Destination header percent decoding
This commit is contained in:
@@ -33,8 +33,8 @@ pub(crate) async fn axum_route_copy<R: ResourceService>(
|
||||
let mut router = matchit::Router::new();
|
||||
router.insert(matched_path.as_str(), ()).unwrap();
|
||||
if let Ok(matchit::Match { params, .. }) = router.at(destination) {
|
||||
let params: Vec<(&str, &str)> = params.iter().collect();
|
||||
let params = matchit_serde::Params(¶ms);
|
||||
let params =
|
||||
matchit_serde::Params::try_from(¶ms).map_err(|_| crate::Error::Forbidden)?;
|
||||
let dest_path = R::PathComponents::deserialize(&ParamsDeserializer::new(params))
|
||||
.map_err(|_| crate::Error::Forbidden)?;
|
||||
|
||||
|
||||
@@ -33,8 +33,8 @@ pub(crate) async fn axum_route_move<R: ResourceService>(
|
||||
let mut router = matchit::Router::new();
|
||||
router.insert(matched_path.as_str(), ()).unwrap();
|
||||
if let Ok(matchit::Match { params, .. }) = router.at(destination) {
|
||||
let params: Vec<(&str, &str)> = params.iter().collect();
|
||||
let params = matchit_serde::Params(¶ms);
|
||||
let params =
|
||||
matchit_serde::Params::try_from(¶ms).map_err(|_| crate::Error::Forbidden)?;
|
||||
let dest_path = R::PathComponents::deserialize(&ParamsDeserializer::new(params))
|
||||
.map_err(|_| crate::Error::Forbidden)?;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user