forked from qt-creator/qt-creator
Allow sdktool to run in an elevated context
This fixes an issue with installation on Mac: We run sdktool with 'elevated' rights if we e.g. install in a global directory, forcing the effective user id to be 0. However, since Qt 5.3.0 QCoreApplication aborts if geteuid() != getuid(). Change-Id: I678f405fc0cb31dbf9c0487f674bb8dbe5e2e95e Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
@@ -159,6 +159,15 @@ int parseArguments(const QStringList &args, Settings *s, const QList<Operation *
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 3, 0))
|
||||
// Since 5.3, Qt by default aborts if the effective user id is different than the
|
||||
// real user id. However, in IFW on Mac we use setuid to 'elevate'
|
||||
// permissions if needed. This is considered safe because the user has to provide
|
||||
// the credentials manually - an attack would require at least access to the
|
||||
// user's environment.
|
||||
QCoreApplication::setSetuidAllowed(true);
|
||||
#endif
|
||||
|
||||
QCoreApplication a(argc, argv);
|
||||
|
||||
Settings settings;
|
||||
|
Reference in New Issue
Block a user