IDN and EAI Support in Thunderbird
Joshua Cranmer 🐧
pidgeot18 at gmail.com
Fri Feb 20 01:02:15 UTC 2015
On 2/19/2015 1:46 PM, Jothan Frakes wrote:
> I am a fellow volunteer on a separate project (the Public Suffix List)
> within the Mozilla community for quite a while, and I have been a
> member of the ICANN community since ICANN formed (and before).
> Anyway, pardon this ask, as I am unfamiliar with the Thunderbird
> development realm.
> I am writing about IDN and EAI support being added to Thunderbird,
> across all supported platforms.
> Some context and background on IDN (Pardon this if you're familiar):
I am personally familiar enough to have produced a rant on thus subject,
although the same is not true of everybody on the list :-)
> There are some really interesting circumstances that can occur with
> EIA where a right to left language like Hebrew or Arabic might be on
> the left hand of the @ with a left to right language TLD (Or
> Vice-Versa) which can reverse the display of the address and be
> potentially confusing.
And case insensitivity, Unicode normalization, and things like C1
controls. Oh, and the IDNA2003/IDNA2008 charlie foxtrot.
> CUTTING TO THE CHASE...
> *Not knowing decorum here, I'll just throw this out there.... Could I
> get an idea around a] IF these enhancements are possible / probable,
> and b] if yes, what perhaps costs are on this? I may be able to locate
> a patron for this effort / find / fund sourcing for accomplishing them.*
I've thought about EAI and IDN in the past (I can't find the post right
now). At present, we can send to an IDN email address, but that's about
the limit of our support--the core code chokes on IDN (even if you use
A-labels--some core Gecko code "helpfully" normalized that back into the
U-label and screwed up the match).
The rough work list of what needs to be done:
1. Add support to use EAI/IDN addresses when composing messages, and
handle appropriate downgrading when necessary [I'm already rewriting the
MIME message building portion of the backend, and I'm definitely
planning on making sure this gets addressed].
2. Add proper validation support for EAI/IDN addresses, and permit their
use in appropriate places in the UI.
3. Ensure that we normalize addresses to the proper format for, e.g.,
database comparisons or searching.
4. Handle the IMAP and POP requests to enable EAI properly.
5. Support using an EAI/IDN email address as an account.
6. Miscellaneous other places where we need to support email addresses
(e.g., S/MIME certificate matching).
The main problem of doing this work is first, one needs time to get all
of this done, and, second, the major open-source implementations (e.g.,
postfix, cyrus) haven't implemented necessary protocol support yet, so I
can't test real-world usage scenarios for EAI. (IDN is fairly simple
test via use of VMs and DNS).
> Also, I notice there is a day left in before Summer of Code deadline,
> but I suspect this request might be larger than a single line item (or
> two). Is that an appropriate place or is this too late to reasonably
> accomplish this?
I'm not sure this is a good match for a GSoC project. The parts that
don't rely on protocol support boil down to a few weeks or a month of
hunting down issues in the UI and fixing them--not enough to fill out
the summer. Protocol support requires having access to test servers
which are not easy to find or set up locally. Nevertheless, I would be
happy to help someone else work on this topic outside of GSoC if they
were available, or maybe even through GSoC if EAI-compliant IMAP and
SMTP servers were available to a student.
Thunderbird and DXR developer
Source code archæologist
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the tb-planning