Hello community,

here is the log from the commit of package kdelibs3 for openSUSE:Factory
checked in at Mon Jun 20 09:47:17 CEST 2011.



--------
--- KDE/kdelibs3/kdelibs3.changes       2010-04-19 20:50:03.000000000 +0200
+++ /mounts/work_src_done/STABLE/kdelibs3/kdelibs3.changes      2011-06-17 
12:25:33.000000000 +0200
@@ -1,0 +2,15 @@
+Fri Jun 17 09:55:54 UTC 2011 - [email protected]
+
+- Add /etc/ld.so.conf.d/kdelibs3.conf (bnc#671725).
+
+-------------------------------------------------------------------
+Sat May  7 19:49:45 UTC 2011 - [email protected]
+
+- added patch for scrollbars in light style v2 to prevent appearance of garbage
+
+-------------------------------------------------------------------
+Mon Feb 21 10:37:20 UTC 2011 - [email protected]
+
+- Use /proc/<pid>/oom_score_adj if available as new interface.
+
+-------------------------------------------------------------------

calling whatdependson for head-i586


New:
----
  kcontrol_crash_patch.diff
  kdelibs-3.5.10-CVE-2009-2702.patch
  kdelibs-3.5.10-cve-2009-1698.patch
  kdelibs-3.5.10-cve-2009-1725.patch
  kdelibs-3.5.10-cve-2009-2537-select-length.patch
  kdelibs-3.5.10-kio.patch
  kdelibs-3.5.10-latex-syntax-kile-2.0.3.patch
  kdelibs-3.5.4-CVE-2009-1690.patch
  light_v_2_scrollbar_patch.patch
  oom_score_adj.patch

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

Other differences:
------------------
++++++ kdelibs3-devel-doc.spec ++++++
--- /var/tmp/diff_new_pack.jNCiCj/_old  2011-06-20 09:40:42.000000000 +0200
+++ /var/tmp/diff_new_pack.jNCiCj/_new  2011-06-20 09:40:42.000000000 +0200
@@ -1,7 +1,7 @@
 #
-# spec file for package kdelibs3-devel-doc (Version 3.5.10)
+# spec file for package kdelibs3-devel-doc
 #
-# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -31,7 +31,7 @@
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 Summary:        Additional Package Documentation
 Version:        3.5.10
-Release:        37
+Release:        44
 %define       kdelibs_patch_level b
 BuildArch:      noarch
 Requires:       kdelibs3 qt3-devel-doc

++++++ kdelibs3.spec ++++++
--- /var/tmp/diff_new_pack.jNCiCj/_old  2011-06-20 09:40:42.000000000 +0200
+++ /var/tmp/diff_new_pack.jNCiCj/_new  2011-06-20 09:40:42.000000000 +0200
@@ -1,7 +1,7 @@
 #
-# spec file for package kdelibs3 (Version 3.5.10)
+# spec file for package kdelibs3
 #
-# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -38,7 +38,7 @@
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 Summary:        KDE Base Libraries
 Version:        3.5.10
-Release:        32
+Release:        47
 Obsoletes:      kde3-i18n kups keramik kdelibs3-cups kdelibs3-33addons 
kdepim3-networkstatus
 Provides:       kups keramik kdelibs3-cups kdelibs3-33addons 
kdepim3-networkstatus
 Provides:       kdelibs3_base = 3.3
@@ -154,6 +154,18 @@
 Patch161:       gcc45.diff
 Patch162:       arts-acinclude.patch
 Patch163:       kdelibs-3.5.10-ossl-1.x.patch
+Patch164:       light_v_2_scrollbar_patch.patch
+
+Patch201:       kdelibs-3.5.4-CVE-2009-1690.patch
+Patch203:       kdelibs-3.5.10-latex-syntax-kile-2.0.3.patch
+Patch204:       kdelibs-3.5.10-CVE-2009-2702.patch
+Patch205:       kdelibs-3.5.10-cve-2009-2537-select-length.patch
+Patch206:       kdelibs-3.5.10-cve-2009-1725.patch
+Patch207:       kdelibs-3.5.10-cve-2009-1698.patch
+
+Patch210:       kdelibs-3.5.10-kio.patch
+Patch211:       oom_score_adj.patch
+Patch212:       kcontrol_crash_patch.diff
 
 %description
 This package contains kdelibs, one of the basic packages of the K
@@ -211,7 +223,7 @@
 # usefiles /opt/kde3/bin/dcopidl /opt/kde3/bin/dcopidl2cpp 
/opt/kde3/bin/kdb2html /opt/kde3/bin/preparetips 
 Requires:       qt3-devel libvorbis-devel kdelibs3 = %version autoconf 
automake libxslt-devel libxml2-devel libart_lgpl-devel libjpeg-devel 
 # next line from kde3-devel-packages macro
-Requires:       kdelibs3-doc libtiff-devel openssl-devel unsermake 
update-desktop-files
+Requires:       kdelibs3-doc libtiff-devel openssl-devel update-desktop-files
 %if %suse_version > 1000
 Requires:       libdrm-devel dbus-1-qt3-devel
 %else
@@ -343,6 +355,17 @@
 %patch161
 %patch162 -p1
 %patch163 -p1
+%patch164 -p1
+%patch201 -p1
+%patch203 -p1
+%patch204 -p1
+%patch205 -p1
+%patch206
+%patch207 -p1
+%patch210 -p1
+%patch211 -p1
+%patch212
+
 tar xfvj %SOURCE12
 #
 # define KDE version exactly
@@ -544,6 +567,14 @@
   mkdir -p $RPM_BUILD_ROOT/opt/kde3/share/applications
   touch $RPM_BUILD_ROOT/opt/kde3/share/applications/mimeinfo.cache
   %endif
+# Create /etc/ld.so.conf.d/kdelibs3.conf 
+mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d
+cat > $RPM_BUILD_ROOT/etc/ld.so.conf.d/kdelibs3.conf <<EOF
+%ifarch s390x sparc64 x86_64 ppc64
+/opt/kde3/lib64
+%endif
+/opt/kde3/lib
+EOF
 
 %post
   %run_ldconfig
@@ -597,6 +628,7 @@
 %files
 %defattr(-,root,root)
 %doc AUTHORS COPYING COPYING.BSD COPYING.LIB NAMING README 
+/etc/ld.so.conf.d/kdelibs3.conf
 %dir /etc/opt/kde3
 %dir /opt/kde3
 %dir /opt/kde3/bin


++++++ kcontrol_crash_patch.diff ++++++
--- kdecore/svgicons/ksvgiconengine.cpp.orig    2011-03-15 01:29:21.172970849 
+0300
+++ kdecore/svgicons/ksvgiconengine.cpp 2011-03-15 01:42:09.904779795 +0300
@@ -538,6 +538,8 @@
 
 bool KSVGIconEngine::load(int width, int height, const QString &path)
 {
+       if(path.isNull()) return false;
+
        QDomDocument svgDocument("svg");
        QFile file(path);
 
++++++ kdelibs-3.5.10-CVE-2009-2702.patch ++++++
diff -pruN kdelibs-3.5.4.orig/kio/kssl/kopenssl.cc 
kdelibs-3.5.4/kio/kssl/kopenssl.cc
--- kdelibs-3.5.4.orig/kio/kssl/kopenssl.cc     2009-08-31 20:50:12.000000000 
+0200
+++ kdelibs-3.5.4/kio/kssl/kopenssl.cc  2009-08-31 21:46:47.000000000 +0200
@@ -196,6 +196,7 @@ static int (*K_X509_NAME_add_entry_by_tx
 static X509_NAME *(*K_X509_NAME_new)() = 0L;
 static int (*K_X509_REQ_set_subject_name)(X509_REQ*,X509_NAME*) = 0L;
 static unsigned char *(*K_ASN1_STRING_data)(ASN1_STRING*) = 0L;
+static int (*K_ASN1_STRING_length)(ASN1_STRING*) = 0L;
 static STACK_OF(SSL_CIPHER) *(*K_SSL_get_ciphers)(const SSL *ssl) = 0L;
 
 #endif
@@ -498,6 +499,7 @@ KConfig *cfg;
       K_X509_NAME_new = (X509_NAME *(*)()) _cryptoLib->symbol("X509_NAME_new");
       K_X509_REQ_set_subject_name = (int (*)(X509_REQ*,X509_NAME*)) 
_cryptoLib->symbol("X509_REQ_set_subject_name");
       K_ASN1_STRING_data = (unsigned char *(*)(ASN1_STRING*)) 
_cryptoLib->symbol("ASN1_STRING_data");
+      K_ASN1_STRING_length = (int (*)(ASN1_STRING*)) 
_cryptoLib->symbol("ASN1_STRING_length");
 #endif
    }
 
@@ -1549,6 +1551,13 @@ unsigned char *KOpenSSLProxy::ASN1_STRIN
    return 0L;
 }
 
+
+int KOpenSSLProxy::ASN1_STRING_length(ASN1_STRING *x) {
+   if (K_ASN1_STRING_length) return (K_ASN1_STRING_length)(x);
+   return 0L;
+}
+
+
 STACK_OF(SSL_CIPHER) *KOpenSSLProxy::SSL_get_ciphers(const SSL* ssl) {
   if (K_SSL_get_ciphers) return (K_SSL_get_ciphers)(ssl);
   return 0L;
diff -pruN kdelibs-3.5.4.orig/kio/kssl/kopenssl.h 
kdelibs-3.5.4/kio/kssl/kopenssl.h
--- kdelibs-3.5.4.orig/kio/kssl/kopenssl.h      2006-07-22 10:16:39.000000000 
+0200
+++ kdelibs-3.5.4/kio/kssl/kopenssl.h   2009-08-31 21:46:47.000000000 +0200
@@ -622,6 +622,11 @@ public:
    unsigned char *ASN1_STRING_data(ASN1_STRING *x);
 
    /*
+    *  ASN1_STRING_length
+    */
+   int ASN1_STRING_length(ASN1_STRING *x);
+
+   /*
     *  
     */
    int OBJ_obj2nid(ASN1_OBJECT *o);
diff -pruN kdelibs-3.5.4.orig/kio/kssl/ksslcertificate.cc 
kdelibs-3.5.4/kio/kssl/ksslcertificate.cc
--- kdelibs-3.5.4.orig/kio/kssl/ksslcertificate.cc      2006-01-19 
18:06:12.000000000 +0100
+++ kdelibs-3.5.4/kio/kssl/ksslcertificate.cc   2009-08-31 21:54:38.000000000 
+0200
@@ -1099,7 +1099,9 @@ QStringList KSSLCertificate::subjAltName
                }
 
                QString s = (const char 
*)d->kossl->ASN1_STRING_data(val->d.ia5);
-               if (!s.isEmpty()) {
+               if (!s.isEmpty()  &&
+                               /* skip subjectAltNames with embedded NULs */
+                               s.length() == 
d->kossl->ASN1_STRING_length(val->d.ia5)) {
                        rc += s;
                }
        }
++++++ kdelibs-3.5.10-cve-2009-1698.patch ++++++
diff -ur kdelibs-3.5.10/khtml/css/cssparser.cpp 
kdelibs-3.5.10-cve-2009-1698/khtml/css/cssparser.cpp
--- kdelibs-3.5.10/khtml/css/cssparser.cpp      2007-01-15 12:34:04.000000000 
+0100
+++ kdelibs-3.5.10-cve-2009-1698/khtml/css/cssparser.cpp        2009-07-26 
05:46:39.000000000 +0200
@@ -1344,6 +1344,14 @@
                 if ( args->size() != 1)
                     return false;
                 Value *a = args->current();
+                if (a->unit != CSSPrimitiveValue::CSS_IDENT) {
+                    isValid=false;
+                    break;
+                }
+                if (qString(a->string)[0] == '-') {
+                    isValid=false;
+                    break;
+                }
                 parsedValue = new CSSPrimitiveValueImpl(domString(a->string), 
CSSPrimitiveValue::CSS_ATTR);
             }
             else
