Git commit db216a4085cff1b45fb93ee1dfed8f9ebffee8d5 by Aleix Pol. Committed on 25/09/2018 at 12:48. Pushed by apol into branch 'Plasma/5.14'. pk: make sure we don't DoS PackageKit with refreshes under apt Fallback into daily refreshes otherwise M +7 -4 libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp https://commits.kde.org/discover/db216a4085cff1b45fb93ee1dfed8f9ebffee8d5 diff --git a/libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp = b/libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp index 0f3e283d..57aa1a16 100644 --- a/libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp +++ b/libdiscover/backends/PackageKitBackend/PackageKitNotifier.cpp @@ -59,16 +59,17 @@ PackageKitNotifier::PackageKitNotifier(QObject* parent) = const QString aptconfig =3D QStandardPaths::findExecutable(QStringLite= ral("apt-config")); if (!aptconfig.isEmpty()) { - auto process =3D checkAptVariable(aptconfig, QLatin1String("Apt::P= eriodic::Update-Package-Lists"), [regularCheck](const QStringRef& value) { + checkAptVariable(aptconfig, QLatin1String("Apt::Periodic::Update-P= ackage-Lists"), [regularCheck](const QStringRef& value) { bool ok; int time =3D value.toInt(&ok); if (ok && time > 0) { regularCheck->setInterval(time * 60 * 60 * 1000); - regularCheck->start(); - } else + } else { + regularCheck->setInterval(24 * 60 * 60 * 1000); //refresh = at least once every day qWarning() << "couldn't understand value for timer:" << va= lue; + } + regularCheck->start(); }); - connect(process, static_cast(&QProcess::fi= nished), regularCheck, static_cast(&QTimer::start)); } else { regularCheck->setInterval(24 * 60 * 60 * 1000); //refresh at least= once every day regularCheck->start(); @@ -262,8 +263,10 @@ QProcess* PackageKitNotifier::checkAptVariable(const Q= String &aptconfig, const Q const auto match =3D rx.match(line); if (match.hasMatch()) { func(match.capturedRef(1)); + return; } } + func({}); }); connect(process, static_cast(&QProcess::finish= ed), process, &QObject::deleteLater); return process;