From e99991996dbb9e7b0b0ff6cfa94dc0fb2522eb66 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Wed, 29 Sep 2010 08:36:28 -0400
Subject: [PATCH] - Add Internationalized Domain Name (IDNA) support (#1483894)

---
 program/include/rcmail.php |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/program/include/rcmail.php b/program/include/rcmail.php
index 9fe9430..9b5a498 100644
--- a/program/include/rcmail.php
+++ b/program/include/rcmail.php
@@ -587,7 +587,7 @@
     if ($a_host['host']) {
       $host = $a_host['host'];
       $imap_ssl = (isset($a_host['scheme']) && in_array($a_host['scheme'], array('ssl','imaps','tls'))) ? $a_host['scheme'] : null;
-      if(!empty($a_host['port']))
+      if (!empty($a_host['port']))
         $imap_port = $a_host['port'];
       else if ($imap_ssl && $imap_ssl != 'tls' && (!$config['default_port'] || $config['default_port'] == 143))
         $imap_port = 993;
@@ -618,6 +618,12 @@
     if (!$this->imap)
       $this->imap_init();
 
+    // Here we need IDNA ASCII
+    // Only rcube_contacts class is using domain names in Unicode
+    $host = idn_to_ascii($host);
+    if (strpos($username, '@'))
+      $username = idn_to_ascii($username);
+
     // try IMAP login
     if (!($imap_login = $this->imap->connect($host, $username, $pass, $imap_port, $imap_ssl))) {
       // lowercase username if it's an e-mail address (#1484473)

--
Gitblit v1.9.1