Ensure that a restricted umask is set for all binaries, before
creating any files.
This fixes the fact that client-side configuration files, including
the configuration directory itself, were created with world-readable
permissions if the system's umask was set accordingly.
#include <cstdlib>
#include <memory>
#include <cstdlib>
#include <memory>
+#ifdef HAVE_UMASK
+# include <sys/types.h>
+# include <sys/stat.h>
+#endif /* HAVE_UMASK */
+
#include <QTextCodec>
#ifdef BUILD_CORE
#include <QTextCodec>
#ifdef BUILD_CORE
int main(int argc, char **argv)
{
int main(int argc, char **argv)
{
+#ifdef HAVE_UMASK
+ umask(S_IRWXG | S_IRWXO);
+#endif
+
#if QT_VERSION < 0x050000
// All our source files are in UTF-8, and Qt5 even requires that
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
#if QT_VERSION < 0x050000
// All our source files are in UTF-8, and Qt5 even requires that
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
# include <termios.h>
#endif /* Q_OS_WIN */
# include <termios.h>
#endif /* Q_OS_WIN */
-#ifdef HAVE_UMASK
-# include <sys/types.h>
-# include <sys/stat.h>
-#endif /* HAVE_UMASK */
-
// ==============================
// Custom Events
// ==============================
// ==============================
// Custom Events
// ==============================
-#ifdef HAVE_UMASK
- umask(S_IRWXG | S_IRWXO);
-#endif
_startTime = QDateTime::currentDateTime().toUTC(); // for uptime :)
Quassel::loadTranslation(QLocale::system());
_startTime = QDateTime::currentDateTime().toUTC(); // for uptime :)
Quassel::loadTranslation(QLocale::system());