Hello community,

here is the log from the commit of package kdepim3 for openSUSE:Factory checked 
in at 2012-10-23 19:38:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kdepim3 (Old)
 and      /work/SRC/openSUSE:Factory/.kdepim3.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kdepim3", Maintainer is "[email protected]"

Changes:
--------
--- /work/SRC/openSUSE:Factory/kdepim3/kdepim3.changes  2012-09-13 
00:03:03.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.kdepim3.new/kdepim3.changes     2012-10-23 
19:38:36.000000000 +0200
@@ -1,0 +2,9 @@
+Fri Sep 28 14:39:44 UTC 2012 - [email protected]
+
+- Add three IMAP patches by Francois Andriot (trinity project)
+  See Trinity bug 1235
+* kdepim-trinity-patch3.patch (removes endless loop)
+* kdepim-trinity-patch2.patch (fix SEGV in imapparser)
+* kdepim-trinity-patch1.patch (fix the addquotes/removequots functions)
+
+-------------------------------------------------------------------

New:
----
  kdepim-trinity-patch1.patch
  kdepim-trinity-patch2.patch
  kdepim-trinity-patch3.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kdepim3.spec ++++++
--- /var/tmp/diff_new_pack.pVSgFt/_old  2012-10-23 19:38:40.000000000 +0200
+++ /var/tmp/diff_new_pack.pVSgFt/_new  2012-10-23 19:38:40.000000000 +0200
@@ -78,6 +78,9 @@
 Patch138:       kdepim-trinity-imap-optimize.patch
 Patch139:       kdepim-trinity-imap-segfault.patch
 Patch140:       kdepim-trinity-remove-unnecessary-sync.patch
+Patch141:       kdepim-trinity-patch1.patch
+Patch142:       kdepim-trinity-patch2.patch
+Patch143:       kdepim-trinity-patch3.patch
 Provides:       cryptplug
 Obsoletes:      cryptplug
 # authentification plugins can be useful
@@ -277,6 +280,9 @@
 %patch138 -p1
 %patch139 -p1
 %patch140 -p1
+%patch141 -p1
+%patch142 -p1
+%patch143 -p1
 . /etc/opt/kde3/common_options
 update_admin
 

++++++ kdepim-trinity-patch1.patch ++++++
--- kdepim-3.5.13.1.orig/libkmime/kmime_util.cpp        2012-09-08 
12:06:45.000000000 +0200
+++ kdepim-3.5.13.1/libkmime/kmime_util.cpp     2012-09-25 18:49:54.806551812 
+0200
@@ -436,29 +436,25 @@ 
 
 void removeQuots(QCString &str)
 {
-  str.replace(QRegExp("\\\""), "\"");
-  str.replace(QRegExp("\\\\"), "\\");
+  // Removes any quote or backslash caracter
+  str.replace(QRegExp("[\\\"]"), "");
 }
 
 
 void removeQuots(QString &str)
 {
-  str.replace(QRegExp("\\\""), "\"");
-  str.replace(QRegExp("\\\\"), "\\");
+  // Removes any quote or backslash caracter
+  str.replace(QRegExp("[\\\"]"), "");
 }
 
 
 void addQuotes(QCString &str, bool forceQuotes)
 {
-  bool needsQuotes=false;
-  if ( QString( str ) .contains( QRegExp( QString( 
"\"|\\\\|=|\\]|\\[|:|;|,|\\.|,|@|<|>|\\)|\\(" ) ) ) )
-    needsQuotes = true;
-
-  str.replace(QRegExp("\\"), "\\\\");
-  str.replace(QRegExp("\""), "\\\"");
-
-  if (needsQuotes || forceQuotes) {
-    str.insert(0,'\"');
+  if ( forceQuotes || QString(str).contains( QRegExp( QString( 
"\"|\\\\|=|\\]|\\[|:|;|,|\\.|,|@|<|>|\\)|\\(" ) ) ) ) {
+    // Adds a backslash in front of any existing quote or backslash character
+    str.replace(QRegExp("([\\\"])"), "\\\\1");
+    // Adds quote at beginning and end of thestring
+    str.insert(0,'"');
     str.append("\"");
   }
 }
++++++ kdepim-trinity-patch2.patch ++++++
--- kdepim-3.5.13.1.orig/kioslaves/imap4/imapparser.cc  2012-09-08 
12:06:42.000000000 +0200
+++ kdepim-3.5.13.1/kioslaves/imap4/imapparser.cc       2012-09-25 
13:51:53.496792670 +0200
@@ -345,6 +345,7 @@ 
   parseOneWordC(result);        // *
   QByteArray what = parseLiteral (result); // see whats coming next
 
+  if(!what.isEmpty ()) {
   switch (what[0])
   {
     //the status responses
@@ -482,6 +483,7 @@ 
       if (valid)
       {
         what = parseLiteral (result);
+       if(!what.isEmpty ()) {
         switch (what[0])
         {
         case 'E':
@@ -520,10 +522,12 @@ 
         default:
           break;
         }
+       }
       }
     }
     break;
   }                             //switch
+  }
 }                               //func
 
 
@@ -1915,9 +1919,10 @@ 
   if (!inWords.isEmpty() && inWords[0] == '{')
   {
     QCString retVal;
-    ulong runLen = inWords.find ('}', 1);
-    if (runLen > 0)
+    long srunLen = inWords.find ('}', 1); // Can return -1, so use a signed 
long
+    if (srunLen > 0)
     {
+      ulong runLen = (ulong)srunLen;
       bool proper;
       ulong runLenSave = runLen + 1;
       QCString tmpstr(runLen);
++++++ kdepim-trinity-patch3.patch ++++++
--- kdepim-3.5.13.1.orig/kioslaves/imap4/imapparser.h   2012-09-26 
14:43:52.932265697 +0200
+++ kdepim-3.5.13.1/kioslaves/imap4/imapparser.h        2012-09-26 
14:45:33.190317168 +0200
@@ -94,7 +94,11 @@ 
   }
   uint length()
   {
-    return data.size() - pos;
+    if( pos < data.size() ) {
+      return data.size() - pos;
+    } else {
+      return 0;
+    }
   }
   void fromString(const QString &s)
   {
-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to