From 848e204ef9bdaf989e7e48025d4ea6ee21e7678e Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Sat, 13 Sep 2014 06:36:54 -0400
Subject: [PATCH] Fix validation of email addresses with IDNA domains (#1490067)
---
program/lib/Roundcube/rcube_utils.php | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/program/lib/Roundcube/rcube_utils.php b/program/lib/Roundcube/rcube_utils.php
index 330322f..a51247e 100644
--- a/program/lib/Roundcube/rcube_utils.php
+++ b/program/lib/Roundcube/rcube_utils.php
@@ -103,13 +103,14 @@
}
foreach ($domain_array as $part) {
- if (!preg_match('/^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]))$/', $part)) {
+ if (!preg_match('/^((xn--)?([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]))$/', $part)) {
return false;
}
}
// last domain part
- if (preg_match('/[^a-zA-Z]/', array_pop($domain_array))) {
+ $last_part = array_pop($domain_array);
+ if (strpos($last_part, 'xn--') !== 0 && preg_match('/[^a-zA-Z]/', $last_part)) {
return false;
}
--
Gitblit v1.9.1