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>
Define utils.python.glob2re based on the Python version being used.
Use glob2re in Todo and Note plugins.
Closes: Sf#3059292
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
The regular expressions were woefully out of date and since there's not a
stable API (or any for that matter), keeping things working is a losing
battle.
Closes: Sf#3057485
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
made the calcre more generic, so it finds stuff on both math and currency.
nothing a little exploration of google html page source couldn't solve.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 432228c736)
Notify the user when trying to use the commands on a disabled network, ignore
noJoinsUntilIdentified, and don't try communicating with services.
Closes: Sf#3018464
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 9e73f4482c)
All ircmsgs that takeMsg will return should be processed each time
checkIrcForMsgs is called since there may be multiple available in the
fastqueue.
Reduced the time between calls of checkIrcForMsgs so the delay between
normally queued ircmsgs stays close to the configured throttleTime.
Closes: Sf#3018148
(cherry picked from commit adc5d62bbf)
Users were occasionally hitting a situation where the socket had errored,
causing a reconnect, but the socket wasn't closed nor the driver marked as
disconnected. This resulted in run() continuing to try and use the driver,
which would cause another error, schedule another reconnect, log an error, ad
infinitum.
Closes: Sf#2965530
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit a278d17f2b)
Because the 'channel' argument was declared optional, calling announce.list
off-channel without a channel argument caused an error.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 40941e044a)
Thanks to Daniel Folkinshteyn for the fix.
Closes: Sf#2965589
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 209facd242)
Regexp.error can't directly call Value.error because it's providing extra
information, so it needs to build the InvalidRegistryValue exception itself
and raise it.
Closes: Sf#2985241
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit ef8bd817e8)
rs.internic.net seems to be broken and using $tld.whois-servers.net looks to
be working for everything.
Also need to update the line termination string to use '\r\n' instead of '\n'
since some servers are strict about receiving the former.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 397cbbe0d3)
Also update commands.urlSnarfer to do the same, which allows us to revert
"Don't bother snarfing URLs from non-Action CTCP messages."
This reverts commit 3282e3407e.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 288d7c6e02)
The 319 message that indicates which channel(s) a user is in prefix the
channel name with the modes (@, +, !, etc.) applied to that user. These need
to be stripped from the channel name before we feed it to
irc.state.channels.get(), otherwise when irc.state.channels.get() returns None
we assume the channel can't be private and leak information.
(cherry picked from commit 408ab6f88a)