From c4844bff99871ce44e71a7b20b64fb603866191a Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Tue, 13 Jan 2015 11:25:08 +0100 Subject: php-horde-Horde-Imap-Client: upstream patch --- Horde_Imap_Client-upstream.patch | 58 ++++++++++++++++++++++++++++++++++++++++ php-horde-Horde-Imap-Client.spec | 10 ++++++- 2 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 Horde_Imap_Client-upstream.patch diff --git a/Horde_Imap_Client-upstream.patch b/Horde_Imap_Client-upstream.patch new file mode 100644 index 0000000..00ca1e3 --- /dev/null +++ b/Horde_Imap_Client-upstream.patch @@ -0,0 +1,58 @@ +From ae1adf9f1549f6bb826b541274949cfd0e77457e Mon Sep 17 00:00:00 2001 +From: Michael M Slusarz +Date: Tue, 13 Jan 2015 03:00:10 -0700 +Subject: [PATCH] [mms] Workaround broken in-memory stream filter handling. + +Needed to work on PHP 5.5.21+ and 5.6.5+ +--- + .../Horde/Imap/Client/Data/Format/Filter/Quote.php | 25 ++++++++++++++++++++-- + framework/Imap_Client/package.xml | 4 ++-- + 2 files changed, 25 insertions(+), 4 deletions(-) + +diff --git a/framework/Imap_Client/lib/Horde/Imap/Client/Data/Format/Filter/Quote.php b/framework/Imap_Client/lib/Horde/Imap/Client/Data/Format/Filter/Quote.php +index a3f1788..3964f69 100644 +--- a/framework/Imap_Client/lib/Horde/Imap/Client/Data/Format/Filter/Quote.php ++++ b/framework/Imap_Client/lib/Horde/Imap/Client/Data/Format/Filter/Quote.php +@@ -23,11 +23,28 @@ + class Horde_Imap_Client_Data_Format_Filter_Quote extends php_user_filter + { + /** ++ * Has the initial quote been prepended? ++ * ++ * @var boolean ++ */ ++ protected $_prepend; ++ ++ /** ++ */ ++ public function onCreate() ++ { ++ $this->_prepend = false; ++ } ++ ++ /** + * @see stream_filter_register() + */ + public function filter($in, $out, &$consumed, $closing) + { +- stream_bucket_append($out, stream_bucket_new($this->stream, '"')); ++ if (!$this->_prepend) { ++ stream_bucket_append($out, stream_bucket_new($this->stream, '"')); ++ $this->_prepend = true; ++ } + + while ($bucket = stream_bucket_make_writeable($in)) { + $consumed += $bucket->datalen; +@@ -35,7 +52,11 @@ public function filter($in, $out, &$consumed, $closing) + stream_bucket_append($out, $bucket); + } + +- stream_bucket_append($out, stream_bucket_new($this->stream, '"')); ++ /* feof() call needed due to: ++ * http://news.php.net/php.internals/80363 */ ++ if ($closing || feof($this->stream)) { ++ stream_bucket_append($out, stream_bucket_new($this->stream, '"')); ++ } + + return PSFS_PASS_ON; + } diff --git a/php-horde-Horde-Imap-Client.spec b/php-horde-Horde-Imap-Client.spec index dc558f2..9d19b86 100644 --- a/php-horde-Horde-Imap-Client.spec +++ b/php-horde-Horde-Imap-Client.spec @@ -12,7 +12,7 @@ Name: php-horde-Horde-Imap-Client Version: 2.26.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Horde IMAP abstraction interface Group: Development/Libraries @@ -20,6 +20,8 @@ License: LGPLv2 URL: http://pear.horde.org Source0: http://%{pear_channel}/get/%{pear_name}-%{version}.tgz +Patch0: %{pear_name}-upstream.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildArch: noarch BuildRequires: php(language) >= 5.3.0 @@ -90,10 +92,13 @@ drivers. %setup -q -c cd %{pear_name}-%{version} +%patch0 -p3 -b .upstream + # Don't install .po and .pot files # Remove checksum for .mo, as we regenerate them sed -e '/%{pear_name}\.po/d' \ -e '/%{pear_name}\.mo/s/md5sum=.*name=/name=/' \ + -e '/Quote.php/s/md5sum=.*name=/name=/' \ ../package.xml >%{name}.xml touch -r ../package.xml %{name}.xml @@ -157,6 +162,9 @@ fi %changelog +* Tue Jan 13 2015 Remi Collet - 2.26.0-2 +- add upstream for stream change in php + * Wed Jan 07 2015 Remi Collet - 2.26.0-1 - Update to 2.26.0 -- cgit