@@ -1396,7 +1404,8 @@
 
     CounterImpl *counter = new CounterImpl;
     Value *i = args->current();
-//    if (i->unit != CSSPrimitiveValue::CSS_IDENT) goto invalid;
+    if (i->unit != CSSPrimitiveValue::CSS_IDENT) goto invalid;
+    if (qString(i->string)[0] == '-') goto invalid;
     counter->m_identifier = domString(i->string);
     if (counters) {
         i = args->next();
diff -ur kdelibs-3.5.10/khtml/css/css_valueimpl.cpp 
kdelibs-3.5.10-cve-2009-1698/khtml/css/css_valueimpl.cpp
--- kdelibs-3.5.10/khtml/css/css_valueimpl.cpp  2006-07-22 10:16:49.000000000 
+0200
+++ kdelibs-3.5.10-cve-2009-1698/khtml/css/css_valueimpl.cpp    2009-07-26 
05:45:36.000000000 +0200
@@ -736,7 +736,9 @@
            text = getValueName(m_value.ident);
            break;
        case CSSPrimitiveValue::CSS_ATTR:
-           // ###
+            text = "attr(";
+            text += DOMString( m_value.string );
+            text += ")";
            break;
        case CSSPrimitiveValue::CSS_COUNTER:
             text = "counter(";
++++++ kdelibs-3.5.10-cve-2009-1725.patch ++++++
Index: khtml/html/htmltokenizer.cpp
===================================================================
--- khtml/html/htmltokenizer.cpp        (revision 1002163)
+++ khtml/html/htmltokenizer.cpp        (revision 1002164)
@@ -736,7 +736,7 @@
 #ifdef TOKEN_DEBUG
                 kdDebug( 6036 ) << "unknown entity!" << endl;
 #endif
-                checkBuffer(10);
+                checkBuffer(11);
                 // ignore the sequence, add it to the buffer as plaintext
                 *dest++ = '&';
                 for(unsigned int i = 0; i < cBufferPos; i++)
++++++ kdelibs-3.5.10-cve-2009-2537-select-length.patch ++++++
diff -ur kdelibs-3.5.10/khtml/ecma/kjs_html.cpp 
kdelibs-3.5.10-cve-2009-2537-select-length/khtml/ecma/kjs_html.cpp
--- kdelibs-3.5.10/khtml/ecma/kjs_html.cpp      2008-02-13 10:41:09.000000000 
+0100
+++ kdelibs-3.5.10-cve-2009-2537-select-length/khtml/ecma/kjs_html.cpp  
2009-07-26 04:54:52.000000000 +0200
@@ -62,6 +62,9 @@
 
 #include <kdebug.h>
 
+// CVE-2009-2537 (vendors agreed on max 10000 elements)
+#define MAX_SELECT_LENGTH 10000
+
 namespace KJS {
 
 KJS_DEFINE_PROTOTYPE_WITH_PROTOTYPE(HTMLDocumentProto, DOMDocumentProto)
@@ -2550,8 +2553,14 @@
       case SelectValue:           { select.setValue(str); return; }
       case SelectLength:          { // read-only according to the NS spec, but 
webpages need it writeable
                                          Object coll = Object::dynamicCast( 
getSelectHTMLCollection(exec, select.options(), select) );
-                                         if ( coll.isValid() )
-                                           coll.put(exec,"length",value);
+
+                                         if ( coll.isValid() ) {
+                                           if (value.toInteger(exec) >= 
MAX_SELECT_LENGTH) {
+                                             Object err = Error::create(exec, 
RangeError);
+                                             exec->setException(err);
+                                           } else
+                                             coll.put(exec, "length", value);
+                                         }
                                          return;
                                        }
       // read-only: form
++++++ kdelibs-3.5.10-kio.patch ++++++
--- kdelibs-3.5.10/kio/kio/kzip.cpp.orig        2009-12-09 18:42:47.000000000 
+0100
+++ kdelibs-3.5.10/kio/kio/kzip.cpp     2009-12-09 18:45:43.000000000 +0100
@@ -1051,6 +1051,20 @@
     return true;
 }
 
+bool KZip::writeDir(const QString& name, const QString& user, const QString& 
group)
+{
+    // Zip files have no explicit directories, they are implicitly created 
during extraction time
+    // when file entries have paths in them.
+    // However, to support empty directories, we must create a dummy file 
entry which ends with '/'.
+    QString dirName = name;
+    if (!name.endsWith("/"))
+        dirName = dirName.append('/');
+
+    mode_t perm = 040755;
+    time_t the_time = time(0);
+    return writeFile(dirName, user, group, 0, perm, the_time, the_time, 
the_time, 0);
+}
+
 // Doesn't need to be reimplemented anymore. Remove for KDE-4.0
 bool KZip::writeFile( const QString& name, const QString& user, const QString& 
group, uint size, const char* data )
 {
@@ -1114,7 +1128,7 @@
     }
 
     // delete entries in the filelist with the same filename as the one we want
-    // to save, so that we don�t have duplicate file entries when viewing the 
zip
+    // to save, so that we don�t have duplicate file entries when viewing the 
zip
     // with konqi...
     // CAUTION: the old file itself is still in the zip and won't be removed 
!!!
     QPtrListIterator<KZipFileEntry> it( d->m_fileList );
diff -up kdelibs-3.5.10/kio/kio/kzip.h.orig kdelibs-3.5.10/kio/kio/kzip.h
--- kdelibs-3.5.10/kio/kio/kzip.h.orig  2009-12-09 19:35:42.000000000 +0100
+++ kdelibs-3.5.10/kio/kio/kzip.h       2009-12-09 19:35:48.000000000 +0100
@@ -191,10 +191,7 @@ protected:
     /// Closes the archive
     virtual bool closeArchive();
 
-    /**
-     * @internal Not needed for zip
-     */
-    virtual bool writeDir( const QString& name, const QString& user, const 
QString& group) { Q_UNUSED(name); Q_UNUSED(user); Q_UNUSED(group); return true; 
}
+    virtual bool writeDir(const QString& name, const QString& user, const 
QString& group);
     // TODO(BIC) uncomment and make virtual for KDE 4.
 //    bool writeDir( const QString& name, const QString& user, const QString& 
group,
 //                        mode_t perm, time_t atime, time_t mtime, time_t 
ctime );
++++++ kdelibs-3.5.10-latex-syntax-kile-2.0.3.patch ++++++
diff -ur kdelibs-3.5.10/kate/data/latex.xml 
kdelibs-3.5.10-latex-syntax-kile-2.0.3/kate/data/latex.xml
--- kdelibs-3.5.10/kate/data/latex.xml  2007-05-14 09:52:27.000000000 +0200
+++ kdelibs-3.5.10-latex-syntax-kile-2.0.3/kate/data/latex.xml  2008-12-05 
14:08:28.000000000 +0100
@@ -1,16 +1,18 @@
 <?xml version="1.01" encoding="UTF-8"?>
 <!DOCTYPE language SYSTEM "language.dtd">
