gunnar: server/php-kolab/Kolab_Format Kolab_Format.spec, 1.9.2.1, 1.9.2.2 issue3525.patch, 1.1.2.1, 1.1.2.2

cvs at kolab.org cvs at kolab.org
Thu Apr 2 11:48:47 CEST 2009


Author: gunnar

Update of /kolabrepository/server/php-kolab/Kolab_Format
In directory doto:/tmp/cvs-serv7828

Modified Files:
      Tag: kolab_2_2_branch
	Kolab_Format.spec issue3525.patch 
Log Message:
Second attempt at fixing  kolab/issue3525 (free/busy regeneration aborts for unparsable events). Also contains a fix for  kolab/issue3528 (Events with broken encoding should work).

Index: Kolab_Format.spec
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Format/Kolab_Format.spec,v
retrieving revision 1.9.2.1
retrieving revision 1.9.2.2
diff -u -d -r1.9.2.1 -r1.9.2.2
--- Kolab_Format.spec	2 Apr 2009 07:29:45 -0000	1.9.2.1
+++ Kolab_Format.spec	2 Apr 2009 09:48:45 -0000	1.9.2.2
@@ -42,7 +42,7 @@
 %prep
 	%setup -n %{V_package}-%{V_version}
 
-        %patch -p3 -P 0
+        %patch -p2 -P 0
 
 	cat ../package.xml | sed -e 's/md5sum="[^"]*"//' > package.xml
 

Index: issue3525.patch
===================================================================
RCS file: /kolabrepository/server/php-kolab/Kolab_Format/Attic/issue3525.patch,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -d -r1.1.2.1 -r1.1.2.2
--- issue3525.patch	2 Apr 2009 07:29:45 -0000	1.1.2.1
+++ issue3525.patch	2 Apr 2009 09:48:45 -0000	1.1.2.2
@@ -1,12 +1,85 @@
-diff --git a/framework/Kolab_Format/lib/Horde/Kolab/Format/XML.php b/framework/Kolab_Format/lib/Horde/Kolab/Format/XML.php
-index 03a5318..0a9859e 100644
---- a/framework/Kolab_Format/lib/Horde/Kolab/Format/XML.php
-+++ b/framework/Kolab_Format/lib/Horde/Kolab/Format/XML.php
-@@ -416,6 +416,6 @@ class Horde_Kolab_Format_XML
+From: Gunnar Wrobel <p at rdus.de>
+Subject: [PATCH] t/Kolab_Format/HK/GW/HandleEmptyXmlParserReturn
+
+Correct handling of empty return values from the XML parser. An empty
+return might occur if the XML document is broken (e.g. broken encoding).
+
+ISSUE: kolab/issue3520 (calendar with certain entries does not display in web client)
+ISSUE: kolab/issue3525 (free/busy regeneration aborts for unparsable events)
+ISSUE: kolab/issue3528 (Events with broken encoding should work)
+
+LINK: https://www.intevation.de/roundup/kolab/issue3520
+LINK: https://www.intevation.de/roundup/kolab/issue3525
+LINK: https://www.intevation.de/roundup/kolab/issue3528
+
+STATUS: COMMIT
+
+REF:
+
+Signed-off-by: Gunnar Wrobel <p at rdus.de>
+
+---
+ horde-webmail/lib/Horde/Kolab/Format/XML.php |   14 ++++++++++++--
+ 1 files changed, 12 insertions(+), 2 deletions(-)
+
+diff --git a/horde-webmail/lib/Horde/Kolab/Format/XML.php b/horde-webmail/lib/Horde/Kolab/Format/XML.php
+index d3d7def..30320c9 100644
+--- a/horde-webmail/lib/Horde/Kolab/Format/XML.php
++++ b/horde-webmail/lib/Horde/Kolab/Format/XML.php
+@@ -364,6 +364,9 @@ class Horde_Kolab_Format_XML
+     /**
+      * Load an object based on the given XML string.
+      *
++     * @todo Check encoding of the returned array. It seems to be ISO-8859-1 at
++     * the moment and UTF-8 would seem more appropriate.
++     *
+      * @param string $xmltext  The XML of the message as string.
+      *
+      * @return array|PEAR_Error The data array representing the object.
+@@ -371,7 +374,10 @@ class Horde_Kolab_Format_XML
      function load(&$xmltext)
      {
          $noderoot = $this->_parseXml($xmltext);
 -        if ($noderoot === false) {
++        if (is_a($noderoot, 'PEAR_Error')) {
++            return $noderoot;
++        }
 +        if (empty($noderoot)) {
              return false;
          }
+ 
+@@ -530,9 +536,13 @@ class Horde_Kolab_Format_XML
+      */
+     function _parseXml(&$xmltext)
+     {
++        if (strcasecmp(mb_detect_encoding($xmltext, 'UTF-8, ISO-8859-1'), 'UTF-8') !== 0) {
++            $xmltext = mb_convert_encoding($xmltext, 'UTF-8', 'ISO-8859-1');
++        }
++
+         $params = array(
+             'xml' => $xmltext,
+-            'options' => HORDE_DOM_LOAD_REMOVE_BLANKS,
++            'options' => HORDE_DOM_LOAD_REMOVE_BLANKS | HORDE_DOM_LOAD_RECOVER,
+         );
+ 
+         $result = Horde_DOM_Document::factory($params);
+-- 
+tg: (2d1588f..) t/Kolab_Format/HK/GW/HandleEmptyXmlParserReturn (depends on: t/kronolith/HK/GW/XfbAccess)
+-- 
+TOPGIT patch commit log
+=======================
+
+commit 1883efc257b2e50646e11da79cc47fb0f7f328ca
+Author: Gunnar Wrobel <p at rdus.de>
+Date:   Thu Apr 2 11:36:17 2009 +0200
+
+    Correct handling of empty return values from the XML parser. An empty
+    return might occur if the XML document is broken (e.g. broken encoding).
+    
+    ISSUE: kolab/issue3520 (calendar with certain entries does not display in web client)
+    ISSUE: kolab/issue3525 (free/busy regeneration aborts for unparsable events)
+    ISSUE: kolab/issue3528 (Events with broken encoding should work)
+    
+    LINK: https://www.intevation.de/roundup/kolab/issue3520
+    LINK: https://www.intevation.de/roundup/kolab/issue3525
+    LINK: https://www.intevation.de/roundup/kolab/issue3528





More information about the commits mailing list