Группа :: Графические оболочки/KDE
Пакет: kde4base
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: kdebase-4.1.3-alt-konsole-allow-sgid.patch
Скачать
Скачать
--- kdebase-4.0.80/apps/konsole/src/main.cpp~ 2008-05-21 12:32:54 +0400
+++ kdebase-4.0.80/apps/konsole/src/main.cpp 2008-05-28 19:51:48 +0400
@@ -17,6 +17,8 @@
02110-1301 USA.
*/
+#include <unistd.h>
+
// Own
#include "Application.h"
#include <KDebug>
@@ -89,6 +91,8 @@ extern "C" int KDE_EXPORT kdemain(int ar
{
exit(0);
}
+ gid_t gid = getgid(), egid = getegid();
+ setresgid(gid,gid,egid);
#ifdef Q_WS_X11
if ( useTransparency() )
{
@@ -99,12 +103,14 @@ extern "C" int KDE_EXPORT kdemain(int ar
getDisplayInformation(display,visual,colormap);
Application app(display,(Qt::HANDLE)visual,(Qt::HANDLE)colormap);
+ setegid(egid);
return app.exec();
}
else
#endif
{
Application app;
+ setegid(egid);
return app.exec();
}
}
--- kdebase-4.1.3/apps/konsole/src/Pty.cpp~ 2008-05-21 12:32:54 +0400
+++ kdebase-4.1.3/apps/konsole/src/Pty.cpp 2008-11-07 17:12:25 +0300
@@ -209,7 +209,10 @@ int Pty::start(const QString& program,
pty()->setWinSize(_windowLines, _windowColumns);
+ gid_t gid = getgid(), egid = getegid();
+ setresgid(gid,gid,egid);
KProcess::start();
+ setegid(egid);
if (!waitForStarted())
return -1;