diff --git a/backends/libpurple/main.cpp b/backends/libpurple/main.cpp index 8b0309e18f50573e74c31cfaf92e4fe0faa8fe28..ca8d999153513fd4d066a88cbbdd724251156ee2 100644 --- a/backends/libpurple/main.cpp +++ b/backends/libpurple/main.cpp @@ -183,6 +183,11 @@ class SpectrumNetworkPlugin : public NetworkPlugin { return; } + if (!purple_find_prpl(protocol.c_str())) { + np->handleDisconnected(user, name, 0, "Invalid protocol " + protocol); + return; + } + LOG4CXX_INFO(logger, "Creating account with name '" << name.c_str() << "' and protocol '" << protocol << "'"); if (purple_accounts_find(name.c_str(), protocol.c_str()) != NULL){ // Log(user, "this account already exists");