-<language name="LaTeX" version="1.25" section="Markup" kateversion="2.3" 
extensions="*.tex; *.ltx; *.dtx; *.sty; *.cls;" mimetype="text/x-tex" 
casesensitive="1" author="Jeroen Wijnhout ([email protected])+Holger 
Danielsson ([email protected])+Michel Ludwig 
([email protected])" license="LGPL" >
+<language name="LaTeX" version="1.29" section="Markup" kateversion="2.3" 
extensions="*.tex; *.ltx; *.dtx; *.sty; *.cls;" mimetype="text/x-tex" 
casesensitive="1" author="Jeroen Wijnhout ([email protected])+Holger 
Danielsson ([email protected])+Michel Ludwig 
([email protected])+Thomas Braun ([email protected])" 
license="LGPL" >
   <highlighting>
     <contexts>
       <!-- Normal text -->
       <context name="Normal Text" attribute="Normal Text" 
lineEndContext="#stay">
         <RegExpr String="\\begin(?=[^a-zA-Z])" attribute="Structure" 
context="FindEnvironment" beginRegion="block" />
         <RegExpr String="\\end(?=[^a-zA-Z])" attribute="Structure" 
context="FindEnvironment" endRegion="block" />
-        <RegExpr 
String="\\(label|pageref|ref|vpageref|vref|cite)(?=[^a-zA-Z])" 
attribute="Structure" context="Label"/>
+        <RegExpr 
String="\\(label|pageref|autoref|ref|vpageref|vref|cite)(?=[^a-zA-Z])" 
attribute="Structure" context="Label"/>
         <RegExpr 
