From 16408b0a369aa1c0645079ab40135306c6c9d551 Mon Sep 17 00:00:00 2001 From: Art Cancro Date: Sat, 2 Mar 2024 19:02:46 -0500 Subject: [PATCH] cal_zone means "calendar timezone" also "calzone" ical_dezonify() is going to be needed in both WebCit Classic and WebCit-NG , so this needs to be cleaned up and generalized. --- webcit-ng/server/caldav_reports.c | 13 ++++++++-- webcit/ical_dezonify.c | 43 ++++++++++++++----------------- 2 files changed, 31 insertions(+), 25 deletions(-) diff --git a/webcit-ng/server/caldav_reports.c b/webcit-ng/server/caldav_reports.c index c47164fa7..d2d323f43 100644 --- a/webcit-ng/server/caldav_reports.c +++ b/webcit-ng/server/caldav_reports.c @@ -267,10 +267,19 @@ int caldav_time_range_filter_matches(icalcomponent *cal, char *start_str, char * syslog(LOG_DEBUG, "\033[7mcaldav_time_range_filter_matches()\033[0m : Does this %s fall between %s and %s ?", icalcomponent_kind_to_string(icalcomponent_isa(cal)), - start, - end + start_str, + end_str ); + syslog(LOG_DEBUG, "Well, here it is:"); + syslog(LOG_DEBUG, "\033[35m%s\033[0m", icalcomponent_as_ical_string_r(cal)); + + icaltimetype dts = icalcomponent_get_dtstart(cal); + syslog(LOG_DEBUG, "component start: \033[36m%s\033[0m", icaltime_as_ical_string_r(dts)); + + icaltimetype dte = icalcomponent_get_dtend(cal); + syslog(LOG_DEBUG, "component end: \033[36m%s\033[0m", icaltime_as_ical_string_r(dte)); + return(0); // reject everything for now } diff --git a/webcit/ical_dezonify.c b/webcit/ical_dezonify.c index f20be4279..ecd04d886 100644 --- a/webcit/ical_dezonify.c +++ b/webcit/ical_dezonify.c @@ -1,6 +1,5 @@ -// Function to go through an ical component set and convert all non-UTC -// date/time properties to UTC. It also strips out any VTIMEZONE -// subcomponents afterwards, because they're irrelevant. +// Go through an ical component set and convert all non-UTC date/time properties to UTC. +// It also strips out any VTIMEZONE subcomponents afterwards, because they are now unreferenced. // // Everything here will work on both components and subcomponents. If subcomponents are discovered it will recurse through them. // @@ -10,22 +9,21 @@ #include "webcit.h" #include "webserver.h" -// Figure out which time zone needs to be used for timestamps that are -// not UTC and do not have a time zone specified. +// Figure out which time zone needs to be used for timestamps that are not UTC and do not have a time zone specified. icaltimezone *get_default_icaltimezone(void) { icaltimezone *zone = NULL; - const char *default_zone_name = ChrPtr(WC->serv_info->serv_default_cal_zone); + const char *default_zone_name = ChrPtr(WC->serv_info->serv_default_cal_zone); // mmmmmm ... calzone if (!zone) { zone = icaltimezone_get_builtin_timezone(default_zone_name); } if (!zone) { - syslog(LOG_WARNING, "Unable to load '%s' time zone. Defaulting to UTC.\n", default_zone_name); + syslog(LOG_WARNING, "ical_dezonify: unable to load '%s' time zone, defaulting to UTC", default_zone_name); zone = icaltimezone_get_utc_timezone(); } if (!zone) { - syslog(LOG_ERR, "Unable to load UTC time zone!\n"); + syslog(LOG_ERR, "ical_dezonify: unable to load UTC time zone!"); } return zone; } @@ -33,9 +31,8 @@ icaltimezone *get_default_icaltimezone(void) { // Back end function for ical_dezonify() // -// We supply this with the master component, the relevant component, -// and the property (which will be a DTSTART, DTEND, etc.) -// which we want to convert to UTC. +// We supply this with the master component, the relevant component, and the property +// (which will be a DTSTART, DTEND, etc.) which we want to convert to UTC. void ical_dezonify_backend(icalcomponent *cal, icalcomponent *rcal, icalproperty *prop) { icaltimezone *t = NULL; @@ -57,19 +54,19 @@ void ical_dezonify_backend(icalcomponent *cal, icalcomponent *rcal, icalproperty // Convert it to an icaltimezone type. if (tzid != NULL) { #ifdef DBG_ICAL - syslog(LOG_DEBUG, " * Stringy supplied timezone is: '%s'\n", tzid); + syslog(LOG_DEBUG, "ical_dezonify: Stringy supplied timezone is: '%s'\n", tzid); #endif if ( (!strcasecmp(tzid, "UTC")) || (!strcasecmp(tzid, "GMT")) ) { utc_declared_as_tzid = 1; #ifdef DBG_ICAL - syslog(LOG_DEBUG, " * ...and we handle that internally.\n"); + syslog(LOG_DEBUG, "ical_dezonify: ...and we handle that internally.\n"); #endif } else { // try attached first t = icalcomponent_get_timezone(cal, tzid); #ifdef DBG_ICAL - syslog(LOG_DEBUG, " * ...and I %s have tzdata for that zone.\n", + syslog(LOG_DEBUG, "ical_dezonify: ...and I %s have tzdata for that zone.\n", (t ? "DO" : "DO NOT") ); #endif @@ -78,7 +75,7 @@ void ical_dezonify_backend(icalcomponent *cal, icalcomponent *rcal, icalproperty t = icaltimezone_get_builtin_timezone(tzid); #ifdef DBG_ICAL if (t) { - syslog(LOG_DEBUG, " * Using system tzdata!\n"); + syslog(LOG_DEBUG, "ical_dezonify: Using system tzdata!\n"); } #endif } @@ -106,18 +103,18 @@ void ical_dezonify_backend(icalcomponent *cal, icalcomponent *rcal, icalproperty } #ifdef DBG_ICAL - syslog(LOG_DEBUG, " * Was: %s\n", icaltime_as_ical_string(TheTime)); + syslog(LOG_DEBUG, "ical_dezonify: was: %s\n", icaltime_as_ical_string(TheTime)); #endif if (icaltime_is_utc(TheTime)) { #ifdef DBG_ICAL - syslog(LOG_DEBUG, " * This property is ALREADY UTC.\n"); + syslog(LOG_DEBUG, "ical_dezonify: this property is ALREADY UTC"); #endif } else if (utc_declared_as_tzid) { #ifdef DBG_ICAL - syslog(LOG_DEBUG, " * Replacing '%s' TZID with 'Z' suffix.\n", tzid); + syslog(LOG_DEBUG, "ical_dezonify: replacing '%s' TZID with 'Z' suffix", tzid); #endif TheTime.zone = icaltimezone_get_utc_timezone(); } @@ -126,12 +123,12 @@ void ical_dezonify_backend(icalcomponent *cal, icalcomponent *rcal, icalproperty // Do the conversion. if (t != NULL) { #ifdef DBG_ICAL - syslog(LOG_DEBUG, " * Timezone prop found. Converting to UTC.\n"); + syslog(LOG_DEBUG, "ical_dezonify: timezone prop found, converting to UTC"); #endif } else { #ifdef DBG_ICAL - syslog(LOG_DEBUG, " * Converting default timezone to UTC.\n"); + syslog(LOG_DEBUG, "ical_dezonify: converting default timezone to UTC"); #endif } @@ -144,7 +141,7 @@ void ical_dezonify_backend(icalcomponent *cal, icalcomponent *rcal, icalproperty icalproperty_remove_parameter_by_kind(prop, ICAL_TZID_PARAMETER); #ifdef DBG_ICAL - syslog(LOG_DEBUG, " * Now: %s\n", icaltime_as_ical_string(TheTime)); + syslog(LOG_DEBUG, "ical_dezonify: now: %s", icaltime_as_ical_string(TheTime)); #endif // Now add the converted property back in. @@ -202,7 +199,7 @@ void ical_dezonify(icalcomponent *cal) { icalcomponent *vt = NULL; #ifdef DBG_ICAL - syslog(LOG_DEBUG, "ical_dezonify() started\n"); + syslog(LOG_DEBUG, "ical_dezonify() started"); #endif // Convert all times to UTC @@ -215,6 +212,6 @@ void ical_dezonify(icalcomponent *cal) { } #ifdef DBG_ICAL - syslog(LOG_DEBUG, "ical_dezonify() completed\n"); + syslog(LOG_DEBUG, "ical_dezonify() completed"); #endif } -- 2.30.2