Fix malformed References: header in send/saved mail (#1489891) - update Mail_mime to 1.8.9 version

pull/190/head
Aleksander Machniak 11 years ago
parent 1ee5d134f9
commit b5c6086eea

@ -20,6 +20,7 @@ CHANGELOG Roundcube Webmail
- Optimize some framed pages content for better performance (#1489792)
- Fix mbox files import
- Fix unintentional draft autosave request if autosave is disabled (#1489882)
- Fix malformed References: header in send/saved mail (#1489891)
RELEASE 1.0.1
-------------

@ -491,13 +491,13 @@ class Mail_mime
* returns it during the build process.
*
* @param mixed &$obj The object to add the part to, or
* null if a new object is to be created.
* anything else if a new object is to be created.
* @param string $text The text to add.
*
* @return object The text mimePart object
* @access private
*/
function &_addTextPart(&$obj = null, $text = '')
function &_addTextPart(&$obj, $text = '')
{
$params['content_type'] = 'text/plain';
$params['encoding'] = $this->_build_params['text_encoding'];
@ -518,12 +518,12 @@ class Mail_mime
* returns it during the build process.
*
* @param mixed &$obj The object to add the part to, or
* null if a new object is to be created.
* anything else if a new object is to be created.
*
* @return object The html mimePart object
* @access private
*/
function &_addHtmlPart(&$obj = null)
function &_addHtmlPart(&$obj)
{
$params['content_type'] = 'text/html';
$params['encoding'] = $this->_build_params['html_encoding'];
@ -563,12 +563,12 @@ class Mail_mime
* the build process.
*
* @param mixed &$obj The object to add the part to, or
* null if a new object is to be created.
* anything else if a new object is to be created.
*
* @return object The multipart/mixed mimePart object
* @access private
*/
function &_addAlternativePart(&$obj = null)
function &_addAlternativePart(&$obj)
{
$params['content_type'] = 'multipart/alternative';
$params['eol'] = $this->_build_params['eol'];
@ -588,12 +588,12 @@ class Mail_mime
* the build process.
*
* @param mixed &$obj The object to add the part to, or
* null if a new object is to be created
* anything else if a new object is to be created
*
* @return object The multipart/mixed mimePart object
* @access private
*/
function &_addRelatedPart(&$obj = null)
function &_addRelatedPart(&$obj)
{
$params['content_type'] = 'multipart/related';
$params['eol'] = $this->_build_params['eol'];
@ -878,11 +878,11 @@ class Mail_mime
$this->_checkParams();
$null = null;
$attachments = count($this->_parts) ? true : false;
$html_images = count($this->_html_images) ? true : false;
$html = strlen($this->_htmlbody) ? true : false;
$text = (!$html && strlen($this->_txtbody)) ? true : false;
$null = -1;
$attachments = count($this->_parts) > 0;
$html_images = count($this->_html_images) > 0;
$html = strlen($this->_htmlbody) > 0;
$text = !$html && strlen($this->_txtbody);
switch (true) {
case $text && !$attachments:
@ -991,7 +991,6 @@ class Mail_mime
$this->_addAttachmentPart($message, $this->_parts[$i]);
}
break;
}
if (!isset($message)) {

@ -839,7 +839,7 @@ class Mail_mimePart
// Simple e-mail address regexp
$email_regexp = '([^\s<]+|("[^\r\n"]+"))@\S+';
$parts = Mail_mimePart::_explodeQuotedString($separator, $value);
$parts = Mail_mimePart::_explodeQuotedString("[\t$separator]", $value);
$value = '';
foreach ($parts as $part) {
@ -850,7 +850,7 @@ class Mail_mimePart
continue;
}
if ($value) {
$value .= $separator==',' ? $separator.' ' : ' ';
$value .= $separator == ',' ? $separator . ' ' : ' ';
} else {
$value = $name . ': ';
}
@ -869,7 +869,7 @@ class Mail_mimePart
// check if phrase requires quoting
if ($word) {
// non-ASCII: require encoding
if (preg_match('#([\x80-\xFF]){1}#', $word)) {
if (preg_match('#([^\s\x21-\x7E]){1}#', $word)) {
if ($word[0] == '"' && $word[strlen($word)-1] == '"') {
// de-quote quoted-string, encoding changes
// string to atom
@ -908,11 +908,10 @@ class Mail_mimePart
$value = preg_replace(
'/^'.$name.':('.preg_quote($eol, '/').')* /', '', $value
);
} else {
// Unstructured header
// non-ASCII: require encoding
if (preg_match('#([\x80-\xFF]){1}#', $value)) {
if (preg_match('#([^\s\x21-\x7E]){1}#', $value)) {
if ($value[0] == '"' && $value[strlen($value)-1] == '"') {
// de-quote quoted-string, encoding changes
// string to atom

Loading…
Cancel
Save