X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fcoreauthhandler.cpp;h=6cccaf87c2983ed27685601ac72e4c06ab60c5f3;hp=cf0c82b08b21ffe3c4bcbfa899f26f59a5d7ae96;hb=899709300734acc2bac01b1d57a1fd8fe2a6d923;hpb=68878dc8366f2f4a0afe132847aad9a51a80cdbf
diff --git a/src/core/coreauthhandler.cpp b/src/core/coreauthhandler.cpp
index cf0c82b0..6cccaf87 100644
--- a/src/core/coreauthhandler.cpp
+++ b/src/core/coreauthhandler.cpp
@@ -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(", ")));
}