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)

---
 installer/test.php |   20 +++++++++++++-------
 1 files changed, 13 insertions(+), 7 deletions(-)

diff --git a/installer/test.php b/installer/test.php
index 45de5e8..713edfb 100644
--- a/installer/test.php
+++ b/installer/test.php
@@ -249,18 +249,21 @@
 
   echo '<p>Trying to send email...<br />';
 
-  if (preg_match('/^' . $RCI->email_pattern . '$/i', trim($_POST['_from'])) &&
-      preg_match('/^' . $RCI->email_pattern . '$/i', trim($_POST['_to']))) {
+  $from = idn_to_ascii(trim($_POST['_from']));
+  $to   = idn_to_ascii(trim($_POST['_to']));
 
+  if (preg_match('/^' . $RCI->email_pattern . '$/i', $from) &&
+      preg_match('/^' . $RCI->email_pattern . '$/i', $to)
+  ) {
     $headers = array(
-      'From'    => trim($_POST['_from']),
-      'To'      => trim($_POST['_to']),
+      'From'    => $from,
+      'To'      => $to,
       'Subject' => 'Test message from Roundcube',
     );
 
     $body = 'This is a test to confirm that Roundcube can send email.';
     $smtp_response = array();
-    
+
     // send mail using configured SMTP server
     if ($RCI->getprop('smtp_server')) {
       $CONFIG = $RCI->config;
@@ -383,9 +386,12 @@
     $imap_host = trim($_POST['_host']);
     $imap_port = $RCI->getprop('default_port');
   }
-  
+
+  $imap_host = idn_to_ascii($imap_host);
+  $imap_user = idn_to_ascii($_POST['_user']);
+
   $imap = new rcube_imap(null);
-  if ($imap->connect($imap_host, $_POST['_user'], $_POST['_pass'], $imap_port, $imap_ssl)) {
+  if ($imap->connect($imap_host, $imap_user, $_POST['_pass'], $imap_port, $imap_ssl)) {
     $RCI->pass('IMAP connect', 'SORT capability: ' . ($imap->get_capability('SORT') ? 'yes' : 'no'));
     $imap->close();
   }

--
Gitblit v1.9.1