Fix double nested CalDAV and CardDAV property tags (fixes #1591)

This commit is contained in:
mdecimus
2025-05-29 18:58:04 +02:00
parent 42fd7d4de1
commit aed60c3441
3 changed files with 26 additions and 33 deletions

View File

@@ -21,7 +21,10 @@ use common::{
core::BuildServer,
manager::boot::build_ipc,
};
use dav_proto::schema::property::{DavProperty, WebDavProperty};
use dav_proto::{
schema::property::{DavProperty, WebDavProperty},
xml_pretty_print,
};
use directory::Permission;
use groupware::{DavResourceName, cache::GroupwareCache};
use http::HttpSessionManager;
@@ -604,6 +607,8 @@ impl DavResponse {
eprintln!(" {}: {:?}", key, value);
}
if !self.xml.is_empty() {
eprintln!("XML: {}", xml_pretty_print(self.body.as_ref().unwrap()));
for (key, value) in self.xml.iter() {
eprintln!("{} -> {:?}", key, value);
}

View File

@@ -323,29 +323,26 @@ pub async fn test(test: &WebDavTest) {
CalDavProperty::SupportedCalendarComponentSet,
))
.with_values([
"A:supported-calendar-component-set.A:comp.[name]:VAVAILABILITY",
"A:supported-calendar-component-set.A:comp.[name]:AVAILABLE",
"A:supported-calendar-component-set.A:comp.[name]:VRESOURCE",
"A:supported-calendar-component-set.A:comp.[name]:VTODO",
"A:supported-calendar-component-set.A:comp.[name]:DAYLIGHT",
"A:supported-calendar-component-set.A:comp.[name]:STANDARD",
"A:supported-calendar-component-set.A:comp.[name]:VLOCATION",
"A:supported-calendar-component-set.A:comp.[name]:VTIMEZONE",
"A:supported-calendar-component-set.A:comp.[name]:VFREEBUSY",
"A:supported-calendar-component-set.A:comp.[name]:VEVENT",
"A:supported-calendar-component-set.A:comp.[name]:VJOURNAL",
"A:supported-calendar-component-set.A:comp.[name]:PARTICIPANT",
"A:supported-calendar-component-set.A:comp.[name]:VALARM",
"A:comp.[name]:VAVAILABILITY",
"A:comp.[name]:AVAILABLE",
"A:comp.[name]:VRESOURCE",
"A:comp.[name]:VTODO",
"A:comp.[name]:DAYLIGHT",
"A:comp.[name]:STANDARD",
"A:comp.[name]:VLOCATION",
"A:comp.[name]:VTIMEZONE",
"A:comp.[name]:VFREEBUSY",
"A:comp.[name]:VEVENT",
"A:comp.[name]:VJOURNAL",
"A:comp.[name]:PARTICIPANT",
"A:comp.[name]:VALARM",
]);
properties
.get(DavProperty::CalDav(CalDavProperty::SupportedCalendarData))
.with_values([
concat!(
"A:supported-calendar-data.A:calendar-data-type.",
"[content-type]:text/calendar"
),
"A:supported-calendar-data.A:calendar-data-type.[version]:2.0",
"A:supported-calendar-data.A:calendar-data-type.[version]:1.0",
concat!("A:calendar-data-type.", "[content-type]:text/calendar"),
"A:calendar-data-type.[version]:2.0",
"A:calendar-data-type.[version]:1.0",
]);
properties
.get(DavProperty::CalDav(CalDavProperty::SupportedCollationSet))
@@ -382,13 +379,10 @@ pub async fn test(test: &WebDavTest) {
properties
.get(DavProperty::CardDav(CardDavProperty::SupportedAddressData))
.with_values([
concat!(
"B:supported-address-data.B:address-data-type.",
"[content-type]:text/vcard"
),
"B:supported-address-data.B:address-data-type.[version]:3.0",
"B:supported-address-data.B:address-data-type.[version]:4.0",
"B:supported-address-data.B:address-data-type.[version]:2.1",
concat!("B:address-data-type.", "[content-type]:text/vcard"),
"B:address-data-type.[version]:3.0",
"B:address-data-type.[version]:4.0",
"B:address-data-type.[version]:2.1",
]);
properties
.get(DavProperty::CardDav(CardDavProperty::SupportedCollationSet))