Hello community, here is the log from the commit of package kcodecs for openSUSE:Factory checked in at 2019-03-21 09:43:42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kcodecs (Old) and /work/SRC/openSUSE:Factory/.kcodecs.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kcodecs" Thu Mar 21 09:43:42 2019 rev:65 rq:686722 version:5.56.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kcodecs/kcodecs.changes 2019-02-28 21:27:44.957845897 +0100 +++ /work/SRC/openSUSE:Factory/.kcodecs.new.28833/kcodecs.changes 2019-03-21 09:44:28.254922828 +0100 @@ -1,0 +2,21 @@ +Sun Mar 10 20:15:35 UTC 2019 - [email protected] + +- Update to 5.56.0 + * New feature release + * For more details please see: + * https://www.kde.org/announcements/kde-frameworks-5.56.0.php +- Changes since 5.55.0: + * We can compile with QT_DISABLE_DEPRECATED_BEFORE=0x050d00 + * Use constiterator + * Make it compiles without foreach + * Fix for CVE-2013-0779 + * QuotedPrintableDecoder::decode: return false on error instead of asserting + * Bring back ECM to 5.55 + * Mark KCodecs::uuencode does nothing + * Remove unused hexChars global variable + * nsEUCKRProber/nsGB18030Prober::HandleData don't crash if aLen is 0 + * nsBig5Prober::HandleData: Don't crash if aLen is 0 + * KCodecs::Codec::encode: Don't assert/crash if makeEncoder returns null + * nsEUCJPProbe::HandleData: Don't crash if aLen is 0 + +------------------------------------------------------------------- Old: ---- kcodecs-5.55.0.tar.xz New: ---- kcodecs-5.56.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kcodecs.spec ++++++ --- /var/tmp/diff_new_pack.KpHRGE/_old 2019-03-21 09:44:28.670922733 +0100 +++ /var/tmp/diff_new_pack.KpHRGE/_new 2019-03-21 09:44:28.674922732 +0100 @@ -17,14 +17,14 @@ %define lname libKF5Codecs5 -%define _tar_path 5.55 +%define _tar_path 5.56 # Full KF5 version (e.g. 5.33.0) %{!?_kf5_version: %global _kf5_version %{version}} # Last major and minor KF5 version (e.g. 5.33) %{!?_kf5_bugfix_version: %define _kf5_bugfix_version %(echo %{_kf5_version} | awk -F. '{print $1"."$2}')} %bcond_without lang Name: kcodecs -Version: 5.55.0 +Version: 5.56.0 Release: 0 Summary: Method collection to manipulate strings using various encodings License: LGPL-2.1-or-later ++++++ kcodecs-5.55.0.tar.xz -> kcodecs-5.56.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcodecs-5.55.0/CMakeLists.txt new/kcodecs-5.56.0/CMakeLists.txt --- old/kcodecs-5.55.0/CMakeLists.txt 2019-02-03 00:54:09.000000000 +0100 +++ new/kcodecs-5.56.0/CMakeLists.txt 2019-03-02 14:35:26.000000000 +0100 @@ -1,10 +1,10 @@ cmake_minimum_required(VERSION 3.5) -set(KF5_VERSION "5.55.0") # handled by release scripts +set(KF5_VERSION "5.56.0") # handled by release scripts project(KCodecs VERSION ${KF5_VERSION}) include(FeatureSummary) -find_package(ECM 5.55.0 NO_MODULE) +find_package(ECM 5.56.0 NO_MODULE) set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake Modules." URL "https://projects.kde.org/projects/kdesupport/extra-cmake-modules") feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) @@ -41,7 +41,8 @@ if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/po") ecm_install_po_files_as_qm(po) endif() -#add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x060000) +add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050d00) +add_definitions(-DQT_NO_FOREACH) add_subdirectory(src) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcodecs-5.55.0/autotests/base64benchmark.cpp new/kcodecs-5.56.0/autotests/base64benchmark.cpp --- old/kcodecs-5.55.0/autotests/base64benchmark.cpp 2019-02-03 00:54:09.000000000 +0100 +++ new/kcodecs-5.56.0/autotests/base64benchmark.cpp 2019-03-02 14:35:26.000000000 +0100 @@ -99,7 +99,7 @@ KCodecs::Decoder *decoder = codec->makeDecoder(); QByteArray::const_iterator inputIt = input.constBegin(); QByteArray::iterator resultIt = result.begin(); - decoder->decode(inputIt, input.constEnd(), resultIt, result.end()); + decoder->decode(inputIt, input.constEnd(), resultIt, result.constEnd()); result.truncate(resultIt - result.begin()); delete decoder; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcodecs-5.55.0/autotests/codectest.cpp new/kcodecs-5.56.0/autotests/codectest.cpp --- old/kcodecs-5.55.0/autotests/codectest.cpp 2019-02-03 00:54:09.000000000 +0100 +++ new/kcodecs-5.56.0/autotests/codectest.cpp 2019-03-02 14:35:26.000000000 +0100 @@ -40,12 +40,13 @@ QTest::addColumn<Mode>("mode"); QDir codecBaseDir(QFINDTESTDATA("data")); - foreach (const QString &dir, codecBaseDir.entryList(QStringList(), QDir::Dirs | QDir::NoDotAndDotDot, - QDir::NoSort)) { + const QStringList lst = codecBaseDir.entryList(QStringList(), QDir::Dirs | QDir::NoDotAndDotDot, QDir::NoSort); + for (const QString &dir : lst) { if (dir.toLower().startsWith(QLatin1String("codec_"))) { const QString codecName = dir.right(dir.size() - 6); QDir codecDir(codecBaseDir.path() + QLatin1String("/") + dir); - foreach (const QString &file, codecDir.entryList(QStringList(), QDir::Files, QDir::NoSort)) { + const QStringList lst2 = codecDir.entryList(QStringList(), QDir::Files, QDir::NoSort); + for (const QString &file : lst2) { if (file.toLower().endsWith(QLatin1String(".expected"))) { const QString dataFileNameBase = file.left(file.size() - 9); QFile dataFile(codecDir.path() + QLatin1Char('/') + dataFileNameBase); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcodecs-5.55.0/autotests/kcharsetstest.cpp new/kcodecs-5.56.0/autotests/kcharsetstest.cpp --- old/kcodecs-5.55.0/autotests/kcharsetstest.cpp 2019-02-03 00:54:09.000000000 +0100 +++ new/kcodecs-5.56.0/autotests/kcharsetstest.cpp 2019-03-02 14:35:26.000000000 +0100 @@ -24,7 +24,7 @@ static bool encodingNameHasADescription(const QString &encodingName, const QStringList &descriptions) { - Q_FOREACH (QString description, descriptions) + for (const QString &description : descriptions) if (description.contains(encodingName)) { return true; } @@ -151,7 +151,7 @@ QCOMPARE(singleton->availableEncodingNames().count(), singleton->descriptiveEncodingNames().count()); - Q_FOREACH (QString encodingName, singleton->availableEncodingNames()) { + for (const QString &encodingName : singleton->availableEncodingNames()) { bool ok = false; if (encodingName == QLatin1String("ucs2") || encodingName == QLatin1String("ISO 10646-UCS-2")) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcodecs-5.55.0/po/da/kcodecs5_qt.po new/kcodecs-5.56.0/po/da/kcodecs5_qt.po --- old/kcodecs-5.55.0/po/da/kcodecs5_qt.po 2019-02-03 00:54:09.000000000 +0100 +++ new/kcodecs-5.56.0/po/da/kcodecs5_qt.po 2019-03-02 14:35:26.000000000 +0100 @@ -2,8 +2,6 @@ # Copyright (C) YEAR This_file_is_part_of_KDE # This file is distributed under the same license as the PACKAGE package. # -# Martin Schlander, 2008. -# Martin Schlander <[email protected]>, 2008. # Martin Schlander <[email protected]>, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015. # Keld Simonsen <[email protected]>, 2010. msgid "" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcodecs-5.55.0/po/id/kcodecs5_qt.po new/kcodecs-5.56.0/po/id/kcodecs5_qt.po --- old/kcodecs-5.55.0/po/id/kcodecs5_qt.po 2019-02-03 00:54:09.000000000 +0100 +++ new/kcodecs-5.56.0/po/id/kcodecs5_qt.po 2019-03-02 14:35:26.000000000 +0100 @@ -16,7 +16,7 @@ "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Lokalize 2.0\n" "X-Qt-Contexts: true\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcodecs-5.55.0/po/zh_CN/kcodecs5_qt.po new/kcodecs-5.56.0/po/zh_CN/kcodecs5_qt.po --- old/kcodecs-5.55.0/po/zh_CN/kcodecs5_qt.po 2019-02-03 00:54:09.000000000 +0100 +++ new/kcodecs-5.56.0/po/zh_CN/kcodecs5_qt.po 2019-03-02 14:35:26.000000000 +0100 @@ -13,7 +13,7 @@ msgid "" msgstr "" "Project-Id-Version: kdeorg\n" -"PO-Revision-Date: 2019-01-27 22:57\n" +"PO-Revision-Date: 2019-02-20 23:16\n" "Last-Translator: guoyunhe <[email protected]>\n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcodecs-5.55.0/src/kcodecs.cpp new/kcodecs-5.56.0/src/kcodecs.cpp --- old/kcodecs-5.55.0/src/kcodecs.cpp 2019-02-03 00:54:09.000000000 +0100 +++ new/kcodecs-5.56.0/src/kcodecs.cpp 2019-03-02 14:35:26.000000000 +0100 @@ -62,17 +62,12 @@ namespace KCodecs { -static const char hexChars[16] = { - '0', '1', '2', '3', '4', '5', '6', '7', - '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' -}; - static QList<QByteArray> charsetCache; QByteArray cachedCharset(const QByteArray &name) { - foreach (const QByteArray &charset, charsetCache) { + for (const QByteArray &charset : qAsConst(charsetCache)) { if (qstricmp(name.data(), charset.data()) == 0) { return charset; } @@ -598,7 +593,10 @@ { // get an encoder: QScopedPointer<Encoder> enc(makeEncoder(newline)); - assert(!enc.isNull()); + if (enc.isNull()) { + qWarning() << "makeEncoder failed for" << name(); + return false; + } // encode and check for output buffer overflow: while (!enc->encode(scursor, send, dcursor, dend)) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcodecs-5.55.0/src/kcodecs.h new/kcodecs-5.56.0/src/kcodecs.h --- old/kcodecs-5.55.0/src/kcodecs.h 2019-02-03 00:54:09.000000000 +0100 +++ new/kcodecs-5.56.0/src/kcodecs.h 2019-03-02 14:35:26.000000000 +0100 @@ -139,8 +139,10 @@ * * @param in data to be uuencoded * @return uuencoded string. + * @deprecated Always returns an empty bytearray. */ -KCODECS_EXPORT QByteArray uuencode(const QByteArray &in); +// TODO KF6 Remove? Or Make uuencode work? +KCODECS_DEPRECATED_EXPORT QByteArray uuencode(const QByteArray &in); /** * Encodes the given data using the uuencode algorithm. @@ -155,9 +157,10 @@ * output array will be lost. * * @param in data to be uuencoded. - * @param out uudecoded data. + * @param out an empty byte array */ -KCODECS_EXPORT void uuencode(const QByteArray &in, QByteArray &out); +// TODO KF6 Remove? Or Make uuencode work? +KCODECS_DEPRECATED_EXPORT void uuencode(const QByteArray &in, QByteArray &out); /** * Decodes the given data using the uudecode algorithm. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcodecs-5.55.0/src/kcodecsqp.cpp new/kcodecs-5.56.0/src/kcodecsqp.cpp --- old/kcodecs-5.55.0/src/kcodecsqp.cpp 2019-02-03 00:54:09.000000000 +0100 +++ new/kcodecs-5.56.0/src/kcodecsqp.cpp 2019-03-02 14:35:26.000000000 +0100 @@ -371,7 +371,8 @@ // "illegally formed soft linebreak or lonely CR!"; mInsideHexChar = false; mExpectLF = false; - assert(mAccu == 0); + if (mAccu != 0) + return false; } if (mInsideHexChar) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcodecs-5.55.0/src/probers/nsBig5Prober.cpp new/kcodecs-5.56.0/src/probers/nsBig5Prober.cpp --- old/kcodecs-5.55.0/src/probers/nsBig5Prober.cpp 2019-02-03 00:54:09.000000000 +0100 +++ new/kcodecs-5.56.0/src/probers/nsBig5Prober.cpp 2019-03-02 14:35:26.000000000 +0100 @@ -35,6 +35,9 @@ nsProbingState nsBig5Prober::HandleData(const char *aBuf, unsigned int aLen) { + if (aLen == 0) + return mState; + nsSMState codingState; for (unsigned int i = 0; i < aLen; i++) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcodecs-5.55.0/src/probers/nsEUCJPProber.cpp new/kcodecs-5.56.0/src/probers/nsEUCJPProber.cpp --- old/kcodecs-5.55.0/src/probers/nsEUCJPProber.cpp 2019-02-03 00:54:09.000000000 +0100 +++ new/kcodecs-5.56.0/src/probers/nsEUCJPProber.cpp 2019-03-02 14:35:26.000000000 +0100 @@ -41,6 +41,9 @@ nsProbingState nsEUCJPProber::HandleData(const char *aBuf, unsigned int aLen) { + if (aLen == 0) + return mState; + nsSMState codingState; for (unsigned int i = 0; i < aLen; i++) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcodecs-5.55.0/src/probers/nsEUCKRProber.cpp new/kcodecs-5.56.0/src/probers/nsEUCKRProber.cpp --- old/kcodecs-5.55.0/src/probers/nsEUCKRProber.cpp 2019-02-03 00:54:09.000000000 +0100 +++ new/kcodecs-5.56.0/src/probers/nsEUCKRProber.cpp 2019-03-02 14:35:26.000000000 +0100 @@ -36,6 +36,9 @@ nsProbingState nsEUCKRProber::HandleData(const char *aBuf, unsigned int aLen) { + if (aLen == 0) + return mState; + nsSMState codingState; for (unsigned int i = 0; i < aLen; i++) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcodecs-5.55.0/src/probers/nsEscSM.cpp new/kcodecs-5.56.0/src/probers/nsEscSM.cpp --- old/kcodecs-5.55.0/src/probers/nsEscSM.cpp 2019-02-03 00:54:09.000000000 +0100 +++ new/kcodecs-5.56.0/src/probers/nsEscSM.cpp 2019-03-02 14:35:26.000000000 +0100 @@ -183,7 +183,7 @@ PCK4BITS(eError, eError, eError, eError, eItsMe, eError, eStart, eStart) //40-47 }; -static const unsigned int ISO2022JPCharLenTable[] = {0, 0, 0, 0, 0, 0, 0, 0}; +static const unsigned int ISO2022JPCharLenTable[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; const SMModel ISO2022JPSMModel = { {eIdxSft4bits, eSftMsk4bits, eBitSft4bits, eUnitMsk4bits, ISO2022JP_cls }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kcodecs-5.55.0/src/probers/nsGB2312Prober.cpp new/kcodecs-5.56.0/src/probers/nsGB2312Prober.cpp --- old/kcodecs-5.55.0/src/probers/nsGB2312Prober.cpp 2019-02-03 00:54:09.000000000 +0100 +++ new/kcodecs-5.56.0/src/probers/nsGB2312Prober.cpp 2019-03-02 14:35:26.000000000 +0100 @@ -41,6 +41,9 @@ nsProbingState nsGB18030Prober::HandleData(const char *aBuf, unsigned int aLen) { + if (aLen == 0) + return mState; + nsSMState codingState; for (unsigned int i = 0; i < aLen; i++) {
