diff options
author | Robert Xu <robxu9@gmail.com> | 2012-03-31 14:28:06 -0400 |
---|---|---|
committer | Robert Xu <robxu9@gmail.com> | 2012-03-31 14:28:06 -0400 |
commit | 59dd46ef985a719579132efa6a9aa49bfeeae112 (patch) | |
tree | 93d8c721ff263e67aaf59e364496862872ded8fb /opensuse/core/tdelibs.old/allow-man-setgid.diff | |
parent | c141f0bc29b6e2eeda5ca08a043d26546a1427f9 (diff) | |
download | tde-packaging-59dd46ef985a719579132efa6a9aa49bfeeae112.tar.gz tde-packaging-59dd46ef985a719579132efa6a9aa49bfeeae112.zip |
better late than never, hm...
Diffstat (limited to 'opensuse/core/tdelibs.old/allow-man-setgid.diff')
-rw-r--r-- | opensuse/core/tdelibs.old/allow-man-setgid.diff | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/opensuse/core/tdelibs.old/allow-man-setgid.diff b/opensuse/core/tdelibs.old/allow-man-setgid.diff new file mode 100644 index 000000000..51a47d720 --- /dev/null +++ b/opensuse/core/tdelibs.old/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(); |