Closed Bug 722635 Opened 8 years ago Closed 8 years ago

MODIFICATION_FAILED when writing to the Oracle stbeehive caldav server ["SENT-BY" must be enclosed in DQuotes]

Categories

(Calendar :: General, defect, critical)

Lightning 1.2
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: lin.ma, Assigned: Fallen)

References

Details

Attachments

(1 file)

User Agent: Mozilla/5.0 (X11; SunOS i86pc; rv:9.0.1) Gecko/20100101 Firefox/9.0.1
Build ID: 20120110095621

Steps to reproduce:

Update tasks e.g. status to complete on oracle stbeehive caldav server.


Actual results:

An error is returned:
<HTML><HEAD><TITLE>400 Bad Request</TITLE></HEAD><BODY><H1>400 Bad Request</H1>oracle.ocs.tm.icalendar.exception.ICalParseException: CalAddress parameter value needs to be DQuoted.(Parameter=SENT-BY)(Parameter in comp=VTODO.prop=ORGANIZER)</BODY></HTML>
Source File: resource://calendar/modules/calUtils.jsm -> file:///usr/lib/thunderbird/extensions/%7Be2fda1a4-762b-4020-b5ad-a41df1933103%7D/calendar-js/calCalendarManager.js
Line: 1108


Expected results:

This is a regression compare to Lightning 1.0b5.
The SENT-BY info is:
ORGANIZER;SENT-BY=lin.ma@oracle.com:mailto:lin.ma@oracle.com

Compares to 1.0b6 calItipUtils.jsm where is setting "SENT-BY" property, it seems caused by 586276.
Severity: normal → critical
Priority: -- → P1
Hardware: x86 → All
Status: UNCONFIRMED → NEW
Ever confirmed: true
OS: Solaris → All
Priority: P1 → --
Product: Thunderbird → Calendar
QA Contact: general → general
Version: 10 → Lightning 1.2
sentbyparam = "SENT-BY" "=" DQUOTE cal-address DQUOTE
cal-address should be a MAILTO URL.

So I think the line should be
ORGANIZER;SENT-BY="mailto:lin.ma@oracle.com":mailto:lin.ma@oracle.com
Yeah, the quotes should be there according to spec, although its pretty strict of the server to reject it just because of the quotes.

I wonder if this is enforced by libical somehow or if we have to do it ourselves.
This seem to have been introduced by the fix for bug 719016,  The dquote are necessary because the param value should contain a scheme (ie:  a "mailto:"), since the ":" also indicates the value of the property, a parameter containing ":" must be enclosed in dquotes.
I concur (with Simon) and I would expect libical to handle this as the caller should not actually worry about the underlying constraints on the output format.
But then, of course, libical will probably not be fixed until the end of time, so I guess a work around is acceptable...
We could fix this with bug jsical...
Depends on: jsical
Attached patch Fix - v1 β€” β€” Splinter Review
This fixes the beehive issue, makes sure SENT-BY is only added when its needed, and only returns the configured identity in getUserIdentities so that when SENT-BY is required, the right address is added.
Assignee: nobody → philipp
Attachment #593556 - Flags: review?(WSourdeau)
Attachment #593556 - Flags: review?(WSourdeau) → review+
Pushed to comm-central changeset bcf13b17ca3c
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → 1.5
Backported to releases/comm-aurora changeset 2b548cb6ca5c
Target Milestone: 1.5 → 1.4
Backported to releases/comm-beta changeset 9a54a0149a3f
Target Milestone: 1.4 → 1.3
Backported to releases/comm-release changeset eeecf7cd201b for Lightning 1.2.1
Target Milestone: 1.3 → 1.2.1
Summary: MODIFICATION_FAILED when writing to the Oracle stbeehive caldav server → MODIFICATION_FAILED when writing to the Oracle stbeehive caldav server ["SENT-BY" must be enclosed in DQuotes]
Duplicate of this bug: 723663
You need to log in before you can comment on or make changes to this bug.