/***************************************************************************
- * Copyright (C) 2005-2013 by the Quassel Project *
+ * Copyright (C) 2005-2015 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
return instance()->_storage->validateUser(userName, password);
}
+
+ //! Change a user's password
+ /**
+ * \param userId The user's ID
+ * \param password The user's unencrypted new password
+ * \return true, if the password change was successful
+ */
+ static bool changeUserPassword(UserId userId, const QString &password);
+
//! Store a user setting persistently
/**
* \param userId The users Id
static inline QDateTime startTime() { return instance()->_startTime; }
static inline bool isConfigured() { return instance()->_configured; }
static bool sslSupported();
+
+ /**
+ * Reloads SSL certificates used for connection with clients
+ *
+ * @return True if certificates reloaded successfully, otherwise false.
+ */
+ static bool reloadCerts();
+
static QVariantList backendInfo();
static QString setup(const QString &adminUser, const QString &adminPassword, const QString &backend, const QVariantMap &setupData);
void socketError(QAbstractSocket::SocketError err, const QString &errorString);
void setupClientSession(RemotePeer *, UserId);
+ bool changeUserPass(const QString &username);
+
private:
Core();
~Core();
void init();
static Core *instanceptr;
- SessionThread *createSession(UserId userId, bool restoreState = false);
+ SessionThread *sessionForUser(UserId userId, bool restoreState = false);
void addClientHelper(RemotePeer *peer, UserId uid);
//void processCoreSetup(QTcpSocket *socket, QVariantMap &msg);
QString setupCoreForInternalUsage();
void unregisterStorageBackends();
void unregisterStorageBackend(Storage *);
bool selectBackend(const QString &backend);
- void createUser();
- void changeUserPass(const QString &username);
+ bool createUser();
void saveBackendSettings(const QString &backend, const QVariantMap &settings);
QVariantMap promptForSettings(const Storage *storage);
private:
QSet<CoreAuthHandler *> _connectingClients;
- QHash<UserId, SessionThread *> sessions;
+ QHash<UserId, SessionThread *> _sessions;
Storage *_storage;
QTimer _storageSyncTimer;