View Issue Details

IDProjectCategoryView StatusLast Update
0005013SOGoWeb Calendarpublic2020-05-05 14:55
Reporterpc-coholic Assigned Tofrancis  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Platform[Client] GoogleOSChromeOS Version81.0.4044.122
Product Versionnightly master 
Fixed in Version4.3.2 
Summary0005013: @ in calendar UUIDs urlencoded twice - resources not accessible
Description

This problem was observed, when an existing .ics file was imported. The file consisted of multiple events whose UIDs containted an @.

Once the import was completed, the events show up in the calendar as expected, however they cannot be edited or even inspected in the pop-up, as all clicks result in a "Not Found"-toast.

Steps To Reproduce
  1. Import .ics-file with event whose UID contains an @ (For example: Google Calendar Export)
  2. Try to click on imported event
  3. See "Not found"-message
  4. Open Inspector to see 404 response
Additional Information

With an XHR-call to http://demo.sogo.nu/SOGo/so/sogo2/Calendar/personal/7gge1c04ecv7tpteub97avovcb%2540google.com.ics/view, the problem is the %2540.

%2540 is the urlencoded form of %40, which in turn is the urlencoded version of @.

Calling the URL with just "%40" or even "@" yields the expected result.

Attached to this report is an ics-file demonstrating this issue.

TagsNo tags attached.

Activities

pc-coholic

pc-coholic

2020-05-01 17:29

reporter  

demo.ics (1,242 bytes)   
BEGIN:VCALENDAR
PRODID:-//Google Inc//Google Calendar 70.9054//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALNAME:test@foobar.de
X-WR-TIMEZONE:Europe/Berlin
BEGIN:VTIMEZONE
TZID:America/Toronto
X-LIC-LOCATION:America/Toronto
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
BEGIN:VTIMEZONE
TZID:Europe/Berlin
X-LIC-LOCATION:Europe/Berlin
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:19700329T020000
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=-1SU
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:19701025T030000
RRULE:FREQ=YEARLY;BYMONTH=10;BYDAY=-1SU
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTART;VALUE=DATE:20200513
DTEND;VALUE=DATE:20200514
DTSTAMP:20200501T170949Z
UID:7gge1c04ecv7tpteub97avovcb@google.com
CREATED:20200501T170914Z
DESCRIPTION:
LAST-MODIFIED:20200501T170914Z
LOCATION:
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:Testevent
TRANSP:TRANSPARENT
END:VEVENT
END:VCALENDAR
demo.ics (1,242 bytes)   
francis

francis

2020-05-05 14:55

administrator   ~0014305

Ref: https://github.com/inverse-inc/sogo/commit/e7da4c19b82fa9f9587f97d6ba2d4a411cc778db

Issue History

Date Modified Username Field Change
2020-05-01 17:29 pc-coholic New Issue
2020-05-01 17:29 pc-coholic File Added: demo.ics
2020-05-05 14:55 francis Assigned To => francis
2020-05-05 14:55 francis Status new => resolved
2020-05-05 14:55 francis Resolution open => fixed
2020-05-05 14:55 francis Fixed in Version => 4.3.2
2020-05-05 14:55 francis Note Added: 0014305