bool setType(const QString &type);
QString type() { return m_type; }
static bool neededFeaturesAvailable();
+ inline bool usesCBC() { return m_cbc; }
private:
//direction is true for encrypt, false for decrypt
return;
}
}
+
+
+bool CoreNetwork::cipherUsesCBC(const QString &target)
+{
+ CoreIrcChannel *c = qobject_cast<CoreIrcChannel*>(ircChannel(target));
+ if (c)
+ return c->cipher()->usesCBC();
+ CoreIrcUser *u = qobject_cast<CoreIrcUser*>(ircUser(target));
+ if (u)
+ return u->cipher()->usesCBC();
+
+ return false;
+}
#endif /* HAVE_QCA2 */
bool CoreNetwork::setAutoWhoDone(const QString &channel)
Cipher *cipher(const QString &recipient);
QByteArray cipherKey(const QString &recipient) const;
void setCipherKey(const QString &recipient, const QByteArray &key);
+ bool cipherUsesCBC(const QString &target);
#endif
void setAutoWhoEnabled(bool enabled);
return;
}
- emit displayMsg(Message::Info, bufname, tr("The key for %1 is %2").arg(target).arg(QString(key)));
+ emit displayMsg(Message::Info, bufname, tr("The key for %1 is %2:%3").arg(target, network()->cipherUsesCBC(target) ? "CBC" : "ECB", QString(key)));
#else
Q_UNUSED(msg)