From f44a996432b46bb820b9ac018e84b3486ad239ac Mon Sep 17 00:00:00 2001 From: Florian Schlichting Date: Tue, 4 Oct 2022 08:47:53 +0200 Subject: [PATCH] do not report VTODO in freebusy (fixes: #267) RFC 4791 clearly states in 7.10: Only VEVENT components without a TRANSP property or with the TRANSP property set to OPAQUE, and VFREEBUSY components SHOULD be considered in generating the free busy time information. Looking at fa67ef987e, this used to be VFREEBUSY until the refactoring, and 0886-REPORT-freebusy.test still had that. Apparently we're not (yet) considering VAVAILABILITY (RFC 7953) here. --- inc/freebusy-functions.php | 2 +- testing/tests/regression-suite/0832-freebusy.result | 3 +-- testing/tests/regression-suite/0836-freebusy.result | 3 +-- testing/tests/regression-suite/0837-freebusy.result | 3 +-- testing/tests/regression-suite/0880-Freebusy-POST.result | 1 - testing/tests/regression-suite/0885-GET-freebusy.result | 3 +-- testing/tests/regression-suite/0887-POST-freebusy.result | 1 - testing/tests/regression-suite/0888-GET-freebusy.result | 3 +-- testing/tests/regression-suite/0889-POST-freebusy.result | 2 -- .../tests/regression-suite/0963-POST-freebusy-private.result | 1 - 10 files changed, 6 insertions(+), 16 deletions(-) diff --git a/inc/freebusy-functions.php b/inc/freebusy-functions.php index 35225973..7d4dbca0 100644 --- a/inc/freebusy-functions.php +++ b/inc/freebusy-functions.php @@ -24,7 +24,7 @@ function get_freebusy( $path_match, $range_start, $range_end, $bin_privs = null $where .= " (calendar_item.first_instance_start <= :end AND (:start <= calendar_item.last_instance_end OR calendar_item.last_instance_end IS NULL)) "; $where .= " OR (calendar_item.first_instance_start IS NULL AND rrule_event_overlaps( dtstart, dtend, rrule, :start, :end)) "; $where .= ") "; - $where .= "AND caldav_data.caldav_type IN ( 'VEVENT', 'VTODO' ) "; + $where .= "AND caldav_data.caldav_type IN ( 'VEVENT', 'VFREEBUSY' ) "; $where .= "AND (calendar_item.transp != 'TRANSPARENT' OR calendar_item.transp IS NULL) "; $where .= "AND (calendar_item.status != 'CANCELLED' OR calendar_item.status IS NULL) "; $where .= "AND collection.is_calendar AND collection.schedule_transp = 'opaque' "; diff --git a/testing/tests/regression-suite/0832-freebusy.result b/testing/tests/regression-suite/0832-freebusy.result index 6b2bebc4..27f3a3ed 100644 --- a/testing/tests/regression-suite/0832-freebusy.result +++ b/testing/tests/regression-suite/0832-freebusy.result @@ -1,6 +1,6 @@ HTTP/1.1 200 OK Date: Dow, 01 Jan 2000 00:00:00 GMT -Content-Length: 14764 +Content-Length: 14720 Content-Type: text/calendar;charset=UTF-8 BEGIN:VCALENDAR @@ -11,7 +11,6 @@ BEGIN:VFREEBUSY DTSTAMP:yyyymmddThhmmssZ DTSTART:correct DTEND:correct -FREEBUSY:20031231T230000Z/20100217T000000Z FREEBUSY:20061001T210000Z/20061001T220000Z FREEBUSY:20061002T210000Z/20061002T220000Z FREEBUSY:20061003T210000Z/20061003T220000Z diff --git a/testing/tests/regression-suite/0836-freebusy.result b/testing/tests/regression-suite/0836-freebusy.result index bdee8d7b..ce7f11b6 100644 --- a/testing/tests/regression-suite/0836-freebusy.result +++ b/testing/tests/regression-suite/0836-freebusy.result @@ -1,6 +1,6 @@ HTTP/1.1 200 OK Date: Dow, 01 Jan 2000 00:00:00 GMT -Content-Length: 14764 +Content-Length: 14720 Content-Type: text/calendar;charset=UTF-8 BEGIN:VCALENDAR @@ -11,7 +11,6 @@ BEGIN:VFREEBUSY DTSTAMP:yyyymmddThhmmssZ DTSTART:correct DTEND:correct -FREEBUSY:20031231T230000Z/20100217T000000Z FREEBUSY:20061001T210000Z/20061001T220000Z FREEBUSY:20061002T210000Z/20061002T220000Z FREEBUSY:20061003T210000Z/20061003T220000Z diff --git a/testing/tests/regression-suite/0837-freebusy.result b/testing/tests/regression-suite/0837-freebusy.result index bdee8d7b..ce7f11b6 100644 --- a/testing/tests/regression-suite/0837-freebusy.result +++ b/testing/tests/regression-suite/0837-freebusy.result @@ -1,6 +1,6 @@ HTTP/1.1 200 OK Date: Dow, 01 Jan 2000 00:00:00 GMT -Content-Length: 14764 +Content-Length: 14720 Content-Type: text/calendar;charset=UTF-8 BEGIN:VCALENDAR @@ -11,7 +11,6 @@ BEGIN:VFREEBUSY DTSTAMP:yyyymmddThhmmssZ DTSTART:correct DTEND:correct -FREEBUSY:20031231T230000Z/20100217T000000Z FREEBUSY:20061001T210000Z/20061001T220000Z FREEBUSY:20061002T210000Z/20061002T220000Z FREEBUSY:20061003T210000Z/20061003T220000Z diff --git a/testing/tests/regression-suite/0880-Freebusy-POST.result b/testing/tests/regression-suite/0880-Freebusy-POST.result index 18bc5305..5d66cb38 100644 --- a/testing/tests/regression-suite/0880-Freebusy-POST.result +++ b/testing/tests/regression-suite/0880-Freebusy-POST.result @@ -14,7 +14,6 @@ BEGIN:VFREEBUSY DTSTAMP:yyyymmddThhmmssZ DTSTART:20081021T110000Z DTEND:20081106T110000Z -FREEBUSY:20031231T230000Z/20100217T000000Z FREEBUSY:20081021T180000Z/20081022T040000Z FREEBUSY:20081022T180000Z/20081023T040000Z FREEBUSY:20081022T184500Z/20081022T193000Z diff --git a/testing/tests/regression-suite/0885-GET-freebusy.result b/testing/tests/regression-suite/0885-GET-freebusy.result index 6b2bebc4..27f3a3ed 100644 --- a/testing/tests/regression-suite/0885-GET-freebusy.result +++ b/testing/tests/regression-suite/0885-GET-freebusy.result @@ -1,6 +1,6 @@ HTTP/1.1 200 OK Date: Dow, 01 Jan 2000 00:00:00 GMT -Content-Length: 14764 +Content-Length: 14720 Content-Type: text/calendar;charset=UTF-8 BEGIN:VCALENDAR @@ -11,7 +11,6 @@ BEGIN:VFREEBUSY DTSTAMP:yyyymmddThhmmssZ DTSTART:correct DTEND:correct -FREEBUSY:20031231T230000Z/20100217T000000Z FREEBUSY:20061001T210000Z/20061001T220000Z FREEBUSY:20061002T210000Z/20061002T220000Z FREEBUSY:20061003T210000Z/20061003T220000Z diff --git a/testing/tests/regression-suite/0887-POST-freebusy.result b/testing/tests/regression-suite/0887-POST-freebusy.result index 1c7c65d0..264a1b93 100644 --- a/testing/tests/regression-suite/0887-POST-freebusy.result +++ b/testing/tests/regression-suite/0887-POST-freebusy.result @@ -14,7 +14,6 @@ BEGIN:VFREEBUSY DTSTAMP:yyyymmddThhmmssZ DTSTART:correct DTEND:correct -FREEBUSY:20031231T230000Z/20100217T000000Z FREEBUSY:20060930T210000Z/20060930T220000Z FREEBUSY:20061001T210000Z/20061001T220000Z FREEBUSY:20061002T210000Z/20061002T220000Z diff --git a/testing/tests/regression-suite/0888-GET-freebusy.result b/testing/tests/regression-suite/0888-GET-freebusy.result index 6b2bebc4..27f3a3ed 100644 --- a/testing/tests/regression-suite/0888-GET-freebusy.result +++ b/testing/tests/regression-suite/0888-GET-freebusy.result @@ -1,6 +1,6 @@ HTTP/1.1 200 OK Date: Dow, 01 Jan 2000 00:00:00 GMT -Content-Length: 14764 +Content-Length: 14720 Content-Type: text/calendar;charset=UTF-8 BEGIN:VCALENDAR @@ -11,7 +11,6 @@ BEGIN:VFREEBUSY DTSTAMP:yyyymmddThhmmssZ DTSTART:correct DTEND:correct -FREEBUSY:20031231T230000Z/20100217T000000Z FREEBUSY:20061001T210000Z/20061001T220000Z FREEBUSY:20061002T210000Z/20061002T220000Z FREEBUSY:20061003T210000Z/20061003T220000Z diff --git a/testing/tests/regression-suite/0889-POST-freebusy.result b/testing/tests/regression-suite/0889-POST-freebusy.result index 3c179eab..74d154df 100644 --- a/testing/tests/regression-suite/0889-POST-freebusy.result +++ b/testing/tests/regression-suite/0889-POST-freebusy.result @@ -14,7 +14,6 @@ BEGIN:VFREEBUSY DTSTAMP:yyyymmddThhmmssZ DTSTART:20001021T110000Z DTEND:20101106T110000Z -FREEBUSY:20031231T230000Z/20100217T000000Z FREEBUSY:20051231T110000Z/20060101T110000Z FREEBUSY:20060101T220000Z/20060101T230000Z FREEBUSY:20060102T220000Z/20060102T230000Z @@ -3759,7 +3758,6 @@ FREEBUSY:20051207T070000Z/20051207T130000Z FREEBUSY:20051208T070000Z/20051208T130000Z FREEBUSY:20051209T070000Z/20051209T130000Z FREEBUSY:20051212T070000Z/20051212T130000Z -FREEBUSY:20060322T104500Z/20060321T230000Z FREEBUSY:20060324T110000Z/20060324T140000Z FREEBUSY:20060405T070000Z/20060405T220000Z FREEBUSY:20060406T070000Z/20060406T220000Z diff --git a/testing/tests/regression-suite/0963-POST-freebusy-private.result b/testing/tests/regression-suite/0963-POST-freebusy-private.result index 8a9c9edd..d38932b1 100644 --- a/testing/tests/regression-suite/0963-POST-freebusy-private.result +++ b/testing/tests/regression-suite/0963-POST-freebusy-private.result @@ -14,7 +14,6 @@ BEGIN:VFREEBUSY DTSTAMP:yyyymmddThhmmssZ DTSTART:20080730T110000Z DTEND:20080803T110000Z -FREEBUSY:20031231T230000Z/20100217T000000Z FREEBUSY:20080730T190000Z/20080731T050000Z FREEBUSY:20080730T194500Z/20080730T203000Z FREEBUSY:20080730T210000Z/20080730T220000Z