String="\\(part|chapter|section|subsection|subsubsection|paragraph|subparagraph)\*?\s*(?=[\{\[])"
 attribute="Structure" context="Sectioning"/>
+        <RegExpr String="\\(footnote)\*?\s*(?=[\{\[])" attribute="Footnote" 
context="Footnoting"/>
         <RegExpr String="\\(re)?newcommand(?=[^a-zA-Z])" attribute="Keyword" 
context="NewCommand"/>
         <RegExpr String="\\(e|g|x)?def(?=[^a-zA-Z])" attribute="Keyword" 
context="DefCommand"/>
+       <RegExpr String="&lt;&lt;.*&gt;&gt;=" attribute="Normal Text" 
context="NoWeb" />
         <StringDetect String="\(" attribute="Math" context="MathMode" 
beginRegion="mathMode" />
         <StringDetect String="\[" attribute="Math" context="MathModeEquation" 
beginRegion="mathMode" />
         <DetectChar char="\" attribute="Keyword" context="ContrSeq"/>
@@ -22,6 +24,11 @@
         <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
       </context>
 
+       <!-- NoWeb -->
+      <context name="NoWeb" attribute="Normal Text" lineEndContext="#stay" >
+       <RegExpr String="^\s*@\s*" attribute="Normal Text" context="#pop" />
+      </context>
+
       <!-- LaTeX sectioning commands -->
       <context name="Sectioning" attribute="Normal Text" 
lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">
         <RegExpr String="\[[^\]]*\]" attribute="Normal Text" context="#stay"/>
@@ -59,9 +66,46 @@
         <RegExpr String="[^a-zA-Z]" attribute="Structure Keyword Mathmode" 
context="#pop" /> 
       </context>
 
+      <!-- LaTeX Footnote commands -->
+      <context name="Footnoting" attribute="Normal Text" 
lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">
+        <RegExpr String="\[[^\]]*\]" attribute="Normal Text" context="#stay"/>
+        <DetectChar char=" " attribute="Normal Text" context="#stay"/>
+        <DetectChar char="{" attribute="Normal Text" 
context="FootnotingInside"/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop"/>
+        <DetectChar char="%" attribute="Comment" context="Comment"/>
+      </context>
+      <context name="FootnotingInside" attribute="Footnote Text" 
lineEndContext="#stay">
+        <DetectChar char="{" attribute="Normal Text" 
context="FootnotingInside"/>
+        <DetectChar char="}" attribute="Normal Text" context="#pop"/>
+        <StringDetect String="\(" attribute="Footnote Math" 
context="FootnotingMathMode" beginRegion="mathMode" />
+        <DetectChar char="\" attribute="Footnote Keyword" 
context="FootnotingContrSeq"/>
+        <DetectChar char="$" attribute="Footnote Math" 
context="FootnotingMathMode" beginRegion="mathMode" />
+        <DetectChar char="%" attribute="Comment" context="Comment"/>
+        <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
+      </context>
+      <context name="FootnotingContrSeq" attribute="Keyword" 
lineEndContext="#pop">
+         <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="[a-zA-Z]+(\+?|\*{0,3})" attribute="Footnote Keyword" 
context="#pop"/>
+        <RegExpr String="[^a-zA-Z]" attribute="Footnote Keyword" 
context="#pop" />
+      </context>
+      <context name="FootnotingMathMode" attribute="Footnote Math" 
lineEndContext="#stay">
+        <StringDetect String="$$" attribute="Error" context="#stay" />
+        <DetectChar char="$" attribute="Footnote Math" context="#pop" 
endRegion="mathMode" />
+        <Detect2Chars char="\" char1=")" attribute="Footnote Math" 
context="#pop" endRegion="mathMode" />
+        <Detect2Chars char="\" char1="]" attribute="Error" context="#stay" />
+        <DetectChar char="\" attribute="Footnote Keyword Mathmode" 
context="FootnotingMathContrSeq"/>
+        <DetectChar char="%" attribute="Comment" context="Comment"/>
+        <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
+      </context>
+      <context name="FootnotingMathContrSeq" attribute="Footnote Keyword 
Mathmode" lineEndContext="#pop">
+        <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
+        <RegExpr String="[a-zA-Z]+\*?" attribute="Footnote Keyword Mathmode" 
context="#pop"/>
+        <RegExpr String="[^a-zA-Z]" attribute="Footnote Keyword Mathmode" 
context="#pop" /> 
+      </context>
+
       <!-- LaTeX commands \newcommand and \renewcommand -->
       <context name="NewCommand" attribute="Normal Text" 
lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">
-        <RegExpr String="\s*\{\s*\\[a-zA-Z]+\s*\}(\[\d\](\[[^\]]+\])?)?\{" 
attribute="Normal Text" context="CommandParameterStart"/>
+        <RegExpr String="\s*\{\s*\\[a-zA-Z]+\s*\}(\[\d\](\[[^\]]*\])?)?\{" 
attribute="Normal Text" context="CommandParameterStart"/>
         <DetectChar char="}" attribute="Error" context="#pop"/>
       </context>
 
@@ -137,8 +181,9 @@
       <context name="Environment" attribute="Environment" 
lineEndContext="#stay">
         <RegExpr String="(lstlisting|(B|L)?Verbatim)" attribute="Environment" 
context="VerbatimEnvParam"/>
         <RegExpr String="(verbatim|boxedverbatim)" attribute="Environment" 
context="VerbatimEnv"/>
-        <RegExpr 
String="(equation|displaymath|eqnarray|subeqnarray|math|multline|gather|align|flalign)"
 attribute="Environment" context="MathEnv"/>
         <RegExpr String="(alignat|xalignat|xxalignat)" attribute="Environment" 
context="MathEnvParam"/>
+        <RegExpr 
String="(equation|displaymath|eqnarray|subeqnarray|math|multline|gather|align|flalign)"
 attribute="Environment" context="MathEnv"/>
+        <RegExpr 
String="(tabular|supertabular|mpsupertabular|xtabular|mpxtabular|longtable)" 
attribute="Environment" context="TabEnv"/>
         <DetectChar char="&#xd7;" attribute="Bullet" context="#stay"/>
         <RegExpr String="[a-zA-Z]" attribute="Environment" context="LatexEnv"/>
         <RegExpr String="\s+" attribute="Error" context="#pop"/>
