summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimothy Pearson <[email protected]>2014-05-19 23:17:42 -0500
committerTimothy Pearson <[email protected]>2014-05-19 23:17:42 -0500
commitc383da9dc680e5e79e75b84003eca7bfa08dd991 (patch)
tree7e28cb40a4e6b8c8d5acab37af4cbfd3c69650e2
parent1312d2b18e2bdf7a8759e0c43edf90a584ac622a (diff)
downloadtdebase-c383da9dc680e5e79e75b84003eca7bfa08dd991.tar.gz
tdebase-c383da9dc680e5e79e75b84003eca7bfa08dd991.zip
Forward port KDE SVN r803253 to fix potential security hole
-rw-r--r--config.h.cmake1
-rw-r--r--ksmserver/CMakeLists.txt2
-rw-r--r--ksmserver/ConfigureChecks.cmake12
-rw-r--r--ksmserver/server.cpp10
4 files changed, 20 insertions, 5 deletions
diff --git a/config.h.cmake b/config.h.cmake
index f5ebeebcc..cacb97cb2 100644
--- a/config.h.cmake
+++ b/config.h.cmake
@@ -182,6 +182,7 @@
// ksmserver
#cmakedefine DBUS_SYSTEM_BUS "@DBUS_SYSTEM_BUS@"
+#cmakedefine HAVE__ICETRANSNOLISTEN 1
// ksplashml
#cmakedefine HAVE_XINERAMA 1
diff --git a/ksmserver/CMakeLists.txt b/ksmserver/CMakeLists.txt
index fdd521b90..8578b01c1 100644
--- a/ksmserver/CMakeLists.txt
+++ b/ksmserver/CMakeLists.txt
@@ -9,6 +9,8 @@
#
#################################################
+include( ConfigureChecks.cmake )
+
if( NOT DBUS_SYSTEM_BUS )
set( DBUS_SYSTEM_BUS "unix:path=/var/run/dbus/system_bus_socket" CACHE INTERNAL "" FORCE )
endif()
diff --git a/ksmserver/ConfigureChecks.cmake b/ksmserver/ConfigureChecks.cmake
new file mode 100644
index 000000000..4f8cf7978
--- /dev/null
+++ b/ksmserver/ConfigureChecks.cmake
@@ -0,0 +1,12 @@
+#################################################
+#
+# (C) 2014 Timothy Pearson
+# kb9vqf (AT) pearsoncomputing (DOT) net
+#
+# Improvements and feedback are welcome
+#
+# This file is released under GPL >= 2
+#
+#################################################
+
+check_library_exists( ICE _IceTransNoListen "" HAVE__ICETRANSNOLISTEN ) \ No newline at end of file
diff --git a/ksmserver/server.cpp b/ksmserver/server.cpp
index c63d70d76..1d98bc0a6 100644
--- a/ksmserver/server.cpp
+++ b/ksmserver/server.cpp
@@ -392,9 +392,9 @@ Status SetAuthentication (int count, IceListenObj *listenObjs,
{
KTempFile addAuthFile;
addAuthFile.setAutoDelete(true);
-
+
remAuthFile = new KTempFile;
- remAuthFile->setAutoDelete(true);
+ remAuthFile->setAutoDelete(true);
if ((addAuthFile.status() != 0) || (remAuthFile->status() != 0))
return 0;
@@ -468,7 +468,7 @@ void FreeAuthenticationData(int count, IceAuthDataEntry *authDataEntries)
tqWarning("[KSMServer] could not find iceauth");
return;
}
-
+
TDEProcess p;
p << iceAuth << "source" << remAuthFile->name();
p.start(TDEProcess::Block);
@@ -489,7 +489,7 @@ static int Xio_ErrorHandler( Display * )
server->cleanUp();
// Don't delete server!!
}
-
+
exit(0); // Don't report error, it's not our fault.
}
@@ -854,7 +854,7 @@ void KSMServer::storeSession()
TDEConfig* config = TDEGlobal::config();
config->reparseConfiguration(); // config may have changed in the KControl module
config->setGroup("General" );
- excludeApps = TQStringList::split( TQRegExp( "[,:]" ), config->readEntry( "excludeApps" ).lower());
+ excludeApps = TQStringList::split( TQRegExp( "[,:]" ), config->readEntry( "excludeApps" ).lower());
config->setGroup( sessionGroup );
int count = config->readNumEntry( "count" );
for ( int i = 1; i <= count; i++ ) {