Base64 attachments in events are treated as URLs (NS_ERROR_MALFORMED_URI thrown when parsing ICS)

RESOLVED DUPLICATE of bug 168680

Status

Calendar
E-mail based Scheduling (iTIP/iMIP)
RESOLVED DUPLICATE of bug 168680
9 years ago
8 years ago

People

(Reporter: Parasyte, Unassigned)

Tracking

(Blocks: 1 bug)

Dependency tree / graph

Details

Attachments

(1 attachment)

(Reporter)

Description

9 years ago
User-Agent:       Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.1pre) Gecko/20090630 Shiretoko/3.5.1pre
Build Identifier: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.1.1pre) Gecko/20090710 Lightning/1.0pre Shredder/3.0b3pre

When receiving event invitations from other mail clients (in this case, Novell Groupwise 8.0.0) that have attached files, Calendar simply ignores the attachments when the event is added to the local calendar store.

If the event is added to a remote ICS calendar (or exported to ICS from the local store), the ICS field:

ATTACH;VALUE=BINARY;ENCODING=BASE64;ID=TEXT.htm:ERROR: No Value

Will be created. See attached test.ics file; the "ERROR: No Value" is put in place of the original Base64 content.

When attempting to re-parse the ICS file, an NS_ERROR_MALFORMED_URI exception is thrown (see Bug 496699 comment #1). Which causes none of the calendar events to be displayed.

Reproducible: Always

Steps to Reproduce:
1. Create a new calendar in your local store
2. Import test.ics into the new calendar you just created
3. Export the calendar with the event to another ICS file
4. Attempt to import the newly exported ICS file
Actual Results:  
During step 3, the Base64-encoded attachment is replaced with "Error: No Value"
After step 4, I received the following error dialog (as of latest-comm-1.9.1 20090717):

Unable to read from file:/home/osterj/Desktop/Test.ics
[Exception... "Component returned failure code: 0x804b000a (NS_ERROR_MALFORMED_URI) [nsIIOService.newURI]"  nsresult: "0x804b000a (NS_ERROR_MALFORMED_URI)"  location: "JS frame :: file:///home/osterj/.thunderbird/8fk7mxvb.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/modules/calUtils.jsm -> file:///home/osterj/.thunderbird/8fk7mxvb.default/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/calendar-js/calUtils.js :: makeURL :: line 335"  data: no]

Expected Results:  
The Base64-encoded content in the ATTACH field should be kept, and (at the very least) ignored, instead of throwing an exception by attempting to treat it as a URL.

The STR is similar to what happens in our [real-world] environment; We receive calendar events from outside agencies, the events are saved to a remote ICS file (creating the bad Base64 data), then Lightning chokes when trying to re-parse it later.
(Reporter)

Comment 1

9 years ago
Created attachment 389154 [details]
test.ics for STR
(Reporter)

Updated

9 years ago
Blocks: 168680
Depends on: 496699
Version: unspecified → Trunk
Attachment #389154 - Attachment mime type: text/calendar → text/plain
This is a "duplicate" of bug 168680. We don't support file attachments yet, and I believe the underlying libical also doesn't support it. Not sure there is much we can do without fixing that bug. Thank you for your understanding!
Status: UNCONFIRMED → RESOLVED
Last Resolved: 8 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 168680
You need to log in before you can comment on or make changes to this bug.