Invitations sent twice (from TB and caldav server) when calendar associated email is wrong (case sensitive !)
Categories
(Calendar :: E-mail based Scheduling (iTIP/iMIP), defect)
Tracking
(thunderbird_esr128 fixed)
Tracking | Status | |
---|---|---|
thunderbird_esr128 | --- | fixed |
People
(Reporter: merome, Assigned: mkmelin)
References
Details
Attachments
(1 file)
48 bytes,
text/x-phabricator-request
|
corey
:
approval-comm-esr128+
|
Details | Review |
User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:124.0) Gecko/20100101 Firefox/124.0
Steps to reproduce:
- On a CALDAV server (tested here with Nextcloud 28.0.4), create a calendar associated with this email address : elton.john@somedomain.com
- On TB 115.9.0, add the caldav calendar associated with this email address : Elton.JOHN@somedomain.com (same address but some chars are uppercase)
- Check the prefer client-side email scheduling checkbox
- Create an event and invite someone@gmail.com
Actual results:
someone@gmail.com receives 2 invitations : one from Thunderbird and one from the Caldav server.
elton.john@somedomain.com also receives a Thunderbird forged invitation coming from Elton.JOHN@somedomain.com (uppercase)
Expected results:
As we have checked client-side scheduling, only one invitation should have been sent, by Thunderbird only and to someone@gmail.com only.
Here is some relevant additional information :
When TB sends the VCALENDAR Object to the caldav server, he "forgets" to set the "SCHEDULE-AGENT=CLIENT" information, we can see it on the Network console :
When the caldav server address === TB calendar address, all is fine, attendees have both "SCHEDULE-AGENT=CLIENT" information :
UID:44e971c3-b3be-45ff-b9b8-8c0921004be9
SUMMARY:test
ORGANIZER;PARTSTAT=NEEDS-ACTION;CUTYPE=INDIVIDUAL:mailto:elton.john@somedomain.com
ATTENDEE;PARTSTAT=ACCEPTED;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;SCHEDULE-
AGENT=CLIENT:mailto:elton.john@somedomain.com
ATTENDEE;CN=Someone;PARTSTAT=NEEDS-ACTION;CUTYPE=INDIVIDUAL;ROLE=REQ-
PARTICIPANT;SCHEDULE-AGENT=CLIENT:mailto:someone@gmail.com
When the caldav server address differs from the TB calendar address (uppercase on some characters), the VCAL object sent by TB to the caldav doesn't mention the "SCHEDULE-AGENT=client" anymore for the attendees and the organizer has now this flag on :
UID:48daf6b9-6016-4771-9bdf-373b4295023f
SUMMARY:test
ORGANIZER;PARTSTAT=NEEDS-ACTION;CUTYPE=INDIVIDUAL;SCHEDULE-AGENT=CLIENT:mai
lto:elton.john@somedomain.com
ATTENDEE;PARTSTAT=ACCEPTED;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT:mailto:el
ton.john@somedomain.com
ATTENDEE;CN=Someone;PARTSTAT=NEEDS-ACTION;CUTYPE=INDIVIDUAL;ROLE=REQ-
PARTICIPANT:mailto:someone@gmail.com
Note that on this VCAL object, all email address are lowercase in both case. Normalization of the addresses is processed somewhere, but at one point, Thunderbird think elton.john@somedomain.com != Elton.John@somedomain.com and it breaks the client-side scheduling.
It can be related to another "case sensitive" bug : https://bugzilla.mozilla.org/show_bug.cgi?id=1878944
Assignee | ||
Comment 2•10 months ago
|
||
Tested on TB 128.0esr, the problem is still present.
Workaround for Nextcloud users :
in protected function parseEventInfo(VCalendar $calendar = null) in the file /var/www/nextcloud/3rdparty/sabre/vobject/lib/ITip/Broker.php
after
if ($this->scheduleAgentServerRules &&
isset($attendee['SCHEDULE-AGENT']) &&
'CLIENT' === strtoupper($attendee['SCHEDULE-AGENT']->getValue())
) {
continue;
}
Add these lines
// Prevent Nextcloud to send invitation already sent by Thunderbird when associated email address is not exactly the same
if(strpos(strtolower($calendar->PRODID),"mozilla")!==false)
{
continue;
}
Bug #1878944 seems to be resolved on TB128, so there is no relation between these 2 bugs.
Thunderbird 128.4.3 / Nextcloud 30.0.2
I've just upgraded Nextcloud from 29.X to 30.0.2 and I forgot to apply my dirty patch mentioned above. Immediately, new invitations are coming twice.
Same problem with accept/decline message => they are received twice by the organizer.
Assignee | ||
Comment 5•19 days ago
|
||
Fix some case sensitivity issues.
Updated•19 days ago
|
Assignee | ||
Updated•19 days ago
|
Pushed by mkmelin@iki.fi:
https://hg.mozilla.org/comm-central/rev/13a73a665f73
Invitations sent twice (from TB and caldav server) when calendar associated email does not case match exact case. r=arschmitz
Assignee | ||
Comment 7•12 days ago
|
||
Comment on attachment 9445658 [details]
Bug 1889607 - Invitations sent twice (from TB and caldav server) when calendar associated email does not case match exact case. r=#thunderbird-reviewers
[Approval Request Comment]
User impact if declined: may get double invitations
Testing completed (on c-c, etc.): c-c, beta
Risk to taking this patch (and alternatives if risky): safe, just case sensitivity ignoring in lookup
Comment 8•5 days ago
|
||
Comment on attachment 9445658 [details]
Bug 1889607 - Invitations sent twice (from TB and caldav server) when calendar associated email does not case match exact case. r=#thunderbird-reviewers
[Triage Comment]
Approved for esr128
Comment 9•1 hour ago
|
||
bugherder uplift |
Thunderbird 128.6.1esr:
https://hg.mozilla.org/releases/comm-esr128/rev/22b3993f9f39
Description
•