diff options
author | Robert Xu <robxu9@gmail.com> | 2011-11-10 18:04:39 -0500 |
---|---|---|
committer | Robert Xu <robxu9@gmail.com> | 2011-11-10 18:04:39 -0500 |
commit | 21fcfa3348213aa87f0e3aef62ca4720c6d31cb7 (patch) | |
tree | 2cfb64c59322628e613ed0895e3c3694d3abe6bd /opensuse/core/tdelibs/allow-man-setgid.diff | |
parent | 8667643bff14a60d8571c599efd3e48bed3e3b12 (diff) | |
download | tde-packaging-21fcfa3348213aa87f0e3aef62ca4720c6d31cb7.tar.gz tde-packaging-21fcfa3348213aa87f0e3aef62ca4720c6d31cb7.zip |
initial commit to suse branch: eclipse integration
Diffstat (limited to 'opensuse/core/tdelibs/allow-man-setgid.diff')
-rw-r--r-- | opensuse/core/tdelibs/allow-man-setgid.diff | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/opensuse/core/tdelibs/allow-man-setgid.diff b/opensuse/core/tdelibs/allow-man-setgid.diff new file mode 100644 index 000000000..51a47d720 --- /dev/null +++ b/opensuse/core/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(); |