El sáb, 22-05-2010 a las 08:43 +0200, A.L.E.C escribió:
On Thu, 20 May 2010 12:09:16 -0300, Carlos Pasqualini charly@setionline.com.ar wrote:
i have been making some small tests, outside RC, using the library provided by http://phlymail.com/en/downloads/idna/download/ and it works ok. It only requires the email to be a UTF-8 string, but as i can see, RC works on UTF-8 internally already, so it must be not as much trouble to implement.
There's also Net_IDNA library at PEAR. I don't know the difference.
yes, it is on PEAR too, but with a big sentence "NOT MANTAINED", i try to put it into lib/ dir of Roundcube source, but cannot get it working.
Now i'm playing with the phlymail, put it into Roundcube's lib/ directory, and modifying check_mail() and playing with it (not using roundcube itself, just a test.php file) inserting good UTF-8 email strings and viewing if it results or no.
Reading some info in http://idn.icann.org/ i found that at the low level the IDN domains are only ascii, it is something like the internationalized version of the domain is only for "writing" and "be read" by de user, but the core logic of the MUA works only in ascii. If this is correct, the IDN support consists only in accept the user to write other UTF-8 characters and to translate them to Punycode before the core logic of roundcube sees it; in the other hand, whenever a mail is viewed, it must pass to the inverse process so the user will see the IDN domain in his local alphabet. But again: the core roundcube's logic, addressbooks, LDAPs, etc, will see only a "punycode address"...
I think we should use UTF-8 where possible e.g. in addressbook. Then searching in addressbook will be possible.
i don't know if it is a bigger change to support UTF-8 on entire Roundcube, or just to store mails in punnycode. Even the SQL Database must be UTF-8, and not ISO-8859-1 / -15, so if applying that big change, even need to re-codify the existing databases already implemented, i think it will be a big change for existing users.
In the other hand, as I am a newby (at least on programming PHP at this level) and do not get it on the entire RC's code yet (some help? where to look?), i tought that making only such a translation will need less changes to understand
saludos! (regards!)
List info: http://lists.roundcube.net/dev/