#ifdef HAVE_QCA2
// Handle DH1080 key exchange
- if (params[1].startsWith("DH1080_INIT")) {
+ if (params[1].startsWith("DH1080_INIT") && !net->isChannelName(target)) {
events << new KeyEvent(EventManager::KeyEvent, net, prefix, target, KeyEvent::Init, params[1].mid(12));
- } else if (params[1].startsWith("DH1080_FINISH")) {
+ } else if (params[1].startsWith("DH1080_FINISH") && !net->isChannelName(target)) {
events << new KeyEvent(EventManager::KeyEvent, net, prefix, target, KeyEvent::Finish, params[1].mid(14));
} else
#endif
for (int i = decParams.count(); i < params.count(); i++)
decParams << net->serverDecode(params.at(i));
+ // We want to trim the last param just in case, except for PRIVMSG and NOTICE
+ // ... but those happen to be the only ones not using defaultHandling anyway
+ if (!decParams.isEmpty() && decParams.last().endsWith(' '))
+ decParams.append(decParams.takeLast().trimmed());
+
IrcEvent *event;
if (type == EventManager::IrcEventNumeric)
event = new IrcEventNumeric(num, net, prefix, target);