add tests for appropriate behavior
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 8d64d08645319e57f7bee8f9176cae63c67fe1f3)
channel needs to be part of the args list.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit fe07ea11465785db69e13f034ea8f2e219b5c64c)
Thanks to Daniel Folkinshteyn for the fix.
Closes: Sf#2965589
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 209facd242ebcf0fc9974f01b87cf47a8e25098f)
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 397cbbe0d3d8ac2ae6ec17ff4f9bfd4fc3297912)
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 3282e3407ede364acbc92b4e9a6319800d50d46a.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 288d7c6e0216baa6445cbd90bb819d1fd0f113c4)
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 408ab6f88a04f593f55ab38e33e558c5297d5d77)
Since every plugin has a log method (to do actual logging), the log command
was conflicting with that. The attempted workaround was overly complicated
and broken. Simply renaming the command to logmark simplifies everything.
Closes Sf #2889709
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit acaa9b1fd6cc9a137db9f97e446ff994c0499273)
Using the compiled regexps for a PluginRegexp method's __doc__ doesn't work.
Closes Sourceforge #2879862
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 25fc2de6430ca76b93054fc440f41e3cd93e67dd)
Also add a missing error check in the `list' db method.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit e92291856423fde6f5e949efceebba97e7566a4c)
Since it was calling irc.reply() in one case, we had both that irc.reply being
sent and the irc.reply() of what getHostmasks returned (None in that case).
Bad!
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit dcb247494e4fd6433865e8c94cf56414fb253192)
This is the only way to limit the execution time of a possibly long-running python statement.
Use this on String.re, due to the possibility of pathologically long re matching in python.
This allows us to remove the 'trusted-only' restriction on string.re.
In the future, this should probably be used in other places that take user-supplied regexps,
such as 'misc last --regexp', for example, as well as other potentially long-running tasks
that can block the bot.
Fixed bug in 100% packet loss response.
Errors from ping are now sent to irc.error().
Added packet count, interval, ttl, and wait options.
Added additional test cases.
Also, Enabled threading for Unix plugin, and
for wtf, spell, and ping commands.
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 3090cffe2c9b9749a42a249285fbc1a4783f1c2e)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
When configured, the outFilter and shrinkSnarfer use cycle through
serviceRotation's list of services. Otherwise, the default service is used.
Closes: deb#539858
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 0bfa0d153c5dd01336efb1cd0330c4a5a3e1405b)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
When configured, the outFilter and shrinkSnarfer use cycle through
serviceRotation's list of services. Otherwise, the default service is used.
Closes: deb#539858
Signed-off-by: James Vega <jamessan@users.sourceforge.net>