-rw-r--r-- | noncore/net/opieirc/ircservertab.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/noncore/net/opieirc/ircservertab.cpp b/noncore/net/opieirc/ircservertab.cpp index d3c0448..5eb1758 100644 --- a/noncore/net/opieirc/ircservertab.cpp +++ b/noncore/net/opieirc/ircservertab.cpp @@ -108,27 +108,28 @@ void IRCServerTab::settingsChanged() { void IRCServerTab::executeCommand(IRCTab *tab, QString line) { QTextIStream stream(&line); QString command; stream >> command; command = command.upper().right(command.length()-1); //JOIN if (command == "JOIN" || command == "J") { QString channel; stream >> channel; /* According to RFC 1459 */ if (channel.length() > 0 && channel.length() < 200 && - channel.find(",") == -1 && channel.find("") == -1) { + channel.find(",") == -1 && channel.find('\007') == -1) { - if (!channel.startsWith("#") && !channel.startsWith("&")) { + if (!channel.startsWith("#") && !channel.startsWith("&") + && !channel.startsWith("+") && !channel.startsWith("!")) { channel = channel.prepend("#"); } m_session->join(channel); } else { tab->appendText("<font color=\"" + m_errorColor + "\">Unknown channel format!</font><br>"); } } //KICK else if (command == "KICK"){ QString nickname; stream >> nickname; |