6.0.0-beta1
7/8/25

[#14221] Missing DTSTART-Tags ind Caldav Vtimezone description
Summary Missing DTSTART-Tags ind Caldav Vtimezone description
Queue Horde Framework Packages
Type Bug
State Resolved
Priority 2. Medium
Owners jan (at) horde (dot) org, mrubinsk (at) horde (dot) org
Requester nobody (at) nobody (dot) com
Created 01/11/2016 (3466 days ago)
Due
Updated 01/15/2016 (3462 days ago)
Assigned 01/12/2016 (3465 days ago)
Resolved 01/13/2016 (3464 days ago)
Github Issue Link
Github Pull Request
Milestone Horde_Timezone 1.0.10
Patch No

History
01/15/2016 02:03:17 PM Git Commit Comment #7 Reply to this comment
Changes have been made in Git (master):

commit b6400cf7c0359c437dc753c4f1d96c9eb762a00e
Author: Michael J Rubinsky <mrubinsk@horde.org>
Date:   Fri Jan 15 09:02:44 2016 -0500

     Verified Bug: 14162 also fixed by Bug: 14221

  .../Timezone/test/Horde/Timezone/IcalendarTest.php |    8 +
  .../Timezone/test/Horde/Timezone/fixtures/uruguay  |   86 ++++++
  .../test/Horde/Timezone/fixtures/uruguay.ics       |  308 
++++++++++++++++++++
  3 files changed, 402 insertions(+), 0 deletions(-)

http://github.com/horde/horde/commit/b6400cf7c0359c437dc753c4f1d96c9eb762a00e
01/13/2016 11:55:27 AM Jan Schneider State ⇒ Resolved
Milestone ⇒ Horde_Timezone 1.0.10
 
01/13/2016 11:54:59 AM Jan Schneider Version ⇒
Queue ⇒ Horde Framework Packages
 
01/13/2016 11:54:38 AM Git Commit Comment #6 Reply to this comment
Changes have been made in Git (master):

commit 3327333b561175a5cc410fad6780615f5619b10c
Author: Jan Schneider <jan@horde.org>
Date:   Wed Jan 13 12:39:12 2016 +0100

     We already had a rule for rules that start on a certain date.

     We just didn't catch when this rule lasted for more than one 
year. So move the new code to the earlier section.

     Bug: 14221

  framework/Timezone/lib/Horde/Timezone/Rule.php |   64 
++++++++++--------------
  1 files changed, 27 insertions(+), 37 deletions(-)

http://github.com/horde/horde/commit/3327333b561175a5cc410fad6780615f5619b10c
01/12/2016 04:07:22 PM Michael Rubinsky Comment #5
State ⇒ Feedback
Reply to this comment
Jan,

When you get a chance, can you sanity check this?
01/12/2016 04:06:20 PM Git Commit Comment #4 Reply to this comment
Changes have been made in Git (master):

commit f53772913b782d9eb189b56a2916dd1c94700e9d
Author: Michael J Rubinsky <mrubinsk@horde.org>
Date:   Tue Jan 12 11:04:55 2016 -0500

     Add test for Bug: 14221

  .../Timezone/test/Horde/Timezone/IcalendarTest.php |   10 +
  .../Timezone/test/Horde/Timezone/fixtures/budapest |  127 ++++++++++++
  .../test/Horde/Timezone/fixtures/budapest.ics      |  213 
++++++++++++++++++++
  3 files changed, 350 insertions(+), 0 deletions(-)

http://github.com/horde/horde/commit/f53772913b782d9eb189b56a2916dd1c94700e9d
01/12/2016 04:06:15 PM Git Commit Comment #3 Reply to this comment
Changes have been made in Git (master):

commit 3e2b25d6e468a4b94261d2437f035a3ac046aeee
Author: Michael J Rubinsky <mrubinsk@horde.org>
Date:   Tue Jan 12 11:02:39 2016 -0500

     Fix (workaround?) some Rule descriptors that end on specific day of month.

     Not 100% sure the resulting rule is accurate, but the affected Rule
     lines seem strange to begin with, and the resulting rules sort-of
     match the output of zdump for the same time period. Either way,
     this fixes the generation of broken VTIMEZONE components for
     these zones.

     See Bug: 14221

  framework/Timezone/lib/Horde/Timezone/Rule.php |   32 
++++++++++++++++++++++++
  1 files changed, 32 insertions(+), 0 deletions(-)

http://github.com/horde/horde/commit/3e2b25d6e468a4b94261d2437f035a3ac046aeee
01/12/2016 02:07:28 PM Michael Rubinsky Comment #2
Assigned to Jan Schneider
Assigned to Michael Rubinsky
State ⇒ Assigned
Reply to this comment
These zones are built directly from the timezone (olsen) database. 
However, I can verify that a number of the "Rule" entries cause 
corresponding vTimezone entries that contain no DTSTART time.

Using your example of Europe/Budapest the missing DTSTART entries are 
caused by:

Rule        Hungary        1954        1955        -        May        23         0:00        1:00        S
Rule        Hungary        1954        1955        -        Oct         3         0:00        0        -

Not familiar enough with the parsing code (yet) to figure this out, 
but I'll work it.
01/11/2016 09:02:24 PM nobody (at) nobody (dot) com Comment #1
State ⇒ Unconfirmed
Patch ⇒ No
Milestone ⇒
Queue ⇒ Kronolith
Summary ⇒ Missing DTSTART-Tags ind Caldav Vtimezone description
Type ⇒ Bug
Priority ⇒ 2. Medium
Reply to this comment
Hi,

in quite some timezone descriptions there are missing DTSTART-Tags.

Since this makes sync break I consider this bug as quite important.

Of course I did not check all timezones. Given the fact that I just 
checked this 2 timezones (plus there had been problems before) and 
found errors I suggest to check all of them.

Europe/Budapest:
***
BEGIN:VTIMEZONE
TZID:Europe/Budapest
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
DTSTART:19160430T230000
TZNAME:CEST
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
DTSTART:19161001T010000
TZNAME:CE-T
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
DTSTART:19170416T020000
RRULE:FREQ=YEARLY;BYMONTH=4;BYMONTHDAY=15,16,17,18,19,20,21;BYDAY=1MO;UNTIL
=19180421T000000Z
TZNAME:CEST
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
DTSTART:19170917T020000
RRULE:FREQ=YEARLY;BYMONTH=9;BYMONTHDAY=15,16,17,18,19,20,21;BYDAY=1MO;UNTIL
=19180915T000000Z
TZNAME:CE-T
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
DTSTART:19180401T030000
TZNAME:CEST
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
DTSTART:19180916T030000
TZNAME:CE-T
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
DTSTART:19190415T030000
TZNAME:CEST
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
DTSTART:19191124T030000
TZNAME:CE-T
END:STANDARD
BEGIN:STANDARD
TZOFFSETFROM:+0100
TZOFFSETTO:+0100
DTSTART:19421102T020000
TZNAME:CE-T
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
DTSTART:19430329T020000
TZNAME:CEST
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
DTSTART:19431004T020000
TZNAME:CE-T
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
DTSTART:19440403T020000
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1MO;UNTIL=19450401T010000Z
TZNAME:CEST
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
DTSTART:19441002T020000
TZNAME:CE-T
END:STANDARD
BEGIN:STANDARD
TZOFFSETFROM:+0100
TZOFFSETTO:+0100
DTSTART:19450916T020000
TZNAME:CE-T
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
DTSTART:19450501T230000
TZNAME:CEST
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
DTSTART:19451101T000000
TZNAME:CE-T
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
DTSTART:19460331T020000
TZNAME:CEST
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
DTSTART:19461006T020000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=1SU;UNTIL=19491002T010000Z
TZNAME:CE-T
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
DTSTART:19470406T020000
RRULE:FREQ=YEARLY;BYMONTH=4;BYMONTHDAY=4,5,6,7,8,9,10;BYDAY=1SU;UNTIL=19490
410T010000Z
TZNAME:CEST
END:DAYLIGHT
BEGIN:DAYLIGHT
TZOFFSETFROM:+0200
TZOFFSETTO:+0200
DTSTART:19500417T020000
TZNAME:CEST
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
DTSTART:19501023T020000
TZNAME:CE-T
END:STANDARD
       BEGIN:DAYLIGHT
       TZOFFSETFROM:+0100
       TZOFFSETTO:+0200
       TZNAME:CEST
       END:DAYLIGHT
       BEGIN:STANDARD
       TZOFFSETFROM:+0200
       TZOFFSETTO:+0100
       TZNAME:CE-T
       END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
DTSTART:19560603T000000
RRULE:FREQ=YEARLY;BYMONTH=6;BYDAY=1SU;UNTIL=19560602T230000Z
TZNAME:CEST
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
DTSTART:19560930T000000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=9;UNTIL=19560929T230000Z
TZNAME:CE-T
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
DTSTART:19570602T010000
RRULE:FREQ=YEARLY;BYMONTH=6;BYDAY=1SU;UNTIL=19570602T000000Z
TZNAME:CEST
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
DTSTART:19570929T030000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=9;UNTIL=19570929T020000Z
TZNAME:CE-T
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
DTSTART:19800406T010000
TZNAME:CEST
END:DAYLIGHT
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
DTSTART:19800406T010000
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU;UNTIL=19800406T000000Z
TZNAME:CEST
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
DTSTART:19800928T010000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=9;UNTIL=19950923T230000Z
TZNAME:CE-T
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
DTSTART:19810329T010000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
TZNAME:CEST
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
DTSTART:19961027T010000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
TZNAME:CE-T
END:STANDARD
END:VTIMEZONE
***

Amsterdam:
***
BEGIN:VTIMEZONE
TZID:Europe/Amsterdam
BEGIN:DAYLIGHT
TZOFFSETFROM:+0019
TZOFFSETTO:+0119
DTSTART:19160501T000000
TZNAME:NST
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0119
TZOFFSETTO:+0019
DTSTART:19161001T000000
TZNAME:AMT
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0019
TZOFFSETTO:+0119
DTSTART:19170416T020000
TZNAME:NST
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0119
TZOFFSETTO:+0019
DTSTART:19170917T020000
TZNAME:AMT
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0019
TZOFFSETTO:+0119
DTSTART:19180401T020000
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1MO;UNTIL=19210403T014028Z
TZNAME:NST
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0119
TZOFFSETTO:+0019
DTSTART:19180930T020000
RRULE:FREQ=YEARLY;BYDAY=-1MO;BYMONTH=9;UNTIL=19210926T014028Z
TZNAME:AMT
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0019
TZOFFSETTO:+0119
DTSTART:19220326T020000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3;UNTIL=19220326T014028Z
TZNAME:NST
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0119
TZOFFSETTO:+0019
DTSTART:19221008T020000
RRULE:FREQ=YEARLY;BYMONTH=10;BYMONTHDAY=2,3,4,5,6,7,8;BYDAY=1SU;UNTIL=19361
004T014028Z
TZNAME:AMT
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0019
TZOFFSETTO:+0119
DTSTART:19230601T020000
RRULE:FREQ=YEARLY;BYMONTH=6;BYDAY=1FR;UNTIL=19230603T004028Z
TZNAME:NST
END:DAYLIGHT
BEGIN:DAYLIGHT
TZOFFSETFROM:+0119
TZOFFSETTO:+0119
DTSTART:19240330T020000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3;UNTIL=19240330T014028Z
TZNAME:NST
END:DAYLIGHT
BEGIN:DAYLIGHT
TZOFFSETFROM:+0119
TZOFFSETTO:+0119
DTSTART:19250605T020000
RRULE:FREQ=YEARLY;BYMONTH=6;BYDAY=1FR;UNTIL=19250607T004028Z
TZNAME:NST
END:DAYLIGHT
       BEGIN:DAYLIGHT
       TZOFFSETFROM:+0119
       TZOFFSETTO:+0119
       TZNAME:NST
       END:DAYLIGHT
BEGIN:DAYLIGHT
TZOFFSETFROM:+0119
TZOFFSETTO:+0119
DTSTART:19320522T020000
TZNAME:NST
END:DAYLIGHT
       BEGIN:DAYLIGHT
       TZOFFSETFROM:+0119
       TZOFFSETTO:+0119
       TZNAME:NST
       END:DAYLIGHT
BEGIN:DAYLIGHT
TZOFFSETFROM:+0119
TZOFFSETTO:+0119
DTSTART:19370522T020000
TZNAME:NST
END:DAYLIGHT
BEGIN:DAYLIGHT
TZOFFSETFROM:+0119
TZOFFSETTO:+0119
DTSTART:19370701T000000
TZNAME:S
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0119
TZOFFSETTO:+0019
DTSTART:19371003T020000
RRULE:FREQ=YEARLY;BYMONTH=10;BYMONTHDAY=2,3,4,5,6,7,8;BYDAY=1SU;UNTIL=19391
008T014000Z
TZNAME:-
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0020
TZOFFSETTO:+0120
DTSTART:19370522T020000
TZNAME:NENSTT
END:DAYLIGHT
BEGIN:DAYLIGHT
TZOFFSETFROM:+0120
TZOFFSETTO:+0120
DTSTART:19370701T000000
TZNAME:NEST
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0120
TZOFFSETTO:+0020
DTSTART:19371003T020000
RRULE:FREQ=YEARLY;BYMONTH=10;BYMONTHDAY=2,3,4,5,6,7,8;BYDAY=1SU;UNTIL=19391
008T014000Z
TZNAME:NE-T
END:STANDARD
       BEGIN:DAYLIGHT
       TZOFFSETFROM:+0020
       TZOFFSETTO:+0120
       TZNAME:NEST
       END:DAYLIGHT
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
DTSTART:19400401T020000
TZNAME:CEST
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
DTSTART:19421102T020000
TZNAME:CE-T
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
DTSTART:19430329T020000
TZNAME:CEST
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
DTSTART:19431004T020000
TZNAME:CE-T
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
DTSTART:19440403T020000
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1MO;UNTIL=19450401T010000Z
TZNAME:CEST
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
DTSTART:19441002T020000
TZNAME:CE-T
END:STANDARD
BEGIN:STANDARD
TZOFFSETFROM:+0100
TZOFFSETTO:+0100
DTSTART:19450916T020000
TZNAME:CE-T
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
DTSTART:19450402T020000
TZNAME:CEST
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
DTSTART:19450916T020000
TZNAME:CE-T
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
DTSTART:19770403T010000
RRULE:FREQ=YEARLY;BYMONTH=4;BYDAY=1SU;UNTIL=19800406T000000Z
TZNAME:CEST
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
DTSTART:19770925T010000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=9;UNTIL=19770924T230000Z
TZNAME:CE-T
END:STANDARD
BEGIN:STANDARD
TZOFFSETFROM:+0100
TZOFFSETTO:+0100
DTSTART:19781001T010000
TZNAME:CE-T
END:STANDARD
BEGIN:STANDARD
TZOFFSETFROM:+0100
TZOFFSETTO:+0100
DTSTART:19790930T010000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=9;UNTIL=19950923T230000Z
TZNAME:CE-T
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
DTSTART:19810329T010000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
TZNAME:CEST
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
DTSTART:19961027T010000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
TZNAME:CE-T
END:STANDARD
END:VTIMEZONE
***

Saved Queries