Closed Bug 1809755 Opened 2 years ago Closed 2 years ago

make TCPSocket work with TLS for Thunderbird

Categories

(Core :: DOM: Networking, enhancement, P3)

enhancement

Tracking

()

RESOLVED FIXED
111 Branch
Tracking Status
firefox-esr102 --- unaffected
firefox108 --- unaffected
firefox109 --- unaffected
firefox110 --- unaffected
firefox111 --- fixed

People

(Reporter: mkmelin, Assigned: KaiE, Mentored)

References

(Blocks 1 open bug)

Details

(Whiteboard: [necko-triaged])

Attachments

(1 file)

TCPSocket.upgradeToSecure doesn't work anymore after bug 1791633 - since operation happens on main thread while it should happen on socket thread.
This means Thunderbird protocols written in js and using TCPSocket don't work with STARTTLS.

Quoting Dana from bug 1801067 comment 35:
Yeah, TCPSocket should probably be fixed. Looking at
https://searchfox.org/mozilla-central/source/dom/webidl/TCPSocket.webidl, many
(all?) of those methods/attributes should probably actually return promises
instead of directly doing whatever operation on the main thread (as opposed to
the socket thread).

Set release status flags based on info from the regressing bug 1791633

:keeler, since you are the author of the regressor, bug 1791633, could you take a look? Also, could you set the severity field?

For more information, please visit auto_nag documentation.

This doesn't affect Firefox, since as far as I can tell, TCPSocket is only used for adb remote debugging, which doesn't use TLS. So, this is more of an enhancement for Thunderbird.

Type: defect → enhancement
Flags: needinfo?(dkeeler)
No longer regressed by: 1791633
Summary: TCPSocket.upgradeToSecure doesn't work anymore - since operation happens on main thread while it should happen on socket thread → make TCPSocket work with TLS for Thunderbird

Thank you for the bug.
I don't know if we have any time to fix this ourselves right now, but we're happy to mentor someone in fixing this.
If there is functionality that thunderbird depends on we should have a test for it in mozilla-central so we don't regress this in the future.

Mentor: valentin.gosu, dkeeler
Severity: -- → S3
Priority: -- → P3
Whiteboard: [necko-triaged]

Using this patch I am able to send email on comm-beta 110 with a SMTP/STARTTLS server.
(debug build, no assertion is reached)

Ping, could you please apply revisions D165915 + D168111 + D168125 and test if it works for you?

If it doesn't, can you please say which scenarios don't yet work?

Flags: needinfo?(remotenonsense)

Great, I tested D168125 with smtp, pop3 and imap-js, all work for me, thanks a lot.

Flags: needinfo?(remotenonsense)
Assignee: nobody → kaie
Attachment #9314579 - Attachment description: WIP: Bug 1809755 - Dispatch TCPSocket.ActivateTLS() to the socket thread. → Bug 1809755 - Dispatch TCPSocket.ActivateTLS() to the socket thread. r=keeler
Status: NEW → ASSIGNED

Dana, are you available to please re-review the updated patch?

Flags: needinfo?(dkeeler)

Sorry for the delay - I was out sick.

Flags: needinfo?(dkeeler)

Dana, thank you, I very much appreciate your help and hope you're recovering quickly!

Pushed by kaie@kuix.de: https://hg.mozilla.org/integration/autoland/rev/441401431d6c Dispatch TCPSocket.ActivateTLS() to the socket thread. r=keeler
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 111 Branch

Thanks Kai, and thanks Dana!

Blocks: 1817356
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: