When noJoinsUntilIdentified config is true, the bot holds join messages in a 'waitingJoins' list, and processes them
once nickserv identification comes through. The problem was that when the bot is configured to join multiple networks,
join messages from different networks would get appended to the same list, without any differentiation by which message
belongs to which network. Thus, if there are messages waiting for multiple networks, it would often be the case that
whichever network got identification done first, would 'pick up' other network's join messages.
This fix stores the network name along with the join messages in the list, and has each network pick out only its own
join messages.
Conflicts:
src/version.py
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
Conflicts:
plugins/Services/plugin.py
This also fixes a long-standing failing Misc test since it was relying on the
receivedAt tag.
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
(cherry picked from commit c90fafebe7)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
unbans did send the repr() of the ban list, and IrcMsg.__hash__ did try to hash a list.
Conflicts:
src/version.py
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
(cherry picked from commit 998819da58)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3121298
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
(cherry picked from commit f6f9e654cb)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
This also fixes a long-standing failing Misc test since it was relying on the
receivedAt tag.
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
(cherry picked from commit 4ddfae427f)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
(cherry picked from commit 5b4c150d03)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3430008
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
(cherry picked from commit 360a2036ac)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
(cherry picked from commit 4833976294)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
(cherry picked from commit d6336421e0)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
(cherry picked from commit 4232e40e26)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
(cherry picked from commit 3bfda3cc7a)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3075891
Signed-off-by: James McCoy <vega.james@gmail.com>
(cherry picked from commit b23480b915)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
At a minimum, the message gives us the server name, ircd version, supported
umodes, and supported channel modes. Add the umodes and channel modes to
self.supported.
Some IRCds (e.g., hybrid and ircd-seven) have an extra arg which seems to be
the channel modes that require arguments.
Signed-off-by: James McCoy <vega.james@gmail.com>
(cherry picked from commit c9e548bdd9)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3396388
Signed-off-by: James McCoy <vega.james@gmail.com>
(cherry picked from commit 0869a8e271)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Conflicts:
plugins/Topic/messages.pot
Signed-off-by: James McCoy <vega.james@gmail.com>
(cherry picked from commit 9561c9f417)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Conflicts:
src/version.py
Signed-off-by: James McCoy <vega.james@gmail.com>
(cherry picked from commit 8056da06f6)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James McCoy <vega.james@gmail.com>
(cherry picked from commit 70a6e6932d)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
(cherry picked from commit ce4d26514b)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
(cherry picked from commit 5dcbe57fa3)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
(cherry picked from commit 8fb97c56bc)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
When the feed has a specified encoding, we'll be dealing with unicode objects
in the response from feedparser.parse(). To avoid possible UnicodeErrors, we
need to encode() before handing the string off to other functions, so the
other functions are always dealing with bytestrings instead of bytestrings and
unicode objects. Mixing unicode and bytestrings will cause implicit
conversions of the unicode objects, which will most likely use the wrong
encoding.
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
(cherry picked from commit 964c73f591)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3165718
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
(cherry picked from commit 01c8dc7f78)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
When noJoinsUntilIdentified config is true, the bot holds join messages in a 'waitingJoins' list, and processes them
once nickserv identification comes through. The problem was that when the bot is configured to join multiple networks,
join messages from different networks would get appended to the same list, without any differentiation by which message
belongs to which network. Thus, if there are messages waiting for multiple networks, it would often be the case that
whichever network got identification done first, would 'pick up' other network's join messages.
This fix stores the network name along with the join messages in the list, and has each network pick out only its own
join messages.
Conflicts:
src/version.py
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
unbans did send the repr() of the ban list, and IrcMsg.__hash__ did try to hash a list.
Conflicts:
src/version.py
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
This also fixes a long-standing failing Misc test since it was relying on the
receivedAt tag.
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>