summaryrefslogtreecommitdiffstats
path: root/opensuse/tdelibs/allow-man-setgid.diff
diff options
context:
space:
mode:
authorRobert Xu <robxu9@gmail.com>2011-08-13 12:58:51 -0400
committerRobert Xu <robxu9@gmail.com>2011-08-13 12:58:51 -0400
commit46130378aea5fff80803409c2573e2ea31472cb9 (patch)
treecb5da908105e6577da7676f84ba9c7fbaba4fb52 /opensuse/tdelibs/allow-man-setgid.diff
parent53f2819f9af035a38ca08df1ede9e6cd24aa79ef (diff)
downloadtde-packaging-46130378aea5fff80803409c2573e2ea31472cb9.tar.gz
tde-packaging-46130378aea5fff80803409c2573e2ea31472cb9.zip
add dbus-1-tqt and libdbus-1-tqt-0; add unmodified tdelibs from kdelibs3
Diffstat (limited to 'opensuse/tdelibs/allow-man-setgid.diff')
-rw-r--r--opensuse/tdelibs/allow-man-setgid.diff32
1 files changed, 32 insertions, 0 deletions
diff --git a/opensuse/tdelibs/allow-man-setgid.diff b/opensuse/tdelibs/allow-man-setgid.diff
new file mode 100644
index 000000000..51a47d720
--- /dev/null
+++ b/opensuse/tdelibs/allow-man-setgid.diff
@@ -0,0 +1,32 @@
+Index: kdecore/kapplication.cpp
+===================================================================
+--- kdecore/kapplication.cpp.orig
++++ kdecore/kapplication.cpp
+@@ -87,6 +87,8 @@
+ #include <sys/stat.h>
+ #endif
+ #include <sys/wait.h>
++#include <grp.h>
++#include <sys/types.h>
+
+ #ifndef Q_WS_WIN
+ #include "kwin.h"
+@@ -776,10 +778,15 @@ void KApplication::init(bool GUIenabled)
+ {
+ d->guiEnabled = GUIenabled;
+ if ((getuid() != geteuid()) ||
+- (getgid() != getegid()))
++ (getgid() != getegid()) )
+ {
+- fprintf(stderr, "The KDE libraries are not designed to run with suid privileges.\n");
+- ::exit(127);
++ // man permissions are not exploitable and better than
++ // world writable directories
++ struct group *man = getgrnam("man");
++ if ( !man || man->gr_gid != getegid() ){
++ fprintf(stderr, "The KDE libraries are not designed to run with suid privileges.\n");
++ ::exit(127);
++ }
+ }
+
+ KProcessController::ref();