summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG1
-rw-r--r--installer/config.php4
-rw-r--r--program/include/main.inc4
-rw-r--r--program/lib/washtml.php2
-rw-r--r--program/steps/mail/func.inc2
-rw-r--r--program/steps/settings/save_identity.inc11
6 files changed, 16 insertions, 8 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 972c94caf..0e163fd79 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -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']))