diff options
-rw-r--r-- | CHANGELOG | 1 | ||||
-rw-r--r-- | installer/config.php | 4 | ||||
-rw-r--r-- | program/include/main.inc | 4 | ||||
-rw-r--r-- | program/lib/washtml.php | 2 | ||||
-rw-r--r-- | program/steps/mail/func.inc | 2 | ||||
-rw-r--r-- | program/steps/settings/save_identity.inc | 11 |
6 files changed, 16 insertions, 8 deletions
@@ -1,6 +1,7 @@ CHANGELOG Roundcube Webmail =========================== +- Fix identities "reply-to" and "bcc" fields have a bogus value when left empty (#1487943) - Fix issue which cases IMAP disconnection when encrypt() method was used (#1487900) - Fix some CSS issues in Settings for Internet Explorer - Fixed handling of folder with name "0" in folder selector diff --git a/installer/config.php b/installer/config.php index 5250782f9..6b524079f 100644 --- a/installer/config.php +++ b/installer/config.php @@ -81,7 +81,7 @@ echo $check_ipcheck->show(intval($RCI->getprop('ip_check')), array('value' => 1) ?> <label for="cfgipcheck">Check client IP in session authorization</label><br /> -<p class="hint">This increases security but can cause sudden logouts when someone uses a proxy with changeing IPs.</p> +<p class="hint">This increases security but can cause sudden logouts when someone uses a proxy with changing IPs.</p> </dd> <dt class="propname">des_key</dt> @@ -93,7 +93,7 @@ echo $input_deskey->show($RCI->getprop('des_key')); ?> <div>This key is used to encrypt the users imap password before storing in the session record</div> -<p class="hint">It's a random generated string to ensure that every installation has it's own key. +<p class="hint">It's a random generated string to ensure that every installation has its own key. If you enter it manually please provide a string of exactly 24 chars.</p> </dd> diff --git a/program/include/main.inc b/program/include/main.inc index 72a190595..3c04e20bf 100644 --- a/program/include/main.inc +++ b/program/include/main.inc @@ -1916,6 +1916,10 @@ function rcube_idn_convert($input, $is_utf=false) $domain = $is_utf ? idn_to_ascii($domain) : idn_to_utf8($domain); + if ($domain === false) { + return ''; + } + return $at ? $user . '@' . $domain : $domain; } diff --git a/program/lib/washtml.php b/program/lib/washtml.php index e8befe835..a5eeb841b 100644 --- a/program/lib/washtml.php +++ b/program/lib/washtml.php @@ -274,7 +274,7 @@ class washtml // Remove invalid HTML comments (#1487759) // Don't remove valid conditional comments - $html = preg_replace('/<!--[^->[]*>/', '', $html); + $html = preg_replace('/<!--[^->[\n]*>/', '', $html); @$node->loadHTML($html); return $this->dumpHtml($node); diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc index 5160027f2..d738322b7 100644 --- a/program/steps/mail/func.inc +++ b/program/steps/mail/func.inc @@ -575,7 +575,7 @@ function rcmail_wash_html($html, $p = array(), $cid_replaces) '', '<html>', ); - $html = preg_replace($html_search, $html_replace, $html); + $html = preg_replace($html_search, $html_replace, trim($html)); // PCRE errors handling (#1486856), should we use something like for every preg_* use? if ($html === null && ($preg_error = preg_last_error()) != PREG_NO_ERROR) { diff --git a/program/steps/settings/save_identity.inc b/program/steps/settings/save_identity.inc index c8d258fd7..dbb4d4738 100644 --- a/program/steps/settings/save_identity.inc +++ b/program/steps/settings/save_identity.inc @@ -116,9 +116,12 @@ else if (IDENTITIES_LEVEL < 2) $plugin = $RCMAIL->plugins->exec_hook('identity_create', array('record' => $save_data)); $save_data = $plugin['record']; - $save_data['email'] = rcube_idn_to_ascii($save_data['email']); - $save_data['bcc'] = rcube_idn_to_ascii($save_data['bcc']); - $save_data['reply-to'] = rcube_idn_to_ascii($save_data['reply-to']); + if ($save_data['email']) + $save_data['email'] = rcube_idn_to_ascii($save_data['email']); + if ($save_data['bcc']) + $save_data['bcc'] = rcube_idn_to_ascii($save_data['bcc']); + if ($save_data['reply-to']) + $save_data['reply-to'] = rcube_idn_to_ascii($save_data['reply-to']); if (!$plugin['abort']) $insert_id = $save_data['email'] ? $USER->insert_identity($save_data) : null; @@ -127,7 +130,7 @@ else if (IDENTITIES_LEVEL < 2) if ($insert_id) { $OUTPUT->show_message('successfullysaved', 'confirmation', null, false); - + $_GET['_iid'] = $insert_id; if (!empty($_POST['_standard'])) |