When compiled with QCA support, merely trying to decrypt messages
should not warn about missing qca-ossl; this message should only be
shown on user input (such as the key-related commands) and incoming
messages really requiring qca-ossl to function (key exchange).
if (QCA::isSupported("blowfish-ecb") && QCA::isSupported("blowfish-cbc") && QCA::isSupported("dh"))
return true;
if (QCA::isSupported("blowfish-ecb") && QCA::isSupported("blowfish-cbc") && QCA::isSupported("dh"))
return true;
- qWarning() << "QCA provider plugin not found. It is usually provided by the qca-ossl plugin.";
void CoreSessionEventProcessor::processKeyEvent(KeyEvent *e)
{
if (!Cipher::neededFeaturesAvailable()) {
void CoreSessionEventProcessor::processKeyEvent(KeyEvent *e)
{
if (!Cipher::neededFeaturesAvailable()) {
- emit newEvent(new MessageEvent(Message::Error, e->network(), tr("Unable to perform key exchange."), e->prefix(), e->target(), Message::None, e->timestamp()));
+ emit newEvent(new MessageEvent(Message::Error, e->network(), tr("Unable to perform key exchange, missing qca-ossl plugin."), e->prefix(), e->target(), Message::None, e->timestamp()));
return;
}
CoreNetwork *net = qobject_cast<CoreNetwork*>(e->network());
return;
}
CoreNetwork *net = qobject_cast<CoreNetwork*>(e->network());
if (!bufferInfo.isValid())
return;
if (!bufferInfo.isValid())
return;
- if (!Cipher::neededFeaturesAvailable())
+ if (!Cipher::neededFeaturesAvailable()) {
+ emit displayMsg(Message::Error, bufname, tr("Error: QCA provider plugin not found. It is usually provided by the qca-ossl plugin."));
QStringList parms = msg.split(' ', QString::SkipEmptyParts);
QStringList parms = msg.split(' ', QString::SkipEmptyParts);
bool isNumber;
int maxModes = network()->support("MODES").toInt(&isNumber);
if (!isNumber || maxModes == 0) maxModes = 1;
bool isNumber;
int maxModes = network()->support("MODES").toInt(&isNumber);
if (!isNumber || maxModes == 0) maxModes = 1;
QStringList nickList;
if (nicks == "*") { // All users in channel
const QList<IrcUser*> users = network()->ircChannel(bufferInfo.bufferName())->ircUsers();
QStringList nickList;
if (nicks == "*") { // All users in channel
const QList<IrcUser*> users = network()->ircChannel(bufferInfo.bufferName())->ircUsers();
|| (addOrRemove == '-' && network()->ircChannel(bufferInfo.bufferName())->userModes(user).contains(mode)))
nickList.append(user->nick());
}
|| (addOrRemove == '-' && network()->ircChannel(bufferInfo.bufferName())->userModes(user).contains(mode)))
nickList.append(user->nick());
}
nickList = nicks.split(' ', QString::SkipEmptyParts);
}
nickList = nicks.split(' ', QString::SkipEmptyParts);
}
if (nickList.count() == 0) return;
if (nickList.count() == 0) return;
while (!nickList.isEmpty()) {
int amount = qMin(nickList.count(), maxModes);
QString m = addOrRemove; for(int i = 0; i < amount; i++) m += mode;
while (!nickList.isEmpty()) {
int amount = qMin(nickList.count(), maxModes);
QString m = addOrRemove; for(int i = 0; i < amount; i++) m += mode;
if (!bufferInfo.isValid())
return;
if (!bufferInfo.isValid())
return;
- if (!Cipher::neededFeaturesAvailable())
+ if (!Cipher::neededFeaturesAvailable()) {
+ emit displayMsg(Message::Error, bufname, tr("Error: QCA provider plugin not found. It is usually provided by the qca-ossl plugin."));
QStringList parms = msg.split(' ', QString::SkipEmptyParts);
QStringList parms = msg.split(' ', QString::SkipEmptyParts);
if (!bufferInfo.isValid())
return;
if (!bufferInfo.isValid())
return;
- if (!Cipher::neededFeaturesAvailable())
+ if (!Cipher::neededFeaturesAvailable()) {
+ emit displayMsg(Message::Error, bufname, tr("Error: QCA provider plugin not found. It is usually provided by the qca-ossl plugin."));
QStringList parms = msg.split(' ', QString::SkipEmptyParts);
QStringList parms = msg.split(' ', QString::SkipEmptyParts);
if (!bufferInfo.isValid())
return;
if (!bufferInfo.isValid())
return;
- if (!Cipher::neededFeaturesAvailable())
+ if (!Cipher::neededFeaturesAvailable()) {
+ emit displayMsg(Message::Error, bufname, tr("Error: QCA provider plugin not found. It is usually provided by the qca-ossl plugin."));
QStringList parms = msg.split(' ', QString::SkipEmptyParts);
QStringList parms = msg.split(' ', QString::SkipEmptyParts);