let CMake check for umask()
[quassel.git] / src / core / core.cpp
index 03a7f81..6dc4fa7 100644 (file)
 #  include <termios.h>
 #endif /* Q_OS_WIN32 */
 
-// umask
-#ifndef Q_OS_WIN32
+#ifdef HAVE_UMASK
 #  include <sys/types.h>
 #  include <sys/stat.h>
-#endif /* Q_OS_WIN32 */
+#endif /* HAVE_UMASK */
 
 // ==============================
 //  Custom Events
@@ -80,9 +79,9 @@ void Core::destroy() {
 Core::Core()
   : _storage(0)
 {
-#ifndef Q_OS_WIN32
+#ifdef HAVE_UMASK
   umask(S_IRWXG | S_IRWXO);
-#endif /* Q_OS_WIN32 */
+#endif
   _startTime = QDateTime::currentDateTime().toUTC();  // for uptime :)
 
   Quassel::loadTranslation(QLocale::system());
@@ -201,6 +200,9 @@ void Core::init() {
   connect(&_server, SIGNAL(newConnection()), this, SLOT(incomingConnection()));
   connect(&_v6server, SIGNAL(newConnection()), this, SLOT(incomingConnection()));
   if(!startListening()) exit(1); // TODO make this less brutal
+
+  if(Quassel::isOptionSet("oidentd"))
+    _oidentdConfigGenerator = new OidentdConfigGenerator(this);
 }
 
 Core::~Core() {
@@ -240,6 +242,7 @@ void Core::restoreState() {
     return;
   }
   */
+
   QVariantList activeSessions = s.coreState().toMap()["ActiveSessions"].toList();
   if(activeSessions.count() > 0) {
     quInfo() << "Restoring previous core state...";
@@ -272,8 +275,7 @@ QString Core::setupCore(QVariantMap setupData) {
   if(user.isEmpty() || password.isEmpty()) {
     return tr("Admin user or password not set.");
   }
-  _configured = initStorage(setupData, true);
-  if(!_configured) {
+  if(_configured || !(_configured = initStorage(setupData, true))) {
     return tr("Could not setup storage!");
   }
   CoreSettings s;
@@ -913,7 +915,7 @@ void Core::changeUserPass(const QString &username) {
   }
 
   if(_configured && _storage->updateUser(userId, password)) {
-    out << "Password changed successfuly!" << endl;
+    out << "Password changed successfully!" << endl;
   } else {
     qWarning() << "Failed to change password!";
   }