Commit Graph

10935 Commits

Author SHA1 Message Date
James Lu
fffe1efa9b Hashes: remove duplicate check for hashlib.algorithms_available
This code is never wrap()'ed if the attribute is unavailable, so it isn't necessary to check for it in runtime twice.
2017-11-09 09:05:58 -08:00
James Lu
287610b776 Hashes: simplify test suites
- Use hasattr instead of assigning the import availability to a variable
- Use a simple if statement instead of redefining skipIf
2017-11-09 09:04:21 -08:00
James Lu
41830a46aa String, Hashes: remove links describing hashing methods
These are either dead or don't accurately describe the state of these methods
today. For example, the SHA1 site still describes SHA-1 and MD5 as "trusted"
despite widely reported collision attacks already being possible[1][2][3].

[1]: https://www.computerworld.com/article/3173616/security/the-sha1-hash-function-is-now-completely-unsafe.html
[2]: https://arstechnica.com/information-technology/2017/02/at-deaths-door-for-years-widely-used-sha1-function-is-now-dead/
[3]: https://techcrunch.com/2017/02/23/security-researchers-announce-first-practical-sha-1-collision-attack/
2017-11-09 09:01:29 -08:00
Ken Spencer
b84ce3e43f Add hashes plugin (#1315)
* add plugin Hashes, containing hash and encryption related commands

* Hashes: make the default plugin Hashes when the commands are used by themselves

* Hashes: add supybot.conf because of registerDefaultPlugin

* Hashes: import registry to help with registerDefaultPlugin

* Hashes: add in nicks for test

* actually use hashlib instead of crypt, also s/'String'/'Hashes'

* Hashes/test: add group in for testing

* Hashes: add in changes per @GLolol

* Hashes: remove xor

* Hashes: make plugins = ('Hashes',) instead of ('Hashes') because python is weird

* Hashes: fix sha512 calling sha256, use utils.str.format on 'algorithms'

* Hashes: just use the variable instead of substitution per @GLolol

* Hashes: follow through with not using substitution

* Hashes: disable the 'algorithms' and 'mkhash' commands if the underlying 'hashlib.algorithms_available' isn't available

* Hashes: don't use registerDefaultPlugin its for core plugins

* Hashes: also somehow I didn't change the copyright

* Hashes/test: fix copyright in file
2017-11-09 17:56:43 +01:00
James Lu
fd59612002 Time: tweak 'ddate missing' error message
Fix grammar and use a consistent URL format.
2017-10-29 16:24:45 -07:00
James Lu
9e7ca56067 Time: be less noisy about missing ddate module
This is a fairly niche command so it's not necessary to bother the user on every load.
Also, clarify which plugin this message originates from.
2017-10-29 16:24:45 -07:00
James Lu
cc06c9f5f0 conf: mention that externalIP is not used by Limnoria core
Closes #1311.
2017-10-29 16:24:45 -07:00
Ken Spencer
e08a393960 src/ircmsgs: modes doesn't just quiet ('Returns a MODE to /quiet/ each of nicks on channel') (#1313)
* src/ircmsgs: modes doesn't just quiet ('Returns a MODE to /quiet/ each of nicks on channel')

* plus also fix some possible english issues

* src/ircmsgs: fix up docs per @GLolol

* src/ircmsgs: fix up wording per @ProgVal s/pairs/2-tuples/
2017-10-29 16:55:10 +01:00
James Lu
40b469ef82
Merge pull request #1312 from IotaSpencer/fix_mailmap
update mailmap with a few more emails
2017-10-28 15:21:32 -07:00
Ken Spencer
4415816468 update mailmap with a few more emails to correctly merge the right commits 2017-10-28 18:17:49 -04:00
Valentin Lorentz
11bbc89c9d Properly handle multiple hosts in supybot.servers.http.hosts4.
See ebb48a4808 (which I reverted).
2017-10-28 09:50:12 +02:00
Valentin Lorentz
96694a31f6 Revert "conf: fix validation of multiple IP addresses"
This reverts commit ebb48a4808.
2017-10-28 09:32:52 +02:00
James Lu
f4cae9614f ShrinkUrl: remove 'expand' as longurl.org has been dead for some time
Closes #1243.
2017-10-28 00:14:05 -07:00
James Lu
ebb48a4808 conf: fix validation of multiple IP addresses
Previously, setting supybot.servers.http.hosts6 to multiple IP addresses always
failed because utils.net.isIPV6() gets passed a string with a space in it.
This code worked however for multiple IPv4 addresses because inet_aton(), which
is used internally by isIPV4(), allows and ignores trailing data after the
first IP address it finds.

Thanks to @MrBenC for reporting.
2017-10-27 23:57:52 -07:00
James Lu
e05f1ae5df ShrinkUrl: fix tests for x0, broken by #1242 2017-10-27 23:48:52 -07:00
James Lu
ec2cf4af37 Owner: fix 'unload' writing duplicate entries to supybot.plugins
Fetch the existing plugin callback to determine the plugin's name in the right case.

Closes #1295.
2017-10-27 23:35:44 -07:00
Ken Spencer
2ba7bc5c16 Time: add 'ddate' (#1310)
* Time: add 'ddate', fix contributors, add Time.local as a package_dir in setup.py

* Time: add in license information for ddate.py

* Time: change 'ddate' command to where it will error out gracefully if 'ddate.base' isn't available

* Time: add tests, remove Time.local from package_dir
2017-10-27 19:25:02 +02:00
Valentin Lorentz
bee98f6711 Conditional: Do not use noReply() after running the command.
As the command already calls reply() or noReply(), calling noReply()
there had disastrous effects:

* if reply() was called, noReply() erases the argument
* if noReply() was called, calling noReply() a second time erases **the next argument** (because the current argument was already erased).

This was 'caused' by the change of behavior of noReply() in 543edccd41.
2017-10-26 09:55:52 +02:00
Valentin Lorentz
965dcc293d Do not call noReply() on raw IRC objects. 2017-10-26 09:21:31 +02:00
Ken Spencer
76c73a57b9 Use a prefix-less help string, don't assume a '@' prefix (#1309)
* Use a prefix-less help string, don't assume a '@' prefix

* Nickometer: follow through on plugin.py with ` -> '
2017-10-25 21:19:37 +02:00
Ken Spencer
71ed64e6b2 Config: Don't use a prefix in _setValue (closes #1307) (#1308)
* Config: Don't use a prefix in _setValue

-- deviated from normal '' line enclosure to allow use of ' in lines without escaping

* fix up edits per @Mikaela
2017-10-25 12:21:50 +02:00
Valentin Lorentz
e08e899134 Fix test 2017-10-21 17:11:21 +02:00
Valentin Lorentz
e16faab805 RSS: On startup, only delay feeds loading for 10 seconds instead of the whole of supybot.plugins.RSS.waitPeriod. 2017-10-21 16:48:44 +02:00
Valentin Lorentz
73ddedd73c Fix previous commit to work with Karma. 2017-10-21 15:53:38 +02:00
Valentin Lorentz
543edccd41 Properly handle noReplies() in nested commands.
This fix prevents the bot from replying 'Error: I tried to send you an empty message'
when 'utilities ignore' is called from an Aka.
2017-10-21 15:37:43 +02:00
Valentin Lorentz
eaa5a5523e RSS: Add var supybot.plugins.RSS.maximumAnnounceHeadlines. 2017-10-12 21:21:50 +02:00
Valentin Lorentz
0998651f61 Aka: Escape the command in help strings, so they can be copy-pasted into @aka add. 2017-10-01 10:40:23 +02:00
James Lu
5ee15c38bb ChannelIdDatabasePlugin: limit --regexp to trusted users
Overcomplicated regexps can freeze the bot, an issue which is amplified as a database (e.g. for quotes) grows. Closes #855.
2017-09-29 16:31:56 -07:00
James Lu
0e1e37a5a2 dictclient: remove overly complex dequote method 2017-09-29 16:20:13 -07:00
James Lu
989ac5ee97 Dict: make dictclient reloadable 2017-09-29 16:16:25 -07:00
James Lu
b6c75a70d3 Math: sync convertcore unit data with ConvertAll 0.7.2
Also add in a special case for handling the new unitless unit ("!!")
2017-09-29 16:02:36 -07:00
James Lu
b5f53fb22f Math.convertcore: remove unused imports 2017-09-29 15:55:27 -07:00
James Lu
2460c0abca Math.convertcore: remove unnecessary StringIO usage
Since the unit data is already a variable, we can read from it as is
2017-09-29 15:54:04 -07:00
James Lu
21a729d95a Math.convertcore: remove useless try/except clause 2017-09-29 15:50:58 -07:00
James Lu
2ea93cdcfd Math: reload convertcore along with the plugin 2017-09-29 15:50:49 -07:00
Valentin Lorentz
e5ef138378 Remove confusing comment (irrelevant since 69ead6c2677262a52f8e9fcd185110d383f2c63d) 2017-09-24 21:21:55 +02:00
Valentin Lorentz
4f6a5e7db9 Add config variable supybot.commands.allowShell. (#1301) 2017-09-24 21:11:21 +02:00
Ken Spencer
82cdf17964 Unix: make the default ping count configurable (fixes #1187)
Squashed commit of the following:

commit 2952c1f3e3d81a4d473bc7037f3fa9091219e483
Author: James Lu <james@overdrivenetworks.com>
Date:   Sat Sep 23 12:42:05 2017 -0700

    Unix: fix wrong conf var name

commit a3ea173ee0995e9d22472cc569d54d7e65648117
Merge: ca037a94 165d9f25
Author: James Lu <james@overdrivenetworks.com>
Date:   Sat Sep 23 12:41:37 2017 -0700

    Merge branch 'configurable-ping-count' of https://github.com/IotaSpencer/Limnoria into configurable-ping-count

commit 165d9f258f02c5adf0087b164e144038c06a46c4
Author: Ken Spencer <ken@electrocode.net>
Date:   Sat Sep 23 15:39:02 2017 -0400

    Unix: use str() on the integer-type defaultCount so we don't get a TypeError

commit f3b58710752f3b40db44ddc97369e15951563ea7
Author: Ken Spencer <ken@electrocode.net>
Date:   Sat Sep 23 15:35:30 2017 -0400

    Unix: use PositiveInteger so < 0 is inherently invalid

commit b4f9e4fdfffcc75c4803480702271647decf73a0
Author: Ken Spencer <ken@electrocode.net>
Date:   Sat Sep 23 15:03:37 2017 -0400

    Unix: make the default ping count configurable
2017-09-23 12:45:17 -07:00
Ken Spencer
ca037a94c5 Network: add all+server+channels and all+channels commands (#1305)
* Network: add all+server+channels and all+channels commands

* Network: fix up commands for PR as per @GLolol

* Network: fix syntax docs, style, use irc.state.channels, not its keys

* move acmd to Admin, remove cmdallchans, can be used by 'cmdall acmd ...'
2017-09-23 15:51:00 +02:00
James Lu
5e880fd73d Karma: reword readme & mention the onlyNicks option
[skip ci]
2017-09-20 21:46:38 -07:00
Valentin Lorentz
a870d02a27 Merge pull request #1304 from tatokis/testing
Fix exception raised due to lack of Content-Type on the Web plugin.
2017-09-21 00:39:19 +02:00
Tasos Sahanidis
8dbf37a173
Web: Fix exception raised due to lack of Content-Type 2017-09-20 04:57:47 +03:00
Valentin Lorentz
4a0ad92e58 Remove overly complicated code. 2017-09-19 00:34:25 +02:00
Valentin Lorentz
53b6acd2f4 please stop spamming irc 2017-09-17 21:39:43 +02:00
Valentin Lorentz
12c8fa2e71 Merge pull request #1302 from ProgVal/glolol/console-quit-subst
Substitute $nick and friends with <console> when exiting on Ctrl-C
2017-09-17 21:09:38 +02:00
James Lu
17a0348d9a Substitute $nick and friends with <console> when exiting on Ctrl-C 2017-09-17 12:07:16 -07:00
James Lu
d96d464698 test: lower wait time between fetching responses, for faster tests 2017-09-17 19:29:50 +02:00
Valentin Lorentz
4b37f91928 Merge pull request #1300 from GLolol/plugindownloader-multibranch
Support non-master branches in PluginDownloader
2017-09-17 10:10:04 +02:00
Valentin Lorentz
afb0cf042f Merge pull request #1299 from GLolol/network-specific-history
Make irc.state.history network specific
2017-09-17 10:09:38 +02:00
James Lu
9fb72bed97 Add the Python 2 (legacy) branch of my repository 2017-08-24 19:13:17 -07:00