@@ -228,6 +273,28 @@
         <DetectChar char="}" attribute="Normal Text" 
context="#pop#pop#pop#pop#pop"  endRegion="block"/>
       </context>
 
+          <!-- environment type 9: tabular -->
+      <context name="TabEnv" attribute="Environment" lineEndContext="#stay" 
fallthrough="true" fallthroughContext="#pop#pop#pop">
+        <DetectChar char="}" attribute="Normal Text" context="Tab"/>
+        <RegExpr String="[a-zA-Z]" attribute="Environment" lookAhead="true" 
context="#pop"/>
+        <IncludeRules context="EnvCommon" />
+       </context>
+
+      <!-- parse tabular text -->
+      <context name="Tab" attribute="Tab" lineEndContext="#stay">
+       <DetectChar char="&amp;" attribute="Ampersand" context="#stay"/>
+       <RegExpr String="@\{.*\}" minimal="true" attribute="Column Separator" 
context="#stay"/>
+        <RegExpr 
String="\\end(?=\s*\{(tabular|supertabular|mpsupertabular|xtabular|mpxtabular|longtable)\*?\})"
 attribute="Structure"  context="TabFindEnd"/>
+       <IncludeRules context="Normal Text" />
+      </context>
+
+      <!-- end of tabular environment -->
+      <context name="TabFindEnd" attribute="Normal Text" lineEndContext="#pop" 
fallthrough="true" fallthroughContext="#pop">
+        <RegExpr String="\s*\{" attribute="Normal Text" context="#stay"/>
+        <RegExpr 
String="(tabular|supertabular|mpsupertabular|xtabular|mpxtabular|longtable)\*?" 
attribute="Environment" context="#stay"/>
+        <DetectChar char="}" attribute="Normal Text" 
context="#pop#pop#pop#pop#pop" endRegion="block"/>
+      </context>
+
       <!-- math mode: starting with $ or \( -->
       <context name="MathMode" attribute="Math" lineEndContext="#stay">
         <StringDetect String="$$" attribute="Error" context="#stay" />
@@ -315,11 +382,18 @@
       <itemData name="Verbatim" defStyleNum="dsNormal" color="#a08000" 
selColor="#80D0FF" bold="0" italic="0"/>
       <itemData name="Region Marker" defStyleNum="dsRegionMarker" />
       <itemData name="Bullet" defStyleNum="dsNormal" color="#FF00C4" bold="1" 
underline="1"/>
+      <itemData name="Ampersand" defStyleNum="dsNormal" color="#002793" 
bold="1" />
+      <itemData name="Column Separator" defStyleNum="dsNormal" color="#002793" 
/>
       <itemData name="Alert" defStyleNum="dsAlert" />
       <itemData name="Structure Text" defStyleNum="dsNormal" color="#000000" 
selColor="#FFFFFF" bold="1" italic="0"/>
       <itemData name="Structure Keyword" defStyleNum="dsNormal" 
color="#800000" selColor="#60FFFF" bold="1" italic="0"/>
       <itemData name="Structure Math" defStyleNum="dsNormal" color="#00A000" 
selColor="#FF40FF"  bold="1" italic="0"/>
       <itemData name="Structure Keyword Mathmode" defStyleNum="dsNormal" 
color="#606000" selColor="#FFD0FF" bold="1" italic="0"/>
+      <itemData name="Footnote" defStyleNum="dsNormal" color="#800000" 
selColor="#60FFFF" bold="0" italic="0"/>
+      <itemData name="Footnote Text" defStyleNum="dsNormal" color="#000000" 
selColor="#FFFFFF" bold="0" italic="0"/>
+      <itemData name="Footnote Keyword" defStyleNum="dsNormal" color="#800000" 
selColor="#60FFFF" bold="0" italic="0"/>
+      <itemData name="Footnote Math" defStyleNum="dsNormal" color="#00A000" 
selColor="#FF40FF"  bold="0" italic="0"/>
+      <itemData name="Footnote Keyword Mathmode" defStyleNum="dsNormal" 
color="#606000" selColor="#FFD0FF" bold="0" italic="0"/>
      </itemDatas>
   </highlighting>
 
++++++ kdelibs-3.5.4-CVE-2009-1690.patch ++++++
--- kdelibs-3.5.4/khtml/html/RefPtr.h.CVE-2009-1690     2009-06-17 
14:19:00.000000000 +0200
+++ kdelibs-3.5.4/khtml/html/RefPtr.h   2009-06-17 14:19:00.000000000 +0200
@@ -0,0 +1,202 @@
+// -*- mode: c++; c-basic-offset: 4 -*-
+/*
+ *  Copyright (C) 2005, 2006, 2007, 2008 Apple Inc. All rights reserved.
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Library General Public
+ *  License as published by the Free Software Foundation; either
+ *  version 2 of the License, or (at your option) any later version.
+ *
+ *  This library is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *  Library General Public License for more details.
+ *
+ *  You should have received a copy of the GNU Library General Public License
+ *  along with this library; see the file COPYING.LIB.  If not, write to
+ *  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ *  Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef WTF_RefPtr_h
+#define WTF_RefPtr_h
+
+#include <algorithm>
+#include "AlwaysInline.h"
+
+namespace WTF {
+
+    enum PlacementNewAdoptType { PlacementNewAdopt };
+
+    template <typename T> class PassRefPtr;
+
+    enum HashTableDeletedValueType { HashTableDeletedValue };
+
+    template <typename T> class RefPtr {
+    public:
+        RefPtr() : m_ptr(0) { }
+        RefPtr(T* ptr) : m_ptr(ptr) { if (ptr) ptr->ref(); }
+        RefPtr(const RefPtr& o) : m_ptr(o.m_ptr) { if (T* ptr = m_ptr) 
ptr->ref(); }
+        // see comment in PassRefPtr.h for why this takes const reference
+        template <typename U> RefPtr(const PassRefPtr<U>&);
+
+        // Special constructor for cases where we overwrite an object in place.
+        RefPtr(PlacementNewAdoptType) { }
+
+        // Hash table deleted values, which are only constructed and never 
copied or destroyed.
+        RefPtr(HashTableDeletedValueType) : m_ptr(hashTableDeletedValue()) { }
+        bool isHashTableDeletedValue() const { return m_ptr == 
hashTableDeletedValue(); }
+
+        ~RefPtr() { if (T* ptr = m_ptr) ptr->deref(); }
+        
+        template <typename U> RefPtr(const RefPtr<U>& o) : m_ptr(o.get()) { if 
(T* ptr = m_ptr) ptr->ref(); }
+        
+        T* get() const { return m_ptr; }
+        
+        void clear() { if (T* ptr = m_ptr) ptr->deref(); m_ptr = 0; }
+        PassRefPtr<T> release() { PassRefPtr<T> tmp = adoptRef(m_ptr); m_ptr = 
0; return tmp; }
+
+        T& operator*() const { return *m_ptr; }
+        ALWAYS_INLINE T* operator->() const { return m_ptr; }
+        
+        bool operator!() const { return !m_ptr; }
+    
+        // This conversion operator allows implicit conversion to bool but not 
to other integer types.
+        typedef T* RefPtr::*UnspecifiedBoolType;
+        operator UnspecifiedBoolType() const { return m_ptr ? &RefPtr::m_ptr : 
0; }
+        
+        RefPtr& operator=(const RefPtr&);
+        RefPtr& operator=(T*);
+        RefPtr& operator=(const PassRefPtr<T>&);
+        template <typename U> RefPtr& operator=(const RefPtr<U>&);
+        template <typename U> RefPtr& operator=(const PassRefPtr<U>&);
+
+        void swap(RefPtr&);
+
+    private:
+        static T* hashTableDeletedValue() { return reinterpret_cast<T*>(-1); }
+
+        T* m_ptr;
+    };
+    
+    template <typename T> template <typename U> inline RefPtr<T>::RefPtr(const 
PassRefPtr<U>& o)
+        : m_ptr(o.releaseRef())
+    {
+    }
+
+    template <typename T> inline RefPtr<T>& RefPtr<T>::operator=(const 
RefPtr<T>& o)
+    {
+        T* optr = o.get();
+        if (optr)
+            optr->ref();
+        T* ptr = m_ptr;
+        m_ptr = optr;
+        if (ptr)
+            ptr->deref();
+        return *this;
+    }
+    
+    template <typename T> template <typename U> inline RefPtr<T>& 
RefPtr<T>::operator=(const RefPtr<U>& o)
+    {
+        T* optr = o.get();
+        if (optr)
+            optr->ref();
+        T* ptr = m_ptr;
+        m_ptr = optr;
+        if (ptr)
+            ptr->deref();
+        return *this;
+    }
+    
+    template <typename T> inline RefPtr<T>& RefPtr<T>::operator=(T* optr)
+    {
+        if (optr)
+            optr->ref();
+        T* ptr = m_ptr;
+        m_ptr = optr;
+        if (ptr)
+            ptr->deref();
+        return *this;
+    }
+
+    template <typename T> inline RefPtr<T>& RefPtr<T>::operator=(const 
PassRefPtr<T>& o)
+    {
+        T* ptr = m_ptr;
+        m_ptr = o.releaseRef();
+        if (ptr)
+            ptr->deref();
+        return *this;
+    }
+
+    template <typename T> template <typename U> inline RefPtr<T>& 
RefPtr<T>::operator=(const PassRefPtr<U>& o)
+    {
+        T* ptr = m_ptr;
+        m_ptr = o.releaseRef();
+        if (ptr)
+            ptr->deref();
+        return *this;
+    }
+
+    template <class T> inline void RefPtr<T>::swap(RefPtr<T>& o)
+    {
+        std::swap(m_ptr, o.m_ptr);
+    }
+
+    template <class T> inline void swap(RefPtr<T>& a, RefPtr<T>& b)
+    {
+        a.swap(b);
+    }
+
+    template <typename T, typename U> inline bool operator==(const RefPtr<T>& 
a, const RefPtr<U>& b)
+    { 
+        return a.get() == b.get(); 
+    }
+
+    template <typename T, typename U> inline bool operator==(const RefPtr<T>& 
a, U* b)
+    { 
+        return a.get() == b; 
+    }
+    
+    template <typename T, typename U> inline bool operator==(T* a, const 
RefPtr<U>& b) 
+    {
+        return a == b.get(); 
+    }
+    
+    template <typename T, typename U> inline bool operator!=(const RefPtr<T>& 
a, const RefPtr<U>& b)
+    { 
+        return a.get() != b.get(); 
+    }
+
+    template <typename T, typename U> inline bool operator!=(const RefPtr<T>& 
a, U* b)
+    {
+        return a.get() != b; 
+    }
+
+    template <typename T, typename U> inline bool operator!=(T* a, const 
RefPtr<U>& b)
+    { 
+        return a != b.get(); 
+    }
+    
+    template <typename T, typename U> inline RefPtr<T> 
static_pointer_cast(const RefPtr<U>& p)
+    { 
+        return RefPtr<T>(static_cast<T*>(p.get())); 
+    }
+
+    template <typename T, typename U> inline RefPtr<T> 
const_pointer_cast(const RefPtr<U>& p)
+    { 
+        return RefPtr<T>(const_cast<T*>(p.get())); 
+    }
+
+    template <typename T> inline T* getPtr(const RefPtr<T>& p)
+    {
+        return p.get();
+    }
+
+} // namespace WTF
+
+using WTF::RefPtr;
+using WTF::static_pointer_cast;
+using WTF::const_pointer_cast;
+
+#endif // WTF_RefPtr_h
--- kdelibs-3.5.4/khtml/html/htmlparser.cpp.CVE-2009-1690       2006-07-22 
10:16:43.000000000 +0200
+++ kdelibs-3.5.4/khtml/html/htmlparser.cpp     2009-06-17 11:51:15.000000000 
+0200
@@ -199,7 +199,6 @@
 
     form = 0;
     map = 0;
-    head = 0;
     end = false;
     isindex = 0;
 
@@ -616,8 +615,7 @@
             case ID_BASE:
                 if(!head) {
                     head = new HTMLHeadElementImpl(document);
-                    e = head;
-                    insertNode(e);
+                    insertNode(head.get());
                     handled = true;
                 }
                 break;
@@ -839,7 +837,7 @@
     case ID_HEAD:
         if(!head && current->id() == ID_HTML) {
             head = new HTMLHeadElementImpl(document);
-            n = head;
+            n = head.get();
         }
         break;
     case ID_BODY:
@@ -1679,12 +1677,12 @@
     head = new HTMLHeadElementImpl(document);
     HTMLElementImpl *body = doc()->body();
     int exceptioncode = 0;
-    doc()->firstChild()->insertBefore(head, body, exceptioncode);
+    doc()->firstChild()->insertBefore(head.get(), body, exceptioncode);
     if ( exceptioncode ) {
 #ifdef PARSER_DEBUG
         kdDebug( 6035 ) << "creation of head failed!!!!" << endl;
 #endif
-        delete head;
+        delete head.get();
         head = 0;
     }
 }
--- kdelibs-3.5.4/khtml/html/Platform.h.CVE-2009-1690   2009-06-17 
14:19:07.000000000 +0200
+++ kdelibs-3.5.4/khtml/html/Platform.h 2009-06-17 14:19:07.000000000 +0200
@@ -0,0 +1,218 @@
+/* -*- mode: c++; c-basic-offset: 4 -*- */
+/*
+ * Copyright (C) 2006 Apple Computer, Inc.  All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#ifndef WTF_Platform_h
+#define WTF_Platform_h
+
+/* Force KDE build here in our tree... */
+#ifndef BUILDING_KDE__
+#define BUILDING_KDE__ 1
+#endif
+
+/* PLATFORM handles OS, operating environment, graphics API, and CPU */
+#define PLATFORM(WTF_FEATURE) (defined( WTF_PLATFORM_##WTF_FEATURE ) && 
WTF_PLATFORM_##WTF_FEATURE)
+#define COMPILER(WTF_FEATURE) (defined( WTF_COMPILER_##WTF_FEATURE ) && 
WTF_COMPILER_##WTF_FEATURE)
+#define HAVE(WTF_FEATURE) (defined( HAVE_##WTF_FEATURE ) && HAVE_##WTF_FEATURE)
+#define USE(WTF_FEATURE) (defined( WTF_USE_##WTF_FEATURE ) && 
WTF_USE_##WTF_FEATURE)
+#define ENABLE(WTF_FEATURE) (defined( ENABLE_##WTF_FEATURE ) && 
ENABLE_##WTF_FEATURE)
+
+/* Operating systems - low-level dependencies */
+
+/* PLATFORM(DARWIN) */
+/* Operating system level dependencies for Mac OS X / Darwin that should */
+/* be used regardless of operating environment */
+#ifdef __APPLE__
+#define WTF_PLATFORM_DARWIN 1
+#endif
+
+/* PLATFORM(WIN_OS) */
+/* Operating system level dependencies for Windows that should be used */
+/* regardless of operating environment */
+#if defined(WIN32) || defined(_WIN32)
+#define WTF_PLATFORM_WIN_OS 1
+#endif
+
+/* PLATFORM(UNIX) */
+/* Operating system level dependencies for Unix-like systems that */
+/* should be used regardless of operating environment */
+/* (includes PLATFORM(DARWIN)) */
+#if   defined(__APPLE__)   \
+   || defined(unix)        \
+   || defined(__unix)      \
+   || defined(__unix__)    \
+   || defined (__NetBSD__) \
+   || defined(_AIX)
+#define WTF_PLATFORM_UNIX 1
+#endif
+
+/* PLATFORM(SOLARIS_OS) */
+/* Operating system level dependencies for Sun (Open)Solaris 10. */
+/* Studio 12 on Solaris defines __SunOS; gcc defines __sun__; */
+/* Both compilers define __sun and sun. */
+#if defined(__sun) || defined(sun)
+#define WTF_PLATFORM_SOLARIS_OS 1
+#endif
+
+/* Operating environments */
+
+/* I made the BUILDING_KDE__ macro up for the KDE build system to define */
+
+/* PLATFORM(KDE) */
+/* PLATFORM(MAC) */
+/* PLATFORM(WIN) */
+#if BUILDING_KDE__
+#define WTF_PLATFORM_KDE 1
+#elif PLATFORM(DARWIN)
+#define WTF_PLATFORM_MAC 1
+#elif PLATFORM(WIN_OS)
+#define WTF_PLATFORM_WIN 1
+#endif
+#if defined(BUILDING_GDK__)
+#define WTF_PLATFORM_GDK 1
+#endif
+
+
+/* CPU */
+
+/* PLATFORM(PPC) */
+#if   defined(__ppc__)     \
+   || defined(__PPC__)     \
+   || defined(__powerpc__) \
+   || defined(__powerpc)   \
+   || defined(__POWERPC__) \
+   || defined(_M_PPC)      \
+   || defined(__PPC)
+#define WTF_PLATFORM_PPC 1
+#define WTF_PLATFORM_BIG_ENDIAN 1
+#endif
+
+/* PLATFORM(PPC64) */
+#if   defined(__ppc64__) \
+   || defined(__PPC64__)
+#define WTF_PLATFORM_PPC64 1
+#define WTF_PLATFORM_BIG_ENDIAN 1
+#endif
+
+#if defined(arm)
+#define WTF_PLATFORM_ARM 1
+#if defined(__ARMEB__)
+#define WTF_PLATFORM_BIG_ENDIAN 1
+#elif !defined(__ARM_EABI__) && !defined(__ARMEB__)
+#define WTF_PLATFORM_MIDDLE_ENDIAN 1
+#endif
+#if !defined(__ARM_EABI__)
+#define WTF_PLATFORM_FORCE_PACK 1
+#endif
+#endif
+
+/* PLATFORM(X86) */
+#if   defined(__i386__) \
+   || defined(i386)     \
+   || defined(_M_IX86)  \
+   || defined(_X86_)    \
+   || defined(__THW_INTEL)
+#define WTF_PLATFORM_X86 1
+#endif
+
+/* PLATFORM(X86_64) */
+#if   defined(__x86_64__) \
+   || defined(__ia64__)
+#define WTF_PLATFORM_X86_64 1
+#endif
+
+/* PLATFORM(SPARC) */
+#if defined(sparc)
+#define WTF_PLATFORM_SPARC 1
+#endif
+
+/* Compiler */
+
+/* COMPILER(CWP) */
+#if defined(__MWERKS__)
+#define WTF_COMPILER_CWP 1
+#endif
+
+/* COMPILER(MSVC) */
+#if defined(_MSC_VER)
+#define WTF_COMPILER_MSVC 1
+#endif
+
+/* COMPILER(GCC) */
+#if defined(__GNUC__)
+#define WTF_COMPILER_GCC 1
+#endif
+
+/* COMPILER(SUNPRO) */
+#if defined(__SUNPRO_CC)
+#define WTF_COMPILER_SUNPRO 1
+#endif
+
+/* COMPILER(BORLAND) */
+/* not really fully supported - is this relevant any more? */
+#if defined(__BORLANDC__)
+#define WTF_COMPILER_BORLAND 1
+#endif
+
+/* COMPILER(CYGWIN) */
+/* not really fully supported - is this relevant any more? */
+#if defined(__CYGWIN__)
+#define WTF_COMPILER_CYGWIN 1
+#endif
+
+/* multiple threads only supported on Mac for now */
+#if PLATFORM(MAC)
+#ifndef WTF_USE_MULTIPLE_THREADS
+#define WTF_USE_MULTIPLE_THREADS 1
+#endif
+#ifndef WTF_USE_BINDINGS
+#define WTF_USE_BINDINGS 1
+#endif
+#endif
+
+/* for Unicode, KDE uses Qt, everything else uses ICU */
+#if PLATFORM(KDE) || PLATFORM(QT)
+#define WTF_USE_QT4_UNICODE 1
+#elif PLATFORM(SYMBIAN)
+#define WTF_USE_SYMBIAN_UNICODE 1
+#else
+#define WTF_USE_ICU_UNICODE 1
+#endif
+
+#if PLATFORM(MAC)
+#define WTF_PLATFORM_CF 1
+#endif
+
+#if PLATFORM(WIN)
+#define WTF_USE_WININET 1
+#endif
+
+#if PLATFORM(GDK)
+#define WTF_USE_CURL 1
+#endif
+
+/* ENABLE macro defaults */
+
+#endif /* WTF_Platform_h */
--- kdelibs-3.5.4/khtml/html/AlwaysInline.h.CVE-2009-1690       2009-06-17 
14:18:52.000000000 +0200
+++ kdelibs-3.5.4/khtml/html/AlwaysInline.h     2009-06-17 13:56:36.000000000 
+0200
@@ -0,0 +1,49 @@
+/*
+ *  Copyright (C) 2005, 2007 Apple Inc. All rights reserved.
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Library General Public
+ *  License as published by the Free Software Foundation; either
+ *  version 2 of the License, or (at your option) any later version.
+ *
+ *  This library is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *  Library General Public License for more details.
+ *
+ *  You should have received a copy of the GNU Library General Public License
+ *  along with this library; see the file COPYING.LIB.  If not, write to
+ *  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ *  Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "html/Platform.h"
+
+
+#ifndef ALWAYS_INLINE
+#if COMPILER(GCC) && defined(NDEBUG) &&  __GNUC__ > 3
+#define ALWAYS_INLINE inline __attribute__ ((__always_inline__))
+#elif COMPILER(MSVC) && defined(NDEBUG)
+#define ALWAYS_INLINE __forceinline
+#else
+#define ALWAYS_INLINE inline
+#endif
+#endif
+
+#ifndef ALWAYS_INLINE_INTO
+#if COMPILER(GCC) && defined(NDEBUG) &&  ((__GNUC__ == 4 && __GNUC_MINOR__ >= 
1) || __GNUC__ > 4)
+#define ALWAYS_INLINE_INTO __attribute__ ((__flatten__))
+#else
+#define ALWAYS_INLINE_INTO
+#endif
+#endif
+
+
+#ifndef NEVER_INLINE
+#if COMPILER(GCC) &&  __GNUC__ > 3
+#define NEVER_INLINE __attribute__ ((__noinline__))
+#else
+#define NEVER_INLINE
+#endif
+#endif
--- kdelibs-3.5.4/khtml/html/htmlparser.h.CVE-2009-1690 2005-10-10 
17:06:04.000000000 +0200
+++ kdelibs-3.5.4/khtml/html/htmlparser.h       2009-06-17 14:42:27.000000000 
+0200
@@ -38,10 +38,10 @@
 #include <qdatetime.h>
 #endif
 
-
 #include "dom/dom_string.h"
 #include "xml/dom_nodeimpl.h"
 #include "html/html_documentimpl.h"
+#include "html/RefPtr.h"
 
 class KHTMLView;
 class HTMLStackElem;
@@ -148,7 +148,7 @@
     /*
      * the head element. Needed for crappy html which defines <base> after 
</head>
      */
-    DOM::HTMLHeadElementImpl *head;
+     RefPtr<DOM::HTMLHeadElementImpl> head;
 
     /*
      * a possible <isindex> element in the head. Compatibility hack for
++++++ light_v_2_scrollbar_patch.patch ++++++
diff -ur kdelibs-3.5.10.orig/kstyles/light/lightstyle-v2.cpp 
kdelibs-3.5.10/kstyles/light/lightstyle-v2.cpp
--- kdelibs-3.5.10.orig/kstyles/light/lightstyle-v2.cpp 2006-03-17 
13:19:10.000000000 +0300
+++ kdelibs-3.5.10/kstyles/light/lightstyle-v2.cpp      2011-05-07 
23:30:18.000000000 +0400
@@ -501,12 +501,14 @@
                p->drawLine(r.topLeft(), r.topRight());
                p->setPen(cg.background());
                p->drawLine(r.left(), r.top() + 1, r.right(), r.top() + 1);
-               fr.addCoords(0, 2, 0, 0);
+               p->drawLine(r.left(), r.bottom(), r.right(), r.bottom());
+               fr.addCoords(0, 2, 0, -1);
            } else {
                p->drawLine(r.topLeft(), r.bottomLeft());
                p->setPen(cg.background());
                p->drawLine(r.left() + 1, r.top(), r.left() + 1, r.bottom());
-               fr.addCoords(2, 0, 0, 0);
+               p->drawLine(r.right(), r.top(), r.right(), r.bottom());
+               fr.addCoords(2, 0, -1, 0);
            }
 
            p->fillRect(fr, cg.brush((flags & Style_Down) ?
@@ -523,11 +525,13 @@
            if (flags & Style_Horizontal) {
                p->drawLine(r.topLeft(), r.topRight());
                p->setPen(cg.background());
+               p->drawLine(r.left(), r.bottom(), r.right(), r.bottom());
                p->drawLine(r.left(), r.top() + 1, r.right(), r.top() + 1);
                fr.addCoords(0, 2, 0, -1);
            } else {
                p->drawLine(r.topLeft(), r.bottomLeft());
                p->setPen(cg.background());
+               p->drawLine(r.right(), r.top(), r.right(), r.bottom());
                p->drawLine(r.left() + 1, r.top(), r.left() + 1, r.bottom());
                fr.addCoords(2, 0, -1, 0);
            }
++++++ oom_score_adj.patch ++++++
Index: kdelibs-3.5.10/kinit/start_kdeinit.c
===================================================================
--- kdelibs-3.5.10.orig/kinit/start_kdeinit.c
+++ kdelibs-3.5.10/kinit/start_kdeinit.c
@@ -44,11 +44,30 @@ static int set_protection( pid_t pid, in
 {
    char buf[ 1024 ];
    int procfile;
+   struct stat st;
+
+   /* Newer kernels (noticed in 2.6.36) */
+   sprintf( buf, "/proc/%d/oom_score_adj", pid );
+   if ( lstat (buf, &st) == 0) {
+     if( !enable ) {
+       /* Be paranoid and check that the pid we got from the pipe
+          belongs to this user. */
+       if( st.st_uid != getuid())
+           return 0;
+     }
+     procfile = open(buf, O_WRONLY);
+     if( enable )
+       write( procfile, "-300", sizeof( "-300" ));
+     else
+       write( procfile, "0", sizeof( "0" ));
+     close( procfile );
+     return 1;
+   }
+
    sprintf( buf, "/proc/%d/stat", pid );
    if( !enable ) {
        /* Be paranoid and check that the pid we got from the pipe
           belongs to this user. */
-       struct stat st;
        if( lstat( buf, &st ) < 0 || st.st_uid != getuid())
            return 0;
    }

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



Remember to have fun...

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to