Fix invalid host validation on login (#1489841)

pull/181/head
Aleksander Machniak 10 years ago
parent 50fee948fd
commit 34e6526c95

@ -20,6 +20,7 @@ CHANGELOG Roundcube Webmail
- Fix various db_prefix issues (#1489839)
- Fix too small length of users.preferences column data type on MySQL
- Fix redundant warning when switching from html to text in empty editor (#1489819)
- Fix invalid host validation on login (#1489841)
RELEASE 1.0.0
-------------

@ -497,30 +497,18 @@ class rcmail extends rcube
$username_domain = $this->config->get('username_domain');
$login_lc = $this->config->get('login_lc', 2);
if (!$host) {
$host = $default_host;
}
// Validate that selected host is in the list of configured hosts
if (is_array($default_host)) {
$allowed = false;
foreach ($default_host as $key => $host_allowed) {
if (!is_numeric($key)) {
$host_allowed = $key;
}
if ($host == $host_allowed) {
$allowed = true;
break;
}
// host is validated in rcmail::autoselect_host(), so here
// we'll only handle unset host (if possible)
if (!$host && !empty($default_host)) {
if (is_array($default_host)) {
list($key, $val) = each($default_host);
$host = is_numeric($key) ? $val : $key;
}
if (!$allowed) {
$host = null;
else {
$host = $default_host;
}
}
else if (!empty($default_host) && $host != rcube_utils::parse_host($default_host)) {
$host = null;
$host = rcube_utils::parse_host($host);
}
if (!$host) {

Loading…
Cancel
Save