Compare commits
90 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
c898fe6ade | ||
|
f552abd54a | ||
|
d30828cbc4 | ||
|
e003ff1f06 | ||
|
88356de30f | ||
|
ee3e63ccca | ||
|
3a63f45466 | ||
|
a01682e69a | ||
|
47c941e4da | ||
|
1b9c8185b3 | ||
|
9fe8730938 | ||
|
41eea6487e | ||
|
7d92d7b924 | ||
|
c17e2ce087 | ||
|
ab3d736ba9 | ||
|
80fb1652f0 | ||
|
4bcc6a628e | ||
|
566cd5a9b4 | ||
|
8985e9f610 | ||
|
0baabbdf03 | ||
|
4a3656c29a | ||
|
f0b0934ee8 | ||
|
633853c445 | ||
|
cbbd3ce82e | ||
|
15481db604 | ||
|
fd6aba6f21 | ||
|
e35aea8f00 | ||
|
96d7b4c7a4 | ||
|
a1cd37ccad | ||
|
ed30d0e49d | ||
|
0d7d7ba013 | ||
|
cf6c60327a | ||
|
e28f8c1fc2 | ||
|
cdf75c236b | ||
|
3e56da0488 | ||
|
20886900e9 | ||
|
a7693674ae | ||
|
70bc974dd8 | ||
|
b932b6f5b1 | ||
|
41b88741c0 | ||
|
b1bed56314 | ||
|
907987379b | ||
|
04a6e0d84b | ||
|
3b65d25203 | ||
|
31d7b324e8 | ||
|
86dd264de6 | ||
|
1a44c61598 | ||
|
84bc05a492 | ||
|
ff1a41519b | ||
|
be2b171832 | ||
|
982fe59ce1 | ||
|
c9ca293207 | ||
|
9e25f93bbf | ||
|
dd03f6a169 | ||
|
cc48cf96b2 | ||
|
d8e5e67689 | ||
|
6241df7ecd | ||
|
773da8d077 | ||
|
2d08dc9c97 | ||
|
c00afba812 | ||
|
3667e1bc9c | ||
|
9362198c21 | ||
|
ecb0b24300 | ||
|
9a3039a031 | ||
|
a7f3ae8b65 | ||
|
28da85f130 | ||
|
0aff25e701 | ||
|
3c56bf76c4 | ||
|
b5d4e68a81 | ||
|
9df7db4556 | ||
|
be4c4bf9e5 | ||
|
6956032596 | ||
|
453f143613 | ||
|
cf44ec3785 | ||
|
8a2c12c525 | ||
|
d018e9bff5 | ||
|
a1b2bd78fe | ||
|
1b5e24127d | ||
|
b8199a3fbd | ||
|
496bfe539d | ||
|
e07258505b | ||
|
98b7647b04 | ||
|
9029b01768 | ||
|
273850ec6a | ||
|
c4e68e89c4 | ||
|
b3e986059a | ||
|
2d6fc0694b | ||
|
912a71c65c | ||
|
4fc0443be3 | ||
|
a827f79f2d |
12
kde3-automake-add-missing.patch
Normal file
12
kde3-automake-add-missing.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
diff -up kdelibs-3.5.10/admin/cvs.sh.me kdelibs-3.5.10/admin/cvs.sh
|
||||||
|
--- kdelibs-3.5.10/admin/cvs.sh.me 2013-03-07 18:31:59.415038395 +0100
|
||||||
|
+++ kdelibs-3.5.10/admin/cvs.sh 2013-03-07 18:32:26.565020369 +0100
|
||||||
|
@@ -130,7 +130,7 @@ if egrep "^AM_CONFIG_HEADER" configure.i
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "*** Creating Makefile templates"
|
||||||
|
-$AUTOMAKE || exit 1
|
||||||
|
+$AUTOMAKE --add-missing --copy --force-missing || exit 1
|
||||||
|
|
||||||
|
if test "$UNSERMAKE" = no; then
|
||||||
|
echo "*** Postprocessing Makefile templates"
|
17
kde3-automake-version.patch
Normal file
17
kde3-automake-version.patch
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
diff -ur kdelibs-3.5.10/admin/cvs.sh kdelibs-3.5.10-automake-version/admin/cvs.sh
|
||||||
|
--- kdelibs-3.5.10/admin/cvs.sh 2008-08-19 22:28:39.000000000 +0200
|
||||||
|
+++ kdelibs-3.5.10-automake-version/admin/cvs.sh 2012-06-12 01:24:13.000000000 +0200
|
||||||
|
@@ -63,12 +63,7 @@
|
||||||
|
AUTOMAKE_STRING=`$AUTOMAKE --version | head -n 1`
|
||||||
|
required_automake_version="1.6.1 or newer"
|
||||||
|
case $AUTOMAKE_STRING in
|
||||||
|
- automake*1.5d* | automake*1.5* | automake*1.5-* )
|
||||||
|
- echo "*** YOU'RE USING $AUTOMAKE_STRING."
|
||||||
|
- echo "*** KDE requires automake $required_automake_version"
|
||||||
|
- exit 1
|
||||||
|
- ;;
|
||||||
|
- automake*1.6.* | automake*1.7* | automake*1.8* | automake*1.9* | automake*1.10*)
|
||||||
|
+ automake*)
|
||||||
|
echo "*** $AUTOMAKE_STRING found."
|
||||||
|
UNSERMAKE=no
|
||||||
|
;;
|
93
kdelibs-3-libidn2.patch
Normal file
93
kdelibs-3-libidn2.patch
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
diff -up kdelibs-3.5.10/configure.in.than kdelibs-3.5.10/configure.in
|
||||||
|
--- kdelibs-3.5.10/configure.in.than 2017-06-20 18:02:22.845910412 +0200
|
||||||
|
+++ kdelibs-3.5.10/configure.in 2017-06-20 18:03:09.058172814 +0200
|
||||||
|
@@ -692,10 +692,10 @@ AC_ARG_WITH(libidn,
|
||||||
|
[], with_libidn=check)
|
||||||
|
LIB_IDN=
|
||||||
|
if test "x$with_libidn" != xno; then
|
||||||
|
- AC_CHECK_HEADERS([idna.h punycode.h stringprep.h])
|
||||||
|
- KDE_CHECK_LIB(idn, idna_to_ascii_4i, [
|
||||||
|
+ AC_CHECK_HEADERS([idn2.h])
|
||||||
|
+ KDE_CHECK_LIB(idn2, idn2_to_ascii_4i, [
|
||||||
|
AC_DEFINE_UNQUOTED(HAVE_LIBIDN, 1, [Defined if you have libidn in your system])
|
||||||
|
- LIB_IDN=-lidn
|
||||||
|
+ LIB_IDN=-lidn2
|
||||||
|
])
|
||||||
|
if test "x$with_libidn" != xcheck && test -z "$LIB_IDN"; then
|
||||||
|
AC_MSG_ERROR([--with-libidn was given, but test for libidn failed])
|
||||||
|
diff -up kdelibs-3.5.10/kdecore/configure.in.in.than kdelibs-3.5.10/kdecore/configure.in.in
|
||||||
|
--- kdelibs-3.5.10/kdecore/configure.in.in.than 2017-06-20 17:53:41.544511539 +0200
|
||||||
|
+++ kdelibs-3.5.10/kdecore/configure.in.in 2017-06-20 18:01:27.557989259 +0200
|
||||||
|
@@ -48,10 +48,10 @@ AC_ARG_WITH(libidn,
|
||||||
|
[], with_libidn=check)
|
||||||
|
LIB_IDN=
|
||||||
|
if test "x$with_libidn" != xno; then
|
||||||
|
- AC_CHECK_HEADERS([idna.h punycode.h stringprep.h])
|
||||||
|
- KDE_CHECK_LIB(idn, idna_to_ascii_4i, [
|
||||||
|
+ AC_CHECK_HEADERS([idn2.h])
|
||||||
|
+ KDE_CHECK_LIB(idn2, idn2_to_ascii_4i, [
|
||||||
|
AC_DEFINE_UNQUOTED(HAVE_LIBIDN, 1, [Defined if you have libidn in your system])
|
||||||
|
- LIB_IDN=-lidn
|
||||||
|
+ LIB_IDN=-lidn2
|
||||||
|
])
|
||||||
|
if test "x$with_libidn" != xcheck && test -z "$LIB_IDN"; then
|
||||||
|
AC_MSG_ERROR([--with-libidn was given, but test for libidn failed])
|
||||||
|
diff -up kdelibs-3.5.10/kdecore/network/kresolver.cpp.than kdelibs-3.5.10/kdecore/network/kresolver.cpp
|
||||||
|
--- kdelibs-3.5.10/kdecore/network/kresolver.cpp.than 2017-06-21 12:55:55.733217103 +0200
|
||||||
|
+++ kdelibs-3.5.10/kdecore/network/kresolver.cpp 2017-06-21 13:27:38.956737181 +0200
|
||||||
|
@@ -49,8 +49,8 @@
|
||||||
|
#include <qguardedptr.h>
|
||||||
|
|
||||||
|
// IDN
|
||||||
|
-#ifdef HAVE_IDNA_H
|
||||||
|
-# include <idna.h>
|
||||||
|
+#ifdef HAVE_IDN2_H
|
||||||
|
+# include <idn2.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// KDE
|
||||||
|
@@ -1083,7 +1083,7 @@ static QStringList splitLabels(const QSt
|
||||||
|
|
||||||
|
static QCString ToASCII(const QString& label)
|
||||||
|
{
|
||||||
|
-#ifdef HAVE_IDNA_H
|
||||||
|
+#ifdef HAVE_IDN2_H
|
||||||
|
// We have idna.h, so we can use the idna_to_ascii
|
||||||
|
// function :)
|
||||||
|
|
||||||
|
@@ -1104,7 +1104,7 @@ static QCString ToASCII(const QString& l
|
||||||
|
ucs4[i] = (unsigned long)label[i].unicode();
|
||||||
|
ucs4[i] = 0; // terminate with NUL, just to be on the safe side
|
||||||
|
|
||||||
|
- if (idna_to_ascii_4i(ucs4, label.length(), buf, 0) == IDNA_SUCCESS)
|
||||||
|
+ if (idn2_to_ascii_4i(ucs4, label.length(), buf, 0|IDN2_NFC_INPUT|IDN2_NONTRANSITIONAL) == IDN2_OK)
|
||||||
|
// success!
|
||||||
|
retval = buf;
|
||||||
|
|
||||||
|
@@ -1117,7 +1117,7 @@ static QCString ToASCII(const QString& l
|
||||||
|
|
||||||
|
static QString ToUnicode(const QString& label)
|
||||||
|
{
|
||||||
|
-#ifdef HAVE_IDNA_H
|
||||||
|
+#ifdef HAVE_IDN2_H
|
||||||
|
// We have idna.h, so we can use the idna_to_unicode
|
||||||
|
// function :)
|
||||||
|
|
||||||
|
@@ -1131,7 +1131,7 @@ static QString ToUnicode(const QString&
|
||||||
|
// try the same length for output
|
||||||
|
ucs4_output = new Q_UINT32[outlen = label.length()];
|
||||||
|
|
||||||
|
- idna_to_unicode_44i(ucs4_input, label.length(),
|
||||||
|
+ idn2_to_unicode_44i(ucs4_input, label.length(),
|
||||||
|
ucs4_output, &outlen,
|
||||||
|
0);
|
||||||
|
|
||||||
|
@@ -1141,7 +1141,7 @@ static QString ToUnicode(const QString&
|
||||||
|
delete [] ucs4_output;
|
||||||
|
ucs4_output = new Q_UINT32[outlen];
|
||||||
|
|
||||||
|
- idna_to_unicode_44i(ucs4_input, label.length(),
|
||||||
|
+ idn2_to_unicode_44i(ucs4_input, label.length(),
|
||||||
|
ucs4_output, &outlen,
|
||||||
|
0);
|
||||||
|
}
|
166
kdelibs-3.5.10-CVE-2013-2074.patch
Normal file
166
kdelibs-3.5.10-CVE-2013-2074.patch
Normal file
@ -0,0 +1,166 @@
|
|||||||
|
diff -ur kdelibs-3.5.10/kioslave/http/http.cc kdelibs-3.5.10-CVE-2013-2074/kioslave/http/http.cc
|
||||||
|
--- kdelibs-3.5.10/kioslave/http/http.cc 2008-02-13 10:41:06.000000000 +0100
|
||||||
|
+++ kdelibs-3.5.10-CVE-2013-2074/kioslave/http/http.cc 2013-05-14 17:54:42.000000000 +0200
|
||||||
|
@@ -288,7 +288,7 @@
|
||||||
|
m_bUseProxy = m_proxyURL.isValid();
|
||||||
|
|
||||||
|
kdDebug(7113) << "(" << m_pid << ") Using proxy: " << m_bUseProxy <<
|
||||||
|
- " URL: " << m_proxyURL.url() <<
|
||||||
|
+ " URL: " << m_proxyURL.prettyURL() <<
|
||||||
|
" Realm: " << m_strProxyRealm << endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -458,7 +458,7 @@
|
||||||
|
|
||||||
|
bool HTTPProtocol::checkRequestURL( const KURL& u )
|
||||||
|
{
|
||||||
|
- kdDebug (7113) << "(" << m_pid << ") HTTPProtocol::checkRequestURL: " << u.url() << endl;
|
||||||
|
+ kdDebug (7113) << "(" << m_pid << ") HTTPProtocol::checkRequestURL: " << u.prettyURL() << endl;
|
||||||
|
|
||||||
|
m_request.url = u;
|
||||||
|
|
||||||
|
@@ -640,7 +640,7 @@
|
||||||
|
|
||||||
|
void HTTPProtocol::listDir( const KURL& url )
|
||||||
|
{
|
||||||
|
- kdDebug(7113) << "(" << m_pid << ") HTTPProtocol::listDir " << url.url()
|
||||||
|
+ kdDebug(7113) << "(" << m_pid << ") HTTPProtocol::listDir " << url.prettyURL()
|
||||||
|
<< endl;
|
||||||
|
|
||||||
|
if ( !checkRequestURL( url ) )
|
||||||
|
@@ -807,7 +807,7 @@
|
||||||
|
|
||||||
|
void HTTPProtocol::davGeneric( const KURL& url, KIO::HTTP_METHOD method )
|
||||||
|
{
|
||||||
|
- kdDebug(7113) << "(" << m_pid << ") HTTPProtocol::davGeneric " << url.url()
|
||||||
|
+ kdDebug(7113) << "(" << m_pid << ") HTTPProtocol::davGeneric " << url.prettyURL()
|
||||||
|
<< endl;
|
||||||
|
|
||||||
|
if ( !checkRequestURL( url ) )
|
||||||
|
@@ -1206,7 +1206,7 @@
|
||||||
|
|
||||||
|
void HTTPProtocol::mkdir( const KURL& url, int )
|
||||||
|
{
|
||||||
|
- kdDebug(7113) << "(" << m_pid << ") HTTPProtocol::mkdir " << url.url()
|
||||||
|
+ kdDebug(7113) << "(" << m_pid << ") HTTPProtocol::mkdir " << url.prettyURL()
|
||||||
|
<< endl;
|
||||||
|
|
||||||
|
if ( !checkRequestURL( url ) )
|
||||||
|
@@ -1228,7 +1228,7 @@
|
||||||
|
|
||||||
|
void HTTPProtocol::get( const KURL& url )
|
||||||
|
{
|
||||||
|
- kdDebug(7113) << "(" << m_pid << ") HTTPProtocol::get " << url.url()
|
||||||
|
+ kdDebug(7113) << "(" << m_pid << ") HTTPProtocol::get " << url.prettyURL()
|
||||||
|
<< endl;
|
||||||
|
|
||||||
|
if ( !checkRequestURL( url ) )
|
||||||
|
@@ -1543,8 +1543,10 @@
|
||||||
|
callError = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ // Huh? This looks like inverted logic to me (it doesn't make sense to me as
|
||||||
|
+ // written), but I'm only fixing the CVE now. -- Kevin Kofler
|
||||||
|
if ( !url.isNull() )
|
||||||
|
- url = m_request.url.url();
|
||||||
|
+ url = m_request.url.prettyURL();
|
||||||
|
|
||||||
|
QString action, errorString;
|
||||||
|
KIO::Error kError;
|
||||||
|
@@ -1840,7 +1842,7 @@
|
||||||
|
if ( !checkRequestURL( url ) )
|
||||||
|
continue;
|
||||||
|
|
||||||
|
- kdDebug(7113) << "(" << m_pid << ") HTTPProtocol::multi_get " << url.url() << endl;
|
||||||
|
+ kdDebug(7113) << "(" << m_pid << ") HTTPProtocol::multi_get " << url.prettyURL() << endl;
|
||||||
|
|
||||||
|
m_request.method = HTTP_GET;
|
||||||
|
m_request.path = url.path();
|
||||||
|
@@ -2212,12 +2214,12 @@
|
||||||
|
|
||||||
|
if (bCacheOnly)
|
||||||
|
{
|
||||||
|
- error( ERR_DOES_NOT_EXIST, m_request.url.url() );
|
||||||
|
+ error( ERR_DOES_NOT_EXIST, m_request.url.prettyURL() );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (bOffline)
|
||||||
|
{
|
||||||
|
- error( ERR_COULD_NOT_CONNECT, m_request.url.url() );
|
||||||
|
+ error( ERR_COULD_NOT_CONNECT, m_request.url.prettyURL() );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -2891,7 +2893,7 @@
|
||||||
|
errorPage();
|
||||||
|
else
|
||||||
|
{
|
||||||
|
- error(ERR_INTERNAL_SERVER, m_request.url.url());
|
||||||
|
+ error(ERR_INTERNAL_SERVER, m_request.url.prettyURL());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -2931,7 +2933,7 @@
|
||||||
|
errorPage();
|
||||||
|
else
|
||||||
|
{
|
||||||
|
- error(ERR_DOES_NOT_EXIST, m_request.url.url());
|
||||||
|
+ error(ERR_DOES_NOT_EXIST, m_request.url.prettyURL());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
m_request.bCachedWrite = false; // Don't put in cache
|
||||||
|
@@ -3584,7 +3586,7 @@
|
||||||
|
KURL u(m_request.url, locationStr);
|
||||||
|
if(!u.isValid())
|
||||||
|
{
|
||||||
|
- error(ERR_MALFORMED_URL, u.url());
|
||||||
|
+ error(ERR_MALFORMED_URL, u.prettyURL());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if ((u.protocol() != "http") && (u.protocol() != "https") &&
|
||||||
|
@@ -3592,7 +3594,7 @@
|
||||||
|
(u.protocol() != "webdavs"))
|
||||||
|
{
|
||||||
|
redirection(u);
|
||||||
|
- error(ERR_ACCESS_DENIED, u.url());
|
||||||
|
+ error(ERR_ACCESS_DENIED, u.prettyURL());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -3613,10 +3615,10 @@
|
||||||
|
sendMetaData();
|
||||||
|
}
|
||||||
|
|
||||||
|
- kdDebug(7113) << "(" << m_pid << ") request.url: " << m_request.url.url()
|
||||||
|
+ kdDebug(7113) << "(" << m_pid << ") request.url: " << m_request.url.prettyURL()
|
||||||
|
<< endl << "LocationStr: " << locationStr.data() << endl;
|
||||||
|
|
||||||
|
- kdDebug(7113) << "(" << m_pid << ") Requesting redirection to: " << u.url()
|
||||||
|
+ kdDebug(7113) << "(" << m_pid << ") Requesting redirection to: " << u.prettyURL()
|
||||||
|
<< endl;
|
||||||
|
|
||||||
|
// If we're redirected to a http:// url, remember that we're doing webdav...
|
||||||
|
@@ -3832,7 +3834,7 @@
|
||||||
|
if (!m_request.fcache)
|
||||||
|
{
|
||||||
|
m_request.bCachedWrite = false; // Error creating cache entry.
|
||||||
|
- kdDebug(7113) << "(" << m_pid << ") Error creating cache entry for " << m_request.url.url()<<"!\n";
|
||||||
|
+ kdDebug(7113) << "(" << m_pid << ") Error creating cache entry for " << m_request.url.prettyURL()<<"!\n";
|
||||||
|
}
|
||||||
|
m_request.expireDate = expireDate;
|
||||||
|
m_maxCacheSize = config()->readNumEntry("MaxCacheSize", DEFAULT_MAX_CACHE_SIZE) / 2;
|
||||||
|
@@ -3840,11 +3842,11 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_request.bCachedWrite && !m_strMimeType.isEmpty())
|
||||||
|
- kdDebug(7113) << "(" << m_pid << ") Cache, adding \"" << m_request.url.url() << "\"" << endl;
|
||||||
|
+ kdDebug(7113) << "(" << m_pid << ") Cache, adding \"" << m_request.url.prettyURL() << "\"" << endl;
|
||||||
|
else if (m_request.bCachedWrite && m_strMimeType.isEmpty())
|
||||||
|
- kdDebug(7113) << "(" << m_pid << ") Cache, pending \"" << m_request.url.url() << "\"" << endl;
|
||||||
|
+ kdDebug(7113) << "(" << m_pid << ") Cache, pending \"" << m_request.url.prettyURL() << "\"" << endl;
|
||||||
|
else
|
||||||
|
- kdDebug(7113) << "(" << m_pid << ") Cache, not adding \"" << m_request.url.url() << "\"" << endl;
|
||||||
|
+ kdDebug(7113) << "(" << m_pid << ") Cache, not adding \"" << m_request.url.prettyURL() << "\"" << endl;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
38
kdelibs-3.5.10-CVE-2015-7543.patch
Normal file
38
kdelibs-3.5.10-CVE-2015-7543.patch
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
diff -ur kdelibs-3.5.10/kinit/lnusertemp.c kdelibs-3.5.10-CVE-2015-7543/kinit/lnusertemp.c
|
||||||
|
--- kdelibs-3.5.10/kinit/lnusertemp.c 2007-05-14 09:52:34.000000000 +0200
|
||||||
|
+++ kdelibs-3.5.10-CVE-2015-7543/kinit/lnusertemp.c 2015-12-10 10:04:02.934321515 +0100
|
||||||
|
@@ -178,7 +178,11 @@
|
||||||
|
if (result == 0) return 0; /* Success */
|
||||||
|
unlink(kde_tmp_dir);
|
||||||
|
strncat(user_tmp_dir, "XXXXXX", PATH_MAX - strlen(user_tmp_dir));
|
||||||
|
+#if 0
|
||||||
|
mktemp(user_tmp_dir); /* We want a directory, not a file, so using mkstemp makes no sense and is wrong */
|
||||||
|
+#else
|
||||||
|
+ if (mkdtemp(user_tmp_dir)==0) return 1; /*JOWENN: isn't that the better solution ?? */
|
||||||
|
+#endif
|
||||||
|
return create_link(kde_tmp_dir, user_tmp_dir);
|
||||||
|
}
|
||||||
|
if ((result == -1) || (!S_ISLNK(stat_buf.st_mode)))
|
||||||
|
@@ -204,14 +208,22 @@
|
||||||
|
if (result == 0) return 0; /* Success */
|
||||||
|
unlink(kde_tmp_dir);
|
||||||
|
strncat(user_tmp_dir, "XXXXXX", PATH_MAX - strlen(user_tmp_dir));
|
||||||
|
+#if 0
|
||||||
|
mktemp(user_tmp_dir); /* We want a directory, not a file, so using mkstemp makes no sense and is wrong */
|
||||||
|
+#else
|
||||||
|
+ if (mkdtemp(user_tmp_dir)==0) return 1; /*JOWENN: isn't that the better solution ?? */
|
||||||
|
+#endif
|
||||||
|
return create_link(kde_tmp_dir, user_tmp_dir);
|
||||||
|
}
|
||||||
|
result = check_tmp_dir(tmp_buf);
|
||||||
|
if (result == 0) return 0; /* Success */
|
||||||
|
unlink(kde_tmp_dir);
|
||||||
|
strncat(user_tmp_dir, "XXXXXX", PATH_MAX - strlen(user_tmp_dir));
|
||||||
|
+#if 0
|
||||||
|
mktemp(user_tmp_dir); /* We want a directory, not a file, so using mkstemp makes no sense and is wrong */
|
||||||
|
+#else
|
||||||
|
+ if (mkdtemp(user_tmp_dir)==0) return 1; /*JOWENN: isn't that the better solution ?? */
|
||||||
|
+#endif
|
||||||
|
return create_link(kde_tmp_dir, user_tmp_dir);
|
||||||
|
}
|
||||||
|
|
48
kdelibs-3.5.10-CVE-2016-6232.patch
Normal file
48
kdelibs-3.5.10-CVE-2016-6232.patch
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
From 261a3b7a126b7a1d28e263085b85bf1905eb4c19 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= <slavek.banko@axis.cz>
|
||||||
|
Date: Sun, 23 Oct 2016 10:48:01 +0200
|
||||||
|
Subject: Fix security issue CVE-2016-6232 Based on
|
||||||
|
https://quickgit.kde.org/?p=karchive.git&a=commitdiff&h=0cb243f6
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
|
||||||
|
|
||||||
|
diff --git a/kio/kio/karchive.cpp b/kio/kio/karchive.cpp
|
||||||
|
index b0e0dc6..69e54d1 100644
|
||||||
|
--- a/kio/kio/karchive.cpp
|
||||||
|
+++ b/kio/kio/karchive.cpp
|
||||||
|
@@ -601,6 +601,7 @@ void KArchiveDirectory::addEntry( KArchiveEntry* entry )
|
||||||
|
void KArchiveDirectory::copyTo(const QString& dest, bool recursiveCopy ) const
|
||||||
|
{
|
||||||
|
QDir root;
|
||||||
|
+ const QString destDir(QDir(dest).absPath()); // get directory path without any "." or ".."
|
||||||
|
|
||||||
|
PosSortedPtrList fileList;
|
||||||
|
QMap<int, QString> fileToDir;
|
||||||
|
@@ -620,10 +621,19 @@ void KArchiveDirectory::copyTo(const QString& dest, bool recursiveCopy ) const
|
||||||
|
QValueStack<QString> dirNameStack;
|
||||||
|
|
||||||
|
dirStack.push( this ); // init stack at current directory
|
||||||
|
- dirNameStack.push( dest ); // ... with given path
|
||||||
|
+ dirNameStack.push( destDir ); // ... with given path
|
||||||
|
do {
|
||||||
|
curDir = dirStack.pop();
|
||||||
|
- curDirName = dirNameStack.pop();
|
||||||
|
+
|
||||||
|
+ // extract only to specified folder if it is located within archive's extraction folder
|
||||||
|
+ // otherwise put file under root position in extraction folder
|
||||||
|
+ QString curDirName = dirNameStack.pop();
|
||||||
|
+ if (!QDir(curDirName).absPath().startsWith(destDir)) {
|
||||||
|
+ kdWarning() << "Attempted export into folder" << curDirName
|
||||||
|
+ << "which is outside of the extraction root folder" << destDir << "."
|
||||||
|
+ << "Changing export of contained files to extraction root folder.";
|
||||||
|
+ curDirName = destDir;
|
||||||
|
+ }
|
||||||
|
root.mkdir(curDirName);
|
||||||
|
|
||||||
|
dirEntries = curDir->entries();
|
||||||
|
--
|
||||||
|
cgit v0.10.2
|
||||||
|
|
24
kdelibs-3.5.10-CVE-2017-6410.patch
Normal file
24
kdelibs-3.5.10-CVE-2017-6410.patch
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
diff -ur kdelibs-3.5.10/kio/misc/kpac/script.cpp kdelibs-3.5.10-CVE-2017-6410/kio/misc/kpac/script.cpp
|
||||||
|
--- kdelibs-3.5.10/kio/misc/kpac/script.cpp 2008-02-13 10:41:06.000000000 +0100
|
||||||
|
+++ kdelibs-3.5.10-CVE-2017-6410/kio/misc/kpac/script.cpp 2017-03-04 18:42:29.638992390 +0100
|
||||||
|
@@ -446,10 +446,18 @@
|
||||||
|
if (!findObj.isValid() || !findObj.implementsCall())
|
||||||
|
throw Error( "No such function FindProxyForURL" );
|
||||||
|
|
||||||
|
+ KURL cleanUrl = url;
|
||||||
|
+ cleanUrl.setPass(QString());
|
||||||
|
+ cleanUrl.setUser(QString());
|
||||||
|
+ if (cleanUrl.protocol().lower() == "https") {
|
||||||
|
+ cleanUrl.setPath(QString());
|
||||||
|
+ cleanUrl.setQuery(QString());
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
Object thisObj;
|
||||||
|
List args;
|
||||||
|
- args.append(String(url.url()));
|
||||||
|
- args.append(String(url.host()));
|
||||||
|
+ args.append(String(cleanUrl.url()));
|
||||||
|
+ args.append(String(cleanUrl.host()));
|
||||||
|
Value retval = findObj.call( exec, thisObj, args );
|
||||||
|
|
||||||
|
if ( exec->hadException() ) {
|
849
kdelibs-3.5.10-cups16.patch
Normal file
849
kdelibs-3.5.10-cups16.patch
Normal file
@ -0,0 +1,849 @@
|
|||||||
|
diff -ur kdelibs-3.5.10/kdeprint/configure.in.in kdelibs-3.5.10-cups16/kdeprint/configure.in.in
|
||||||
|
--- kdelibs-3.5.10/kdeprint/configure.in.in 2005-09-10 10:27:43.000000000 +0200
|
||||||
|
+++ kdelibs-3.5.10-cups16/kdeprint/configure.in.in 2012-12-25 16:29:53.000000000 +0100
|
||||||
|
@@ -84,6 +84,13 @@
|
||||||
|
if test "$ac_have_new_cups" = "yes"; then
|
||||||
|
AC_DEFINE(HAVE_CUPS_NO_PWD_CACHE, 1, CUPS doesn't have password caching)
|
||||||
|
fi
|
||||||
|
+
|
||||||
|
+ dnl check if CUPS is at least 1.6
|
||||||
|
+ ac_have_new_cups="no"
|
||||||
|
+ AC_CHECK_CUPS_VERSION(1.06)
|
||||||
|
+ if test "$ac_have_new_cups" = "yes"; then
|
||||||
|
+ AC_DEFINE(HAVE_CUPS_1_6, 1, CUPS is at least version 1.6)
|
||||||
|
+ fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
LDFLAGS="$ac_LDFLAGS_save"
|
||||||
|
diff -ur kdelibs-3.5.10/kdeprint/cups/cupsdconf2/cupsdconf.cpp kdelibs-3.5.10-cups16/kdeprint/cups/cupsdconf2/cupsdconf.cpp
|
||||||
|
--- kdelibs-3.5.10/kdeprint/cups/cupsdconf2/cupsdconf.cpp 2005-10-10 17:06:30.000000000 +0200
|
||||||
|
+++ kdelibs-3.5.10-cups16/kdeprint/cups/cupsdconf2/cupsdconf.cpp 2012-12-25 16:34:57.000000000 +0100
|
||||||
|
@@ -629,26 +629,44 @@
|
||||||
|
cups_lang_t* lang = cupsLangDefault();
|
||||||
|
ippAddString(request_, IPP_TAG_OPERATION, IPP_TAG_CHARSET, "attributes-charset", NULL, cupsLangEncoding(lang));
|
||||||
|
ippAddString(request_, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE, "attributes-natural-language", NULL, lang->language);
|
||||||
|
+#ifdef HAVE_CUPS_1_6
|
||||||
|
+ ippSetOperation(request_, CUPS_GET_PRINTERS);
|
||||||
|
+#else // HAVE_CUPS_1_6
|
||||||
|
request_->request.op.operation_id = CUPS_GET_PRINTERS;
|
||||||
|
+#endif // HAVE_CUPS_1_6
|
||||||
|
request_ = cupsDoRequest(http_, request_, "/printers/");
|
||||||
|
if (request_)
|
||||||
|
{
|
||||||
|
QString name;
|
||||||
|
int type(0);
|
||||||
|
+#ifdef HAVE_CUPS_1_6
|
||||||
|
+ ipp_attribute_t *attr = ippFirstAttribute(request_);
|
||||||
|
+#else // HAVE_CUPS_1_6
|
||||||
|
ipp_attribute_t *attr = request_->attrs;
|
||||||
|
+#endif // HAVE_CUPS_1_6
|
||||||
|
while (attr)
|
||||||
|
{
|
||||||
|
// check new printer (keep only local non-implicit printers)
|
||||||
|
+#ifdef HAVE_CUPS_1_6
|
||||||
|
+ if (!ippGetName(attr))
|
||||||
|
+#else // HAVE_CUPS_1_6
|
||||||
|
if (!attr->name)
|
||||||
|
+#endif // HAVE_CUPS_1_6
|
||||||
|
{
|
||||||
|
if (!(type & CUPS_PRINTER_REMOTE) && !(type & CUPS_PRINTER_IMPLICIT) && !name.isEmpty())
|
||||||
|
resources_.append(new CupsResource("/printers/"+name));
|
||||||
|
name = "";
|
||||||
|
type = 0;
|
||||||
|
}
|
||||||
|
+#ifdef HAVE_CUPS_1_6
|
||||||
|
+ else if (strcmp(ippGetName(attr), "printer-name") == 0) name = ippGetString(attr, 0, NULL);
|
||||||
|
+ else if (strcmp(ippGetName(attr), "printer-type") == 0) type = ippGetInteger(attr, 0);
|
||||||
|
+ attr = ippNextAttribute(request_);
|
||||||
|
+#else // HAVE_CUPS_1_6
|
||||||
|
else if (strcmp(attr->name, "printer-name") == 0) name = attr->values[0].string.text;
|
||||||
|
else if (strcmp(attr->name, "printer-type") == 0) type = attr->values[0].integer;
|
||||||
|
attr = attr->next;
|
||||||
|
+#endif // HAVE_CUPS_1_6
|
||||||
|
}
|
||||||
|
if (!(type & CUPS_PRINTER_REMOTE) && !(type & CUPS_PRINTER_IMPLICIT) && !name.isEmpty())
|
||||||
|
resources_.append(new CupsResource("/printers/"+name));
|
||||||
|
@@ -658,26 +676,44 @@
|
||||||
|
request_ = ippNew();
|
||||||
|
ippAddString(request_, IPP_TAG_OPERATION, IPP_TAG_CHARSET, "attributes-charset", NULL, cupsLangEncoding(lang));
|
||||||
|
ippAddString(request_, IPP_TAG_OPERATION, IPP_TAG_LANGUAGE, "attributes-natural-language", NULL, lang->language);
|
||||||
|
+#ifdef HAVE_CUPS_1_6
|
||||||
|
+ ippSetOperation(request_, CUPS_GET_CLASSES);
|
||||||
|
+#else // HAVE_CUPS_1_6
|
||||||
|
request_->request.op.operation_id = CUPS_GET_CLASSES;
|
||||||
|
+#endif // HAVE_CUPS_1_6
|
||||||
|
request_ = cupsDoRequest(http_, request_, "/classes/");
|
||||||
|
if (request_)
|
||||||
|
{
|
||||||
|
QString name;
|
||||||
|
int type(0);
|
||||||
|
+#ifdef HAVE_CUPS_1_6
|
||||||
|
+ ipp_attribute_t *attr = ippFirstAttribute(request_);
|
||||||
|
+#else // HAVE_CUPS_1_6
|
||||||
|
ipp_attribute_t *attr = request_->attrs;
|
||||||
|
+#endif // HAVE_CUPS_1_6
|
||||||
|
while (attr)
|
||||||
|
{
|
||||||
|
// check new class (keep only local classes)
|
||||||
|
+#ifdef HAVE_CUPS_1_6
|
||||||
|
+ if (!ippGetName(attr))
|
||||||
|
+#else // HAVE_CUPS_1_6
|
||||||
|
if (!attr->name)
|
||||||
|
+#endif // HAVE_CUPS_1_6
|
||||||
|
{
|
||||||
|
if (!(type & CUPS_PRINTER_REMOTE) && !name.isEmpty())
|
||||||
|
resources_.append(new CupsResource("/classes/"+name));
|
||||||
|
name = "";
|
||||||
|
type = 0;
|
||||||
|
}
|
||||||
|
+#ifdef HAVE_CUPS_1_6
|
||||||
|
+ else if (strcmp(ippGetName(attr), "printer-name") == 0) name = ippGetString(attr, 0, NULL);
|
||||||
|
+ else if (strcmp(ippGetName(attr), "printer-type") == 0) type = ippGetInteger(attr, 0);
|
||||||
|
+ attr = ippNextAttribute(request_);
|
||||||
|
+#else // HAVE_CUPS_1_6
|
||||||
|
else if (strcmp(attr->name, "printer-name") == 0) name = attr->values[0].string.text;
|
||||||
|
else if (strcmp(attr->name, "printer-type") == 0) type = attr->values[0].integer;
|
||||||
|
attr = attr->next;
|
||||||
|
+#endif // HAVE_CUPS_1_6
|
||||||
|
}
|
||||||
|
if (!(type & CUPS_PRINTER_REMOTE) && !name.isEmpty())
|
||||||
|
resources_.append(new CupsResource("/classes/"+name));
|
||||||
|
diff -ur kdelibs-3.5.10/kdeprint/cups/ipprequest.cpp kdelibs-3.5.10-cups16/kdeprint/cups/ipprequest.cpp
|
||||||
|
--- kdelibs-3.5.10/kdeprint/cups/ipprequest.cpp 2007-10-08 11:52:10.000000000 +0200
|
||||||
|
+++ kdelibs-3.5.10-cups16/kdeprint/cups/ipprequest.cpp 2012-12-25 16:55:53.000000000 +0100
|
||||||
|
@@ -51,6 +51,58 @@
|
||||||
|
kdDebug(500) << "Null request" << endl;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
+#ifdef HAVE_CUPS_1_6
|
||||||
|
+ kdDebug(500) << "State = 0x" << QString::number(ippGetState(req), 16) << endl;
|
||||||
|
+ kdDebug(500) << "ID = 0x" << QString::number(ippGetRequestId(req), 16) << endl;
|
||||||
|
+ if (answer)
|
||||||
|
+ {
|
||||||
|
+ kdDebug(500) << "Status = 0x" << QString::number(ippGetStatusCode(req), 16) << endl;
|
||||||
|
+ kdDebug(500) << "Status message = " << ippErrorString(ippGetStatusCode(req)) << endl;
|
||||||
|
+ }
|
||||||
|
+ else
|
||||||
|
+ kdDebug(500) << "Operation = 0x" << QString::number(ippGetOperation(req), 16) << endl;
|
||||||
|
+ int minorVersion;
|
||||||
|
+ int majorVersion = ippGetVersion(req, &minorVersion);
|
||||||
|
+ kdDebug(500) << "Version = " << (int)(majorVersion) << "." << (int)(minorVersion) << endl;
|
||||||
|
+ kdDebug(500) << endl;
|
||||||
|
+
|
||||||
|
+ ipp_attribute_t *attr = ippFirstAttribute(req);
|
||||||
|
+ while (attr)
|
||||||
|
+ {
|
||||||
|
+ QString s = QString::fromLatin1("%1 (0x%2) = ").arg(ippGetName(attr)).arg(ippGetValueTag(attr), 0, 16);
|
||||||
|
+ for (int i=0;i<ippGetCount(attr);i++)
|
||||||
|
+ {
|
||||||
|
+ switch (ippGetValueTag(attr))
|
||||||
|
+ {
|
||||||
|
+ case IPP_TAG_INTEGER:
|
||||||
|
+ case IPP_TAG_ENUM:
|
||||||
|
+ s += ("0x"+QString::number(ippGetInteger(attr, i), 16));
|
||||||
|
+ break;
|
||||||
|
+ case IPP_TAG_BOOLEAN:
|
||||||
|
+ s += (ippGetBoolean(attr, i) ? "true" : "false");
|
||||||
|
+ break;
|
||||||
|
+ case IPP_TAG_STRING:
|
||||||
|
+ case IPP_TAG_TEXT:
|
||||||
|
+ case IPP_TAG_NAME:
|
||||||
|
+ case IPP_TAG_KEYWORD:
|
||||||
|
+ case IPP_TAG_URI:
|
||||||
|
+ case IPP_TAG_MIMETYPE:
|
||||||
|
+ case IPP_TAG_NAMELANG:
|
||||||
|
+ case IPP_TAG_TEXTLANG:
|
||||||
|
+ case IPP_TAG_CHARSET:
|
||||||
|
+ case IPP_TAG_LANGUAGE:
|
||||||
|
+ s += ippGetString(attr, i, NULL);
|
||||||
|
+ break;
|
||||||
|
+ default:
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+ if (i != (ippGetCount(attr)-1))
|
||||||
|
+ s += ", ";
|
||||||
|
+ }
|
||||||
|
+ kdDebug(500) << s << endl;
|
||||||
|
+ attr = ippNextAttribute(req);
|
||||||
|
+ }
|
||||||
|
+#else // HAVE_CUPS_1_6
|
||||||
|
kdDebug(500) << "State = 0x" << QString::number(req->state, 16) << endl;
|
||||||
|
kdDebug(500) << "ID = 0x" << QString::number(req->request.status.request_id, 16) << endl;
|
||||||
|
if (answer)
|
||||||
|
@@ -99,6 +151,7 @@
|
||||||
|
kdDebug(500) << s << endl;
|
||||||
|
attr = attr->next;
|
||||||
|
}
|
||||||
|
+#endif // HAVE_CUPS_1_6
|
||||||
|
}
|
||||||
|
|
||||||
|
QString errorString(int status)
|
||||||
|
@@ -177,7 +230,11 @@
|
||||||
|
ipp_attribute_t *attr = ippAddStrings(request_,(ipp_tag_t)group,(ipp_tag_t)type,name.latin1(),(int)(values.count()),NULL,NULL);
|
||||||
|
int i(0);
|
||||||
|
for (QStringList::ConstIterator it=values.begin(); it != values.end(); ++it, i++)
|
||||||
|
+#ifdef HAVE_CUPS_1_6
|
||||||
|
+ ippSetString(request_, &attr, i, strdup((*it).local8Bit()));
|
||||||
|
+#else // HAVE_CUPS_1_6
|
||||||
|
attr->values[i].string.text = strdup((*it).local8Bit());
|
||||||
|
+#endif // HAVE_CUPS_1_6
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -193,7 +250,11 @@
|
||||||
|
ipp_attribute_t *attr = ippAddIntegers(request_,(ipp_tag_t)group,(ipp_tag_t)type,name.latin1(),(int)(values.count()),NULL);
|
||||||
|
int i(0);
|
||||||
|
for (QValueList<int>::ConstIterator it=values.begin(); it != values.end(); ++it, i++)
|
||||||
|
+#ifdef HAVE_CUPS_1_6
|
||||||
|
+ ippSetInteger(request_, &attr, i, *it);
|
||||||
|
+#else // HAVE_CUPS_1_6
|
||||||
|
attr->values[i].integer = *it;
|
||||||
|
+#endif // HAVE_CUPS_1_6
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -209,19 +270,32 @@
|
||||||
|
ipp_attribute_t *attr = ippAddBooleans(request_,(ipp_tag_t)group,name.latin1(),(int)(values.count()),NULL);
|
||||||
|
int i(0);
|
||||||
|
for (QValueList<bool>::ConstIterator it=values.begin(); it != values.end(); ++it, i++)
|
||||||
|
+#ifdef HAVE_CUPS_1_6
|
||||||
|
+ ippSetBoolean(request_, &attr, i, (char)(*it));
|
||||||
|
+#else // HAVE_CUPS_1_6
|
||||||
|
attr->values[i].boolean = (char)(*it);
|
||||||
|
+#endif // HAVE_CUPS_1_6
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void IppRequest::setOperation(int op)
|
||||||
|
{
|
||||||
|
+#ifdef HAVE_CUPS_1_6
|
||||||
|
+ ippSetOperation(request_, (ipp_op_t)op);
|
||||||
|
+ ippSetRequestId(request_, 1); // 0 is not RFC-compliant, should be at least 1
|
||||||
|
+#else // HAVE_CUPS_1_6
|
||||||
|
request_->request.op.operation_id = (ipp_op_t)op;
|
||||||
|
request_->request.op.request_id = 1; // 0 is not RFC-compliant, should be at least 1
|
||||||
|
+#endif // HAVE_CUPS_1_6
|
||||||
|
}
|
||||||
|
|
||||||
|
int IppRequest::status()
|
||||||
|
{
|
||||||
|
+#ifdef HAVE_CUPS_1_6
|
||||||
|
+ return (request_ ? ippGetStatusCode(request_) : (connect_ ? cupsLastError() : -2));
|
||||||
|
+#else // HAVE_CUPS_1_6
|
||||||
|
return (request_ ? request_->request.status.status_code : (connect_ ? cupsLastError() : -2));
|
||||||
|
+#endif // HAVE_CUPS_1_6
|
||||||
|
}
|
||||||
|
|
||||||
|
QString IppRequest::statusMessage()
|
||||||
|
@@ -248,7 +322,11 @@
|
||||||
|
ipp_attribute_t *attr = ippFindAttribute(request_, name.latin1(), (ipp_tag_t)type);
|
||||||
|
if (attr)
|
||||||
|
{
|
||||||
|
+#ifdef HAVE_CUPS_1_6
|
||||||
|
+ value = ippGetInteger(attr, 0);
|
||||||
|
+#else // HAVE_CUPS_1_6
|
||||||
|
value = attr->values[0].integer;
|
||||||
|
+#endif // HAVE_CUPS_1_6
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else return false;
|
||||||
|
@@ -260,7 +338,11 @@
|
||||||
|
ipp_attribute_t *attr = ippFindAttribute(request_, name.latin1(), (ipp_tag_t)type);
|
||||||
|
if (attr)
|
||||||
|
{
|
||||||
|
+#ifdef HAVE_CUPS_1_6
|
||||||
|
+ value = QString::fromLocal8Bit(ippGetString(attr, 0, NULL));
|
||||||
|
+#else // HAVE_CUPS_1_6
|
||||||
|
value = QString::fromLocal8Bit(attr->values[0].string.text);
|
||||||
|
+#endif // HAVE_CUPS_1_6
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else return false;
|
||||||
|
@@ -273,8 +355,13 @@
|
||||||
|
values.clear();
|
||||||
|
if (attr)
|
||||||
|
{
|
||||||
|
+#ifdef HAVE_CUPS_1_6
|
||||||
|
+ for (int i=0;i<ippGetCount(attr);i++)
|
||||||
|
+ values.append(QString::fromLocal8Bit(ippGetString(attr, i, NULL)));
|
||||||
|
+#else // HAVE_CUPS_1_6
|
||||||
|
for (int i=0;i<attr->num_values;i++)
|
||||||
|
values.append(QString::fromLocal8Bit(attr->values[i].string.text));
|
||||||
|
+#endif // HAVE_CUPS_1_6
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else return false;
|
||||||
|
@@ -286,7 +373,11 @@
|
||||||
|
ipp_attribute_t *attr = ippFindAttribute(request_, name.latin1(), IPP_TAG_BOOLEAN);
|
||||||
|
if (attr)
|
||||||
|
{
|
||||||
|
+#ifdef HAVE_CUPS_1_6
|
||||||
|
+ value = (bool)ippGetBoolean(attr, 0);
|
||||||
|
+#else // HAVE_CUPS_1_6
|
||||||
|
value = (bool)attr->values[0].boolean;
|
||||||
|
+#endif // HAVE_CUPS_1_6
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else return false;
|
||||||
|
@@ -338,10 +429,18 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
/* No printers found */
|
||||||
|
+#ifdef HAVE_CUPS_1_6
|
||||||
|
+ if ( request_ && ippGetStatusCode(request_) == 0x406 )
|
||||||
|
+#else // HAVE_CUPS_1_6
|
||||||
|
if ( request_ && request_->request.status.status_code == 0x406 )
|
||||||
|
+#endif // HAVE_CUPS_1_6
|
||||||
|
return true;
|
||||||
|
|
||||||
|
+#ifdef HAVE_CUPS_1_6
|
||||||
|
+ if (!request_ || ippGetState(request_) == IPP_ERROR || (ippGetStatusCode(request_) & 0x0F00))
|
||||||
|
+#else // HAVE_CUPS_1_6
|
||||||
|
if (!request_ || request_->state == IPP_ERROR || (request_->request.status.status_code & 0x0F00))
|
||||||
|
+#endif // HAVE_CUPS_1_6
|
||||||
|
return false;
|
||||||
|
|
||||||
|
|
||||||
|
@@ -356,14 +455,88 @@
|
||||||
|
output << "<tr><th bgcolor=\"dark blue\"><font color=\"white\">" << i18n("Attribute") << "</font></th>" << endl;
|
||||||
|
output << "<th bgcolor=\"dark blue\"><font color=\"white\">" << i18n("Values") << "</font></th></tr>" << endl;
|
||||||
|
// go to the first attribute of the specified group
|
||||||
|
+#ifdef HAVE_CUPS_1_6
|
||||||
|
+ ipp_attribute_t *attr = ippFirstAttribute(request_);
|
||||||
|
+ while (attr && ippGetGroupTag(attr) != group)
|
||||||
|
+ attr = ippNextAttribute(request_);
|
||||||
|
+#else // HAVE_CUPS_1_6
|
||||||
|
ipp_attribute_t *attr = request_->attrs;
|
||||||
|
while (attr && attr->group_tag != group)
|
||||||
|
attr = attr->next;
|
||||||
|
+#endif // HAVE_CUPS_1_6
|
||||||
|
// print each attribute
|
||||||
|
- ipp_uchar_t *d;
|
||||||
|
- QCString dateStr;
|
||||||
|
- QDateTime dt;
|
||||||
|
- bool bg(false);
|
||||||
|
+ const ipp_uchar_t *d;
|
||||||
|
+ QCString dateStr;
|
||||||
|
+ QDateTime dt;
|
||||||
|
+ bool bg(false);
|
||||||
|
+#ifdef HAVE_CUPS_1_6
|
||||||
|
+ while (attr && ippGetGroupTag(attr) == group)
|
||||||
|
+ {
|
||||||
|
+ output << " <tr bgcolor=\"" << (bg ? "#ffffd9" : "#ffffff") << "\">\n <td><b>" << ippGetName(attr) << "</b></td>\n <td>" << endl;
|
||||||
|
+ bg = !bg;
|
||||||
|
+ for (int i=0; i<ippGetCount(attr); i++)
|
||||||
|
+ {
|
||||||
|
+ switch (ippGetValueTag(attr))
|
||||||
|
+ {
|
||||||
|
+ case IPP_TAG_INTEGER:
|
||||||
|
+ if (ippGetName(attr) && strstr(ippGetName(attr), "time"))
|
||||||
|
+ {
|
||||||
|
+ dt.setTime_t((unsigned int)(ippGetInteger(attr, i)));
|
||||||
|
+ output << dt.toString();
|
||||||
|
+ }
|
||||||
|
+ else
|
||||||
|
+ output << ippGetInteger(attr, i);
|
||||||
|
+ break;
|
||||||
|
+ case IPP_TAG_ENUM:
|
||||||
|
+ output << "0x" << hex << ippGetInteger(attr, i) << dec;
|
||||||
|
+ break;
|
||||||
|
+ case IPP_TAG_BOOLEAN:
|
||||||
|
+ output << (ippGetBoolean(attr, i) ? i18n("True") : i18n("False"));
|
||||||
|
+ break;
|
||||||
|
+ case IPP_TAG_STRING:
|
||||||
|
+ case IPP_TAG_TEXTLANG:
|
||||||
|
+ case IPP_TAG_NAMELANG:
|
||||||
|
+ case IPP_TAG_TEXT:
|
||||||
|
+ case IPP_TAG_NAME:
|
||||||
|
+ case IPP_TAG_KEYWORD:
|
||||||
|
+ case IPP_TAG_URI:
|
||||||
|
+ case IPP_TAG_CHARSET:
|
||||||
|
+ case IPP_TAG_LANGUAGE:
|
||||||
|
+ case IPP_TAG_MIMETYPE:
|
||||||
|
+ output << ippGetString(attr, i, NULL);
|
||||||
|
+ break;
|
||||||
|
+ case IPP_TAG_RESOLUTION:
|
||||||
|
+ int xres;
|
||||||
|
+ int yres;
|
||||||
|
+ ipp_res_t units;
|
||||||
|
+ xres = ippGetResolution(attr, i, &yres, &units);
|
||||||
|
+ output << "( " << xres
|
||||||
|
+ << ", " << yres << " )";
|
||||||
|
+ break;
|
||||||
|
+ case IPP_TAG_RANGE:
|
||||||
|
+ int lowervalue;
|
||||||
|
+ int uppervalue;
|
||||||
|
+ lowervalue = ippGetRange(attr, i, &uppervalue);
|
||||||
|
+ output << "[ " << (lowervalue > 0 ? lowervalue : 1)
|
||||||
|
+ << ", " << (uppervalue > 0 ? uppervalue : 65535) << " ]";
|
||||||
|
+ break;
|
||||||
|
+ case IPP_TAG_DATE:
|
||||||
|
+ d = ippGetDate(attr, i);
|
||||||
|
+ dateStr.sprintf("%.4d-%.2d-%.2d, %.2d:%.2d:%.2d %c%.2d%.2d",
|
||||||
|
+ d[0]*256+d[1], d[2], d[3],
|
||||||
|
+ d[4], d[5], d[6],
|
||||||
|
+ d[8], d[9], d[10]);
|
||||||
|
+ output << dateStr;
|
||||||
|
+ break;
|
||||||
|
+ default:
|
||||||
|
+ continue;
|
||||||
|
+ }
|
||||||
|
+ if (i < ippGetCount(attr)-1)
|
||||||
|
+ output << "<br>";
|
||||||
|
+ }
|
||||||
|
+ output << "</td>\n </tr>" << endl;
|
||||||
|
+ attr = ippNextAttribute(request_);
|
||||||
|
+#else // HAVE_CUPS_1_6
|
||||||
|
while (attr && attr->group_tag == group)
|
||||||
|
{
|
||||||
|
output << " <tr bgcolor=\"" << (bg ? "#ffffd9" : "#ffffff") << "\">\n <td><b>" << attr->name << "</b></td>\n <td>" << endl;
|
||||||
|
@@ -423,6 +596,7 @@
|
||||||
|
}
|
||||||
|
output << "</td>\n </tr>" << endl;
|
||||||
|
attr = attr->next;
|
||||||
|
+#endif // HAVE_CUPS_1_6
|
||||||
|
}
|
||||||
|
// end table
|
||||||
|
output << "</table>" << endl;
|
||||||
|
@@ -438,6 +612,59 @@
|
||||||
|
ipp_attribute_t *attr = first();
|
||||||
|
while (attr)
|
||||||
|
{
|
||||||
|
+#ifdef HAVE_CUPS_1_6
|
||||||
|
+ if (group != -1 && ippGetGroupTag(attr) != group)
|
||||||
|
+ {
|
||||||
|
+ attr = ippNextAttribute(request_);
|
||||||
|
+ continue;
|
||||||
|
+ }
|
||||||
|
+ QString value;
|
||||||
|
+ for (int i=0; i<ippGetCount(attr); i++)
|
||||||
|
+ {
|
||||||
|
+ switch (ippGetValueTag(attr))
|
||||||
|
+ {
|
||||||
|
+ case IPP_TAG_INTEGER:
|
||||||
|
+ case IPP_TAG_ENUM:
|
||||||
|
+ value.append(QString::number(ippGetInteger(attr, i))).append(",");
|
||||||
|
+ break;
|
||||||
|
+ case IPP_TAG_BOOLEAN:
|
||||||
|
+ value.append((ippGetBoolean(attr, i) ? "true" : "false")).append(",");
|
||||||
|
+ break;
|
||||||
|
+ case IPP_TAG_RANGE:
|
||||||
|
+ int lowervalue;
|
||||||
|
+ int uppervalue;
|
||||||
|
+ lowervalue = ippGetRange(attr, i, &uppervalue);
|
||||||
|
+ if (lowervalue > 0)
|
||||||
|
+ value.append(QString::number(lowervalue));
|
||||||
|
+ if (lowervalue != uppervalue)
|
||||||
|
+ {
|
||||||
|
+ value.append("-");
|
||||||
|
+ if (uppervalue > 0)
|
||||||
|
+ value.append(QString::number(uppervalue));
|
||||||
|
+ }
|
||||||
|
+ value.append(",");
|
||||||
|
+ break;
|
||||||
|
+ case IPP_TAG_STRING:
|
||||||
|
+ case IPP_TAG_TEXT:
|
||||||
|
+ case IPP_TAG_NAME:
|
||||||
|
+ case IPP_TAG_KEYWORD:
|
||||||
|
+ case IPP_TAG_URI:
|
||||||
|
+ case IPP_TAG_MIMETYPE:
|
||||||
|
+ case IPP_TAG_NAMELANG:
|
||||||
|
+ case IPP_TAG_TEXTLANG:
|
||||||
|
+ case IPP_TAG_CHARSET:
|
||||||
|
+ case IPP_TAG_LANGUAGE:
|
||||||
|
+ value.append(QString::fromLocal8Bit(ippGetString(attr, i, NULL))).append(",");
|
||||||
|
+ break;
|
||||||
|
+ default:
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ if (!value.isEmpty())
|
||||||
|
+ value.truncate(value.length()-1);
|
||||||
|
+ opts[QString::fromLocal8Bit(ippGetName(attr))] = value;
|
||||||
|
+ attr = ippNextAttribute(request_);
|
||||||
|
+#else // HAVE_CUPS_1_6
|
||||||
|
if (group != -1 && attr->group_tag != group)
|
||||||
|
{
|
||||||
|
attr = attr->next;
|
||||||
|
@@ -486,6 +713,7 @@
|
||||||
|
value.truncate(value.length()-1);
|
||||||
|
opts[QString::fromLocal8Bit(attr->name)] = value;
|
||||||
|
attr = attr->next;
|
||||||
|
+#endif // HAVE_CUPS_1_6
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return opts;
|
||||||
|
@@ -542,3 +770,11 @@
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+#ifdef HAVE_CUPS_1_6
|
||||||
|
+ipp_attribute_t* IppRequest::first()
|
||||||
|
+{ return (request_ ? ippFirstAttribute(request_) : NULL); }
|
||||||
|
+#else // HAVE_CUPS_1_6
|
||||||
|
+ipp_attribute_t* IppRequest::first()
|
||||||
|
+{ return (request_ ? request_->attrs : NULL); }
|
||||||
|
+#endif // HAVE_CUPS_1_6
|
||||||
|
diff -ur kdelibs-3.5.10/kdeprint/cups/ipprequest.h kdelibs-3.5.10-cups16/kdeprint/cups/ipprequest.h
|
||||||
|
--- kdelibs-3.5.10/kdeprint/cups/ipprequest.h 2005-10-10 17:06:30.000000000 +0200
|
||||||
|
+++ kdelibs-3.5.10-cups16/kdeprint/cups/ipprequest.h 2012-12-25 16:37:50.000000000 +0100
|
||||||
|
@@ -27,6 +27,8 @@
|
||||||
|
|
||||||
|
#include <cups/ipp.h>
|
||||||
|
|
||||||
|
+#include "config.h"
|
||||||
|
+
|
||||||
|
class IppRequest
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
@@ -72,7 +74,10 @@
|
||||||
|
bool keyword(const QString& name, QStringList& value);
|
||||||
|
bool mime(const QString& name, QString& value);
|
||||||
|
ipp_attribute_t* first();
|
||||||
|
+#ifndef HAVE_CUPS_1_6
|
||||||
|
ipp_attribute_t* last();
|
||||||
|
+#endif // HAVE_CUPS_1_6
|
||||||
|
+ ipp_t* request();
|
||||||
|
QMap<QString,QString> toMap(int group = -1);
|
||||||
|
void setMap(const QMap<QString,QString>& opts);
|
||||||
|
|
||||||
|
@@ -178,11 +183,10 @@
|
||||||
|
inline bool IppRequest::doRequest(const QString& res)
|
||||||
|
{ return doFileRequest(res); }
|
||||||
|
|
||||||
|
-inline ipp_attribute_t* IppRequest::first()
|
||||||
|
-{ return (request_ ? request_->attrs : NULL); }
|
||||||
|
-
|
||||||
|
+#ifndef HAVE_CUPS_1_6
|
||||||
|
inline ipp_attribute_t* IppRequest::last()
|
||||||
|
{ return (request_ ? request_->last : NULL); }
|
||||||
|
+#endif // HAVE_CUPS_1_6
|
||||||
|
|
||||||
|
inline void IppRequest::setHost(const QString& host)
|
||||||
|
{ host_ = host; }
|
||||||
|
@@ -193,4 +197,7 @@
|
||||||
|
inline void IppRequest::dump(int state)
|
||||||
|
{ dump_ = state; }
|
||||||
|
|
||||||
|
+inline ipp_t* IppRequest::request()
|
||||||
|
+{ return request_; }
|
||||||
|
+
|
||||||
|
#endif
|
||||||
|
diff -ur kdelibs-3.5.10/kdeprint/cups/kmcupsjobmanager.cpp kdelibs-3.5.10-cups16/kdeprint/cups/kmcupsjobmanager.cpp
|
||||||
|
--- kdelibs-3.5.10/kdeprint/cups/kmcupsjobmanager.cpp 2007-01-15 12:34:19.000000000 +0100
|
||||||
|
+++ kdelibs-3.5.10-cups16/kdeprint/cups/kmcupsjobmanager.cpp 2012-12-25 16:34:57.000000000 +0100
|
||||||
|
@@ -36,6 +36,8 @@
|
||||||
|
#include <kdebug.h>
|
||||||
|
#include <kurl.h>
|
||||||
|
|
||||||
|
+#include "config.h"
|
||||||
|
+
|
||||||
|
KMCupsJobManager::KMCupsJobManager(QObject *parent, const char *name, const QStringList & /*args*/)
|
||||||
|
: KMJobManager(parent,name)
|
||||||
|
{
|
||||||
|
@@ -166,10 +168,79 @@
|
||||||
|
void KMCupsJobManager::parseListAnswer(IppRequest& req, KMPrinter *pr)
|
||||||
|
{
|
||||||
|
ipp_attribute_t *attr = req.first();
|
||||||
|
+ ipp_attribute_t *nextAttr;
|
||||||
|
KMJob *job = new KMJob();
|
||||||
|
QString uri;
|
||||||
|
while (attr)
|
||||||
|
{
|
||||||
|
+#ifdef HAVE_CUPS_1_6
|
||||||
|
+ QString name(ippGetName(attr));
|
||||||
|
+ if (name == "job-id") job->setId(ippGetInteger(attr, 0));
|
||||||
|
+ else if (name == "job-uri") job->setUri(QString::fromLocal8Bit(ippGetString(attr, 0, NULL)));
|
||||||
|
+ else if (name == "job-name") job->setName(QString::fromLocal8Bit(ippGetString(attr, 0, NULL)));
|
||||||
|
+ else if (name == "job-state")
|
||||||
|
+ {
|
||||||
|
+ switch (ippGetInteger(attr, 0))
|
||||||
|
+ {
|
||||||
|
+ case IPP_JOB_PENDING:
|
||||||
|
+ job->setState(KMJob::Queued);
|
||||||
|
+ break;
|
||||||
|
+ case IPP_JOB_HELD:
|
||||||
|
+ job->setState(KMJob::Held);
|
||||||
|
+ break;
|
||||||
|
+ case IPP_JOB_PROCESSING:
|
||||||
|
+ job->setState(KMJob::Printing);
|
||||||
|
+ break;
|
||||||
|
+ case IPP_JOB_STOPPED:
|
||||||
|
+ job->setState(KMJob::Error);
|
||||||
|
+ break;
|
||||||
|
+ case IPP_JOB_CANCELLED:
|
||||||
|
+ job->setState(KMJob::Cancelled);
|
||||||
|
+ break;
|
||||||
|
+ case IPP_JOB_ABORTED:
|
||||||
|
+ job->setState(KMJob::Aborted);
|
||||||
|
+ break;
|
||||||
|
+ case IPP_JOB_COMPLETED:
|
||||||
|
+ job->setState(KMJob::Completed);
|
||||||
|
+ break;
|
||||||
|
+ default:
|
||||||
|
+ job->setState(KMJob::Unknown);
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ else if (name == "job-k-octets") job->setSize(ippGetInteger(attr, 0));
|
||||||
|
+ else if (name == "job-originating-user-name") job->setOwner(QString::fromLocal8Bit(ippGetString(attr, 0, NULL)));
|
||||||
|
+ else if (name == "job-k-octets-completed") job->setProcessedSize(ippGetInteger(attr, 0));
|
||||||
|
+ else if (name == "job-media-sheets") job->setPages(ippGetInteger(attr, 0));
|
||||||
|
+ else if (name == "job-media-sheets-completed") job->setProcessedPages(ippGetInteger(attr, 0));
|
||||||
|
+ else if (name == "job-printer-uri" && !pr->isRemote())
|
||||||
|
+ {
|
||||||
|
+ QString str(ippGetString(attr, 0, NULL));
|
||||||
|
+ int p = str.findRev('/');
|
||||||
|
+ if (p != -1)
|
||||||
|
+ job->setPrinter(str.mid(p+1));
|
||||||
|
+ }
|
||||||
|
+ else if (name == "job-priority")
|
||||||
|
+ {
|
||||||
|
+ job->setAttribute(0, QString::fromLatin1("%1").arg(ippGetInteger(attr, 0), 3));
|
||||||
|
+ }
|
||||||
|
+ else if (name == "job-billing")
|
||||||
|
+ {
|
||||||
|
+ job->setAttributeCount(2);
|
||||||
|
+ job->setAttribute(1, QString::fromLocal8Bit(ippGetString(attr, 0, NULL)));
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ nextAttr = ippNextAttribute(req.request());
|
||||||
|
+ if (name.isEmpty() || (!nextAttr))
|
||||||
|
+ {
|
||||||
|
+ if (job->printer().isEmpty())
|
||||||
|
+ job->setPrinter(pr->printerName());
|
||||||
|
+ job->setRemote(pr->isRemote());
|
||||||
|
+ addJob(job); // don't use job after this call !!!
|
||||||
|
+ job = new KMJob();
|
||||||
|
+ }
|
||||||
|
+ attr = nextAttr;
|
||||||
|
+#else // HAVE_CUPS_1_6
|
||||||
|
QString name(attr->name);
|
||||||
|
if (name == "job-id") job->setId(attr->values[0].integer);
|
||||||
|
else if (name == "job-uri") job->setUri(QString::fromLocal8Bit(attr->values[0].string.text));
|
||||||
|
@@ -236,6 +307,7 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
attr = attr->next;
|
||||||
|
+#endif // HAVE_CUPS_1_6
|
||||||
|
}
|
||||||
|
delete job;
|
||||||
|
}
|
||||||
|
diff -ur kdelibs-3.5.10/kdeprint/cups/kmcupsmanager.cpp kdelibs-3.5.10-cups16/kdeprint/cups/kmcupsmanager.cpp
|
||||||
|
--- kdelibs-3.5.10/kdeprint/cups/kmcupsmanager.cpp 2007-01-15 12:34:19.000000000 +0100
|
||||||
|
+++ kdelibs-3.5.10-cups16/kdeprint/cups/kmcupsmanager.cpp 2012-12-25 16:34:57.000000000 +0100
|
||||||
|
@@ -476,9 +476,59 @@
|
||||||
|
void KMCupsManager::processRequest(IppRequest* req)
|
||||||
|
{
|
||||||
|
ipp_attribute_t *attr = req->first();
|
||||||
|
+ ipp_attribute_t *nextAttr;
|
||||||
|
KMPrinter *printer = new KMPrinter();
|
||||||
|
while (attr)
|
||||||
|
{
|
||||||
|
+#ifdef HAVE_CUPS_1_6
|
||||||
|
+ QString attrname(ippGetName(attr));
|
||||||
|
+ if (attrname == "printer-name")
|
||||||
|
+ {
|
||||||
|
+ QString value = QString::fromLocal8Bit(ippGetString(attr, 0, NULL));
|
||||||
|
+ printer->setName(value);
|
||||||
|
+ printer->setPrinterName(value);
|
||||||
|
+ }
|
||||||
|
+ else if (attrname == "printer-type")
|
||||||
|
+ {
|
||||||
|
+ int value = ippGetInteger(attr, 0);
|
||||||
|
+ printer->setType(0);
|
||||||
|
+ printer->addType(((value & CUPS_PRINTER_CLASS) || (value & CUPS_PRINTER_IMPLICIT) ? KMPrinter::Class : KMPrinter::Printer));
|
||||||
|
+ if ((value & CUPS_PRINTER_REMOTE)) printer->addType(KMPrinter::Remote);
|
||||||
|
+ if ((value & CUPS_PRINTER_IMPLICIT)) printer->addType(KMPrinter::Implicit);
|
||||||
|
+
|
||||||
|
+ // convert printer-type attribute
|
||||||
|
+ printer->setPrinterCap( ( value & CUPS_PRINTER_OPTIONS ) >> 2 );
|
||||||
|
+ }
|
||||||
|
+ else if (attrname == "printer-state")
|
||||||
|
+ {
|
||||||
|
+ switch (ippGetInteger(attr, 0))
|
||||||
|
+ {
|
||||||
|
+ case IPP_PRINTER_IDLE: printer->setState(KMPrinter::Idle); break;
|
||||||
|
+ case IPP_PRINTER_PROCESSING: printer->setState(KMPrinter::Processing); break;
|
||||||
|
+ case IPP_PRINTER_STOPPED: printer->setState(KMPrinter::Stopped); break;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ else if (attrname == "printer-uri-supported")
|
||||||
|
+ {
|
||||||
|
+ printer->setUri(KURL(ippGetString(attr, 0, NULL)));
|
||||||
|
+ }
|
||||||
|
+ else if (attrname == "printer-location")
|
||||||
|
+ {
|
||||||
|
+ printer->setLocation(QString::fromLocal8Bit(ippGetString(attr, 0, NULL)));
|
||||||
|
+ }
|
||||||
|
+ else if (attrname == "printer-is-accepting-jobs")
|
||||||
|
+ {
|
||||||
|
+ printer->setAcceptJobs(ippGetBoolean(attr, 0));
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ nextAttr = ippNextAttribute(req->request());
|
||||||
|
+ if (attrname.isEmpty() || (!nextAttr))
|
||||||
|
+ {
|
||||||
|
+ addPrinter(printer);
|
||||||
|
+ printer = new KMPrinter();
|
||||||
|
+ }
|
||||||
|
+ attr = nextAttr;
|
||||||
|
+#else // HAVE_CUPS_1_6
|
||||||
|
QString attrname(attr->name);
|
||||||
|
if (attrname == "printer-name")
|
||||||
|
{
|
||||||
|
@@ -524,6 +574,7 @@
|
||||||
|
printer = new KMPrinter();
|
||||||
|
}
|
||||||
|
attr = attr->next;
|
||||||
|
+#endif // HAVE_CUPS_1_6
|
||||||
|
}
|
||||||
|
delete printer;
|
||||||
|
}
|
||||||
|
@@ -817,6 +868,7 @@
|
||||||
|
{
|
||||||
|
QStringList list;
|
||||||
|
IppRequest req;
|
||||||
|
+ ipp_attribute_t *nextAttr;
|
||||||
|
req.setOperation(CUPS_GET_DEVICES);
|
||||||
|
if (req.doRequest("/"))
|
||||||
|
{
|
||||||
|
@@ -824,6 +876,24 @@
|
||||||
|
ipp_attribute_t *attr = req.first();
|
||||||
|
while (attr)
|
||||||
|
{
|
||||||
|
+#ifdef HAVE_CUPS_1_6
|
||||||
|
+ QString attrname(ippGetName(attr));
|
||||||
|
+ if (attrname == "device-info") desc = ippGetString(attr, 0, NULL);
|
||||||
|
+ else if (attrname == "device-make-and-model") printer = ippGetString(attr, 0, NULL);
|
||||||
|
+ else if (attrname == "device-uri") uri = ippGetString(attr, 0, NULL);
|
||||||
|
+ else if ( attrname == "device-class" ) cl = ippGetString(attr, 0, NULL);
|
||||||
|
+ nextAttr = ippNextAttribute(req.request());
|
||||||
|
+ if (attrname.isEmpty() || (!nextAttr))
|
||||||
|
+ {
|
||||||
|
+ if (!uri.isEmpty())
|
||||||
|
+ {
|
||||||
|
+ if (printer == "Unknown") printer = QString::null;
|
||||||
|
+ list << cl << uri << desc << printer;
|
||||||
|
+ }
|
||||||
|
+ uri = desc = printer = cl = QString::null;
|
||||||
|
+ }
|
||||||
|
+ attr = nextAttr;
|
||||||
|
+#else // HAVE_CUPS_1_6
|
||||||
|
QString attrname(attr->name);
|
||||||
|
if (attrname == "device-info") desc = attr->values[0].string.text;
|
||||||
|
else if (attrname == "device-make-and-model") printer = attr->values[0].string.text;
|
||||||
|
@@ -839,6 +909,7 @@
|
||||||
|
uri = desc = printer = cl = QString::null;
|
||||||
|
}
|
||||||
|
attr = attr->next;
|
||||||
|
+#endif // HAVE_CUPS_1_6
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
diff -ur kdelibs-3.5.10/kdeprint/cups/kmcupsuimanager.cpp kdelibs-3.5.10-cups16/kdeprint/cups/kmcupsuimanager.cpp
|
||||||
|
--- kdelibs-3.5.10/kdeprint/cups/kmcupsuimanager.cpp 2006-10-01 19:33:43.000000000 +0200
|
||||||
|
+++ kdelibs-3.5.10-cups16/kdeprint/cups/kmcupsuimanager.cpp 2012-12-25 16:34:57.000000000 +0100
|
||||||
|
@@ -60,6 +60,8 @@
|
||||||
|
#include <kaction.h>
|
||||||
|
#include <kmessagebox.h>
|
||||||
|
|
||||||
|
+#include "config.h"
|
||||||
|
+
|
||||||
|
KMCupsUiManager::KMCupsUiManager(QObject *parent, const char *name, const QStringList & /*args*/)
|
||||||
|
: KMUiManager(parent,name)
|
||||||
|
{
|
||||||
|
@@ -143,6 +145,24 @@
|
||||||
|
ipp_attribute_t *attr = req.first();
|
||||||
|
while (attr)
|
||||||
|
{
|
||||||
|
+#ifdef HAVE_CUPS_1_6
|
||||||
|
+ if (ippGetName(attr) && strcmp(ippGetName(attr),"device-uri") == 0)
|
||||||
|
+ {
|
||||||
|
+ if (strncmp(ippGetString(attr, 0, NULL),"socket",6) == 0) backend->enableBackend(KMWizard::TCP,true);
|
||||||
|
+ else if (strncmp(ippGetString(attr, 0, NULL),"parallel",8) == 0) backend->enableBackend(KMWizard::Local,true);
|
||||||
|
+ else if (strncmp(ippGetString(attr, 0, NULL),"serial",6) == 0) backend->enableBackend(KMWizard::Local,true);
|
||||||
|
+ else if (strncmp(ippGetString(attr, 0, NULL),"smb",3) == 0) backend->enableBackend(KMWizard::SMB,true);
|
||||||
|
+ else if (strncmp(ippGetString(attr, 0, NULL),"lpd",3) == 0) backend->enableBackend(KMWizard::LPD,true);
|
||||||
|
+ else if (strncmp(ippGetString(attr, 0, NULL),"usb",3) == 0) backend->enableBackend(KMWizard::Local,true);
|
||||||
|
+ else if (strncmp(ippGetString(attr, 0, NULL),"http",4) == 0 || strncmp(ippGetString(attr, 0, NULL),"ipp",3) == 0)
|
||||||
|
+ {
|
||||||
|
+ backend->enableBackend(KMWizard::IPP,true);
|
||||||
|
+ backend->enableBackend(KMWizard::Custom+1,true);
|
||||||
|
+ }
|
||||||
|
+ else if (strncmp(ippGetString(attr, 0, NULL),"fax",3) == 0) backend->enableBackend(KMWizard::Custom+2,true);
|
||||||
|
+ }
|
||||||
|
+ attr = ippNextAttribute(req.request());
|
||||||
|
+#else // HAVE_CUPS_1_6
|
||||||
|
if (attr->name && strcmp(attr->name,"device-uri") == 0)
|
||||||
|
{
|
||||||
|
if (strncmp(attr->values[0].string.text,"socket",6) == 0) backend->enableBackend(KMWizard::TCP,true);
|
||||||
|
@@ -159,6 +179,7 @@
|
||||||
|
else if (strncmp(attr->values[0].string.text,"fax",3) == 0) backend->enableBackend(KMWizard::Custom+2,true);
|
||||||
|
}
|
||||||
|
attr = attr->next;
|
||||||
|
+#endif // HAVE_CUPS_1_6
|
||||||
|
}
|
||||||
|
backend->enableBackend(KMWizard::Class, true);
|
||||||
|
backend->enableBackend(KMWizard::Custom+5, true);
|
||||||
|
diff -ur kdelibs-3.5.10/kdeprint/cups/kmwfax.cpp kdelibs-3.5.10-cups16/kdeprint/cups/kmwfax.cpp
|
||||||
|
--- kdelibs-3.5.10/kdeprint/cups/kmwfax.cpp 2007-01-15 12:34:19.000000000 +0100
|
||||||
|
+++ kdelibs-3.5.10-cups16/kdeprint/cups/kmwfax.cpp 2012-12-25 16:34:57.000000000 +0100
|
||||||
|
@@ -30,6 +30,8 @@
|
||||||
|
#include <kiconloader.h>
|
||||||
|
#include <kurl.h>
|
||||||
|
|
||||||
|
+#include "config.h"
|
||||||
|
+
|
||||||
|
KMWFax::KMWFax(QWidget *parent, const char *name)
|
||||||
|
: KMWizardPage(parent,name)
|
||||||
|
{
|
||||||
|
@@ -55,11 +57,19 @@
|
||||||
|
ipp_attribute_t *attr = req.first();
|
||||||
|
while (attr)
|
||||||
|
{
|
||||||
|
+#ifdef HAVE_CUPS_1_6
|
||||||
|
+ if (ippGetName(attr) && strcmp(ippGetName(attr),"device-uri") == 0 && strncmp(ippGetString(attr, 0, NULL),"fax",3) == 0)
|
||||||
|
+ {
|
||||||
|
+ m_list->insertItem(SmallIcon("blockdevice"),QString::fromLatin1(ippGetString(attr, 0, NULL)));
|
||||||
|
+ }
|
||||||
|
+ attr = ippNextAttribute(req.request());
|
||||||
|
+#else // HAVE_CUPS_1_6
|
||||||
|
if (attr->name && strcmp(attr->name,"device-uri") == 0 && strncmp(attr->values[0].string.text,"fax",3) == 0)
|
||||||
|
{
|
||||||
|
m_list->insertItem(SmallIcon("blockdevice"),QString::fromLatin1(attr->values[0].string.text));
|
||||||
|
}
|
||||||
|
attr = attr->next;
|
||||||
|
+#endif // HAVE_CUPS_1_6
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
diff -ur kdelibs-3.5.10/kdeprint/cups/kmwippselect.cpp kdelibs-3.5.10-cups16/kdeprint/cups/kmwippselect.cpp
|
||||||
|
--- kdelibs-3.5.10/kdeprint/cups/kmwippselect.cpp 2007-01-15 12:34:19.000000000 +0100
|
||||||
|
+++ kdelibs-3.5.10-cups16/kdeprint/cups/kmwippselect.cpp 2012-12-25 16:34:57.000000000 +0100
|
||||||
|
@@ -29,6 +29,8 @@
|
||||||
|
#include <kdebug.h>
|
||||||
|
#include <kiconloader.h>
|
||||||
|
|
||||||
|
+#include "config.h"
|
||||||
|
+
|
||||||
|
KMWIppSelect::KMWIppSelect(QWidget *parent, const char *name)
|
||||||
|
: KMWizardPage(parent,name)
|
||||||
|
{
|
||||||
|
@@ -83,9 +85,15 @@
|
||||||
|
ipp_attribute_t *attr = req.first();
|
||||||
|
while (attr)
|
||||||
|
{
|
||||||
|
+#ifdef HAVE_CUPS_1_6
|
||||||
|
+ if (ippGetName(attr) && strcmp(ippGetName(attr),"printer-name") == 0)
|
||||||
|
+ m_list->insertItem(SmallIcon("kdeprint_printer"),QString::fromLatin1(ippGetString(attr, 0, NULL)));
|
||||||
|
+ attr = ippNextAttribute(req.request());
|
||||||
|
+#else // HAVE_CUPS_1_6
|
||||||
|
if (attr->name && strcmp(attr->name,"printer-name") == 0)
|
||||||
|
m_list->insertItem(SmallIcon("kdeprint_printer"),QString::fromLatin1(attr->values[0].string.text));
|
||||||
|
attr = attr->next;
|
||||||
|
+#endif // HAVE_CUPS_1_6
|
||||||
|
}
|
||||||
|
m_list->sort();
|
||||||
|
}
|
159
kdelibs-3.5.10-cups20.patch
Normal file
159
kdelibs-3.5.10-cups20.patch
Normal file
@ -0,0 +1,159 @@
|
|||||||
|
diff -ur kdelibs-3.5.10/kdeprint/cups/cupsdconf2/cups-util.c kdelibs-3.5.10-cups20/kdeprint/cups/cupsdconf2/cups-util.c
|
||||||
|
--- kdelibs-3.5.10/kdeprint/cups/cupsdconf2/cups-util.c 2007-10-08 11:52:10.000000000 +0200
|
||||||
|
+++ kdelibs-3.5.10-cups20/kdeprint/cups/cupsdconf2/cups-util.c 2014-11-25 21:41:51.000000000 +0100
|
||||||
|
@@ -32,7 +32,7 @@
|
||||||
|
char prompt[1024]; /* Prompt string */
|
||||||
|
int digest_tries; /* Number of tries with Digest */
|
||||||
|
static char filename[HTTP_MAX_URI]; /* Local filename */
|
||||||
|
-#if CUPS_VERSION_MAJOR - 0 <= 1 && CUPS_VERSION_MINOR - 0 < 2
|
||||||
|
+#if CUPS_VERSION_MAJOR < 1 || (CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR < 2)
|
||||||
|
const char *fqdn = 0;
|
||||||
|
#else
|
||||||
|
char fqdn[ HTTP_MAX_URI ]; /* Server name buffer */
|
||||||
|
@@ -118,7 +118,7 @@
|
||||||
|
* See if we should retry the current digest password...
|
||||||
|
*/
|
||||||
|
|
||||||
|
-#if CUPS_VERSION_MAJOR - 0 <= 1 && CUPS_VERSION_MINOR - 0 < 2
|
||||||
|
+#if CUPS_VERSION_MAJOR < 1 || (CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR < 2)
|
||||||
|
www_authenticate = cups_server->fields[HTTP_FIELD_WWW_AUTHENTICATE];
|
||||||
|
#else
|
||||||
|
www_authenticate = httpGetField( cups_server, HTTP_FIELD_WWW_AUTHENTICATE );
|
||||||
|
@@ -129,7 +129,7 @@
|
||||||
|
/*
|
||||||
|
* Nope - get a password from the user...
|
||||||
|
*/
|
||||||
|
-#if CUPS_VERSION_MAJOR - 0 <= 1 && CUPS_VERSION_MINOR - 0 < 2
|
||||||
|
+#if CUPS_VERSION_MAJOR < 1 || (CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR < 2)
|
||||||
|
fqdn = cups_server->hostname;
|
||||||
|
#else
|
||||||
|
httpGetHostname( cups_server, fqdn, sizeof( fqdn ) );
|
||||||
|
@@ -154,7 +154,7 @@
|
||||||
|
* Got a password; encode it for the server...
|
||||||
|
*/
|
||||||
|
|
||||||
|
-#if CUPS_VERSION_MAJOR - 0 <= 1 && CUPS_VERSION_MINOR - 0 < 2
|
||||||
|
+#if CUPS_VERSION_MAJOR < 1 || (CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR < 2)
|
||||||
|
www_authenticate = cups_server->fields[HTTP_FIELD_WWW_AUTHENTICATE];
|
||||||
|
#else
|
||||||
|
www_authenticate = httpGetField( cups_server, HTTP_FIELD_WWW_AUTHENTICATE );
|
||||||
|
@@ -166,7 +166,7 @@
|
||||||
|
*/
|
||||||
|
|
||||||
|
snprintf(plain, sizeof(plain), "%s:%s", cupsUser(), pwdstring);
|
||||||
|
-#if CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR >= 2
|
||||||
|
+#if CUPS_VERSION_MAJOR > 1 || (CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR >= 2)
|
||||||
|
httpEncode64_2(encode, sizeof(encode), plain, sizeof(plain));
|
||||||
|
#else
|
||||||
|
httpEncode64(encode, plain);
|
||||||
|
@@ -235,7 +235,7 @@
|
||||||
|
*/
|
||||||
|
|
||||||
|
while ((bytes =
|
||||||
|
-#if CUPS_VERSION_MAJOR - 0 <= 1 && CUPS_VERSION_MINOR - 0 < 2
|
||||||
|
+#if CUPS_VERSION_MAJOR < 1 || (CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR < 2)
|
||||||
|
httpRead
|
||||||
|
#else
|
||||||
|
httpRead2
|
||||||
|
@@ -265,7 +265,7 @@
|
||||||
|
http_status_t status; /* HTTP status from server */
|
||||||
|
char prompt[1024]; /* Prompt string */
|
||||||
|
int digest_tries; /* Number of tries with Digest */
|
||||||
|
-#if CUPS_VERSION_MAJOR - 0 <= 1 && CUPS_VERSION_MINOR - 0 < 2
|
||||||
|
+#if CUPS_VERSION_MAJOR < 1 || (CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR < 2)
|
||||||
|
const char *fqdn = 0;
|
||||||
|
#else
|
||||||
|
char fqdn[ HTTP_MAX_URI ]; /* Server name buffer */
|
||||||
|
@@ -340,7 +340,7 @@
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
-#if CUPS_VERSION_MAJOR - 0 <= 1 && CUPS_VERSION_MINOR - 0 < 2
|
||||||
|
+#if CUPS_VERSION_MAJOR < 1 || (CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR < 2)
|
||||||
|
httpWrite
|
||||||
|
#else
|
||||||
|
httpWrite2
|
||||||
|
@@ -349,7 +349,7 @@
|
||||||
|
|
||||||
|
if (status == HTTP_CONTINUE)
|
||||||
|
{
|
||||||
|
-#if CUPS_VERSION_MAJOR - 0 <= 1 && CUPS_VERSION_MINOR - 0 < 2
|
||||||
|
+#if CUPS_VERSION_MAJOR < 1 || (CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR < 2)
|
||||||
|
httpWrite
|
||||||
|
#else
|
||||||
|
httpWrite2
|
||||||
|
@@ -380,7 +380,7 @@
|
||||||
|
* See if we should retry the current digest password...
|
||||||
|
*/
|
||||||
|
|
||||||
|
-#if CUPS_VERSION_MAJOR - 0 <= 1 && CUPS_VERSION_MINOR - 0 < 2
|
||||||
|
+#if CUPS_VERSION_MAJOR < 1 || (CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR < 2)
|
||||||
|
www_authenticate = cups_server->fields[HTTP_FIELD_WWW_AUTHENTICATE];
|
||||||
|
#else
|
||||||
|
www_authenticate = httpGetField( cups_server, HTTP_FIELD_WWW_AUTHENTICATE );
|
||||||
|
@@ -393,7 +393,7 @@
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
-#if CUPS_VERSION_MAJOR - 0 <= 1 && CUPS_VERSION_MINOR - 0 < 2
|
||||||
|
+#if CUPS_VERSION_MAJOR < 1 || (CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR < 2)
|
||||||
|
fqdn = cups_server->hostname;
|
||||||
|
#else
|
||||||
|
httpGetHostname( cups_server, fqdn, sizeof( fqdn ) );
|
||||||
|
@@ -417,7 +417,7 @@
|
||||||
|
* Got a password; encode it for the server...
|
||||||
|
*/
|
||||||
|
|
||||||
|
-#if CUPS_VERSION_MAJOR - 0 <= 1 && CUPS_VERSION_MINOR - 0 < 2
|
||||||
|
+#if CUPS_VERSION_MAJOR < 1 || (CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR < 2)
|
||||||
|
www_authenticate = cups_server->fields[HTTP_FIELD_WWW_AUTHENTICATE];
|
||||||
|
#else
|
||||||
|
www_authenticate = httpGetField( cups_server, HTTP_FIELD_WWW_AUTHENTICATE );
|
||||||
|
@@ -429,7 +429,7 @@
|
||||||
|
*/
|
||||||
|
|
||||||
|
snprintf(plain, sizeof(plain), "%s:%s", cupsUser(), pwdstring);
|
||||||
|
-#if CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR >= 2
|
||||||
|
+#if CUPS_VERSION_MAJOR > 1 || (CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR >= 2)
|
||||||
|
httpEncode64_2(encode, sizeof(encode), plain, sizeof(plain));
|
||||||
|
#else
|
||||||
|
httpEncode64(encode, plain);
|
||||||
|
@@ -511,7 +511,7 @@
|
||||||
|
* See if we are accessing localhost...
|
||||||
|
the struct has changed in newer versions - PiggZ (adam@piggz.co.uk)
|
||||||
|
*/
|
||||||
|
-#if CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR >= 2
|
||||||
|
+#if CUPS_VERSION_MAJOR > 1 || (CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR >= 2)
|
||||||
|
if (!httpAddrLocalhost(http))
|
||||||
|
#else
|
||||||
|
if (ntohl(*(int*)&http->hostaddr.sin_addr) != 0x7f000001 &&
|
||||||
|
diff -ur kdelibs-3.5.10/kdeprint/cups/ipprequest.cpp kdelibs-3.5.10-cups20/kdeprint/cups/ipprequest.cpp
|
||||||
|
--- kdelibs-3.5.10/kdeprint/cups/ipprequest.cpp 2007-10-08 11:52:10.000000000 +0200
|
||||||
|
+++ kdelibs-3.5.10-cups20/kdeprint/cups/ipprequest.cpp 2014-11-25 21:41:51.000000000 +0100
|
||||||
|
@@ -310,7 +310,7 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifdef HAVE_CUPS_NO_PWD_CACHE
|
||||||
|
-#if CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR <= 2
|
||||||
|
+#if CUPS_VERSION_MAJOR < 1 || (CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR <= 2)
|
||||||
|
strncpy( HTTP->authstring, cups_authstring.data(), HTTP_MAX_VALUE );
|
||||||
|
#else
|
||||||
|
httpSetAuthString( HTTP, NULL, cups_authstring.data() );
|
||||||
|
@@ -324,7 +324,7 @@
|
||||||
|
|
||||||
|
request_ = cupsDoFileRequest(HTTP, request_, (res.isEmpty() ? "/" : res.latin1()), (filename.isEmpty() ? NULL : filename.latin1()));
|
||||||
|
#ifdef HAVE_CUPS_NO_PWD_CACHE
|
||||||
|
-#if CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR <= 2
|
||||||
|
+#if CUPS_VERSION_MAJOR < 1 || (CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR <= 2)
|
||||||
|
cups_authstring = HTTP->authstring;
|
||||||
|
#else
|
||||||
|
cups_authstring = httpGetAuthString( HTTP );
|
||||||
|
@@ -523,7 +523,7 @@
|
||||||
|
cupsFreeOptions(n, options);
|
||||||
|
|
||||||
|
// find an remove that annoying "document-format" attribute
|
||||||
|
-#if CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR >= 2
|
||||||
|
+#if CUPS_VERSION_MAJOR > 1 || (CUPS_VERSION_MAJOR == 1 && CUPS_VERSION_MINOR >= 2)
|
||||||
|
ipp_attribute_t *attr = ippFindAttribute(request_, "document-format", IPP_TAG_NAME);
|
||||||
|
ippDeleteAttribute(request_, attr);
|
||||||
|
#else
|
11
kdelibs-3.5.10-cups22.patch
Normal file
11
kdelibs-3.5.10-cups22.patch
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
diff -ur kdelibs-3.5.10/kdeprint/cups/cupsaddsmb2.cpp kdelibs-3.5.10-cups22/kdeprint/cups/cupsaddsmb2.cpp
|
||||||
|
--- kdelibs-3.5.10/kdeprint/cups/cupsaddsmb2.cpp 2005-10-10 17:06:30.000000000 +0200
|
||||||
|
+++ kdelibs-3.5.10-cups22/kdeprint/cups/cupsaddsmb2.cpp 2016-09-28 19:23:09.264863318 +0200
|
||||||
|
@@ -39,6 +39,7 @@
|
||||||
|
#include <kstdguiitem.h>
|
||||||
|
|
||||||
|
#include <cups/cups.h>
|
||||||
|
+#include <cups/ppd.h>
|
||||||
|
#include <ctype.h>
|
||||||
|
|
||||||
|
CupsAddSmb::CupsAddSmb(QWidget *parent, const char *name)
|
@ -1,12 +1,12 @@
|
|||||||
diff -ur kdelibs-3.5.9/kdecore/kcrash.cpp kdelibs-3.5.9-drkonqi-kde4/kdecore/kcrash.cpp
|
diff -ur kdelibs-3.5.10/kdecore/kcrash.cpp kdelibs-3.5.10-drkonqi-plasma5/kdecore/kcrash.cpp
|
||||||
--- kdelibs-3.5.9/kdecore/kcrash.cpp 2007-01-15 12:34:17.000000000 +0100
|
--- kdelibs-3.5.10/kdecore/kcrash.cpp 2007-01-15 12:34:17.000000000 +0100
|
||||||
+++ kdelibs-3.5.9-drkonqi-kde4/kdecore/kcrash.cpp 2008-07-02 08:24:37.000000000 +0200
|
+++ kdelibs-3.5.10-drkonqi-plasma5/kdecore/kcrash.cpp 2017-01-22 23:25:21.373378496 +0100
|
||||||
@@ -158,7 +158,7 @@
|
@@ -158,7 +158,7 @@
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
|
||||||
// argument 0 has to be drkonqi
|
// argument 0 has to be drkonqi
|
||||||
- argv[i++] = "drkonqi";
|
- argv[i++] = "drkonqi";
|
||||||
+ argv[i++] = "/usr/libexec/kde4/drkonqi";
|
+ argv[i++] = "/usr/libexec/drkonqi";
|
||||||
|
|
||||||
#if defined Q_WS_X11
|
#if defined Q_WS_X11
|
||||||
// start up on the correct display
|
// start up on the correct display
|
||||||
@ -15,7 +15,7 @@ diff -ur kdelibs-3.5.9/kdecore/kcrash.cpp kdelibs-3.5.9-drkonqi-kde4/kdecore/kcr
|
|||||||
if(!geteuid() && setuid(getuid()) < 0)
|
if(!geteuid() && setuid(getuid()) < 0)
|
||||||
_exit(253);
|
_exit(253);
|
||||||
- execvp("drkonqi", const_cast< char** >( argv ));
|
- execvp("drkonqi", const_cast< char** >( argv ));
|
||||||
+ execv("/usr/libexec/kde4/drkonqi", const_cast< char** >( argv ));
|
+ execv("/usr/libexec/drkonqi", const_cast< char** >( argv ));
|
||||||
_exit(errno);
|
_exit(errno);
|
||||||
}
|
}
|
||||||
else
|
else
|
21
kdelibs-3.5.10-gcc6.patch
Normal file
21
kdelibs-3.5.10-gcc6.patch
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
diff -up kdelibs-3.5.10/kate/part/katebuffer.cpp.than kdelibs-3.5.10/kate/part/katebuffer.cpp
|
||||||
|
--- kdelibs-3.5.10/kate/part/katebuffer.cpp.than 2016-02-16 22:06:01.830197908 +0100
|
||||||
|
+++ kdelibs-3.5.10/kate/part/katebuffer.cpp 2016-02-16 23:33:15.810136589 +0100
|
||||||
|
@@ -42,6 +42,8 @@
|
||||||
|
#include <qcstring.h>
|
||||||
|
#include <qdatetime.h>
|
||||||
|
|
||||||
|
+#include <cmath>
|
||||||
|
+
|
||||||
|
/**
|
||||||
|
* loader block size, load 256 kb at once per default
|
||||||
|
* if file size is smaller, fall back to file size
|
||||||
|
@@ -917,7 +919,7 @@ void KateBuffer::updatePreviousNotEmptyL
|
||||||
|
} while (textLine->firstChar()==-1);
|
||||||
|
kdDebug(13020)<<"updatePreviousNotEmptyLine: updating line:"<<(blk->startLine()+current_line)<<endl;
|
||||||
|
QMemArray<uint> foldingList=textLine->foldingListArray();
|
||||||
|
- while ( (foldingList.size()>0) && ( abs(foldingList[foldingList.size()-2])==1)) {
|
||||||
|
+ while ( (foldingList.size()>0) && ( std::abs(foldingList[foldingList.size()-2])==1)) {
|
||||||
|
foldingList.resize(foldingList.size()-2,QGArray::SpeedOptim);
|
||||||
|
}
|
||||||
|
addIndentBasedFoldingInformation(foldingList,addindent,deindent);
|
12
kdelibs-3.5.10-gcc7.patch
Normal file
12
kdelibs-3.5.10-gcc7.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
diff -up kdelibs-3.5.10/kate/part/katebuffer.cpp~ kdelibs-3.5.10/kate/part/katebuffer.cpp
|
||||||
|
--- kdelibs-3.5.10/kate/part/katebuffer.cpp~ 2017-02-21 09:44:34.000000000 +0100
|
||||||
|
+++ kdelibs-3.5.10/kate/part/katebuffer.cpp 2017-02-21 09:48:20.132333343 +0100
|
||||||
|
@@ -919,7 +919,7 @@ void KateBuffer::updatePreviousNotEmptyL
|
||||||
|
} while (textLine->firstChar()==-1);
|
||||||
|
kdDebug(13020)<<"updatePreviousNotEmptyLine: updating line:"<<(blk->startLine()+current_line)<<endl;
|
||||||
|
QMemArray<uint> foldingList=textLine->foldingListArray();
|
||||||
|
- while ( (foldingList.size()>0) && ( std::abs(foldingList[foldingList.size()-2])==1)) {
|
||||||
|
+ while ( (foldingList.size()>0) && ( std::abs((long)foldingList[foldingList.size()-2])==1)) {
|
||||||
|
foldingList.resize(foldingList.size()-2,QGArray::SpeedOptim);
|
||||||
|
}
|
||||||
|
addIndentBasedFoldingInformation(foldingList,addindent,deindent);
|
3336
kdelibs-3.5.10-openssl-1.1.patch
Normal file
3336
kdelibs-3.5.10-openssl-1.1.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,10 +1,11 @@
|
|||||||
diff -up kdelibs-3.5.10/kio/kssl/kopenssl.cc.openssl kdelibs-3.5.10/kio/kssl/kopenssl.cc
|
diff -up kdelibs-3.5.10/kio/kssl/kopenssl.cc.openssl kdelibs-3.5.10/kio/kssl/kopenssl.cc
|
||||||
--- kdelibs-3.5.10/kio/kssl/kopenssl.cc.openssl 2006-07-22 03:16:39.000000000 -0500
|
--- kdelibs-3.5.10/kio/kssl/kopenssl.cc.openssl 2006-07-22 03:16:39.000000000 -0500
|
||||||
+++ kdelibs-3.5.10/kio/kssl/kopenssl.cc 2009-04-19 16:34:14.000000000 -0500
|
+++ kdelibs-3.5.10/kio/kssl/kopenssl.cc 2009-04-19 16:34:14.000000000 -0500
|
||||||
@@ -329,6 +329,19 @@ KConfig *cfg;
|
@@ -329,6 +329,20 @@ KConfig *cfg;
|
||||||
#ifdef SHLIB_VERSION_NUMBER
|
#ifdef SHLIB_VERSION_NUMBER
|
||||||
<< "libssl.so." SHLIB_VERSION_NUMBER
|
<< "libssl.so." SHLIB_VERSION_NUMBER
|
||||||
#endif
|
#endif
|
||||||
|
+ << "libssl.so.10"
|
||||||
+ << "libssl.so.0.9.8k"
|
+ << "libssl.so.0.9.8k"
|
||||||
+ << "libssl.so.8"
|
+ << "libssl.so.8"
|
||||||
+ << "libssl.so.0.9.8g"
|
+ << "libssl.so.0.9.8g"
|
||||||
@ -21,10 +22,11 @@ diff -up kdelibs-3.5.10/kio/kssl/kopenssl.cc.openssl kdelibs-3.5.10/kio/kssl/kop
|
|||||||
<< "libssl.so"
|
<< "libssl.so"
|
||||||
<< "libssl.so.0"
|
<< "libssl.so.0"
|
||||||
#endif
|
#endif
|
||||||
@@ -346,6 +359,19 @@ KConfig *cfg;
|
@@ -346,6 +360,20 @@ KConfig *cfg;
|
||||||
#ifdef SHLIB_VERSION_NUMBER
|
#ifdef SHLIB_VERSION_NUMBER
|
||||||
<< "libcrypto.so." SHLIB_VERSION_NUMBER
|
<< "libcrypto.so." SHLIB_VERSION_NUMBER
|
||||||
#endif
|
#endif
|
||||||
|
+ << "libcrypto.so.10"
|
||||||
+ << "libcrypto.so.0.9.8k"
|
+ << "libcrypto.so.0.9.8k"
|
||||||
+ << "libcrypto.so.8"
|
+ << "libcrypto.so.8"
|
||||||
+ << "libcrypto.so.0.9.8g"
|
+ << "libcrypto.so.0.9.8g"
|
||||||
|
12
kdelibs-3.5.10-svgicon-endlessloop.patch
Normal file
12
kdelibs-3.5.10-svgicon-endlessloop.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
diff -up kdelibs-3.5.10/kdecore/svgicons/ksvgiconpainter.cpp.than kdelibs-3.5.10/kdecore/svgicons/ksvgiconpainter.cpp
|
||||||
|
--- kdelibs-3.5.10/kdecore/svgicons/ksvgiconpainter.cpp.than 2016-09-28 16:58:47.881217306 +0200
|
||||||
|
+++ kdelibs-3.5.10/kdecore/svgicons/ksvgiconpainter.cpp 2016-09-28 16:59:20.518989958 +0200
|
||||||
|
@@ -2208,7 +2208,7 @@ void KSVGIconPainter::drawPath(const QSt
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if(*ptr == '+' || *ptr == '-' || (*ptr >= '0' && *ptr <= '9'))
|
||||||
|
+ if(*ptr == '+' || *ptr == '-' || (*ptr >= '0' && *ptr <= '9') || *ptr == '.')
|
||||||
|
{
|
||||||
|
// there are still coords in this command
|
||||||
|
if(command == 'M')
|
403
kdelibs3.spec
403
kdelibs3.spec
@ -2,14 +2,6 @@
|
|||||||
|
|
||||||
%define _default_patch_fuzz 2
|
%define _default_patch_fuzz 2
|
||||||
|
|
||||||
%define distname "Fedora"
|
|
||||||
|
|
||||||
%if 0%{?rhel}
|
|
||||||
%define distname "EL"
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%define kde_settings 1
|
|
||||||
|
|
||||||
%define arts_ev 8:1.5.10
|
%define arts_ev 8:1.5.10
|
||||||
%define qt3 qt3
|
%define qt3 qt3
|
||||||
%define qt3_version 3.3.8b
|
%define qt3_version 3.3.8b
|
||||||
@ -18,22 +10,19 @@
|
|||||||
|
|
||||||
%define kde_major_version 3
|
%define kde_major_version 3
|
||||||
|
|
||||||
%define apidocs 1
|
%define apidocs 0
|
||||||
|
|
||||||
# We always include this here now because kdeartwork 4 has moved on to
|
# trim changelog included in binary rpms
|
||||||
# icon-naming-spec names (partially, so the icon theme isn't usable with KDE 4
|
%global _changelog_trimtime %(date +%s -d "1 year ago")
|
||||||
# yet either). Maybe the conditional should be dropped entirely? -- Kevin
|
|
||||||
%define include_crystalsvg 1
|
|
||||||
|
|
||||||
Summary: KDE 3 Libraries
|
Summary: KDE 3 Libraries
|
||||||
Name: kdelibs3
|
Name: kdelibs3
|
||||||
Version: 3.5.10
|
Version: 3.5.10
|
||||||
Release: 31%{?dist}
|
Release: 94%{?dist}
|
||||||
|
|
||||||
License: LGPLv2
|
License: LGPLv2
|
||||||
Url: http://www.kde.org/
|
Url: http://www.kde.org/
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
|
||||||
|
|
||||||
Source0: ftp://ftp.kde.org/pub/kde/stable/%{version}/src/kdelibs-%{version}.tar.bz2
|
Source0: ftp://ftp.kde.org/pub/kde/stable/%{version}/src/kdelibs-%{version}.tar.bz2
|
||||||
Source1: kde.sh
|
Source1: kde.sh
|
||||||
@ -63,8 +52,8 @@ Patch50: kdelibs-3.5.8-kspell2-no-ispell.patch
|
|||||||
Patch51: kdelibs-3.5.9-cupsserverbin.patch
|
Patch51: kdelibs-3.5.9-cupsserverbin.patch
|
||||||
# initial support for (Only|Not)ShowIn=KDE3
|
# initial support for (Only|Not)ShowIn=KDE3
|
||||||
Patch52: kdelibs-3.5.9-KDE3.patch
|
Patch52: kdelibs-3.5.9-KDE3.patch
|
||||||
# use /usr/libexec/kde4/drkonqi in KCrash (#453243)
|
# use newer/plasma drkonqi in KCrash (#453243)
|
||||||
Patch53: kdelibs-3.5.9-drkonqi-kde4.patch
|
Patch53: kdelibs-3.5.10-drkonqi-plasma5.patch
|
||||||
# use inotify_* functions which are defined in glibc-header
|
# use inotify_* functions which are defined in glibc-header
|
||||||
Patch54: kdelibs-3.5.10-inotify.patch
|
Patch54: kdelibs-3.5.10-inotify.patch
|
||||||
# update the KatePart latex.xml syntax definition to the version from Kile 2.0.3
|
# update the KatePart latex.xml syntax definition to the version from Kile 2.0.3
|
||||||
@ -73,6 +62,16 @@ Patch55: kdelibs-3.5.10-latex-syntax-kile-2.0.3.patch
|
|||||||
Patch56: kdelibs-3.5.10-qcolor_gcc_ftbfs.patch
|
Patch56: kdelibs-3.5.10-qcolor_gcc_ftbfs.patch
|
||||||
# fix FTBFS (cups-util.c must include stdio.h, #714133)
|
# fix FTBFS (cups-util.c must include stdio.h, #714133)
|
||||||
Patch57: kdelibs-3.5.10-cups-util-missing-header.patch
|
Patch57: kdelibs-3.5.10-cups-util-missing-header.patch
|
||||||
|
# fix FTBFS with CUPS 2.0 due to bad CUPS_VERSION_MAJOR checks
|
||||||
|
Patch58: kdelibs-3.5.10-cups20.patch
|
||||||
|
Patch59: kdelibs-3.5.10-gcc6.patch
|
||||||
|
# fix endless loop in svgicon
|
||||||
|
Patch60: kdelibs-3.5.10-svgicon-endlessloop.patch
|
||||||
|
# fix FTBFS with gcc7
|
||||||
|
Patch61: kdelibs-3.5.10-gcc7.patch
|
||||||
|
|
||||||
|
# libidn2 support for > f26
|
||||||
|
Patch62: kdelibs-3-libidn2.patch
|
||||||
|
|
||||||
# use /etc/kde in addition to /usr/share/config, borrowed from debian
|
# use /etc/kde in addition to /usr/share/config, borrowed from debian
|
||||||
Patch100: kdelibs-3.5.5-kstandarddirs.patch
|
Patch100: kdelibs-3.5.5-kstandarddirs.patch
|
||||||
@ -86,10 +85,23 @@ Patch106: kdelibs-3.5.10-kio.patch
|
|||||||
Patch107: kdelibs-3.5.10-assert.patch
|
Patch107: kdelibs-3.5.10-assert.patch
|
||||||
Patch108: kdelibs-3.5.10-dtoa.patch
|
Patch108: kdelibs-3.5.10-dtoa.patch
|
||||||
Patch109: kdelibs-3.5.10-kabc.patch
|
Patch109: kdelibs-3.5.10-kabc.patch
|
||||||
Patch110: arts-acinclude.patch
|
|
||||||
# kde4.4 backport
|
# kde4.4 backport
|
||||||
Patch111: kdelibs-3.5.10-kde-config_kde-version.patch
|
Patch111: kdelibs-3.5.10-kde-config_kde-version.patch
|
||||||
|
|
||||||
|
## Trinity backports
|
||||||
|
# build fix for CUPS 1.6 by Timothy Pearson, backported by Kevin Kofler
|
||||||
|
# http://git.trinitydesktop.org/cgit/tdelibs/commit?id=9bc0d2cd9d38750658770e69bf0445dc5162beb7
|
||||||
|
# http://git.trinitydesktop.org/cgit/tdelibs/commit?id=91bf63b43bf4cc9ff640bd3c11549644cef05e6e
|
||||||
|
Patch150: kdelibs-3.5.10-cups16.patch
|
||||||
|
# build fix for CUPS 2.2 by Slávek Banko, backported by Kevin Kofler
|
||||||
|
# http://git.trinitydesktop.org/cgit/tdelibs/commit/?id=52a1b55368ec53b14347996851aca7eb29374397
|
||||||
|
Patch151: kdelibs-3.5.10-cups22.patch
|
||||||
|
# OpenSSL 1.1 support by Slávek Banko (with prerequisite patch by Timothy
|
||||||
|
# Pearson), backported by Kevin Kofler
|
||||||
|
# http://git.trinitydesktop.org/cgit/tdelibs/commit/?id=e757d3d6ae93cf967d54c566e9c003b0f9cc3a9c
|
||||||
|
# http://git.trinitydesktop.org/cgit/tdelibs/commit/?id=e1861cb6811f7bac405ece204407ca46c000a453
|
||||||
|
Patch152: kdelibs-3.5.10-openssl-1.1.patch
|
||||||
|
|
||||||
## security fixes
|
## security fixes
|
||||||
# fix CVE-2009-2537 - select length DoS
|
# fix CVE-2009-2537 - select length DoS
|
||||||
Patch200: kdelibs-3.5.10-cve-2009-2537-select-length.patch
|
Patch200: kdelibs-3.5.10-cve-2009-2537-select-length.patch
|
||||||
@ -109,22 +121,44 @@ Patch206: kdelibs-3.5.10-oCERT-2009-015-xmlhttprequest.patch
|
|||||||
Patch207: libltdl-CVE-2009-3736.patch
|
Patch207: libltdl-CVE-2009-3736.patch
|
||||||
# CVE-2011-3365, input validation failure in KSSL
|
# CVE-2011-3365, input validation failure in KSSL
|
||||||
Patch208: kdelibs-3.5.x-CVE-2011-3365.patch
|
Patch208: kdelibs-3.5.x-CVE-2011-3365.patch
|
||||||
|
# CVE-2013-2074, prints passwords contained in HTTP URLs in error messages
|
||||||
|
Patch209: kdelibs-3.5.10-CVE-2013-2074.patch
|
||||||
|
# CVE-2015-7543 arts,kdelibs3: Use of mktemp(3) allows attacker to hijack the IPC
|
||||||
|
# backport upstream fix (the lnusertemp.c change) from kdelibs 4:
|
||||||
|
# http://commits.kde.org/kdelibs/cc5515ed7ce8884c9b18169158ba29ab2f7a3db7
|
||||||
|
# upstream fix by Joseph Wenninger, rediffed for kdelibs 3.5.10 by Kevin Kofler
|
||||||
|
Patch210: kdelibs-3.5.10-CVE-2015-7543.patch
|
||||||
|
# CVE-2016-6232 - directory traversal vulnerability in KArchive
|
||||||
|
# patch from Trinity (Slávek Banko), based on KF5 fix (Andreas Cord-Landwehr)
|
||||||
|
Patch211: kdelibs-3.5.10-CVE-2016-6232.patch
|
||||||
|
# CVE-2017-6410 - info leak when accessing https when using a malicious PAC file
|
||||||
|
# backport upstream fix (by Albert Astals Cid) from kdelibs 4:
|
||||||
|
# http://commits.kde.org/kdelibs/1804c2fde7bf4e432c6cf5bb8cce5701c7010559
|
||||||
|
Patch212: kdelibs-3.5.10-CVE-2017-6410.patch
|
||||||
|
|
||||||
|
## fixes to common KDE 3 autotools machinery
|
||||||
|
# tweak autoconfigury so that it builds with autoconf 2.64 or 2.65
|
||||||
|
Patch300: kde3-acinclude.patch
|
||||||
|
# remove flawed and obsolete automake version check in admin/cvs.sh
|
||||||
|
Patch301: kde3-automake-version.patch
|
||||||
|
# fix build failure with automake 1.13: add the --add-missing --copy flags
|
||||||
|
# also add --force-missing to get aarch64 support (#925029/#925627)
|
||||||
|
Patch302: kde3-automake-add-missing.patch
|
||||||
|
|
||||||
|
Requires: ca-certificates
|
||||||
Requires: hicolor-icon-theme
|
Requires: hicolor-icon-theme
|
||||||
%if %{kde_settings}
|
|
||||||
Requires: kde-settings >= 3.5
|
Requires: kde-settings >= 3.5
|
||||||
%endif
|
|
||||||
Requires: kde-filesystem
|
Requires: kde-filesystem
|
||||||
Requires: kdelibs-common
|
Requires: kdelibs-common
|
||||||
Requires: redhat-menus
|
Requires: redhat-menus
|
||||||
Requires: shadow-utils
|
Requires: shadow-utils
|
||||||
Requires: sudo
|
#Requires: sudo
|
||||||
BuildRequires: sudo
|
BuildRequires: sudo
|
||||||
|
|
||||||
%if 0%{?fedora}
|
%if 0%{?fedora}
|
||||||
%define libkdnssd libkdnssd
|
%define libkdnssd libkdnssd
|
||||||
%endif
|
%endif
|
||||||
%define BuildRequires: xorg-x11-proto-devel libX11-devel
|
BuildRequires: xorg-x11-proto-devel libX11-devel
|
||||||
%define _with_rgbfile --with-rgbfile=%{_datadir}/X11/rgb.txt
|
%define _with_rgbfile --with-rgbfile=%{_datadir}/X11/rgb.txt
|
||||||
Requires: iceauth
|
Requires: iceauth
|
||||||
|
|
||||||
@ -146,13 +180,18 @@ BuildRequires: openjade
|
|||||||
BuildRequires: jadetex
|
BuildRequires: jadetex
|
||||||
BuildRequires: docbook-dtd31-sgml
|
BuildRequires: docbook-dtd31-sgml
|
||||||
BuildRequires: docbook-style-dsssl
|
BuildRequires: docbook-style-dsssl
|
||||||
|
BuildRequires: perl-generators
|
||||||
BuildRequires: perl-SGMLSpm
|
BuildRequires: perl-SGMLSpm
|
||||||
BuildRequires: docbook-utils
|
BuildRequires: docbook-utils
|
||||||
BuildRequires: zlib-devel
|
BuildRequires: zlib-devel
|
||||||
|
%if 0%{?fedora} > 26 || 0%{?rhel} > 7
|
||||||
|
BuildRequires: libidn2-devel
|
||||||
|
%else
|
||||||
BuildRequires: libidn-devel
|
BuildRequires: libidn-devel
|
||||||
|
%endif
|
||||||
BuildRequires: audiofile-devel
|
BuildRequires: audiofile-devel
|
||||||
BuildRequires: openssl-devel
|
BuildRequires: openssl-devel
|
||||||
BuildRequires: perl
|
BuildRequires: perl-interpreter
|
||||||
BuildRequires: gawk
|
BuildRequires: gawk
|
||||||
BuildRequires: byacc
|
BuildRequires: byacc
|
||||||
BuildRequires: libart_lgpl-devel
|
BuildRequires: libart_lgpl-devel
|
||||||
@ -164,25 +203,25 @@ BuildRequires: krb5-devel
|
|||||||
BuildRequires: openldap-devel
|
BuildRequires: openldap-devel
|
||||||
BuildRequires: db4-devel
|
BuildRequires: db4-devel
|
||||||
BuildRequires: alsa-lib-devel
|
BuildRequires: alsa-lib-devel
|
||||||
|
%if 0%{?fedora} > 25 || 0%{?rhel} > 7
|
||||||
|
BuildRequires: pkgconf-pkg-config
|
||||||
|
%else
|
||||||
BuildRequires: pkgconfig
|
BuildRequires: pkgconfig
|
||||||
|
%endif
|
||||||
BuildRequires: glibc-kernheaders
|
BuildRequires: glibc-kernheaders
|
||||||
BuildRequires: libutempter-devel
|
BuildRequires: libutempter-devel
|
||||||
BuildRequires: findutils
|
BuildRequires: findutils
|
||||||
BuildRequires: jasper-devel
|
BuildRequires: jasper-devel
|
||||||
BuildRequires: OpenEXR-devel
|
BuildRequires: OpenEXR-devel
|
||||||
BuildRequires: automake libtool
|
BuildRequires: automake libtool
|
||||||
|
BuildRequires: chrpath
|
||||||
|
|
||||||
%if "%{name}" != "kdelibs" && "%{?apidocs}" != "1"
|
%if "%{name}" != "kdelibs" && "%{?apidocs}" != "1"
|
||||||
Obsoletes: kdelibs-apidocs < 6:%{version}-%{release}
|
Obsoletes: kdelibs-apidocs < 6:%{version}-%{release}
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%if 0%{?include_crystalsvg}
|
|
||||||
Provides: crystalsvg-icon-theme = 1:%{version}-%{release}
|
Provides: crystalsvg-icon-theme = 1:%{version}-%{release}
|
||||||
Obsoletes: crystalsvg-icon-theme < 1:%{version}-%{release}
|
Obsoletes: crystalsvg-icon-theme < 1:%{version}-%{release}
|
||||||
%else
|
|
||||||
# for bootstrapping kde3, omit Requires: crystalsvg... -- Rex
|
|
||||||
Requires: crystalsvg-icon-theme
|
|
||||||
%endif
|
|
||||||
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -213,6 +252,11 @@ BuildArch: noarch
|
|||||||
This package includes the KDE 3 API documentation in HTML
|
This package includes the KDE 3 API documentation in HTML
|
||||||
format for easy browsing
|
format for easy browsing
|
||||||
|
|
||||||
|
%package tools
|
||||||
|
Summary: KDE 3 tools.
|
||||||
|
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
|
%description tools
|
||||||
|
This package includes tools kgrantpty and kpac_dhcp_helper.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n kdelibs-%{version}
|
%setup -q -n kdelibs-%{version}
|
||||||
@ -239,12 +283,18 @@ format for easy browsing
|
|||||||
%patch50 -p1 -b .no-ispell
|
%patch50 -p1 -b .no-ispell
|
||||||
%patch51 -p1 -b .cupsserverbin
|
%patch51 -p1 -b .cupsserverbin
|
||||||
%patch52 -p1 -b .KDE3
|
%patch52 -p1 -b .KDE3
|
||||||
%patch53 -p1 -b .drkonqi-kde4
|
%patch53 -p1 -b .drkonqi-plasma5
|
||||||
%patch54 -p1 -b .inotify
|
%patch54 -p1 -b .inotify
|
||||||
%patch55 -p1 -b .latex-syntax
|
%patch55 -p1 -b .latex-syntax
|
||||||
%patch56 -p1 -b .qcolor_gcc_ftbfs
|
%patch56 -p1 -b .qcolor_gcc_ftbfs
|
||||||
%patch57 -p1 -b .cups-util
|
%patch57 -p1 -b .cups-util
|
||||||
|
%patch58 -p1 -b .cups20
|
||||||
|
%patch59 -p1 -b .gcc6
|
||||||
|
%patch60 -p1 -b .endless-loop
|
||||||
|
%patch61 -p1 -b .gcc7
|
||||||
|
%if 0%{?fedora} > 26 || 0%{?rhel} > 7
|
||||||
|
%patch62 -p1 -b .libidn2
|
||||||
|
%endif
|
||||||
%patch100 -p1 -b .kstandarddirs
|
%patch100 -p1 -b .kstandarddirs
|
||||||
%patch101 -p1 -b .libtool-shlibext
|
%patch101 -p1 -b .libtool-shlibext
|
||||||
%patch104 -p1 -b .gcc44
|
%patch104 -p1 -b .gcc44
|
||||||
@ -253,9 +303,11 @@ format for easy browsing
|
|||||||
%patch107 -p1 -b .assert
|
%patch107 -p1 -b .assert
|
||||||
%patch108 -p1 -b .alias
|
%patch108 -p1 -b .alias
|
||||||
%patch109 -p1 -b .kabc
|
%patch109 -p1 -b .kabc
|
||||||
%patch110 -p1 -b .autoconf
|
|
||||||
%patch111 -p1 -b .kde-config_kde-version
|
%patch111 -p1 -b .kde-config_kde-version
|
||||||
|
|
||||||
|
%patch150 -p1 -b .cups16
|
||||||
|
%patch151 -p1 -b .cups22
|
||||||
|
|
||||||
# security fixes
|
# security fixes
|
||||||
%patch200 -p1 -b .cve-2009-2537
|
%patch200 -p1 -b .cve-2009-2537
|
||||||
%patch201 -p0 -b .cve-2009-1725
|
%patch201 -p0 -b .cve-2009-1725
|
||||||
@ -266,11 +318,18 @@ format for easy browsing
|
|||||||
%patch206 -p0 -b .oCERT-2009-015-xmlhttprequest
|
%patch206 -p0 -b .oCERT-2009-015-xmlhttprequest
|
||||||
%patch207 -p1 -b .CVE-2009-3736
|
%patch207 -p1 -b .CVE-2009-3736
|
||||||
%patch208 -p1 -b .CVE-2011-3365
|
%patch208 -p1 -b .CVE-2011-3365
|
||||||
|
%patch209 -p1 -b .CVE-2013-2074
|
||||||
|
%patch210 -p1 -b .CVE-2015-7543
|
||||||
|
%patch211 -p1 -b .CVE-2016-6232
|
||||||
|
%patch212 -p1 -b .CVE-2017-6410
|
||||||
|
|
||||||
sed -i -e "s,^#define KDE_VERSION_STRING .*,#define KDE_VERSION_STRING \"%{version}-%{release} %{distname}\"," kdecore/kdeversion.h
|
# must be applied after the ossl-1.x patch (105) and the CVE-2009-2702 fix (205)
|
||||||
|
%patch152 -p1 -b .openssl-1.1
|
||||||
|
|
||||||
|
%patch300 -p1 -b .acinclude
|
||||||
|
%patch301 -p1 -b .automake-version
|
||||||
|
%patch302 -p1 -b .automake-add-missing
|
||||||
|
|
||||||
# hack/fix for newer automake
|
|
||||||
sed -iautomake -e 's|automake\*1.10\*|automake\*1.1[0-5]\*|' admin/cvs.sh
|
|
||||||
make -f admin/Makefile.common cvs
|
make -f admin/Makefile.common cvs
|
||||||
|
|
||||||
|
|
||||||
@ -289,13 +348,16 @@ fi
|
|||||||
export DO_NOT_COMPILE="libkscreensaver"
|
export DO_NOT_COMPILE="libkscreensaver"
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
# drop the extra -Werror= flags for C, they break the configure script
|
||||||
|
export CFLAGS="%{optflags}"
|
||||||
|
export CXXFLAGS="%{optflags} -Wno-deprecated-declarations -Wno-narrowing -std=gnu++98"
|
||||||
|
|
||||||
%configure \
|
%configure \
|
||||||
--includedir=%{_includedir}/kde \
|
--includedir=%{_includedir}/kde \
|
||||||
--disable-rpath \
|
--disable-rpath \
|
||||||
--enable-new-ldflags \
|
--disable-new-ldflags \
|
||||||
--disable-dependency-tracking \
|
--disable-debug --disable-warnings \
|
||||||
%{!?debug: --disable-debug --disable-warnings --enable-final} \
|
--disable-final \
|
||||||
%{?debug:--enable-debug --enable-warnings --disable-final} \
|
|
||||||
--disable-fast-malloc \
|
--disable-fast-malloc \
|
||||||
%if "%{_lib}" == "lib64"
|
%if "%{_lib}" == "lib64"
|
||||||
--enable-libsuffix="64" \
|
--enable-libsuffix="64" \
|
||||||
@ -317,6 +379,10 @@ export DO_NOT_COMPILE="libkscreensaver"
|
|||||||
--with-openexr \
|
--with-openexr \
|
||||||
--with-xinerama
|
--with-xinerama
|
||||||
|
|
||||||
|
# kill rpath harder, inspired by https://fedoraproject.org/wiki/Packaging:Guidelines?rd=Packaging/Guidelines#Removing_Rpath
|
||||||
|
# other more standard variants didnt work or caused other problems
|
||||||
|
sed -i -e 's|"/lib /usr/lib|"/%{_lib} %{_libdir}|' libtool
|
||||||
|
|
||||||
%if 0%{?apidocs}
|
%if 0%{?apidocs}
|
||||||
doxygen -s -u admin/Doxyfile.global
|
doxygen -s -u admin/Doxyfile.global
|
||||||
make %{?_smp_mflags} apidox
|
make %{?_smp_mflags} apidox
|
||||||
@ -372,8 +438,8 @@ find $RPM_BUILD_ROOT%{_libdir} -name "*.la" | xargs \
|
|||||||
-e "s@%{_libdir}/libpcreposix.la@@g" \
|
-e "s@%{_libdir}/libpcreposix.la@@g" \
|
||||||
-e "s@-lpcreposix@@g" \
|
-e "s@-lpcreposix@@g" \
|
||||||
-e "s@-lpcre@@g" \
|
-e "s@-lpcre@@g" \
|
||||||
-e "s@-lidn@@g" \
|
-e "s@-lidn2\?@@g" \
|
||||||
-e "s@%{_libdir}/libidn.la@@g" \
|
-e "s@%{_libdir}/libidn2\?.la@@g" \
|
||||||
-e "s@-lpng@@g" \
|
-e "s@-lpng@@g" \
|
||||||
-e "s@-ljpeg@@g" \
|
-e "s@-ljpeg@@g" \
|
||||||
-e "s@%{_libdir}/libjpeg.la@@g" \
|
-e "s@%{_libdir}/libjpeg.la@@g" \
|
||||||
@ -393,7 +459,9 @@ rm -f %{buildroot}%{_libdir}/libkdnssd.la
|
|||||||
|
|
||||||
# remove conflicts with kdelibs-4
|
# remove conflicts with kdelibs-4
|
||||||
rm -f %{buildroot}%{_bindir}/checkXML
|
rm -f %{buildroot}%{_bindir}/checkXML
|
||||||
rm -f %{buildroot}%{_bindir}/ksvgtopng
|
rm -fv %{buildroot}%{_bindir}/kmailservice
|
||||||
|
rm -fv %{buildroot}%{_bindir}/ksvgtopng
|
||||||
|
rm -fv %{buildroot}%{_bindir}/ktelnetservice
|
||||||
rm -f %{buildroot}%{_bindir}/kunittestmodrunner
|
rm -f %{buildroot}%{_bindir}/kunittestmodrunner
|
||||||
rm -f %{buildroot}%{_datadir}/config/kdebug.areas
|
rm -f %{buildroot}%{_datadir}/config/kdebug.areas
|
||||||
rm -f %{buildroot}%{_datadir}/config/kdebugrc
|
rm -f %{buildroot}%{_datadir}/config/kdebugrc
|
||||||
@ -444,18 +512,28 @@ rm -f %{buildroot}%{_datadir}/config/colors/Royal.colors
|
|||||||
rm -f %{buildroot}%{_datadir}/config/colors/Web.colors
|
rm -f %{buildroot}%{_datadir}/config/colors/Web.colors
|
||||||
rm -f %{buildroot}%{_datadir}/config/ksslcalist
|
rm -f %{buildroot}%{_datadir}/config/ksslcalist
|
||||||
rm -f %{buildroot}%{_bindir}/preparetips
|
rm -f %{buildroot}%{_bindir}/preparetips
|
||||||
|
# remove conflicts with kate-4.9.80+
|
||||||
|
rm -fv %{buildroot}%{_datadir}/config/katesyntaxhighlightingrc
|
||||||
|
|
||||||
# don't show kresources
|
# don't show kresources
|
||||||
sed -i -e "s,^OnlyShowIn=KDE;,OnlyShowIn=KDE3;," %{buildroot}%{_datadir}/applications/kde/kresources.desktop
|
sed -i -e "s,^OnlyShowIn=KDE;,OnlyShowIn=KDE3;," %{buildroot}%{_datadir}/applications/kde/kresources.desktop
|
||||||
|
|
||||||
%if 0%{?include_crystalsvg} == 0
|
# use ca-certificates' ca-bundle.crt, symlink as what most other
|
||||||
# remove all crystalsvg icons for now
|
# distros do these days (http://bugzilla.redhat.com/521902)
|
||||||
rm -rf %{buildroot}%{_datadir}/icons/crystalsvg/
|
if [ -f %{buildroot}%{_datadir}/apps/kssl/ca-bundle.crt -a \
|
||||||
%endif
|
-f /etc/pki/tls/certs/ca-bundle.crt ]; then
|
||||||
|
ln -sf /etc/pki/tls/certs/ca-bundle.crt \
|
||||||
|
%{buildroot}%{_datadir}/apps/kssl/ca-bundle.crt
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
%check
|
%check
|
||||||
ERROR=0
|
ERROR=0
|
||||||
|
# verify rpath, or lack thereof
|
||||||
|
if [ ! -z "$(chrpath --list %{buildroot}%{_bindir}/kioexec 2>/dev/null | grep RPATH=)" ]; then
|
||||||
|
echo "ERROR: the end is neigh, rpath has returned!"
|
||||||
|
ERROR=1
|
||||||
|
fi
|
||||||
%if 0%{?apidocs}
|
%if 0%{?apidocs}
|
||||||
if [ ! -f %{buildroot}%{_docdir}/HTML/en/kdelibs-apidocs/index.html ]; then
|
if [ ! -f %{buildroot}%{_docdir}/HTML/en/kdelibs-apidocs/index.html ]; then
|
||||||
echo "ERROR: %{_docdir}/HTML/en/kdelibs-apidocs/index.html not generated"
|
echo "ERROR: %{_docdir}/HTML/en/kdelibs-apidocs/index.html not generated"
|
||||||
@ -465,24 +543,17 @@ fi
|
|||||||
exit $ERROR
|
exit $ERROR
|
||||||
|
|
||||||
|
|
||||||
%clean
|
|
||||||
rm -rf %{buildroot}
|
|
||||||
|
|
||||||
|
|
||||||
%post
|
%post
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
%if 0%{?include_crystalsvg}
|
|
||||||
touch --no-create %{_datadir}/icons/crystalsvg 2> /dev/null || :
|
touch --no-create %{_datadir}/icons/crystalsvg 2> /dev/null || :
|
||||||
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/crystalsvg 2> /dev/null || :
|
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/crystalsvg 2> /dev/null || :
|
||||||
%endif
|
|
||||||
%{_bindir}/update-desktop-database > /dev/null 2>&1 || :
|
%{_bindir}/update-desktop-database > /dev/null 2>&1 || :
|
||||||
|
|
||||||
%postun
|
%postun
|
||||||
/sbin/ldconfig
|
/sbin/ldconfig
|
||||||
%if 0%{?include_crystalsvg}
|
|
||||||
touch --no-create %{_datadir}/icons/crystalsvg 2> /dev/null || :
|
touch --no-create %{_datadir}/icons/crystalsvg 2> /dev/null || :
|
||||||
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/crystalsvg 2> /dev/null || :
|
%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/crystalsvg 2> /dev/null || :
|
||||||
%endif
|
|
||||||
%{_bindir}/update-desktop-database > /dev/null 2>&1 || :
|
%{_bindir}/update-desktop-database > /dev/null 2>&1 || :
|
||||||
|
|
||||||
|
|
||||||
@ -496,6 +567,7 @@ touch --no-create %{_datadir}/icons/crystalsvg 2> /dev/null || :
|
|||||||
%{_bindir}/artsmessage
|
%{_bindir}/artsmessage
|
||||||
%{_bindir}/cupsdconf
|
%{_bindir}/cupsdconf
|
||||||
%{_bindir}/cupsdoprint
|
%{_bindir}/cupsdoprint
|
||||||
|
%{_bindir}/make_driver_db_cups
|
||||||
%{_bindir}/dcop
|
%{_bindir}/dcop
|
||||||
%{_bindir}/dcopclient
|
%{_bindir}/dcopclient
|
||||||
%{_bindir}/dcopfind
|
%{_bindir}/dcopfind
|
||||||
@ -532,21 +604,16 @@ touch --no-create %{_datadir}/icons/crystalsvg 2> /dev/null || :
|
|||||||
%{_bindir}/kioexec
|
%{_bindir}/kioexec
|
||||||
%{_bindir}/kioslave
|
%{_bindir}/kioslave
|
||||||
%{_bindir}/klauncher
|
%{_bindir}/klauncher
|
||||||
%{_bindir}/kmailservice
|
|
||||||
%attr(4755,root,root) %{_bindir}/kpac_dhcp_helper
|
|
||||||
%{_bindir}/ksendbugmail
|
%{_bindir}/ksendbugmail
|
||||||
%{_bindir}/kshell
|
%{_bindir}/kshell
|
||||||
%{_bindir}/kstartupconfig
|
%{_bindir}/kstartupconfig
|
||||||
%{_bindir}/ktelnetservice
|
|
||||||
%{_bindir}/ktradertest
|
%{_bindir}/ktradertest
|
||||||
%{_bindir}/kwrapper
|
%{_bindir}/kwrapper
|
||||||
%{_bindir}/lnusertemp
|
%{_bindir}/lnusertemp
|
||||||
%{_bindir}/make_driver_db_cups
|
|
||||||
%{_bindir}/make_driver_db_lpr
|
%{_bindir}/make_driver_db_lpr
|
||||||
%{_bindir}/meinproc
|
%{_bindir}/meinproc
|
||||||
%{_bindir}/start_kdeinit
|
%{_bindir}/start_kdeinit
|
||||||
%{_bindir}/start_kdeinit_wrapper
|
%{_bindir}/start_kdeinit_wrapper
|
||||||
%attr(4755,root,root) %{_bindir}/kgrantpty
|
|
||||||
%{_libdir}/lib*.so.*
|
%{_libdir}/lib*.so.*
|
||||||
%{_libdir}/libkdeinit_*.so
|
%{_libdir}/libkdeinit_*.so
|
||||||
%{_libdir}/lib*.la
|
%{_libdir}/lib*.la
|
||||||
@ -565,9 +632,7 @@ touch --no-create %{_datadir}/icons/crystalsvg 2> /dev/null || :
|
|||||||
%ghost %{_datadir}/services/ksycoca
|
%ghost %{_datadir}/services/ksycoca
|
||||||
%{_docdir}/HTML/en/kspell
|
%{_docdir}/HTML/en/kspell
|
||||||
%{_docdir}/HTML/en/common/*
|
%{_docdir}/HTML/en/common/*
|
||||||
%if 0%{?include_crystalsvg}
|
|
||||||
%{_datadir}/icons/crystalsvg/
|
%{_datadir}/icons/crystalsvg/
|
||||||
%endif
|
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
@ -587,8 +652,210 @@ touch --no-create %{_datadir}/icons/crystalsvg 2> /dev/null || :
|
|||||||
%{_docdir}/HTML/en/kdelibs*
|
%{_docdir}/HTML/en/kdelibs*
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%files tools
|
||||||
|
%attr(4755,root,root) %{_bindir}/kgrantpty
|
||||||
|
%attr(4755,root,root) %{_bindir}/kpac_dhcp_helper
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.5.10-94
|
||||||
|
- Escape macros in %%changelog
|
||||||
|
|
||||||
|
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.5.10-93
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat Jan 20 2018 Björn Esser <besser82@fedoraproject.org> - 3.5.10-92
|
||||||
|
- Rebuilt for switch to libxcrypt
|
||||||
|
|
||||||
|
* Sat Jan 06 2018 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.5.10-91
|
||||||
|
- Build against OpenSSL 1.1, patch from Trinity, backported by Kevin Kofler
|
||||||
|
|
||||||
|
* Thu Dec 28 2017 Yaakov Selkowitz <yselkowi@redhat.com> - 3.5.10-90
|
||||||
|
- Fix loading of latest compat-openssl10 (#1529417)
|
||||||
|
- Use ca-certificates' ca-bundle.crt (#521902)
|
||||||
|
|
||||||
|
* Tue Aug 08 2017 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.5.10-89
|
||||||
|
- fix libidn dependency removal from .la files (#1479146)
|
||||||
|
|
||||||
|
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.5.10-88
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.5.10-87
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jun 21 2017 Than Ngo <than@redhat.com> - 3.5.10-86
|
||||||
|
- fix build with libidn2
|
||||||
|
|
||||||
|
* Wed May 10 2017 Than Ngo <than@redhat.com> - 3.5.10-85
|
||||||
|
- add support libidn2 for f27
|
||||||
|
|
||||||
|
* Sat Mar 04 2017 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.5.10-84
|
||||||
|
- backport fix for CVE-2017-6410 from kdelibs 4 (itself backported from KF5)
|
||||||
|
|
||||||
|
* Mon Feb 27 2017 Than Ngo <than@redhat.com> - 3.5.10-83
|
||||||
|
- devel requires compat-openssl10-devel, fix kdebase3 FTBS
|
||||||
|
|
||||||
|
* Tue Feb 21 2017 Hans de Goede <hdegoede@redhat.com> - 3.5.10-82
|
||||||
|
- Fix gcc7 FTBFS (rhbz#1423808)
|
||||||
|
|
||||||
|
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.5.10-81
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jan 23 2017 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.5.10-80
|
||||||
|
- backport fix for CVE-2016-6232 from Trinity (itself backported from KF5)
|
||||||
|
|
||||||
|
* Sun Jan 22 2017 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.5.10-79
|
||||||
|
- use DrKonqi from Plasma 5 rather than from kde-runtime 4
|
||||||
|
- build against compat-openssl10 for now (F26+)
|
||||||
|
- BuildRequires: pkgconf-pkg-config instead of pkgconfig on F26+
|
||||||
|
|
||||||
|
* Sat Dec 03 2016 Rex Dieter <rdieter@fedoraproject.org> - 3.5.10-78
|
||||||
|
- rebuild (jasper)
|
||||||
|
- drop the extra -Werror= flags for C, they break the configure script
|
||||||
|
|
||||||
|
* Wed Sep 28 2016 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.5.10-77
|
||||||
|
- backport CUPS 2.2 build fix from Trinity / Slávek Banko
|
||||||
|
|
||||||
|
* Wed Sep 28 2016 Than Ngo <than@redhat.com> - 3.5.10-76
|
||||||
|
- fix bz#1376181, fix endless loop in svgicons
|
||||||
|
|
||||||
|
* Mon Jun 27 2016 Than Ngo <than@redhat.com> - 3.5.10-75
|
||||||
|
- move kpac_dhcp_helper, kpac_dhcp_helper into separate subpackage
|
||||||
|
|
||||||
|
* Tue Feb 16 2016 Than Ngo <than@redhat.com> - 3.5.10-74
|
||||||
|
- fix bz#1307685, FTBFS in rawhide
|
||||||
|
|
||||||
|
* Sun Feb 14 2016 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.5.10-73
|
||||||
|
- Add -std=gnu++98 to the CXXFLAGS to fix FTBFS (#1307685)
|
||||||
|
|
||||||
|
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.5.10-72
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Dec 10 2015 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.5.10-71
|
||||||
|
- Backport CVE-2015-7543 fix (Joseph Wenninger) from kdelibs 4 (#1289235)
|
||||||
|
|
||||||
|
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.5.10-70
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jun 04 2015 Rex Dieter <rdieter@fedoraproject.org> 3.5.10-69
|
||||||
|
- drop hard Requires: sudo (kdesu can use it, but it's not default)
|
||||||
|
|
||||||
|
* Mon May 04 2015 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.5.10-68
|
||||||
|
- rebuild against qt3 with fixed build key (#1218091)
|
||||||
|
|
||||||
|
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 3.5.10-67
|
||||||
|
- Rebuilt for GCC 5 C++11 ABI change
|
||||||
|
|
||||||
|
* Sun Apr 05 2015 Rex Dieter <rdieter@fedoraproject.org> 3.5.10-66
|
||||||
|
- rebuild (gcc5)
|
||||||
|
|
||||||
|
* Tue Nov 25 2014 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.5.10-65
|
||||||
|
- fix FTBFS with CUPS 2.0 due to bad CUPS_VERSION_MAJOR checks
|
||||||
|
|
||||||
|
* Tue Nov 25 2014 Rex Dieter <rdieter@fedoraproject.org> 3.5.10-64
|
||||||
|
- rebuild (openexr)
|
||||||
|
|
||||||
|
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.5.10-63
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Aug 13 2014 Rex Dieter <rdieter@fedoraproject.org> 3.5.10-62
|
||||||
|
- kill rpath harder
|
||||||
|
|
||||||
|
* Tue Jul 22 2014 Rex Dieter <rdieter@fedoraproject.org> 3.5.10-61
|
||||||
|
- drop bootstrap
|
||||||
|
|
||||||
|
* Wed Jul 02 2014 Rex Dieter <rdieter@fedoraproject.org> 3.5.10-60.1.bootstrap
|
||||||
|
- bootstrap ppc64le
|
||||||
|
|
||||||
|
* Sun Jun 08 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.5.10-60
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sun Dec 01 2013 Rex Dieter <rdieter@fedoraproject.org> 3.5.10-59
|
||||||
|
- trim %%changelog
|
||||||
|
|
||||||
|
* Sat Nov 30 2013 Rex Dieter <rdieter@fedoraproject.org> 3.5.10-58
|
||||||
|
- --disable-new-ldflags, fix FTBFS on rawhide
|
||||||
|
|
||||||
|
* Wed Nov 27 2013 Rex Dieter <rdieter@fedoraproject.org> 3.5.10-57
|
||||||
|
- rebuild (openexr)
|
||||||
|
|
||||||
|
* Sun Sep 08 2013 Rex Dieter <rdieter@fedoraproject.org> 3.5.10-56
|
||||||
|
- rebuild (ilmbase/openexr)
|
||||||
|
|
||||||
|
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.5.10-55
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jul 18 2013 Petr Pisar <ppisar@redhat.com> - 3.5.10-54
|
||||||
|
- Perl 5.18 rebuild
|
||||||
|
|
||||||
|
* Sat May 18 2013 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.5.10-53
|
||||||
|
- fix CVE-2013-2074 (passwords in HTTP URLs in error messages, #962001)
|
||||||
|
|
||||||
|
* Mon Apr 01 2013 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.5.10-52
|
||||||
|
- use automake --force-missing to get aarch64 support (#925029/#925627)
|
||||||
|
- also use automake --copy (the default is symlinking)
|
||||||
|
|
||||||
|
* Sun Mar 10 2013 Rex Dieter <rdieter@fedoraproject.org> - 3.5.10-51
|
||||||
|
- rebuild (OpenEXR)
|
||||||
|
|
||||||
|
* Sat Mar 09 2013 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.5.10-50
|
||||||
|
- drop branding hack which breaks kde-config --kde-version
|
||||||
|
|
||||||
|
* Sat Mar 09 2013 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.5.10-49
|
||||||
|
- unify KDE 3 autotools fixes between packages
|
||||||
|
|
||||||
|
* Thu Mar 07 2013 Than Ngo <than@redhat.com> - 3.5.10-48
|
||||||
|
- fix build failture
|
||||||
|
|
||||||
|
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.5.10-47
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jan 18 2013 Adam Tkac <atkac redhat com> - 3.5.10-46
|
||||||
|
- rebuild due to "jpeg8-ABI" feature drop
|
||||||
|
|
||||||
|
* Tue Dec 25 2012 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.5.10-45
|
||||||
|
- drop CUPS conditionals, CUPS support must always be built
|
||||||
|
- backport CUPS 1.6 build fixes from Trinity / Timothy Pearson
|
||||||
|
|
||||||
|
* Fri Dec 21 2012 Rex Dieter <rdieter@fedoraproject.org> 3.5.10-44
|
||||||
|
- disable cups support on f19+ (for now, needs lots 'o love)
|
||||||
|
|
||||||
|
* Fri Dec 21 2012 Adam Tkac <atkac redhat com> - 3.5.10-43
|
||||||
|
- rebuild against new libjpeg
|
||||||
|
|
||||||
|
* Thu Dec 20 2012 Rex Dieter <rdieter@fedoraproject.org> 3.5.10-42
|
||||||
|
- omit ktelnetservice (in favor of kdelibs4's copy)
|
||||||
|
|
||||||
|
* Thu Dec 06 2012 Kevin Kofler <Kevin@tigcc.ticalc.org> 3.5.10-41
|
||||||
|
- omit cupsdconf (F19+), FTBFS with the latest CUPS and not worth fixing
|
||||||
|
|
||||||
|
* Tue Dec 04 2012 Rex Dieter <rdieter@fedoraproject.org> 3.5.10-40
|
||||||
|
- kate has a file conflict with kdelibs3 (#883529)
|
||||||
|
|
||||||
|
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.5.10-39
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jul 12 2012 Rex Dieter <rdieter@fedoraproject.org> 3.5.10-38
|
||||||
|
- omit kmailservice (in favor of kdelibs4's copy (#773414)
|
||||||
|
|
||||||
|
* Mon Jun 11 2012 Kevin Kofler <Kevin@tigcc.ticalc.org> - 3.5.10-37
|
||||||
|
- rebuild for fixed GCC (#830618)
|
||||||
|
- remove flawed and obsolete automake version check in admin/cvs.sh
|
||||||
|
|
||||||
|
* Tue May 08 2012 Rex Dieter <rdieter@fedoraproject.org> 3.5.10-36
|
||||||
|
- rebuild (libtiff)
|
||||||
|
|
||||||
|
* Wed Apr 04 2012 Than Ngo <than@redhat.com> - 3.5.10-35
|
||||||
|
- drop apidocs
|
||||||
|
|
||||||
|
* Fri Feb 10 2012 Petr Pisar <ppisar@redhat.com> - 3.5.10-34
|
||||||
|
- Rebuild against PCRE 8.30
|
||||||
|
|
||||||
|
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.5.10-33
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Dec 06 2011 Adam Jackson <ajax@redhat.com> - 3.5.10-32
|
||||||
|
- Rebuild for new libpng
|
||||||
|
|
||||||
* Thu Oct 13 2011 Than Ngo <than@redhat.com> - 3.5.10-31
|
* Thu Oct 13 2011 Than Ngo <than@redhat.com> - 3.5.10-31
|
||||||
- Resolves: bz#743074, CVE-2011-3365, input validation failure in KSSL
|
- Resolves: bz#743074, CVE-2011-3365, input validation failure in KSSL
|
||||||
|
|
||||||
@ -833,7 +1100,7 @@ touch --no-create %{_datadir}/icons/crystalsvg 2> /dev/null || :
|
|||||||
* Tue Sep 25 2007 Than Ngo <than@redhat.com> - 6:3.5.7-23
|
* Tue Sep 25 2007 Than Ngo <than@redhat.com> - 6:3.5.7-23
|
||||||
- fix rh#243611, autostart from XDG_CONFIG_DIRS
|
- fix rh#243611, autostart from XDG_CONFIG_DIRS
|
||||||
|
|
||||||
* Sat Sep 09 2007 Kevin Kofler <Kevin@tigcc.ticalc.org> 6:3.5.7-22
|
* Sun Sep 09 2007 Kevin Kofler <Kevin@tigcc.ticalc.org> 6:3.5.7-22
|
||||||
- Remove Conflicts: kdelibs4-devel, let kdelibs4 decide whether we conflict
|
- Remove Conflicts: kdelibs4-devel, let kdelibs4 decide whether we conflict
|
||||||
(allows using the old /opt/kde4 versions for now)
|
(allows using the old /opt/kde4 versions for now)
|
||||||
|
|
||||||
@ -909,7 +1176,7 @@ touch --no-create %{_datadir}/icons/crystalsvg 2> /dev/null || :
|
|||||||
- apply patch to fix locale issue
|
- apply patch to fix locale issue
|
||||||
- apply upstream patch to fix kde#146105
|
- apply upstream patch to fix kde#146105
|
||||||
|
|
||||||
* Thu May 16 2007 Rex Dieter <rdieter[AT]fedorproject.org> - 6:3.5.6-9
|
* Wed May 16 2007 Rex Dieter <rdieter[AT]fedorproject.org> - 6:3.5.6-9
|
||||||
- make qtdocdir handling robust
|
- make qtdocdir handling robust
|
||||||
- kde_settings=1
|
- kde_settings=1
|
||||||
- Req: -desktop-backgrounds-basic
|
- Req: -desktop-backgrounds-basic
|
||||||
@ -918,13 +1185,13 @@ touch --no-create %{_datadir}/icons/crystalsvg 2> /dev/null || :
|
|||||||
- add correct qt-version to build kde apidocs ,bz#239947
|
- add correct qt-version to build kde apidocs ,bz#239947
|
||||||
- disable kde_settings
|
- disable kde_settings
|
||||||
|
|
||||||
* Thu May 14 2007 Rex Dieter <rdieter[AT]fedoraproject.org> - 6:3.5.6-7
|
* Mon May 14 2007 Rex Dieter <rdieter[AT]fedoraproject.org> - 6:3.5.6-7
|
||||||
- BR: +keyutils-libs-devel (until krb5 is fixed, bug #240220)
|
- BR: +keyutils-libs-devel (until krb5 is fixed, bug #240220)
|
||||||
|
|
||||||
* Thu May 14 2007 Rex Dieter <rdieter[AT]fedoraproject.org> - 6:3.5.6-6
|
* Mon May 14 2007 Rex Dieter <rdieter[AT]fedoraproject.org> - 6:3.5.6-6
|
||||||
- kde.sh: fix typo/thinko
|
- kde.sh: fix typo/thinko
|
||||||
|
|
||||||
* Thu May 14 2007 Rex Dieter <rdieter[AT]fedoraproject.org> - 6:3.5.6-5
|
* Mon May 14 2007 Rex Dieter <rdieter[AT]fedoraproject.org> - 6:3.5.6-5
|
||||||
- %%changelog: prune pre-kde3 entries
|
- %%changelog: prune pre-kde3 entries
|
||||||
- %%ghost %%{_datadir}/services/ksycoca
|
- %%ghost %%{_datadir}/services/ksycoca
|
||||||
- omit extraneous .la file references (#178733)
|
- omit extraneous .la file references (#178733)
|
||||||
@ -1034,7 +1301,7 @@ touch --no-create %{_datadir}/icons/crystalsvg 2> /dev/null || :
|
|||||||
- should have been 6:3.5.3-9 but accidentally built as 6:3.5.3-8.fc6
|
- should have been 6:3.5.3-9 but accidentally built as 6:3.5.3-8.fc6
|
||||||
- --disable-libfam and --enable-inotify to get inotify support
|
- --disable-libfam and --enable-inotify to get inotify support
|
||||||
and to disable gamin/fam usage
|
and to disable gamin/fam usage
|
||||||
- add %{?dist} to Release:
|
- add %%{?dist} to Release:
|
||||||
|
|
||||||
* Tue Jul 11 2006 Than Ngo <than@redhat.com> 6:3.5.3-8
|
* Tue Jul 11 2006 Than Ngo <than@redhat.com> 6:3.5.3-8
|
||||||
- upstream patches,
|
- upstream patches,
|
||||||
@ -1528,7 +1795,7 @@ touch --no-create %{_datadir}/icons/crystalsvg 2> /dev/null || :
|
|||||||
* Sun Jan 26 2003 Than Ngo <than@redhat.com> 6:3.1-0.16
|
* Sun Jan 26 2003 Than Ngo <than@redhat.com> 6:3.1-0.16
|
||||||
- use make apidox to create KDE api instead doxygen
|
- use make apidox to create KDE api instead doxygen
|
||||||
|
|
||||||
* Thu Jan 24 2003 Than Ngo <than@redhat.com> 6:3.1-0.15
|
* Fri Jan 24 2003 Than Ngo <than@redhat.com> 6:3.1-0.15
|
||||||
- use doxygen to create api docs
|
- use doxygen to create api docs
|
||||||
- clean up specfile
|
- clean up specfile
|
||||||
|
|
||||||
@ -1675,10 +1942,10 @@ touch --no-create %{_datadir}/icons/crystalsvg 2> /dev/null || :
|
|||||||
* Tue May 28 2002 Bernhard Rosenkraenzer <bero@redhat.com> 3.0.1-3
|
* Tue May 28 2002 Bernhard Rosenkraenzer <bero@redhat.com> 3.0.1-3
|
||||||
- Add support for xdg-list icon theme spec
|
- Add support for xdg-list icon theme spec
|
||||||
|
|
||||||
* Fri May 9 2002 Bernhard Rosenkraenzer <bero@redhat.com> 3.0.1-1
|
* Thu May 9 2002 Bernhard Rosenkraenzer <bero@redhat.com> 3.0.1-1
|
||||||
- 3.0.1
|
- 3.0.1
|
||||||
|
|
||||||
* Wed May 7 2002 Bernhard Rosenkraenzer <bero@redhat.com> 3.0.0-12
|
* Tue May 7 2002 Bernhard Rosenkraenzer <bero@redhat.com> 3.0.0-12
|
||||||
- Update to KDE_3_0_BRANCH
|
- Update to KDE_3_0_BRANCH
|
||||||
- Do away with the GCC296 define, it's handled automatically
|
- Do away with the GCC296 define, it's handled automatically
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user