This commit is contained in:
Rex Dieter 2013-09-27 23:22:00 -05:00
parent 4be0693da5
commit 9942ba96bf
7 changed files with 7 additions and 218 deletions

2
.gitignore vendored
View File

@ -1,2 +1,2 @@
/kdelibs-4.10.5.tar.xz
/kdelibs-4.11.1.tar.xz
/kdelibs-4.11.2.tar.xz

View File

@ -1,86 +0,0 @@
From 9027e0620d1f6bb06cbeb00db1072047ccb8ff13 Mon Sep 17 00:00:00 2001
From: Valentin Rusu <kde@rusu.info>
Date: Sun, 1 Sep 2013 01:16:28 +0200
Subject: [PATCH 07/17] Fix the synchronous-mode wallet open logic
BUG: 254198
The wallet opening logic, for the synchronous mode, had a nested
event loops problem, leading to frozen kwalletd. That was because
kwalletd wasn't using qdbus delayed replies. kdelibs used
asynchronous open methods even for the synchronous mode, coupled
with an internal event loop to simulate synchronous mode.
This commit removes that internal event loop, as the kwalletd now
blocks on synchronous wallet open requests.
---
kdeui/util/kwallet.cpp | 28 ++++++++--------------------
1 file changed, 8 insertions(+), 20 deletions(-)
diff --git a/kdeui/util/kwallet.cpp b/kdeui/util/kwallet.cpp
index bbb7129..67a33d6 100644
--- a/kdeui/util/kwallet.cpp
+++ b/kdeui/util/kwallet.cpp
@@ -221,7 +221,6 @@ public:
QString folder;
int handle;
int transactionId;
- QPointer<QEventLoop> loop;
};
#ifdef HAVE_KSECRETSSERVICE
@@ -477,18 +476,18 @@ Wallet *Wallet::openWallet(const QString& name, WId w, OpenType ot) {
connect(&walletLauncher->getInterface(), SIGNAL(walletAsyncOpened(int,int)),
wallet, SLOT(walletAsyncOpened(int,int)));
- // Use an eventloop for synchronous calls
- QEventLoop loop;
- if (ot == Synchronous || ot == Path) {
- connect(wallet, SIGNAL(walletOpened(bool)), &loop, SLOT(quit()));
- }
-
// Make sure the password prompt window will be visible and activated
KWindowSystem::allowExternalProcessWindowActivation();
// do the call
QDBusReply<int> r;
- if (ot == Synchronous || ot == Asynchronous) {
+ if (ot == Synchronous) {
+ r = walletLauncher->getInterface().open(name, (qlonglong)w, appid());
+ // after this call, r would contain a transaction id >0 if OK or -1 if NOK
+ // if OK, the slot walletAsyncOpened should have been received, but the transaction id
+ // will not match. We'll get that handle from the reply - see below
+ }
+ else if (ot == Asynchronous) {
r = walletLauncher->getInterface().openAsync(name, (qlonglong)w, appid(), true);
} else if (ot == Path) {
r = walletLauncher->getInterface().openPathAsync(name, (qlonglong)w, appid(), true);
@@ -510,14 +509,7 @@ Wallet *Wallet::openWallet(const QString& name, WId w, OpenType ot) {
delete wallet;
wallet = 0;
} else {
- // wait for the daemon's reply
- // store a pointer to the event loop so it can be quit in error case
- wallet->d->loop = &loop;
- loop.exec();
- if (wallet->d->handle < 0) {
- delete wallet;
- return 0;
- }
+ wallet->d->handle = r.value();
}
} else if (ot == Asynchronous) {
if (wallet->d->transactionId < 0) {
@@ -1517,10 +1509,6 @@ Wallet::EntryType Wallet::entryType(const QString& key) {
void Wallet::WalletPrivate::walletServiceUnregistered()
{
- if (loop) {
- loop->quit();
- }
-
if (handle >= 0) {
q->slotWalletClosed(handle);
}
--
1.8.3.1

View File

@ -1,37 +0,0 @@
From ef3de4a99c3af0557f51afe61e30addb592f2d4a Mon Sep 17 00:00:00 2001
From: Dawit Alemayehu <adawit@kde.org>
Date: Wed, 4 Sep 2013 01:00:58 -0400
Subject: [PATCH 10/17] Set modified meta-data for all copy jobs, not just move
operations.
CCBUG: 55804
REVIEW: 112528
---
kio/kio/job.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kio/kio/job.cpp b/kio/kio/job.cpp
index 8ff088c..13107c2 100644
--- a/kio/kio/job.cpp
+++ b/kio/kio/job.cpp
@@ -2103,7 +2103,7 @@ void FileCopyJobPrivate::startCopyJob(const KUrl &slave_url)
//kDebug(7007);
KIO_ARGS << m_src << m_dest << m_permissions << (qint8) (m_flags & Overwrite);
m_copyJob = new DirectCopyJob(slave_url, packedArgs);
- if (m_move && m_modificationTime.isValid()) {
+ if (m_modificationTime.isValid()) {
m_copyJob->addMetaData( "modified", m_modificationTime.toString( Qt::ISODate ) ); // #55804
}
q->addSubjob( m_copyJob );
@@ -2118,7 +2118,7 @@ void FileCopyJobPrivate::startRenameJob(const KUrl &slave_url)
m_mustChmod = true; // CMD_RENAME by itself doesn't change permissions
KIO_ARGS << m_src << m_dest << (qint8) (m_flags & Overwrite);
m_moveJob = SimpleJobPrivate::newJobNoUi(slave_url, CMD_RENAME, packedArgs);
- if (m_move && m_modificationTime.isValid()) {
+ if (m_modificationTime.isValid()) {
m_moveJob->addMetaData( "modified", m_modificationTime.toString( Qt::ISODate ) ); // #55804
}
q->addSubjob( m_moveJob );
--
1.8.3.1

View File

@ -1,42 +0,0 @@
From db71048c79d09aad4dfc8ea935959686c5ecbdfd Mon Sep 17 00:00:00 2001
From: Christophe Giboudeaux <cgiboudeaux@gmx.com>
Date: Mon, 9 Sep 2013 21:34:38 +0200
Subject: [PATCH 14/17] Use pkgconfig as hints to find both samba 3 & 4
REVIEW: 106861 112448
---
cmake/modules/FindSamba.cmake | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/cmake/modules/FindSamba.cmake b/cmake/modules/FindSamba.cmake
index 16522c6..9240fcb 100644
--- a/cmake/modules/FindSamba.cmake
+++ b/cmake/modules/FindSamba.cmake
@@ -17,10 +17,14 @@ if(SAMBA_INCLUDE_DIR AND SAMBA_LIBRARIES)
set(Samba_FIND_QUIETLY TRUE)
endif(SAMBA_INCLUDE_DIR AND SAMBA_LIBRARIES)
-find_path(SAMBA_INCLUDE_DIR NAMES libsmbclient.h )
+find_package(PkgConfig)
+if(PKG_CONFIG_FOUND)
+ pkg_check_modules(PC_SAMBA smbclient)
+endif()
-find_library(SAMBA_LIBRARIES NAMES smbclient )
+find_path(SAMBA_INCLUDE_DIR NAMES libsmbclient.h HINTS ${PC_SAMBA_INCLUDEDIR})
+find_library(SAMBA_LIBRARIES NAMES smbclient HINTS ${PC_SAMBA_LIBDIR})
if(SAMBA_INCLUDE_DIR AND SAMBA_LIBRARIES)
set(SAMBA_FOUND TRUE)
@@ -41,7 +45,6 @@ if(SAMBA_INCLUDE_DIR AND SAMBA_LIBRARIES)
if (SAMBA_REQUIRE_SMBC_OPTION_SET AND NOT SAMBA_HAVE_SMBC_OPTION_SET)
set(SAMBA_FOUND FALSE)
endif (SAMBA_REQUIRE_SMBC_OPTION_SET AND NOT SAMBA_HAVE_SMBC_OPTION_SET)
-
else(SAMBA_INCLUDE_DIR AND SAMBA_LIBRARIES)
set(SAMBA_FOUND FALSE)
set(SAMBA_HAVE_SMBC_SET_CONTEXT FALSE)
--
1.8.3.1

View File

@ -1,38 +0,0 @@
From 8791daf6c46e57c3760a564a7dfbe85513aba522 Mon Sep 17 00:00:00 2001
From: "Lamarque V. Souza" <lamarque@kde.org>
Date: Sun, 22 Sep 2013 09:32:24 -0300
Subject: [PATCH 17/17] Do not leak sockets in NetworkInterface::isWireless().
BUG: 324954
REVIEW: 112869
FIXED-IN: 4.11.2
---
solid/solid/backends/udev/udevnetworkinterface.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/solid/solid/backends/udev/udevnetworkinterface.cpp b/solid/solid/backends/udev/udevnetworkinterface.cpp
index 06dc907..cf9c737 100644
--- a/solid/solid/backends/udev/udevnetworkinterface.cpp
+++ b/solid/solid/backends/udev/udevnetworkinterface.cpp
@@ -25,6 +25,7 @@
#include <sys/socket.h>
#include <sys/ioctl.h>
#include <sys/stat.h>
+#include <unistd.h>
#include <linux/if_arp.h>
#include <linux/wireless.h>
@@ -67,8 +68,10 @@ bool NetworkInterface::isWireless() const
QFileInfo phyDir(m_device->deviceName() + "/phy80211");
if ((ioctl (ioctl_fd, SIOCGIWNAME, &iwr) == 0) || phyDir.isDir()) {
+ close(ioctl_fd);
return true;
}
+ close(ioctl_fd);
}
return false;
}
--
1.8.3.1

View File

@ -37,8 +37,8 @@ Source10: SOLID_HAL_LEGACY.sh
%global _changelog_trimtime %(date +%s -d "1 year ago")
Summary: KDE Libraries
Version: 4.11.1
Release: 4%{?dist}
Version: 4.11.2
Release: 1%{?dist}
Name: kdelibs
Epoch: 6
@ -164,12 +164,6 @@ Patch092: return-application-icons-properly.patch
# revert disabling of packagekit
Patch093: turn-the-packagekit-support-feature-off-by-default.patch
# https://bugs.kde.org/254198
Patch107: 0007-Fix-the-synchronous-mode-wallet-open-logic.patch
Patch110: 0010-Set-modified-meta-data-for-all-copy-jobs-not-just-mo.patch
Patch114: 0014-Use-pkgconfig-as-hints-to-find-both-samba-3-4.patch
Patch117: 0017-Do-not-leak-sockets-in-NetworkInterface-isWireless.patch
## security fix
# rhel patches
@ -362,11 +356,6 @@ sed -i -e "s|@@VERSION_RELEASE@@|%{version}-%{release}|" kio/kio/kprotocolmanage
%patch092 -p1 -R -b .return-application-icons-properly
%patch093 -p1 -R -b .turn-the-packagekit-support-feature-off-by-default
%patch107 -p1 -b .0007
%patch110 -p1 -b .0010
%patch114 -p1 -b .0014
%patch117 -p1 -b .0017
# security fixes
# rhel patches
@ -615,6 +604,9 @@ gtk-update-icon-cache %{_kde4_iconsdir}/hicolor &> /dev/null || :
%changelog
* Sat Sep 28 2013 Rex Dieter <rdieter@fedoraproject.org> - 6:4.11.2-1
- 4.11.2
* Mon Sep 23 2013 Rex Dieter <rdieter@fedoraproject.org> - 6:4.11.1-4
- kded4 leak sockets when wifi connections fail (kde#324954)
- use upstreamed Samba patch

View File

@ -1 +1 @@
94673d3c379a673f7ee89527c7514bea kdelibs-4.11.1.tar.xz
640f133e2d06143a0d2742a8761bffce kdelibs-4.11.2.tar.xz