From 9e1b1f5aeee7af93691666b4df5a9a670ac93532 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Fri, 4 Sep 2015 20:05:43 +0100 Subject: [PATCH 1/2] Remove efnet from 1.6 branch's travis as well --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 7ede6176..d230ee8d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -80,6 +80,5 @@ notifications: irc: channels: - "irc.freenode.net#znc" - - "irc.arcti.ca#znc" on_success: always on_failure: always From b67f9182d60fe9828104cc67402bcdee64f3a492 Mon Sep 17 00:00:00 2001 From: Jos Ahrens Date: Mon, 7 Sep 2015 13:14:32 +0200 Subject: [PATCH 2/2] Fix stickychan joining inaccessable channels. Channels that raise this error are unlikely to ever be unblocked, either due to a jupe, or because the name contains illegal characters. --- modules/stickychan.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/modules/stickychan.cpp b/modules/stickychan.cpp index 5824e5b8..122e8889 100644 --- a/modules/stickychan.cpp +++ b/modules/stickychan.cpp @@ -175,6 +175,26 @@ public: return false; } + EModRet OnRaw(CString& sLine) override { + CString sNumeric = sLine.Token(1); + + if (sNumeric.Equals("479")) { + // ERR_BADCHANNAME (juped channels or illegal channel name - ircd hybrid) + // prevent the module from getting into an infinite loop of trying to join it. + // :irc.network.net 479 mynick #channel :Illegal channel name + + CString sChannel = sLine.Token(3); + for (MCString::iterator it = BeginNV(); it != EndNV(); ++it) { + if (sChannel.Equals(it->first)) { + PutModule("Channel [" + sChannel + "] cannot be joined, it is an illegal channel name. Unsticking."); + OnUnstickCommand("unstick " + sChannel); + return CONTINUE; + } + } + } + + return CONTINUE; + } };