From 6927574d188715cbf3a7d8f2cfebde5c4c1d4ba3 Mon Sep 17 00:00:00 2001 From: Ludovic Marcotte Date: Tue, 20 Oct 2009 13:15:22 +0000 Subject: [PATCH] See ChangeLog Monotone-Parent: 51a6b06e57704b745079c66aae15d48bf3d2ac3d Monotone-Revision: a7388b1eb7856d57df84b1de0be0ed020317178c Monotone-Author: ludovic@Sophos.ca Monotone-Date: 2009-10-20T13:15:22 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 8 ++ .../America/Indiana/Indianapolis.ics | 22 ++++++ .../TimeZones/America/Indiana/Knox.ics | 22 ++++++ .../TimeZones/America/Indiana/Marengo.ics | 22 ++++++ .../TimeZones/America/Indiana/Petersburg.ics | 22 ++++++ .../TimeZones/America/Indiana/Tell_City.ics | 22 ++++++ .../TimeZones/America/Indiana/Vevay.ics | 22 ++++++ .../TimeZones/America/Indiana/Vincennes.ics | 22 ++++++ .../TimeZones/America/Indiana/Winamac.ics | 22 ++++++ .../TimeZones/America/Kentucky/Louisville.ics | 22 ++++++ .../TimeZones/America/Kentucky/Monticello.ics | 22 ++++++ .../TimeZones/America/North_Dakota/Center.ics | 22 ++++++ .../America/North_Dakota/New_Salem.ics | 22 ++++++ SoObjects/SOGo/SOGoParentFolder.m | 74 ++++++++++++++++++- debian/copyright | 6 +- 15 files changed, 347 insertions(+), 5 deletions(-) create mode 100644 SOPE/NGCards/TimeZones/America/Indiana/Indianapolis.ics create mode 100644 SOPE/NGCards/TimeZones/America/Indiana/Knox.ics create mode 100644 SOPE/NGCards/TimeZones/America/Indiana/Marengo.ics create mode 100644 SOPE/NGCards/TimeZones/America/Indiana/Petersburg.ics create mode 100644 SOPE/NGCards/TimeZones/America/Indiana/Tell_City.ics create mode 100644 SOPE/NGCards/TimeZones/America/Indiana/Vevay.ics create mode 100644 SOPE/NGCards/TimeZones/America/Indiana/Vincennes.ics create mode 100644 SOPE/NGCards/TimeZones/America/Indiana/Winamac.ics create mode 100644 SOPE/NGCards/TimeZones/America/Kentucky/Louisville.ics create mode 100644 SOPE/NGCards/TimeZones/America/Kentucky/Monticello.ics create mode 100644 SOPE/NGCards/TimeZones/America/North_Dakota/Center.ics create mode 100644 SOPE/NGCards/TimeZones/America/North_Dakota/New_Salem.ics diff --git a/ChangeLog b/ChangeLog index 8fbba8079..31e3737cf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2009-10-20 Ludovic Marcotte + + * Added missing timezones + * SoObjects/SOGo/SOGoParentFolder.m: + -davCreateCollection:inContext: + We check, prior to creating the resource, if + where we create it is a supported target. + 2009-10-19 Francis Lachapelle * SoObjects/SOGo/NSCalendarDate+SOGo.m: lower the values of diff --git a/SOPE/NGCards/TimeZones/America/Indiana/Indianapolis.ics b/SOPE/NGCards/TimeZones/America/Indiana/Indianapolis.ics new file mode 100644 index 000000000..66cfed045 --- /dev/null +++ b/SOPE/NGCards/TimeZones/America/Indiana/Indianapolis.ics @@ -0,0 +1,22 @@ +BEGIN:VCALENDAR +PRODID:-//Inverse inc.//NONSGML SOGo//EN +VERSION:2.0 +BEGIN:VTIMEZONE +TZID:/inverse.ca/20091015_1/America/Indiana/Indianapolis +X-LIC-LOCATION:America/Indiana/Indianapolis +BEGIN:DAYLIGHT +TZOFFSETFROM:-0500 +TZOFFSETTO:-0400 +TZNAME:EDT +DTSTART:19700308T020000 +RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU +END:DAYLIGHT +BEGIN:STANDARD +TZOFFSETFROM:-0400 +TZOFFSETTO:-0500 +TZNAME:EST +DTSTART:19701101T020000 +RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU +END:STANDARD +END:VTIMEZONE +END:VCALENDAR diff --git a/SOPE/NGCards/TimeZones/America/Indiana/Knox.ics b/SOPE/NGCards/TimeZones/America/Indiana/Knox.ics new file mode 100644 index 000000000..d11c8c25d --- /dev/null +++ b/SOPE/NGCards/TimeZones/America/Indiana/Knox.ics @@ -0,0 +1,22 @@ +BEGIN:VCALENDAR +PRODID:-//Inverse inc.//NONSGML SOGo//EN +VERSION:2.0 +BEGIN:VTIMEZONE +TZID:/inverse.ca/20091015_1/America/Indiana/Knox +X-LIC-LOCATION:America/Indiana/Knox +BEGIN:DAYLIGHT +TZOFFSETFROM:-0600 +TZOFFSETTO:-0500 +TZNAME:CDT +DTSTART:19700308T020000 +RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU +END:DAYLIGHT +BEGIN:STANDARD +TZOFFSETFROM:-0500 +TZOFFSETTO:-0600 +TZNAME:CST +DTSTART:19701101T020000 +RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU +END:STANDARD +END:VTIMEZONE +END:VCALENDAR diff --git a/SOPE/NGCards/TimeZones/America/Indiana/Marengo.ics b/SOPE/NGCards/TimeZones/America/Indiana/Marengo.ics new file mode 100644 index 000000000..7213cb892 --- /dev/null +++ b/SOPE/NGCards/TimeZones/America/Indiana/Marengo.ics @@ -0,0 +1,22 @@ +BEGIN:VCALENDAR +PRODID:-//Inverse inc.//NONSGML SOGo//EN +VERSION:2.0 +BEGIN:VTIMEZONE +TZID:/inverse.ca/20091015_1/America/Indiana/Marengo +X-LIC-LOCATION:America/Indiana/Marengo +BEGIN:DAYLIGHT +TZOFFSETFROM:-0500 +TZOFFSETTO:-0400 +TZNAME:EDT +DTSTART:19700308T020000 +RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU +END:DAYLIGHT +BEGIN:STANDARD +TZOFFSETFROM:-0400 +TZOFFSETTO:-0500 +TZNAME:EST +DTSTART:19701101T020000 +RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU +END:STANDARD +END:VTIMEZONE +END:VCALENDAR diff --git a/SOPE/NGCards/TimeZones/America/Indiana/Petersburg.ics b/SOPE/NGCards/TimeZones/America/Indiana/Petersburg.ics new file mode 100644 index 000000000..1249f406a --- /dev/null +++ b/SOPE/NGCards/TimeZones/America/Indiana/Petersburg.ics @@ -0,0 +1,22 @@ +BEGIN:VCALENDAR +PRODID:-//Inverse inc.//NONSGML SOGo//EN +VERSION:2.0 +BEGIN:VTIMEZONE +TZID:/inverse.ca/20091015_1/America/Indiana/Petersburg +X-LIC-LOCATION:America/Indiana/Petersburg +BEGIN:DAYLIGHT +TZOFFSETFROM:-0500 +TZOFFSETTO:-0400 +TZNAME:EDT +DTSTART:19700308T020000 +RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU +END:DAYLIGHT +BEGIN:STANDARD +TZOFFSETFROM:-0400 +TZOFFSETTO:-0500 +TZNAME:EST +DTSTART:19701101T020000 +RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU +END:STANDARD +END:VTIMEZONE +END:VCALENDAR diff --git a/SOPE/NGCards/TimeZones/America/Indiana/Tell_City.ics b/SOPE/NGCards/TimeZones/America/Indiana/Tell_City.ics new file mode 100644 index 000000000..662c4b89d --- /dev/null +++ b/SOPE/NGCards/TimeZones/America/Indiana/Tell_City.ics @@ -0,0 +1,22 @@ +BEGIN:VCALENDAR +PRODID:-//Inverse inc.//NONSGML SOGo//EN +VERSION:2.0 +BEGIN:VTIMEZONE +TZID:/inverse.ca/20091015_1/America/Indiana/Tell_City +X-LIC-LOCATION:America/Indiana/Tell_City +BEGIN:DAYLIGHT +TZOFFSETFROM:-0600 +TZOFFSETTO:-0500 +TZNAME:CDT +DTSTART:19700308T020000 +RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU +END:DAYLIGHT +BEGIN:STANDARD +TZOFFSETFROM:-0500 +TZOFFSETTO:-0600 +TZNAME:CST +DTSTART:19701101T020000 +RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU +END:STANDARD +END:VTIMEZONE +END:VCALENDAR diff --git a/SOPE/NGCards/TimeZones/America/Indiana/Vevay.ics b/SOPE/NGCards/TimeZones/America/Indiana/Vevay.ics new file mode 100644 index 000000000..b307c9730 --- /dev/null +++ b/SOPE/NGCards/TimeZones/America/Indiana/Vevay.ics @@ -0,0 +1,22 @@ +BEGIN:VCALENDAR +PRODID:-//Inverse inc.//NONSGML SOGo//EN +VERSION:2.0 +BEGIN:VTIMEZONE +TZID:/inverse.ca/20091015_1/America/Indiana/Vevay +X-LIC-LOCATION:America/Indiana/Vevay +BEGIN:DAYLIGHT +TZOFFSETFROM:-0500 +TZOFFSETTO:-0400 +TZNAME:EDT +DTSTART:19700308T020000 +RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU +END:DAYLIGHT +BEGIN:STANDARD +TZOFFSETFROM:-0400 +TZOFFSETTO:-0500 +TZNAME:EST +DTSTART:19701101T020000 +RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU +END:STANDARD +END:VTIMEZONE +END:VCALENDAR diff --git a/SOPE/NGCards/TimeZones/America/Indiana/Vincennes.ics b/SOPE/NGCards/TimeZones/America/Indiana/Vincennes.ics new file mode 100644 index 000000000..9ab9f1050 --- /dev/null +++ b/SOPE/NGCards/TimeZones/America/Indiana/Vincennes.ics @@ -0,0 +1,22 @@ +BEGIN:VCALENDAR +PRODID:-//Inverse inc.//NONSGML SOGo//EN +VERSION:2.0 +BEGIN:VTIMEZONE +TZID:/inverse.ca/20091015_1/America/Indiana/Vincennes +X-LIC-LOCATION:America/Indiana/Vincennes +BEGIN:DAYLIGHT +TZOFFSETFROM:-0500 +TZOFFSETTO:-0400 +TZNAME:EDT +DTSTART:19700308T020000 +RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU +END:DAYLIGHT +BEGIN:STANDARD +TZOFFSETFROM:-0400 +TZOFFSETTO:-0500 +TZNAME:EST +DTSTART:19701101T020000 +RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU +END:STANDARD +END:VTIMEZONE +END:VCALENDAR diff --git a/SOPE/NGCards/TimeZones/America/Indiana/Winamac.ics b/SOPE/NGCards/TimeZones/America/Indiana/Winamac.ics new file mode 100644 index 000000000..b3cd69ff1 --- /dev/null +++ b/SOPE/NGCards/TimeZones/America/Indiana/Winamac.ics @@ -0,0 +1,22 @@ +BEGIN:VCALENDAR +PRODID:-//Inverse inc.//NONSGML SOGo//EN +VERSION:2.0 +BEGIN:VTIMEZONE +TZID:/inverse.ca/20091015_1/America/Indiana/Winamac +X-LIC-LOCATION:America/Indiana/Winamac +BEGIN:STANDARD +TZOFFSETFROM:-0400 +TZOFFSETTO:-0500 +TZNAME:EST +DTSTART:19701101T020000 +RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU +END:STANDARD +BEGIN:DAYLIGHT +TZOFFSETFROM:-0500 +TZOFFSETTO:-0400 +TZNAME:EDT +DTSTART:19700308T020000 +RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU +END:DAYLIGHT +END:VTIMEZONE +END:VCALENDAR diff --git a/SOPE/NGCards/TimeZones/America/Kentucky/Louisville.ics b/SOPE/NGCards/TimeZones/America/Kentucky/Louisville.ics new file mode 100644 index 000000000..ed1b8dee1 --- /dev/null +++ b/SOPE/NGCards/TimeZones/America/Kentucky/Louisville.ics @@ -0,0 +1,22 @@ +BEGIN:VCALENDAR +PRODID:-//Inverse inc.//NONSGML SOGo//EN +VERSION:2.0 +BEGIN:VTIMEZONE +TZID:/inverse.ca/20091015_1/America/Kentucky/Louisville +X-LIC-LOCATION:America/Kentucky/Louisville +BEGIN:DAYLIGHT +TZOFFSETFROM:-0500 +TZOFFSETTO:-0400 +TZNAME:EDT +DTSTART:19700308T020000 +RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU +END:DAYLIGHT +BEGIN:STANDARD +TZOFFSETFROM:-0400 +TZOFFSETTO:-0500 +TZNAME:EST +DTSTART:19701101T020000 +RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU +END:STANDARD +END:VTIMEZONE +END:VCALENDAR diff --git a/SOPE/NGCards/TimeZones/America/Kentucky/Monticello.ics b/SOPE/NGCards/TimeZones/America/Kentucky/Monticello.ics new file mode 100644 index 000000000..6b970398c --- /dev/null +++ b/SOPE/NGCards/TimeZones/America/Kentucky/Monticello.ics @@ -0,0 +1,22 @@ +BEGIN:VCALENDAR +PRODID:-//Inverse inc.//NONSGML SOGo//EN +VERSION:2.0 +BEGIN:VTIMEZONE +TZID:/inverse.ca/20091015_1/America/Kentucky/Monticello +X-LIC-LOCATION:America/Kentucky/Monticello +BEGIN:DAYLIGHT +TZOFFSETFROM:-0500 +TZOFFSETTO:-0400 +TZNAME:EDT +DTSTART:19700308T020000 +RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU +END:DAYLIGHT +BEGIN:STANDARD +TZOFFSETFROM:-0400 +TZOFFSETTO:-0500 +TZNAME:EST +DTSTART:19701101T020000 +RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU +END:STANDARD +END:VTIMEZONE +END:VCALENDAR diff --git a/SOPE/NGCards/TimeZones/America/North_Dakota/Center.ics b/SOPE/NGCards/TimeZones/America/North_Dakota/Center.ics new file mode 100644 index 000000000..937946a2e --- /dev/null +++ b/SOPE/NGCards/TimeZones/America/North_Dakota/Center.ics @@ -0,0 +1,22 @@ +BEGIN:VCALENDAR +PRODID:-//Inverse inc.//NONSGML SOGo//EN +VERSION:2.0 +BEGIN:VTIMEZONE +TZID:/inverse.ca/20091015_1/America/North_Dakota/Center +X-LIC-LOCATION:America/North_Dakota/Center +BEGIN:DAYLIGHT +TZOFFSETFROM:-0600 +TZOFFSETTO:-0500 +TZNAME:CDT +DTSTART:19700308T020000 +RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU +END:DAYLIGHT +BEGIN:STANDARD +TZOFFSETFROM:-0500 +TZOFFSETTO:-0600 +TZNAME:CST +DTSTART:19701101T020000 +RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU +END:STANDARD +END:VTIMEZONE +END:VCALENDAR diff --git a/SOPE/NGCards/TimeZones/America/North_Dakota/New_Salem.ics b/SOPE/NGCards/TimeZones/America/North_Dakota/New_Salem.ics new file mode 100644 index 000000000..8bbbf5a1c --- /dev/null +++ b/SOPE/NGCards/TimeZones/America/North_Dakota/New_Salem.ics @@ -0,0 +1,22 @@ +BEGIN:VCALENDAR +PRODID:-//Inverse inc.//NONSGML SOGo//EN +VERSION:2.0 +BEGIN:VTIMEZONE +TZID:/inverse.ca/20091015_1/America/North_Dakota/New_Salem +X-LIC-LOCATION:America/North_Dakota/New_Salem +BEGIN:DAYLIGHT +TZOFFSETFROM:-0600 +TZOFFSETTO:-0500 +TZNAME:CDT +DTSTART:19700308T020000 +RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU +END:DAYLIGHT +BEGIN:STANDARD +TZOFFSETFROM:-0500 +TZOFFSETTO:-0600 +TZNAME:CST +DTSTART:19701101T020000 +RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU +END:STANDARD +END:VTIMEZONE +END:VCALENDAR diff --git a/SoObjects/SOGo/SOGoParentFolder.m b/SoObjects/SOGo/SOGoParentFolder.m index e4c6dfd77..26504d199 100644 --- a/SoObjects/SOGo/SOGoParentFolder.m +++ b/SoObjects/SOGo/SOGoParentFolder.m @@ -20,6 +20,7 @@ * Boston, MA 02111-1307, USA. */ +#import #import #import #import @@ -28,6 +29,7 @@ #import #import #import +#import #import #import #import @@ -452,6 +454,7 @@ static SoSecurityManager *sm = nil; rc = NO; +#warning check error here error = [self initSubFolders]; subs = [subFolders allValues]; @@ -481,7 +484,76 @@ static SoSecurityManager *sm = nil; - (NSException *) davCreateCollection: (NSString *) pathInfo inContext: (WOContext *) localContext -{ +{ + id document; + // + // We check if we got a MKCOL with the addressbook resource on the + // calendar-homeset collection (/Calendar). If so, we abort the + // operation and return the proper error code. + // + // See http://tools.ietf.org/html/rfc5689 for all details. + // + document = [[localContext request] contentAsDOMDocument]; + + // If a payload was specified, lets get it in order to see + // if we must accept or reject the MKCOL operation. If we + // don't have any payload (what SOGo Connector / Integrators + // sends right now), we proceed as before. + if (document) + { + NSMutableArray *supportedTypes; + id children; + DOMElement *element; + NSException *error; + NSArray *allTypes; + id o; + + BOOL supported; + int i; + + error = [self initSubFolders]; + supported = YES; + + if (error) + { + [self errorWithFormat: @"a database error occured: %@", [error reason]]; + return [NSException exceptionWithHTTPStatus: 503]; + } + + // We assume "personal" exists. In fact, if it doesn't, something + // is seriously broken. + allTypes = [[subFolders objectForKey: @"personal"] davResourceType]; + supportedTypes = [NSMutableArray array]; + + for (i = 0; i < [allTypes count]; i++) + { + o = [allTypes objectAtIndex: i]; + if ([o isKindOfClass: [NSArray class]]) + o = [o objectAtIndex: 0]; + + [supportedTypes addObject: o]; + } + + children = [[(NSArray *)[[document documentElement] getElementsByTagName: @"resourcetype"] + lastObject] childNodes]; + + // We check if all the provided types are supported. + // In case one of them is not, we reject the operation. + for (i = 0; i < [children length]; i++) + { + element = [children objectAtIndex: i]; + + if ([element nodeType] == DOM_ELEMENT_NODE && + ![supportedTypes containsObject: [element nodeName]]) + supported = NO; + } + + if (!supported) + { + return [NSException exceptionWithHTTPStatus: 403]; + } + } + return [self newFolderWithName: pathInfo andNameInContainer: pathInfo]; } diff --git a/debian/copyright b/debian/copyright index 7b8abffc7..b04b514d3 100644 --- a/debian/copyright +++ b/debian/copyright @@ -1,4 +1,4 @@ -This package was debianized by Cyril on +This package was debianized by Inverse on Mon, 27 Jul 2009 10:57:51 -0400. It was downloaded from http://www.scalableogo.org/fr/downloads/backend.html @@ -6,11 +6,9 @@ It was downloaded from http://www.scalableogo.org/fr/downloads/backend.html Upstream Authors: Inverse inc. - Skyric AG Copyright: - Copyright (C) 2004-2005 SKYRIX Software AG Copyright (C) 2006-2009 Inverse inc. License: @@ -29,5 +27,5 @@ License: with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -The Debian packaging is (C) 2009, Cyril and +The Debian packaging is (c) 2009, Inverse and is licensed under the GPL, see `/usr/share/common-licenses/GPL-2'.