Skip to content

Latest commit

 

History

History
25 lines (19 loc) · 7.97 KB

README.md

File metadata and controls

25 lines (19 loc) · 7.97 KB

Universal Acceptance 2022 Test Run: Showcasing UA Readiness and Conducting Bug Reporting with Programming Languages

This page describes the work done by Cofomo in 2022 to showcase the UA readiness of some libraries & languages by providing compliant code samples with EAI & IDN protocols and by reporting bugs when needed.

The report [pdf] contains recommendations for developers and code samples but also discussions on the compliance level.

There is also a PowerPoint presentation [pdf].

Bug Reports

Here are the bug reports for each of the non-compliant tested libraries:

Language Library Report Resolution Notes
Java Commons Validator Bug report Waiting for a Pull Request The tested version includes a way to create instances of domain validator with a list of TLDs to consider valid which was not the case before. Former versions only allowed to override the list before the domain validator instance creation, which would therefore make the list become obsolete after a certain amount of time in long running applications.
Java Guava Bug report about the documentation Waiting to be merged Guava maintainers recommend doing U-Label conversion with another library. We then submitted a pull-request improving their documentation to explicitly state that.
Java ICU Bug report Accepted, waiting for contributions ICU performs some normalization on domain and therefore, some invalid characters as per IDNA 2008 but valid as per UTS46 are considered valid.
Java Jakarta Mail Bug report Being discussed Some valid domains are rejected by Jakarta mail. They would consider using java.net.IDN but no other dependency which would make the fix IDNA 2003 compliant only.
Python IDNA No bug reported The Python IDNA package is widely used and fully IDNA 2008 compliant. There is an ongoing discussion to make it a replacement to the Python idn module that implements IDNA 2003.
Python Email Validator No bug reported The email validation is not fully compliant with RFCs. For instance, it does not accept quoted local part which should be permitted. RFC 5321 recommends against using quoted string to ensure email deliverance, so the choice of the developers respects the RFC recommendations which makes it acceptable.
Python smtplib No bug reported From the Python documentation, smtplib module supports SMTPUTF8 flag since Python 3.5
Javascript idna-uts46 Bug report on the underlying NodeJS runtime for illegal characters & disallowed characters Closed by maintainers
Javascript validator No bug reported Good compliance on benchmark
Javascript nodemailer Bug report Not interested in fixing the issue The library allows sending non-ASCII characters without checking if the remote server support the SMTPUTF8 extension. Maintainers claims that some SMTP servers would handle UTF-8 without implementing the extension and therefore refuses to handle this as an error.