diff options
author | Timothy Pearson <[email protected]> | 2014-05-19 23:17:42 -0500 |
---|---|---|
committer | Timothy Pearson <[email protected]> | 2014-05-19 23:17:42 -0500 |
commit | c383da9dc680e5e79e75b84003eca7bfa08dd991 (patch) | |
tree | 7e28cb40a4e6b8c8d5acab37af4cbfd3c69650e2 | |
parent | 1312d2b18e2bdf7a8759e0c43edf90a584ac622a (diff) | |
download | tdebase-c383da9dc680e5e79e75b84003eca7bfa08dd991.tar.gz tdebase-c383da9dc680e5e79e75b84003eca7bfa08dd991.zip |
Forward port KDE SVN r803253 to fix potential security hole
-rw-r--r-- | config.h.cmake | 1 | ||||
-rw-r--r-- | ksmserver/CMakeLists.txt | 2 | ||||
-rw-r--r-- | ksmserver/ConfigureChecks.cmake | 12 | ||||
-rw-r--r-- | ksmserver/server.cpp | 10 |
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++ ) { |