summaryrefslogtreecommitdiff
path: root/mail
diff options
context:
space:
mode:
authortaca <taca@pkgsrc.org>2013-06-16 22:04:07 +0000
committertaca <taca@pkgsrc.org>2013-06-16 22:04:07 +0000
commitea3abf743fffe0b06e0246229a62297535aaf61c (patch)
treea98631bf39eddeb0e3ddfa19374db4de6ce6d53f /mail
parent2d6bc42eba3b6cf55fdd07376482e2aaada86975 (diff)
downloadpkgsrc-ea3abf743fffe0b06e0246229a62297535aaf61c.tar.gz
Update roundcube to 0.9.2.
RELEASE 0.9.2 ------------- - Fix image thumbnails display in print mode (#1489134) - Fix height of message headers block (#1489108) - Fix timeout issue on drag&drop uploads (#1489170) - Fix default sorting of threaded list when THREAD=REFS isn't supported - Fix list mode switch to 'List' after saving list settings in Larry skin (#1489164) - Fix error when there's no writeable addressbook source (#1489162) - Fix zipdownload plugin issue with filenames charset (#1489156) - Fix so non-inline images aren't skipped on forward (#1489150) - Fix "null" instead of empty string on messages list in IE10 (#1489145) - Fix legacy options handling - Fix so bounces addresses in Sender headers are skipped on Reply-All (#1489011) - Fix bug where serialized strings were truncated in PDO::quote() (#1489142) - Fix displaying messages with invalid self-closing HTML tags (#1489137) - Fix PHP warning when responding to a message with many Return-Path headers (#1489136) - Fix unintentional compose window resize (#1489114) - Fix performance regression in text wrapping function (#1489133) - Fix connection to posgtres db using unix socket (#1489132) - Fix handling of comma when adding contact from contacts widget (#1489107) - Fix bug where a message was opened in both preview pane and new window on double-click (#1489122) - Fix fatal error when xdebug.max_nesting_level was exceeded in rcube_washtml (#1489110) - Fix PHP warning in html_table::set_row_attribs() in PHP 5.4 (#1489094) - Fix invalid option selected in default_font selector when font is unset (#1489112) - Fix displaying contact with ID divisible by 100 in sql addressbook (#1489121) - Fix browser warnings on PDF plugin detection (#1489118) - Fix fatal error when parsing UUencoded messages (#1489119)
Diffstat (limited to 'mail')
-rw-r--r--mail/roundcube/Makefile4
-rw-r--r--mail/roundcube/PLIST3
-rw-r--r--mail/roundcube/distinfo31
-rw-r--r--mail/roundcube/patches/patch-aa6
-rw-r--r--mail/roundcube/patches/patch-af6
-rw-r--r--mail/roundcube/patches/patch-installer_config.php33
-rw-r--r--mail/roundcube/patches/patch-installer_rcube__install.php19
-rw-r--r--mail/roundcube/patches/patch-plugins_zipdownload_zipdownload.php30
-rw-r--r--mail/roundcube/patches/patch-program_include_rcmail.php20
-rw-r--r--mail/roundcube/patches/patch-program_lib_Roundcube_rcube__cache.php52
-rw-r--r--mail/roundcube/patches/patch-program_lib_Roundcube_rcube__config.php63
-rw-r--r--mail/roundcube/patches/patch-program_lib_Roundcube_rcube__db.php68
-rw-r--r--mail/roundcube/patches/patch-program_lib_Roundcube_rcube__db__pgsql.php46
-rw-r--r--mail/roundcube/patches/patch-program_lib_Roundcube_rcube__imap.php31
-rw-r--r--mail/roundcube/patches/patch-program_lib_Roundcube_rcube__imap__cache.php76
-rw-r--r--mail/roundcube/patches/patch-program_lib_Roundcube_rcube__mime.php150
-rw-r--r--mail/roundcube/patches/patch-program_lib_Roundcube_rcube__washtml.php139
-rw-r--r--mail/roundcube/patches/patch-program_steps_mail_compose.inc41
-rw-r--r--mail/roundcube/patches/patch-program_steps_mail_func.inc50
-rw-r--r--mail/roundcube/patches/patch-program_steps_mail_show.inc25
-rw-r--r--mail/roundcube/patches/patch-skins_classic_print.css40
-rw-r--r--mail/roundcube/patches/patch-skins_larry_mail.css118
-rw-r--r--mail/roundcube/patches/patch-skins_larry_print.css36
-rw-r--r--mail/roundcube/patches/patch-skins_larry_templates_message.html18
24 files changed, 15 insertions, 1090 deletions
diff --git a/mail/roundcube/Makefile b/mail/roundcube/Makefile
index dd48306daf5..859639f1c7d 100644
--- a/mail/roundcube/Makefile
+++ b/mail/roundcube/Makefile
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.55 2013/06/15 16:08:09 taca Exp $
+# $NetBSD: Makefile,v 1.56 2013/06/16 22:04:07 taca Exp $
-DISTNAME= roundcubemail-0.9.1-dep
+DISTNAME= roundcubemail-0.9.2-dep
PKGNAME= ${DISTNAME:S/mail-/-/:S/-dep//}
CATEGORIES= mail
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=roundcubemail/}
diff --git a/mail/roundcube/PLIST b/mail/roundcube/PLIST
index 93c719dc00f..eda067f619e 100644
--- a/mail/roundcube/PLIST
+++ b/mail/roundcube/PLIST
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.28 2013/06/15 16:08:09 taca Exp $
+@comment $NetBSD: PLIST,v 1.29 2013/06/16 22:04:07 taca Exp $
share/doc/roundcube/INSTALL
share/doc/roundcube/LICENSE
share/doc/roundcube/README.md
@@ -2390,7 +2390,6 @@ share/roundcube/program/localization/zh_TW/csv2vcard.inc
share/roundcube/program/localization/zh_TW/labels.inc
share/roundcube/program/localization/zh_TW/messages.inc
share/roundcube/program/resources/blank.gif
-share/roundcube/program/resources/blank.pdf
share/roundcube/program/resources/blank.tif
share/roundcube/program/resources/blocked.gif
share/roundcube/program/steps/addressbook/copy.inc
diff --git a/mail/roundcube/distinfo b/mail/roundcube/distinfo
index 6cecd3975a1..6e4a5ae843d 100644
--- a/mail/roundcube/distinfo
+++ b/mail/roundcube/distinfo
@@ -1,28 +1,9 @@
-$NetBSD: distinfo,v 1.30 2013/06/15 16:08:09 taca Exp $
+$NetBSD: distinfo,v 1.31 2013/06/16 22:04:07 taca Exp $
-SHA1 (roundcubemail-0.9.1-dep.tar.gz) = 48ad1e44eaffc079bb3b5af24ce69feb6aa0315b
-RMD160 (roundcubemail-0.9.1-dep.tar.gz) = 0181bae162a64258cfe49076dcdfe590d1fccab5
-Size (roundcubemail-0.9.1-dep.tar.gz) = 3483626 bytes
-SHA1 (patch-aa) = 4946fab1dd1a809d32de7fa16b9eb1075eb8424a
+SHA1 (roundcubemail-0.9.2-dep.tar.gz) = d7f09d12a0f190eaf54f324777a3b2a7afb179c3
+RMD160 (roundcubemail-0.9.2-dep.tar.gz) = 9514c08304a1583e0c0b7255a99ffcefce4d62b6
+Size (roundcubemail-0.9.2-dep.tar.gz) = 3484377 bytes
+SHA1 (patch-aa) = 2391f0ddb6b9ba6026f9db6d7050f3412d02e160
SHA1 (patch-ab) = 19b62d4a24d9b1ccc476f8d3fbe5f386faf6c553
SHA1 (patch-ac) = ea60a00f8d53f36e069f4b61962ff97c980edb20
-SHA1 (patch-af) = c0534978e19174d058ac3002692a6bed4e535dc7
-SHA1 (patch-installer_config.php) = 6788454eddf4db96f5bd561c9dc45397383797e0
-SHA1 (patch-installer_rcube__install.php) = edcfbff2255fe818bd028310d829879d731fefc9
-SHA1 (patch-plugins_zipdownload_zipdownload.php) = c0605e036959d5082bd3cde2cf37bb5838cb5623
-SHA1 (patch-program_include_rcmail.php) = 8a23e2ffd974983023c98b866c5d7a6e7984e3f8
-SHA1 (patch-program_lib_Roundcube_rcube__cache.php) = ce92d42b294a1cde1d8223b6d5dae46d819754de
-SHA1 (patch-program_lib_Roundcube_rcube__config.php) = fafc1102722ededc9b16272ba515598026c175c2
-SHA1 (patch-program_lib_Roundcube_rcube__db.php) = d7f08a12a3d6131be88d84132b38d2bf2b7b0b2f
-SHA1 (patch-program_lib_Roundcube_rcube__db__pgsql.php) = c3cc7651cb38d5a50cca1d7e4b232f2aa3b4a72b
-SHA1 (patch-program_lib_Roundcube_rcube__imap.php) = 468e9100366dfc9110dda95d27f40b4fb7e075af
-SHA1 (patch-program_lib_Roundcube_rcube__imap__cache.php) = 526e2b2b645a32077116950a4cb2b531b34a649b
-SHA1 (patch-program_lib_Roundcube_rcube__mime.php) = ff74d19a6bfce728db75ad2d3950fe762144e859
-SHA1 (patch-program_lib_Roundcube_rcube__washtml.php) = d62fb13f45b1dd687bcb367ceb1a7229a0c8177f
-SHA1 (patch-program_steps_mail_compose.inc) = 8b9a4ce69eced4c284aee0b69278ff78071da851
-SHA1 (patch-program_steps_mail_func.inc) = 5e722794ee5d55c5aad7319998f5c396daae3918
-SHA1 (patch-program_steps_mail_show.inc) = f60e27ecece1477c813e6645c6178b1beef41199
-SHA1 (patch-skins_classic_print.css) = 2b6d51f3685566a135a2a6291e50109e13726e05
-SHA1 (patch-skins_larry_mail.css) = b88a2a90ed0388e3f5020e6eddc5a4f64b333aba
-SHA1 (patch-skins_larry_print.css) = d0119e711921cf7751a67ce98481f9ad3f0c19fc
-SHA1 (patch-skins_larry_templates_message.html) = 5d997fced39c74590bab3898c63fa40a69f43f99
+SHA1 (patch-af) = 1f95a7005569207469563aa37ff48da0383b7668
diff --git a/mail/roundcube/patches/patch-aa b/mail/roundcube/patches/patch-aa
index abb8b8febff..bf8b1d22665 100644
--- a/mail/roundcube/patches/patch-aa
+++ b/mail/roundcube/patches/patch-aa
@@ -1,10 +1,10 @@
-$NetBSD: patch-aa,v 1.9 2012/01/14 15:36:24 taca Exp $
+$NetBSD: patch-aa,v 1.10 2013/06/16 22:04:07 taca Exp $
Use proper directories for log and temporary.
---- config/main.inc.php.dist.orig 2011-11-30 13:11:34.000000000 +0000
+--- config/main.inc.php.dist.orig 2013-06-16 15:12:21.000000000 +0000
+++ config/main.inc.php.dist
-@@ -174,10 +174,10 @@ $rcmail_config['enable_installer'] = fal
+@@ -205,10 +205,10 @@ $rcmail_config['user_aliases'] = false;
// use this folder to store log files (must be writeable for apache user)
// This is used by the 'file' log driver.
diff --git a/mail/roundcube/patches/patch-af b/mail/roundcube/patches/patch-af
index 2774afacd5d..39d5511cf69 100644
--- a/mail/roundcube/patches/patch-af
+++ b/mail/roundcube/patches/patch-af
@@ -1,10 +1,10 @@
-$NetBSD: patch-af,v 1.6 2013/06/15 16:08:09 taca Exp $
+$NetBSD: patch-af,v 1.7 2013/06/16 22:04:07 taca Exp $
Honor PKG_SYSCONFDIR.
---- program/include/iniset.php.orig 2013-04-15 20:43:00.000000000 +0000
+--- program/include/iniset.php.orig 2013-06-16 15:12:21.000000000 +0000
+++ program/include/iniset.php
-@@ -44,7 +44,7 @@ if (!defined('INSTALL_PATH')) {
+@@ -29,7 +29,7 @@ if (!defined('INSTALL_PATH')) {
}
if (!defined('RCMAIL_CONFIG_DIR')) {
diff --git a/mail/roundcube/patches/patch-installer_config.php b/mail/roundcube/patches/patch-installer_config.php
deleted file mode 100644
index 3a9a2556ac6..00000000000
--- a/mail/roundcube/patches/patch-installer_config.php
+++ /dev/null
@@ -1,33 +0,0 @@
-$NetBSD: patch-installer_config.php,v 1.1 2013/06/15 16:08:09 taca Exp $
-
-Fix from repository:
-* commit 70ef48c2f311f1773a4b4deb8fcffd8ea72326f9:
- Remove old enable_caching option from Installer
-
---- installer/config.php.orig 2013-05-16 18:06:35.000000000 +0000
-+++ installer/config.php
-@@ -15,7 +15,6 @@ $RCI->load_defaults();
- // register these boolean fields
- $RCI->bool_config_props = array(
- 'ip_check' => 1,
-- 'enable_caching' => 1,
- 'enable_spellcheck' => 1,
- 'auto_create_user' => 1,
- 'smtp_log' => 1,
-@@ -127,16 +126,6 @@ echo $check_ipcheck->show(intval($RCI->g
- <p class="hint">This increases security but can cause sudden logouts when someone uses a proxy with changing IPs.</p>
- </dd>
-
--<dt class="propname">enable_caching</dt>
--<dd>
--<?php
--
--$check_caching = new html_checkbox(array('name' => '_enable_caching', 'id' => "cfgcache"));
--echo $check_caching->show(intval($RCI->getprop('enable_caching')), array('value' => 1));
--
--?>
--<label for="cfgcache">Cache messages in local database</label><br />
--</dd>
-
- <dt class="propname">enable_spellcheck</dt>
- <dd>
diff --git a/mail/roundcube/patches/patch-installer_rcube__install.php b/mail/roundcube/patches/patch-installer_rcube__install.php
deleted file mode 100644
index f0a9fd53e3c..00000000000
--- a/mail/roundcube/patches/patch-installer_rcube__install.php
+++ /dev/null
@@ -1,19 +0,0 @@
-$NetBSD: patch-installer_rcube__install.php,v 1.1 2013/06/15 16:08:09 taca Exp $
-
-Fix from repository:
-* commit 853d0ab2a402222cc87dc83bb27c3fb2f33d84aa:
- Fix version selector - do not list versions newer than 0.9.0, use
- "0.9 or newer" instead.
-
---- installer/rcube_install.php.orig 2013-05-16 18:06:35.000000000 +0000
-+++ installer/rcube_install.php
-@@ -455,7 +455,8 @@ class rcube_install
- '0.6-beta', '0.6',
- '0.7-beta', '0.7', '0.7.1', '0.7.2', '0.7.3', '0.7.4',
- '0.8-beta', '0.8-rc', '0.8.0', '0.8.1', '0.8.2', '0.8.3', '0.8.4', '0.8.5', '0.8.6',
-- '0.9-beta', '0.9-rc', '0.9-rc2', '0.9.0',
-+ '0.9-beta', '0.9-rc', '0.9-rc2',
-+ // Note: Do not add newer versions here
- ));
- return $select;
- }
diff --git a/mail/roundcube/patches/patch-plugins_zipdownload_zipdownload.php b/mail/roundcube/patches/patch-plugins_zipdownload_zipdownload.php
deleted file mode 100644
index 4d14d8eae94..00000000000
--- a/mail/roundcube/patches/patch-plugins_zipdownload_zipdownload.php
+++ /dev/null
@@ -1,30 +0,0 @@
-$NetBSD: patch-plugins_zipdownload_zipdownload.php,v 1.1 2013/06/15 16:08:09 taca Exp $
-
-Fix from repository:
-* commit 057b9e3e7f5bd1707e72812b1e5f977face0baed,
- b9139f9f98fe994142dd3e050dac1e6ec9a24309:
- Fix zipdownload plugin issue with filenames charset (#1489156)
-
---- plugins/zipdownload/zipdownload.php.orig 2013-05-16 18:06:35.000000000 +0000
-+++ plugins/zipdownload/zipdownload.php
-@@ -105,7 +105,7 @@ class zipdownload extends rcube_plugin
- foreach ($message->attachments as $part) {
- $pid = $part->mime_id;
- $part = $message->mime_parts[$pid];
-- $disp_name = $this->_convert_filename($part->filename, $part->charset);
-+ $disp_name = $this->_convert_filename($part->filename);
-
- if ($part->body) {
- $orig_message_raw = $part->body;
-@@ -258,9 +258,9 @@ class zipdownload extends rcube_plugin
- /**
- * Helper function to convert filenames to the configured charset
- */
-- private function _convert_filename($str, $from = RCMAIL_CHARSET)
-+ private function _convert_filename($str)
- {
-- $str = rcube_charset::convert($str, $from == '' ? RCUBE_CHARSET : $from, $this->charset);
-+ $str = rcube_charset::convert($str, RCUBE_CHARSET, $this->charset);
-
- return strtr($str, array(':'=>'', '/'=>'-'));
- }
diff --git a/mail/roundcube/patches/patch-program_include_rcmail.php b/mail/roundcube/patches/patch-program_include_rcmail.php
deleted file mode 100644
index f1a7ce4217a..00000000000
--- a/mail/roundcube/patches/patch-program_include_rcmail.php
+++ /dev/null
@@ -1,20 +0,0 @@
-$NetBSD: patch-program_include_rcmail.php,v 1.1 2013/06/15 16:08:09 taca Exp $
-
-Fix from repository:
-* commit acb4b71ce55f3d98f7053b7bb8fdcf3c7858fbfc:
- Fix error when there's no writeable addressbook source (#1489162)
-
---- program/include/rcmail.php.orig 2013-05-16 18:06:35.000000000 +0000
-+++ program/include/rcmail.php
-@@ -228,6 +228,11 @@ class rcmail extends rcube
- }
-
- if (!$contacts) {
-+ // there's no default, just return
-+ if ($default) {
-+ return null;
-+ }
-+
- self::raise_error(array(
- 'code' => 700, 'type' => 'php',
- 'file' => __FILE__, 'line' => __LINE__,
diff --git a/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__cache.php b/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__cache.php
deleted file mode 100644
index eb562d43a22..00000000000
--- a/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__cache.php
+++ /dev/null
@@ -1,52 +0,0 @@
-$NetBSD: patch-program_lib_Roundcube_rcube__cache.php,v 1.1 2013/06/15 16:08:09 taca Exp $
-
-Fix from repository:
-* commit 72c8504b99fbd423651bab0180a044c489ca05cc:
- Fix bug where serialized strings were truncated in PDO::quote() (#1489142)
-
---- program/lib/Roundcube/rcube_cache.php.orig 2013-05-16 18:06:36.000000000 +0000
-+++ program/lib/Roundcube/rcube_cache.php
-@@ -145,7 +145,7 @@ class rcube_cache
- */
- function write($key, $data)
- {
-- return $this->write_record($key, $this->packed ? serialize($data) : $data);
-+ return $this->write_record($key, $this->serialize($data));
- }
-
-
-@@ -219,7 +219,7 @@ class rcube_cache
- if ($this->cache_changes[$key]) {
- // Make sure we're not going to write unchanged data
- // by comparing current md5 sum with the sum calculated on DB read
-- $data = $this->packed ? serialize($data) : $data;
-+ $data = $this->serialize($data);
-
- if (!$this->cache_sums[$key] || $this->cache_sums[$key] != md5($data)) {
- $this->write_record($key, $data);
-@@ -255,7 +255,7 @@ class rcube_cache
-
- if ($data) {
- $md5sum = md5($data);
-- $data = $this->packed ? unserialize($data) : $data;
-+ $data = $this->unserialize($data);
-
- if ($nostore) {
- return $data;
-@@ -283,7 +283,7 @@ class rcube_cache
- $key = substr($sql_arr['cache_key'], strlen($this->prefix)+1);
- $md5sum = $sql_arr['data'] ? md5($sql_arr['data']) : null;
- if ($sql_arr['data']) {
-- $data = $this->packed ? unserialize($sql_arr['data']) : $sql_arr['data'];
-+ $data = $this->unserialize($sql_arr['data']);
- }
-
- if ($nostore) {
-@@ -364,7 +364,6 @@ class rcube_cache
- * @param string $key Cache key name or pattern
- * @param boolean $prefix_mode Enable it to clear all keys starting
- * with prefix specified in $key
-- *
- */
- private function remove_record($key=null, $prefix_mode=false)
- {
diff --git a/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__config.php b/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__config.php
deleted file mode 100644
index 488f191d4d6..00000000000
--- a/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__config.php
+++ /dev/null
@@ -1,63 +0,0 @@
-$NetBSD: patch-program_lib_Roundcube_rcube__config.php,v 1.1 2013/06/15 16:08:09 taca Exp $
-
-Fix from repository:
-* commit 55e60c6d85efa3e4b3679c8f9c0b97109ee31ca3:
- Fix legacy options handling
-
---- program/lib/Roundcube/rcube_config.php.orig 2013-05-16 18:06:36.000000000 +0000
-+++ program/lib/Roundcube/rcube_config.php
-@@ -174,7 +174,7 @@ class rcube_config
- ob_end_clean();
-
- if (is_array($rcmail_config)) {
-- $this->prop = array_merge($this->prop, $rcmail_config, $this->userprefs);
-+ $this->merge($rcmail_config);
- return true;
- }
- }
-@@ -195,9 +195,6 @@ class rcube_config
- if (isset($this->prop[$name])) {
- $result = $this->prop[$name];
- }
-- else if (isset($this->legacy_props[$name])) {
-- return $this->get($this->legacy_props[$name], $def);
-- }
- else {
- $result = $def;
- }
-@@ -241,6 +238,7 @@ class rcube_config
- public function merge($prefs)
- {
- $this->prop = array_merge($this->prop, $prefs, $this->userprefs);
-+ $this->fix_legacy_props();
- }
-
-
-@@ -273,6 +271,8 @@ class rcube_config
- $this->userprefs = $prefs;
- $this->prop = array_merge($this->prop, $prefs);
-
-+ $this->fix_legacy_props();
-+
- // override timezone settings with client values
- if ($this->prop['timezone'] == 'auto') {
- $this->prop['_timezone_value'] = isset($_SESSION['timezone']) ? $this->client_timezone() : $this->prop['_timezone_value'];
-@@ -435,4 +435,18 @@ class rcube_config
- return date_default_timezone_get();
- }
-
-+ /**
-+ * Convert legacy options into new ones
-+ */
-+ private function fix_legacy_props()
-+ {
-+ foreach ($this->legacy_props as $new => $old) {
-+ if (isset($this->prop[$old])) {
-+ if (!isset($this->prop[$new])) {
-+ $this->prop[$new] = $this->prop[$old];
-+ }
-+ unset($this->prop[$old]);
-+ }
-+ }
-+ }
- }
diff --git a/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__db.php b/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__db.php
deleted file mode 100644
index 56d53d9a3f6..00000000000
--- a/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__db.php
+++ /dev/null
@@ -1,68 +0,0 @@
-$NetBSD: patch-program_lib_Roundcube_rcube__db.php,v 1.1 2013/06/15 16:08:09 taca Exp $
-
-Fix from repository:
-* commit 72c8504b99fbd423651bab0180a044c489ca05cc:
- Fix bug where serialized strings were truncated in PDO::quote() (#1489142)
-* commit ab05ee25c1d38c884790337796f7c941e28d36d9:
- Fix backward copat. with cached values serialized but not base64-encoded
- (#1489142)
-
---- program/lib/Roundcube/rcube_db.php.orig 2013-05-16 18:06:36.000000000 +0000
-+++ program/lib/Roundcube/rcube_db.php
-@@ -789,12 +789,19 @@ class rcube_db
- /**
- * Encodes non-UTF-8 characters in string/array/object (recursive)
- *
-- * @param mixed $input Data to fix
-+ * @param mixed $input Data to fix
-+ * @param bool $serialized Enable serialization
- *
- * @return mixed Properly UTF-8 encoded data
- */
-- public static function encode($input)
-+ public static function encode($input, $serialized = false)
- {
-+ // use Base64 encoding to workaround issues with invalid
-+ // or null characters in serialized string (#1489142)
-+ if ($serialized) {
-+ return base64_encode(serialize($input));
-+ }
-+
- if (is_object($input)) {
- foreach (get_object_vars($input) as $idx => $value) {
- $input->$idx = self::encode($value);
-@@ -805,6 +812,7 @@ class rcube_db
- foreach ($input as $idx => $value) {
- $input[$idx] = self::encode($value);
- }
-+
- return $input;
- }
-
-@@ -814,12 +822,24 @@ class rcube_db
- /**
- * Decodes encoded UTF-8 string/object/array (recursive)
- *
-- * @param mixed $input Input data
-+ * @param mixed $input Input data
-+ * @param bool $serialized Enable serialization
- *
- * @return mixed Decoded data
- */
-- public static function decode($input)
-+ public static function decode($input, $serialized = false)
- {
-+ // use Base64 encoding to workaround issues with invalid
-+ // or null characters in serialized string (#1489142)
-+ if ($serialized) {
-+ // Keep backward compatybility where base64 wasn't used
-+ if (strpos(substr($input, 0, 16), ':') !== false) {
-+ return self::decode(@unserialize($input));
-+ }
-+
-+ return @unserialize(base64_decode($input));
-+ }
-+
- if (is_object($input)) {
- foreach (get_object_vars($input) as $idx => $value) {
- $input->$idx = self::decode($value);
diff --git a/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__db__pgsql.php b/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__db__pgsql.php
deleted file mode 100644
index 40cf7e42122..00000000000
--- a/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__db__pgsql.php
+++ /dev/null
@@ -1,46 +0,0 @@
-$NetBSD: patch-program_lib_Roundcube_rcube__db__pgsql.php,v 1.1 2013/06/15 16:08:09 taca Exp $
-
-Fix from repository:
-* commit 983308e8b364c0ae5358874087977df9740d97ac:
- Fix connection to posgtres db using unix socket (#1489132)
-
---- program/lib/Roundcube/rcube_db_pgsql.php.orig 2013-05-16 18:06:36.000000000 +0000
-+++ program/lib/Roundcube/rcube_db_pgsql.php
-@@ -129,4 +129,37 @@ class rcube_db_pgsql extends rcube_db
- return isset($this->variables[$varname]) ? $this->variables[$varname] : $default;
- }
-
-+ /**
-+ * Returns PDO DSN string from DSN array
-+ *
-+ * @param array $dsn DSN parameters
-+ *
-+ * @return string DSN string
-+ */
-+ protected function dsn_string($dsn)
-+ {
-+ $params = array();
-+ $result = 'pgsql:';
-+
-+ if ($dsn['hostspec']) {
-+ $params[] = 'host=' . $dsn['hostspec'];
-+ }
-+ else if ($dsn['socket']) {
-+ $params[] = 'host=' . $dsn['socket'];
-+ }
-+
-+ if ($dsn['port']) {
-+ $params[] = 'port=' . $dsn['port'];
-+ }
-+
-+ if ($dsn['database']) {
-+ $params[] = 'dbname=' . $dsn['database'];
-+ }
-+
-+ if (!empty($params)) {
-+ $result .= implode(';', $params);
-+ }
-+
-+ return $result;
-+ }
- }
diff --git a/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__imap.php b/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__imap.php
deleted file mode 100644
index e6f4b221f25..00000000000
--- a/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__imap.php
+++ /dev/null
@@ -1,31 +0,0 @@
-$NetBSD: patch-program_lib_Roundcube_rcube__imap.php,v 1.1 2013/06/15 16:08:09 taca Exp $
-
-Fix from repository:
-* commit 35b0a75f72ef1c7c83bf2ad8ba01f6ac1a444122:
- Fix default sorting of threaded list when THREAD=REFS isn't supported.
-
---- program/lib/Roundcube/rcube_imap.php.orig 2013-05-16 18:06:36.000000000 +0000
-+++ program/lib/Roundcube/rcube_imap.php
-@@ -1336,17 +1336,16 @@ class rcube_imap extends rcube_storage
- // THREAD=REFERENCES: sorting by sent date of root message
- // THREAD=REFS: sorting by the most recent date in each thread
-
-- if ($this->sort_field && ($this->sort_field != 'date' || $this->get_capability('THREAD') != 'REFS')) {
-- $index = $this->index_direct($this->folder, $this->sort_field, $this->sort_order, false);
-+ if ($this->get_capability('THREAD') != 'REFS') {
-+ $sortby = $this->sort_field ? $this->sort_field : 'date';
-+ $index = $this->index_direct($this->folder, $sortby, $this->sort_order, false);
-
- if (!$index->is_empty()) {
- $threads->sort($index);
- }
- }
-- else {
-- if ($this->sort_order != $threads->get_parameters('ORDER')) {
-- $threads->revert();
-- }
-+ else if ($this->sort_order != $threads->get_parameters('ORDER')) {
-+ $threads->revert();
- }
- }
-
diff --git a/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__imap__cache.php b/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__imap__cache.php
deleted file mode 100644
index b36e027a073..00000000000
--- a/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__imap__cache.php
+++ /dev/null
@@ -1,76 +0,0 @@
-$NetBSD: patch-program_lib_Roundcube_rcube__imap__cache.php,v 1.1 2013/06/15 16:08:09 taca Exp $
-
-Fix from repository:
-* commit 6213c6a6e18848d861f2add83bdb69a1de3f5956:
- Fix removing flags from serialized object before saving it in DB
-Fix from repository:
-* commit 72c8504b99fbd423651bab0180a044c489ca05cc:
- Fix bug where serialized strings were truncated in PDO::quote() (#1489142)
-
---- program/lib/Roundcube/rcube_imap_cache.php.orig 2013-05-16 18:06:36.000000000 +0000
-+++ program/lib/Roundcube/rcube_imap_cache.php
-@@ -407,8 +407,8 @@ class rcube_imap_cache
- return;
- }
-
-- $msg = serialize($this->db->encode(clone $message));
- $flags = 0;
-+ $msg = clone $message;
-
- if (!empty($message->flags)) {
- foreach ($this->flags as $idx => $flag) {
-@@ -417,7 +417,9 @@ class rcube_imap_cache
- }
- }
- }
-+
- unset($msg->flags);
-+ $msg = $this->db->encode($msg, true);
-
- // update cache record (even if it exists, the update
- // here will work as select, assume row exist if affected_rows=0)
-@@ -639,7 +641,7 @@ class rcube_imap_cache
-
- if ($sql_arr = $this->db->fetch_assoc($sql_result)) {
- $data = explode('@', $sql_arr['data']);
-- $index = @unserialize($data[0]);
-+ $index = $this->db->decode($data[0], true);
- unset($data[0]);
-
- if (empty($index)) {
-@@ -676,7 +678,7 @@ class rcube_imap_cache
-
- if ($sql_arr = $this->db->fetch_assoc($sql_result)) {
- $data = explode('@', $sql_arr['data']);
-- $thread = @unserialize($data[0]);
-+ $thread = $this->db->decode($data[0], true);
- unset($data[0]);
-
- if (empty($thread)) {
-@@ -702,7 +704,7 @@ class rcube_imap_cache
- $data, $mbox_data = array(), $exists = false, $modseq = null)
- {
- $data = array(
-- serialize($data),
-+ $this->db->encode($data, true),
- $sort_field,
- (int) $this->skip_deleted,
- (int) $mbox_data['UIDVALIDITY'],
-@@ -735,7 +737,7 @@ class rcube_imap_cache
- private function add_thread_row($mailbox, $data, $mbox_data = array(), $exists = false)
- {
- $data = array(
-- serialize($data),
-+ $this->db->encode($data, true),
- (int) $this->skip_deleted,
- (int) $mbox_data['UIDVALIDITY'],
- (int) $mbox_data['UIDNEXT'],
-@@ -1067,7 +1069,7 @@ class rcube_imap_cache
- */
- private function build_message($sql_arr)
- {
-- $message = $this->db->decode(unserialize($sql_arr['data']));
-+ $message = $this->db->decode($sql_arr['data'], true);
-
- if ($message) {
- $message->flags = array();
diff --git a/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__mime.php b/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__mime.php
deleted file mode 100644
index a928a7a54dd..00000000000
--- a/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__mime.php
+++ /dev/null
@@ -1,150 +0,0 @@
-$NetBSD: patch-program_lib_Roundcube_rcube__mime.php,v 1.1 2013/06/15 16:08:09 taca Exp $
-
-Fix from repository:
-* commit db108e37793c7f8fc8ba11f00d0561d1f0bd32c0:
- Fix another text wrapping issue (wrong handling of long unwrappable lines)
-* commit f031cb6c5e4fd3dcb7ea243d477825868d8ad17b:
- Fix performance regression in text wrapping function (#1489133) - don't use
- iconv here
-
---- program/lib/Roundcube/rcube_mime.php.orig 2013-05-16 18:06:36.000000000 +0000
-+++ program/lib/Roundcube/rcube_mime.php
-@@ -587,23 +587,20 @@ class rcube_mime
- */
- public static function wordwrap($string, $width=75, $break="\n", $cut=false, $charset=null, $wrap_quoted=true)
- {
-- if (!$charset) {
-- $charset = RCUBE_CHARSET;
-- }
-+ // Note: Never try to use iconv instead of mbstring functions here
-+ // Iconv's substr/strlen are 100x slower (#1489113)
-
-- // detect available functions
-- $strlen_func = function_exists('iconv_strlen') ? 'iconv_strlen' : 'mb_strlen';
-- $strpos_func = function_exists('iconv_strpos') ? 'iconv_strpos' : 'mb_strpos';
-- $strrpos_func = function_exists('iconv_strrpos') ? 'iconv_strrpos' : 'mb_strrpos';
-- $substr_func = function_exists('iconv_substr') ? 'iconv_substr' : 'mb_substr';
-+ if ($charset && $charset != RCUBE_CHARSET && function_exists('mb_internal_encoding')) {
-+ mb_internal_encoding($charset);
-+ }
-
- // Convert \r\n to \n, this is our line-separator
- $string = str_replace("\r\n", "\n", $string);
- $separator = "\n"; // must be 1 character length
- $result = array();
-
-- while (($stringLength = $strlen_func($string, $charset)) > 0) {
-- $breakPos = $strpos_func($string, $separator, 0, $charset);
-+ while (($stringLength = mb_strlen($string)) > 0) {
-+ $breakPos = mb_strpos($string, $separator, 0);
-
- // quoted line (do not wrap)
- if ($wrap_quoted && $string[0] == '>') {
-@@ -612,7 +609,7 @@ class rcube_mime
- $cutLength = null;
- }
- else {
-- $subString = $substr_func($string, 0, $breakPos, $charset);
-+ $subString = mb_substr($string, 0, $breakPos);
- $cutLength = $breakPos + 1;
- }
- }
-@@ -623,55 +620,54 @@ class rcube_mime
- $cutLength = null;
- }
- else {
-- $subString = $substr_func($string, 0, $breakPos, $charset);
-+ $subString = mb_substr($string, 0, $breakPos);
- $cutLength = $breakPos + 1;
- }
- }
- else {
-- $subString = $substr_func($string, 0, $width, $charset);
-+ $subString = mb_substr($string, 0, $width);
-
- // last line
- if ($breakPos === false && $subString === $string) {
- $cutLength = null;
- }
- else {
-- $nextChar = $substr_func($string, $width, 1, $charset);
-+ $nextChar = mb_substr($string, $width, 1);
-
- if ($nextChar === ' ' || $nextChar === $separator) {
-- $afterNextChar = $substr_func($string, $width + 1, 1, $charset);
-+ $afterNextChar = mb_substr($string, $width + 1, 1);
-
- if ($afterNextChar === false) {
- $subString .= $nextChar;
- }
-
-- $cutLength = $strlen_func($subString, $charset) + 1;
-+ $cutLength = mb_strlen($subString) + 1;
- }
- else {
-- if ($strrpos_func[0] == 'm') {
-- $spacePos = $strrpos_func($subString, ' ', 0, $charset);
-- }
-- else {
-- $spacePos = $strrpos_func($subString, ' ', $charset);
-- }
-+ $spacePos = mb_strrpos($subString, ' ', 0);
-
- if ($spacePos !== false) {
-- $subString = $substr_func($subString, 0, $spacePos, $charset);
-+ $subString = mb_substr($subString, 0, $spacePos);
- $cutLength = $spacePos + 1;
- }
-+ else if ($cut === false && $breakPos === false) {
-+ $subString = $string;
-+ $cutLength = null;
-+ }
- else if ($cut === false) {
-- $spacePos = $strpos_func($string, ' ', 0, $charset);
-+ $spacePos = mb_strpos($string, ' ', 0);
-
- if ($spacePos !== false && $spacePos < $breakPos) {
-- $subString = $substr_func($string, 0, $spacePos, $charset);
-+ $subString = mb_substr($string, 0, $spacePos);
- $cutLength = $spacePos + 1;
- }
- else {
-- $subString = $substr_func($string, 0, $breakPos, $charset);
-+ $subString = mb_substr($string, 0, $breakPos);
- $cutLength = $breakPos + 1;
- }
- }
- else {
-- $subString = $substr_func($subString, 0, $width, $charset);
-+ $subString = mb_substr($subString, 0, $width);
- $cutLength = $width;
- }
- }
-@@ -681,13 +677,17 @@ class rcube_mime
- $result[] = $subString;
-
- if ($cutLength !== null) {
-- $string = $substr_func($string, $cutLength, ($stringLength - $cutLength), $charset);
-+ $string = mb_substr($string, $cutLength, ($stringLength - $cutLength));
- }
- else {
- break;
- }
- }
-
-+ if ($charset && $charset != RCUBE_CHARSET && function_exists('mb_internal_encoding')) {
-+ mb_internal_encoding(RCUBE_CHARSET);
-+ }
-+
- return implode($break, $result);
- }
-
-@@ -795,7 +795,7 @@ class rcube_mime
- }
-
- foreach ($file_paths as $fp) {
-- if (is_readable($fp)) {
-+ if (@is_readable($fp)) {
- $lines = file($fp, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
- break;
- }
diff --git a/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__washtml.php b/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__washtml.php
deleted file mode 100644
index 4072aa99cb8..00000000000
--- a/mail/roundcube/patches/patch-program_lib_Roundcube_rcube__washtml.php
+++ /dev/null
@@ -1,139 +0,0 @@
-$NetBSD: patch-program_lib_Roundcube_rcube__washtml.php,v 1.1 2013/06/15 16:08:09 taca Exp $
-
-Fix from repository:
-* commit 1fe7d6ad75d2a5a2ab72a24de8cd8cdb341cff0e:
- Fix displaying messages with invalid self-closing HTML tags (#1489137)
-
---- program/lib/Roundcube/rcube_washtml.php.orig 2013-05-16 18:06:36.000000000 +0000
-+++ program/lib/Roundcube/rcube_washtml.php
-@@ -113,10 +113,9 @@ class rcube_washtml
- 'type', 'rows', 'cols', 'disabled', 'readonly', 'checked', 'multiple', 'value'
- );
-
-- /* Block elements which could be empty but cannot be returned in short form (<tag />) */
-- static $block_elements = array('div', 'p', 'pre', 'blockquote', 'a', 'font', 'center',
-- 'table', 'ul', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ol', 'dl', 'strong',
-- 'i', 'b', 'u', 'span',
-+ /* Elements which could be empty and be returned in short form (<tag />) */
-+ static $void_elements = array('area', 'base', 'br', 'col', 'command', 'embed', 'hr',
-+ 'img', 'input', 'keygen', 'link', 'meta', 'param', 'source', 'track', 'wbr'
- );
-
- /* State for linked objects in HTML */
-@@ -134,12 +133,15 @@ class rcube_washtml
- /* Ignore these HTML tags but process their content */
- private $_ignore_elements = array();
-
-- /* Block elements which could be empty but cannot be returned in short form (<tag />) */
-- private $_block_elements = array();
-+ /* Elements which could be empty and be returned in short form (<tag />) */
-+ private $_void_elements = array();
-
- /* Allowed HTML attributes */
- private $_html_attribs = array();
-
-+ /* Max nesting level */
-+ private $max_nesting_level;
-+
-
- /**
- * Class constructor
-@@ -149,9 +151,9 @@ class rcube_washtml
- $this->_html_elements = array_flip((array)$p['html_elements']) + array_flip(self::$html_elements) ;
- $this->_html_attribs = array_flip((array)$p['html_attribs']) + array_flip(self::$html_attribs);
- $this->_ignore_elements = array_flip((array)$p['ignore_elements']) + array_flip(self::$ignore_elements);
-- $this->_block_elements = array_flip((array)$p['block_elements']) + array_flip(self::$block_elements);
-+ $this->_void_elements = array_flip((array)$p['void_elements']) + array_flip(self::$void_elements);
-
-- unset($p['html_elements'], $p['html_attribs'], $p['ignore_elements'], $p['block_elements']);
-+ unset($p['html_elements'], $p['html_attribs'], $p['ignore_elements'], $p['void_elements']);
-
- $this->config = $p + array('show_washed' => true, 'allow_remote' => false, 'cid_map' => array());
- }
-@@ -284,12 +286,26 @@ class rcube_washtml
- * It output only allowed tags with allowed attributes
- * and allowed inline styles
- */
-- private function dumpHtml($node)
-+ private function dumpHtml($node, $level = 0)
- {
- if (!$node->hasChildNodes()) {
- return '';
- }
-
-+ $level++;
-+
-+ if ($this->max_nesting_level > 0 && $level == $this->max_nesting_level - 1) {
-+ // log error message once
-+ if (!$this->max_nesting_level_error) {
-+ $this->max_nesting_level_error = true;
-+ rcube::raise_error(array('code' => 500, 'type' => 'php',
-+ 'line' => __LINE__, 'file' => __FILE__,
-+ 'message' => "Maximum nesting level exceeded (xdebug.max_nesting_level={$this->max_nesting_level})"),
-+ true, false);
-+ }
-+ return '<!-- ignored -->';
-+ }
-+
- $node = $node->firstChild;
- $dump = '';
-
-@@ -299,19 +315,19 @@ class rcube_washtml
- $tagName = strtolower($node->tagName);
- if ($callback = $this->handlers[$tagName]) {
- $dump .= call_user_func($callback, $tagName,
-- $this->wash_attribs($node), $this->dumpHtml($node), $this);
-+ $this->wash_attribs($node), $this->dumpHtml($node, $level), $this);
- }
- else if (isset($this->_html_elements[$tagName])) {
-- $content = $this->dumpHtml($node);
-+ $content = $this->dumpHtml($node, $level);
- $dump .= '<' . $tagName . $this->wash_attribs($node) .
-- ($content != '' || isset($this->_block_elements[$tagName]) ? ">$content</$tagName>" : ' />');
-+ ($content === '' && isset($this->_void_elements[$tagName]) ? ' />' : ">$content</$tagName>");
- }
- else if (isset($this->_ignore_elements[$tagName])) {
- $dump .= '<!-- ' . htmlspecialchars($tagName, ENT_QUOTES) . ' not allowed -->';
- }
- else {
- $dump .= '<!-- ' . htmlspecialchars($tagName, ENT_QUOTES) . ' ignored -->';
-- $dump .= $this->dumpHtml($node); // ignore tags not its content
-+ $dump .= $this->dumpHtml($node, $level); // ignore tags not its content
- }
- break;
-
-@@ -324,14 +340,14 @@ class rcube_washtml
- break;
-
- case XML_HTML_DOCUMENT_NODE:
-- $dump .= $this->dumpHtml($node);
-+ $dump .= $this->dumpHtml($node, $level);
- break;
-
- case XML_DOCUMENT_TYPE_NODE:
- break;
-
- default:
-- $dump . '<!-- node type ' . $node->nodeType . ' -->';
-+ $dump .= '<!-- node type ' . $node->nodeType . ' -->';
- }
- } while($node = $node->nextSibling);
-
-@@ -358,6 +374,9 @@ class rcube_washtml
- $this->config['base_url'] = '';
- }
-
-+ // Detect max nesting level (for dumpHTML) (#1489110)
-+ $this->max_nesting_level = (int) @ini_get('xdebug.max_nesting_level');
-+
- @$node->loadHTML($html);
- return $this->dumpHtml($node);
- }
-@@ -405,6 +424,7 @@ class rcube_washtml
- rcube::raise_error(array('code' => 620, 'type' => 'php',
- 'line' => __LINE__, 'file' => __FILE__,
- 'message' => $errstr), true, false);
-+
- return '';
- }
-
diff --git a/mail/roundcube/patches/patch-program_steps_mail_compose.inc b/mail/roundcube/patches/patch-program_steps_mail_compose.inc
deleted file mode 100644
index 8dddedf0961..00000000000
--- a/mail/roundcube/patches/patch-program_steps_mail_compose.inc
+++ /dev/null
@@ -1,41 +0,0 @@
-$NetBSD: patch-program_steps_mail_compose.inc,v 1.1 2013/06/15 16:08:09 taca Exp $
-
-Fix from repository:
-* commit 0a7df4a32e86a103a5f1fe801374383a195ba1a5:
- Fix so bounces addresses in Sender headers are skipped on Reply-All
- (#1489011)
-* commit aafc0a3d24149da9f7350f760932898319041815:
- Fix so non-inline images aren't skipped on forward (#1489150)
-
---- program/steps/mail/compose.inc.orig 2013-05-16 18:06:36.000000000 +0000
-+++ program/steps/mail/compose.inc
-@@ -143,7 +143,7 @@ $OUTPUT->set_env('top_posting', intval($
- $OUTPUT->set_env('recipients_separator', trim($RCMAIL->config->get('recipients_separator', ',')));
-
- // default font for HTML editor
--$font = rcube_fontdefs($RCMAIL->config->get('default_font', 'Verdana'));
-+$font = rcube_fontdefs($RCMAIL->config->get('default_font'));
- if ($font && !is_array($font)) {
- $OUTPUT->set_env('default_font', $font);
- }
-@@ -318,7 +318,8 @@ foreach ($parts as $header) {
- $fvalue .= $v;
- if ($v = $MESSAGE->headers->cc)
- $fvalue .= (!empty($fvalue) ? $separator : '') . $v;
-- if ($v = $MESSAGE->headers->get('Sender', false))
-+ // Use Sender header (#1489011)
-+ if (($v = $MESSAGE->headers->get('Sender', false)) && strpos($v, '-bounces@') === false)
- $fvalue .= (!empty($fvalue) ? $separator : '') . $v;
-
- // When To: and Reply-To: are the same we add From: address to the list (#1489037)
-@@ -1007,8 +1008,8 @@ function rcmail_write_compose_attachment
- if ($part->ctype_primary == 'message' && $compose_mode == RCUBE_COMPOSE_REPLY) {
- continue;
- }
-- // skip inline images when forwarding in plain text
-- if ($part->content_id && !$bodyIsHtml && $compose_mode == RCUBE_COMPOSE_FORWARD) {
-+ // skip inline images when forwarding
-+ if ($part->content_id && $part->disposition == 'inline' && $compose_mode == RCUBE_COMPOSE_FORWARD) {
- continue;
- }
-
diff --git a/mail/roundcube/patches/patch-program_steps_mail_func.inc b/mail/roundcube/patches/patch-program_steps_mail_func.inc
deleted file mode 100644
index 09374d0be2f..00000000000
--- a/mail/roundcube/patches/patch-program_steps_mail_func.inc
+++ /dev/null
@@ -1,50 +0,0 @@
-$NetBSD: patch-program_steps_mail_func.inc,v 1.1 2013/06/15 16:08:09 taca Exp $
-
-Fix from repository:
-* commit db108e37793c7f8fc8ba11f00d0561d1f0bd32c0:
- Fix another text wrapping issue (wrong handling of long unwrappable lines)
-* commit f5fac810dd2b9276994585789cc68f71c4cd4cd3:
- Fix PHP warning when responding to a message with many Return-Path headers
- (#1489136)
-
---- program/steps/mail/func.inc.orig 2013-05-16 18:06:36.000000000 +0000
-+++ program/steps/mail/func.inc
-@@ -1532,11 +1532,11 @@ function rcmail_address_string($input, $
- /**
- * Wrap text to a given number of characters per line
- * but respect the mail quotation of replies messages (>).
-- * Finally add another quotation level by prpending the lines
-+ * Finally add another quotation level by prepending the lines
- * with >
- *
- * @param string Text to wrap
-- * @param int The line width
-+ * @param int The line width
- * @return string The wrapped text
- */
- function rcmail_wrap_and_quote($text, $length = 72)
-@@ -1552,7 +1552,7 @@ function rcmail_wrap_and_quote($text, $l
- $line = '>' . rtrim($line);
- else if (mb_strlen($line) > $max) {
- $newline = '';
-- foreach(explode("\n", rc_wordwrap($line, $length - 2)) as $l) {
-+ foreach (explode("\n", rc_wordwrap($line, $length - 2)) as $l) {
- if (strlen($l))
- $newline .= '> ' . $l . "\n";
- else
-@@ -1803,9 +1803,12 @@ function rcmail_identity_select($MESSAGE
- // Try Return-Path
- if ($from_idx === null && ($return_path = $MESSAGE->headers->others['return-path'])) {
- foreach ($identities as $idx => $ident) {
-- if (strpos($return_path, str_replace('@', '=', $ident['email_ascii']).'@') !== false) {
-- $from_idx = $idx;
-- break;
-+ $ident = str_replace('@', '=', $ident['email_ascii']) . '@';
-+ foreach ((array)$return_path as $path) {
-+ if (strpos($path, $ident) !== false) {
-+ $from_idx = $idx;
-+ break 2;
-+ }
- }
- }
- }
diff --git a/mail/roundcube/patches/patch-program_steps_mail_show.inc b/mail/roundcube/patches/patch-program_steps_mail_show.inc
deleted file mode 100644
index 907412aa8e6..00000000000
--- a/mail/roundcube/patches/patch-program_steps_mail_show.inc
+++ /dev/null
@@ -1,25 +0,0 @@
-$NetBSD: patch-program_steps_mail_show.inc,v 1.1 2013/06/15 16:08:09 taca Exp $
-
-Fix from repository:
-* commit acb4b71ce55f3d98f7053b7bb8fdcf3c7858fbfc:
- Fix error when there's no writeable addressbook source (#1489162)
-
---- program/steps/mail/show.inc.orig 2013-05-16 18:06:36.000000000 +0000
-+++ program/steps/mail/show.inc
-@@ -255,9 +255,13 @@ function rcmail_contact_exists($email)
- if ($email) {
- // @TODO: search in all address books?
- $CONTACTS = $RCMAIL->get_address_book(-1, true);
-- $existing = $CONTACTS->search('email', $email, true, false);
-- if ($existing->count)
-- return true;
-+
-+ if (is_object($CONTACTS)) {
-+ $existing = $CONTACTS->search('email', $email, true, false);
-+ if ($existing->count) {
-+ return true;
-+ }
-+ }
- }
-
- return false;
diff --git a/mail/roundcube/patches/patch-skins_classic_print.css b/mail/roundcube/patches/patch-skins_classic_print.css
deleted file mode 100644
index dc36d62513a..00000000000
--- a/mail/roundcube/patches/patch-skins_classic_print.css
+++ /dev/null
@@ -1,40 +0,0 @@
-$NetBSD: patch-skins_classic_print.css,v 1.1 2013/06/15 16:08:09 taca Exp $
-
-Fix from repository:
-* commit 50d0a12933f5b58506cfe0df477eeb81b727d41e:
- Add styles for image thumbnails in print mode (#1489134)
-
---- skins/classic/print.css.orig 2013-05-16 18:06:37.000000000 +0000
-+++ skins/classic/print.css
-@@ -136,3 +136,31 @@ div.message-part blockquote blockquote b
- border-left: 2px solid #bb0000;
- border-right: 2px solid #bb0000;
- }
-+
-+p.image-attachment
-+{
-+ position: relative;
-+ padding: 1em;
-+ border-top: 1px solid #ccc;
-+}
-+
-+p.image-attachment a.image-link
-+{
-+ float: left;
-+ display: block;
-+ margin-right: 2em;
-+ min-width: 160px;
-+ min-height: 60px;
-+ text-align: center;
-+}
-+
-+p.image-attachment .image-filename
-+{
-+ display: block;
-+ line-height: 1.6em;
-+}
-+
-+p.image-attachment .attachment-links
-+{
-+ display: none;
-+}
diff --git a/mail/roundcube/patches/patch-skins_larry_mail.css b/mail/roundcube/patches/patch-skins_larry_mail.css
deleted file mode 100644
index 14bc106dfd6..00000000000
--- a/mail/roundcube/patches/patch-skins_larry_mail.css
+++ /dev/null
@@ -1,118 +0,0 @@
-$NetBSD: patch-skins_larry_mail.css,v 1.1 2013/06/15 16:08:09 taca Exp $
-
-Fix from repository:
-* commit 63049afbfe457d9b1dd709e7d8b108218c5ea3f2:
- Set minimum height for message headers block (#1489108)
-
---- skins/larry/mail.css.orig 2013-05-16 18:06:37.000000000 +0000
-+++ skins/larry/mail.css
-@@ -151,7 +151,7 @@ a.iconbutton.threadmode.selected {
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
-- background-image: url(images/listicons.png?v=bd98.25486);
-+ background-image: url(images/listicons.png);
- background-repeat: no-repeat;
- background-position: 6px 3px;
- }
-@@ -254,7 +254,7 @@ a.iconbutton.threadmode.selected {
- left: 19px;
- width: 13px;
- height: 13px;
-- background: url(images/listicons.png?v=bd98.25486) -3px -144px no-repeat;
-+ background: url(images/listicons.png) -3px -144px no-repeat;
- cursor: pointer;
- }
-
-@@ -376,7 +376,7 @@ a.iconbutton.threadmode.selected {
- right: 4px;
- width: 20px;
- height: 18px;
-- background: url(images/buttons.png?v=abf1.36693) -3px -458px no-repeat;
-+ background: url(images/buttons.png) -3px -458px no-repeat;
- }
-
- #mailpreviewtoggle.enabled {
-@@ -463,7 +463,7 @@ a.iconbutton.threadmode.selected {
- #messagelist thead tr td.sortedDESC a {
- color: #004458;
- text-decoration: underline;
-- background: url(images/listicons.png?v=bd98.25486) right -912px no-repeat;
-+ background: url(images/listicons.png) right -912px no-repeat;
- }
-
- #messagelist thead tr td.sortedASC a {
-@@ -526,7 +526,7 @@ a.iconbutton.threadmode.selected {
- height: 18px;
- width: 20px;
- padding: 0;
-- background: url(images/listicons.png?v=bd98.25486) -100px 0 no-repeat;
-+ background: url(images/listicons.png) -100px 0 no-repeat;
- }
-
- #messagelist tbody tr td.attachment span.attachment {
-@@ -826,7 +826,7 @@ h3.subject {
- left: 0;
- width: 18px;
- height: 16px;
-- background: url(images/buttons.png?v=abf1.36693) -27px -242px no-repeat;
-+ background: url(images/buttons.png) -27px -242px no-repeat;
- }
-
- .moreheaderstoggle.remove .iconlink {
-@@ -846,7 +846,7 @@ div.more-headers {
- width: 12px;
- height: 10px;
- cursor: pointer;
-- background: url(images/buttons.png?v=abf1.36693) center -1579px no-repeat;
-+ background: url(images/buttons.png) center -1579px no-repeat;
- }
-
- div.hide-headers {
-@@ -903,7 +903,7 @@ div.hide-headers {
- width: 32px;
- height: 32px;
- overflow: hidden;
-- background: url(images/contactpic_32px.png?v=09a3.287) center center no-repeat #fff;
-+ background: url(images/contactpic_32px.png) center center no-repeat #fff;
- border-radius: 3px;
- }
-
-@@ -913,6 +913,10 @@ div.hide-headers {
- border-radius: 3px;
- }
-
-+#messageheader .message-headers {
-+ min-height: 60px;
-+}
-+
- #messageheader #contactphoto {
- display: block;
- position: absolute;
-@@ -923,7 +927,7 @@ div.hide-headers {
- overflow: hidden;
- border-radius: 4px;
- border: 1px solid #e6e6e6;
-- background: url(images/contactpic_48px.png?v=1bc4.353) center center no-repeat #fff;
-+ background: url(images/contactpic_48px.png) center center no-repeat #fff;
- }
-
- #messageheader #contactphoto img {
-@@ -1200,7 +1204,7 @@ div.message-partheaders .headers-table t
- }
-
- #compose-contacts li a, #contacts-table td {
-- background: url(images/listicons.png?v=bd98.25486) -100px 0 no-repeat;
-+ background: url(images/listicons.png) -100px 0 no-repeat;
- overflow: hidden;
- padding-left: 36px;
- text-overflow: ellipsis;
-@@ -1412,7 +1416,7 @@ div.message-partheaders .headers-table t
- }
-
- #compose-attachments.droptarget {
-- background-image: url(images/filedrop.png?v=deab.605);
-+ background-image: url(images/filedrop.png);
- background-position: center bottom;
- background-repeat: no-repeat;
- }
diff --git a/mail/roundcube/patches/patch-skins_larry_print.css b/mail/roundcube/patches/patch-skins_larry_print.css
deleted file mode 100644
index 1bebecc4875..00000000000
--- a/mail/roundcube/patches/patch-skins_larry_print.css
+++ /dev/null
@@ -1,36 +0,0 @@
-$NetBSD: patch-skins_larry_print.css,v 1.1 2013/06/15 16:08:09 taca Exp $
-
-Fix from repository:
-* commit 50d0a12933f5b58506cfe0df477eeb81b727d41e:
- Add styles for image thumbnails in print mode (#1489134)
-
---- skins/larry/print.css.orig 2013-05-16 18:06:37.000000000 +0000
-+++ skins/larry/print.css
-@@ -123,3 +123,27 @@ div.message-part blockquote blockquote b
- border-left: 2px solid #b00;
- border-right: 2px solid #b00;
- }
-+
-+p.image-attachment {
-+ position: relative;
-+ padding: 1em;
-+ border-top: 1px solid #ccc;
-+}
-+
-+p.image-attachment a.image-link {
-+ float: left;
-+ display: block;
-+ margin-right: 2em;
-+ min-width: 160px;
-+ min-height: 60px;
-+ text-align: center;
-+}
-+
-+p.image-attachment .image-filename {
-+ display: block;
-+ line-height: 1.6em;
-+}
-+
-+p.image-attachment .attachment-links {
-+ display: none;
-+}
diff --git a/mail/roundcube/patches/patch-skins_larry_templates_message.html b/mail/roundcube/patches/patch-skins_larry_templates_message.html
deleted file mode 100644
index 7bef2dc94f4..00000000000
--- a/mail/roundcube/patches/patch-skins_larry_templates_message.html
+++ /dev/null
@@ -1,18 +0,0 @@
-$NetBSD: patch-skins_larry_templates_message.html,v 1.1 2013/06/15 16:08:09 taca Exp $
-
-Fix from repository:
-* commit 63049afbfe457d9b1dd709e7d8b108218c5ea3f2:
- Set minimum height for message headers block (#1489108)
-
---- skins/larry/templates/message.html.orig 2013-05-16 18:06:37.000000000 +0000
-+++ skins/larry/templates/message.html
-@@ -44,7 +44,9 @@
- <span class="moreheaderstoggle"></span>
-
- <h2 class="subject"><roundcube:object name="messageHeaders" valueOf="subject" /></h2>
-+<div class="message-headers">
- <roundcube:object name="messageHeaders" class="headers-table" addicon="/images/addcontact.png" exclude="subject" max="20" />
-+</div>
- <roundcube:object name="messageFullHeaders" id="full-headers" />
-
- <!-- record navigation -->