X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fcoreauthhandler.cpp;h=240954eb761b7efd440b23ec9fe9bed9a02b5418;hb=f12d6496251729f7d21f4fbcb0814dec7fba4b75;hp=cf0c82b08b21ffe3c4bcbfa899f26f59a5d7ae96;hpb=68878dc8366f2f4a0afe132847aad9a51a80cdbf;p=quassel.git
diff --git a/src/core/coreauthhandler.cpp b/src/core/coreauthhandler.cpp
index cf0c82b0..240954eb 100644
--- a/src/core/coreauthhandler.cpp
+++ b/src/core/coreauthhandler.cpp
@@ -25,7 +25,7 @@
#endif
#include "core.h"
-#include "logger.h"
+#include "logmessage.h"
using namespace Protocol;
@@ -221,6 +221,12 @@ void CoreAuthHandler::handle(const Login &msg)
if (!checkClientRegistered())
return;
+ if (!Core::isConfigured()) {
+ qWarning() << qPrintable(tr("Client")) << qPrintable(socket()->peerAddress().toString()) << qPrintable(tr("attempted to login before the core was configured, rejecting."));
+ _peer->dispatch(ClientDenied(tr("Attempted to login before core was configured!
The core must be configured before attempting to login.")));
+ return;
+ }
+
// First attempt local auth using the real username and password.
// If that fails, move onto the auth provider.
UserId uid = Core::validateUser(msg.user, msg.password);
@@ -240,8 +246,12 @@ void CoreAuthHandler::handle(const Login &msg)
const auto &clientFeatures = _peer->features();
auto unsupported = clientFeatures.toStringList(false);
if (!unsupported.isEmpty()) {
- quInfo() << qPrintable(tr("Client does not support the following features: %1").arg(unsupported.join(", ")));
+ if (unsupported.contains("NoFeatures"))
+ quInfo() << qPrintable(tr("Client does not support extended features."));
+ else
+ quInfo() << qPrintable(tr("Client does not support the following features: %1").arg(unsupported.join(", ")));
}
+
if (!clientFeatures.unknownFeatures().isEmpty()) {
quInfo() << qPrintable(tr("Client supports unknown features: %1").arg(clientFeatures.unknownFeatures().join(", ")));
}