Commit Graph

2935 Commits

Author SHA1 Message Date
Daniel Folkinshteyn
37597bfe94 Create a commands.process function which runs a function inside a separate process.
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.

Conflicts:

	plugins/String/plugin.py
	src/commands.py
2011-08-15 17:24:33 +02:00
Daniel Folkinshteyn
3fa45b3b5f Secure some more commands which take a regexp from untrusted user input.
Namely todo.search, note.search, dunno.search.

Conflicts:

	plugins/Note/plugin.py
	plugins/Todo/plugin.py
	src/version.py
2011-08-13 01:59:18 +02:00
Daniel Folkinshteyn
0e3002d1f8 String: set default re subprocess timeout to 0.1, since that should be quite enough.
Conflicts:

	plugins/String/config.py
2011-08-13 01:57:03 +02:00
Daniel Folkinshteyn
e11dc28025 Misc: fix potential ddos when misc.last command is fed a specially-crafted regexp.
Conflicts:

	plugins/Misc/plugin.py
2011-08-13 01:56:21 +02:00
Daniel Folkinshteyn
91ac1c2179 String: fix it up to work with the previously committed enhancement for subprocess timeout.
Conflicts:

	plugins/String/plugin.py
2011-08-13 01:55:25 +02:00
Daniel Folkinshteyn
3526d5dabf src/commands.py: make subprocesses raise an error on timeout, rather than return a string
Conflicts:

	src/commands.py
2011-08-13 01:53:58 +02:00
Valentin Lorentz
d85cbd256b Misc: Security fix to @last: time-consuming could freeze the bot. Closes GH-157. 2011-08-12 18:51:40 +02:00
Valentin Lorentz
8d6ce790e8 Time: Remove useless/bad/wrong error message from @tztime. 2011-08-12 13:07:40 +02:00
Valentin Lorentz
2caae4d043 Merge branch 'testing' of github.com:ProgVal/Limnoria into testing 2011-08-12 13:07:14 +02:00
Valentin Lorentz
1fa02674a0 Revert "In registry.py, test whether a requested configuration variable is a channel name before creating it automatically. Closes GH-63."
This reverts commit c6facc99f3.

Conflicts:

	src/version.py
2011-08-12 01:06:31 +02:00
skizzhg
54aef4f3d5 Later & Misc & Seen & Todo: Update l10n-it. 2011-08-10 17:23:59 +02:00
Daniel Folkinshteyn
6dca55deeb Services: fix problem with some channels being mixed up between networks on startup, when noJoinsUntilIdentified is true.
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.
2011-08-10 12:00:42 +02:00
skizzhg
cf436631d6 Admin & Anonymous & AutoMode & Channel & Misc & NickCapture & Seen & Todo & URL: Update l10n-it. 2011-08-10 11:48:07 +02:00
Valentin Lorentz
bc36debe2f ChannelLogger & Format & Karma & Later & Misc & Owner & Reply & Seen & Status & Todo & URL & Unix: Update messages.pot and l10n-fr. 2011-08-10 11:44:57 +02:00
skizzhg
6e5350def6 ChannelLogger & Format & Karma & Owner & Reply & Status & URL & Unix: Fix typoes. 2011-08-10 11:26:47 +02:00
Valentin Lorentz
f3b6b182aa Reply: Fix typo and update l10n-*. Closes GH-125. 2011-08-07 12:04:31 +02:00
Valentin Lorentz
52e0bc5ac0 NickCapture: Fix plugin help and l10n-fr. Closes GH-116. 2011-08-07 12:02:06 +02:00
Valentin Lorentz
2e0f33f655 User: Admins can now see capabilities of other users. Closes GH-106. 2011-08-07 11:59:19 +02:00
Valentin Lorentz
9cd2c31dd4 Misc: Notify the caller when @tell succeeded. Closes GH-97. 2011-08-07 11:30:51 +02:00
skizzhg
e2b598d5b7 Update core l10n-it. 2011-08-07 11:16:49 +02:00
skizzhg
7e88bb1ce3 Update l10n-it for many plugins. 2011-08-07 11:16:04 +02:00
Valentin Lorentz
fb278f42fc MessageParser: update internationalization. 2011-08-06 18:57:56 +02:00
skizzhg
a7c6a6337a MessageParser: fix typo. 2011-08-06 18:56:28 +02:00
skizzhg
1af08c27d7 Admin & Channel & Games & Math & MessageParser & Misc & MoobotFactoids & Network & Nickometer & Owner & Praise & Relay & Reply & Topic & Unix & Web: update/add l10n-it. 2011-08-06 18:55:38 +02:00
skizzhg
4ac82fb411 src/httpserver.py: fix typo. 2011-08-06 18:53:53 +02:00
skizzhg
7d8258f6a2 Core l10n-it. 2011-08-06 18:53:15 +02:00
skizzhg
94548c4dd6 src/conf.py: fix typos. 2011-08-06 18:51:46 +02:00
skizzhg
789e0f135c Utilities: fix l10n-it. 2011-07-22 02:02:11 +02:00
skizzhg
e37e292484 Channel & Factoids & Google & MessageParser & MoobotFactoids & Services & Topic & User: Add/update l10n-it. 2011-07-22 01:36:07 +02:00
Valentin Lorentz
a94b10e19b Channel: fix typo. 2011-07-22 01:34:31 +02:00
Valentin Lorentz
c571d0e007 Topic: fix typo in @unlock help. 2011-07-20 21:28:43 +02:00
Valentin Lorentz
547bf62dac Filter: Fix l10n-fr. 2011-07-19 23:49:34 +02:00
Valentin Lorentz
083815c6f7 Factoids: Fix typo. 2011-07-18 15:23:06 +02:00
skizzhg
a4c0a13b1d MessageParser: Fix typo (rexeps -> regexps). 2011-07-17 15:21:07 +02:00
Daniel Folkinshteyn
453f61da53 Dict: Fix FSF address in included dictclient module
Taking fresh address from http://www.gnu.org/licenses/old-licenses/gpl-2.0.html#SEC4
2011-07-16 14:27:52 +02:00
Valentin Lorentz
24aa0b6754 Later: add @undo command. Closes GH-76. 2011-07-16 13:59:49 +02:00
Valentin Lorentz
4e6d08c7ce Misc: Fix @source help. Closes GH-78. 2011-07-16 13:45:43 +02:00
Valentin Lorentz
03cc4c7ab7 supybot-wizard: Suggest most useful plugins when the user want to add plugins en masse. Closes GH-84. 2011-07-16 13:37:56 +02:00
Valentin Lorentz
83e55fbbbd PluginDownloader: Installing a plugin overrides the existing plugin with the same name, if any. 2011-07-14 17:34:27 +02:00
Valentin Lorentz
4edfed5ed7 AutoMode: fix previous commit. 2011-07-12 16:09:55 +02:00
Valentin Lorentz
fac7f9b379 AutoMode & Conditional & Misc & Network & Owner & Plugin & RSS & Relay & Services & String & Unix: Add l10n-it. 2011-07-12 15:04:13 +02:00
Valentin Lorentz
6b160def92 Misc: Update messages.pot and l10n-fr. 2011-07-10 19:00:12 +02:00
Valentin Lorentz
a83f2c9a07 Misc: Change URL in @source. 2011-07-10 17:08:20 +02:00
Valentin Lorentz
0dfdfa2d28 Channel: fix NameError: 'replyirc' -> 'replyIrc'. Closes GH-73. 2011-07-09 14:05:28 +02:00
Valentin Lorentz
f943fee5d5 Protector: unban user before inviting him. Closes GH-69. 2011-07-09 13:44:16 +02:00
Valentin Lorentz
a4653af792 Protector: Bug fix (demote can't use irc.queueMsg if irc is not given). 2011-07-09 13:43:24 +02:00
Valentin Lorentz
c06b86b13c Bug fixes in src/ircmsgs.py
unbans did send the repr() of the ban list, and IrcMsg.__hash__ did try to hash a list.
2011-07-09 13:42:34 +02:00
Valentin Lorentz
6831b75d72 Conditional: fix typo. 2011-07-08 10:41:36 +02:00
Daniel Folkinshteyn
48979a4db7 Scheduler: remove spammy debug output. 2011-07-07 13:33:30 +02:00
Daniel Folkinshteyn
4b1d2b49e4 Scheduler: don't immediately execute commands when restoring repeated events. 2011-07-07 13:31:50 +02:00
Valentin Lorentz
c6facc99f3 In registry.py, test whether a requested configuration variable is a channel name before creating it automatically. Closes GH-63. 2011-07-06 11:14:58 +02:00
Valentin Lorentz
0e61cf9837 Add assertNotHTTPResponse to HTTP unit tests. 2011-07-03 17:09:53 +02:00
Valentin Lorentz
f4b81659af Add unit tests to the HTTP server. 2011-07-03 16:16:19 +02:00
Valentin Lorentz
39b3784a12 First try for unit tests for the HTTP server. 2011-07-03 10:46:48 +02:00
Valentin Lorentz
8c1d10e8f3 MoobotFactoids: Use when opening the database. 2011-07-02 11:50:31 +02:00
Valentin Lorentz
9aa32da082 Fix typo in HTTP server. 2011-07-01 16:25:50 +02:00
Valentin Lorentz
5215aa1095 Move http server from src/utils/ to src/ 2011-07-01 16:15:04 +02:00
Valentin Lorentz
4ebcda024b Bug fix (I didn't test the previous commit correctly) 2011-07-01 16:11:37 +02:00
Valentin Lorentz
41514bafdd Core & Channel & Topic: Add the isGranted converter. Closes GH-39. 2011-07-01 15:58:39 +02:00
Valentin Lorentz
d4693ebb69 Add callback (mainly useful for plugins) for config edits. Closes GH-24. 2011-07-01 11:11:39 +02:00
Valentin Lorentz
efc30a4ed2 Fix traceback when sending POST requests to the 404 error handler. 2011-06-30 00:58:46 +02:00
Valentin Lorentz
1c366a2899 src/i18n.py: fix error when running @reloadlocale with a plugin loaded before but not available any longer. 2011-06-28 19:52:18 +02:00
Valentin Lorentz
509a6c1780 Forgot a debug print in httpserver.py 2011-06-25 16:28:49 +02:00
Valentin Lorentz
a7f6f6c3b3 Update the version string 2011-06-25 15:15:19 +02:00
Valentin Lorentz
4df4977a76 Internationalize strings in the HTTP server. Closes GH-29. 2011-06-25 14:27:44 +02:00
Valentin Lorentz
fc41fc6153 Add support for POST and HEAD requests to the HTTP server. 2011-06-25 11:37:10 +02:00
Valentin Lorentz
fa3fc7d20a Fix exception when stopping the HTTP server if already stopped. 2011-06-25 10:02:30 +02:00
Valentin Lorentz
ff2047997a Merge branch 'httpserver' into testing 2011-06-24 18:12:50 +02:00
Valentin Lorentz
952db3a6bd supybot.servers.http.keepAlive defaults to False. 2011-06-24 18:12:43 +02:00
Valentin Lorentz
a1b2e931b7 Merge branch 'httpserver' into testing 2011-06-24 16:37:54 +02:00
Valentin Lorentz
b9baa579fe Bug fix in HTTP server. 2011-06-24 16:26:32 +02:00
Valentin Lorentz
14393a6959 Merge branch 'httpserver' into testing 2011-06-24 15:41:03 +02:00
Valentin Lorentz
667d7c34b4 Bug fixes to the HTTP server 2011-06-24 15:32:22 +02:00
Valentin Lorentz
728587be58 Fix comment in src/__init__.py 2011-06-24 14:52:24 +02:00
Valentin Lorentz
ef5438e937 Add docstrings to the HTTP server callbacks 2011-06-24 14:52:01 +02:00
Valentin Lorentz
13e4f45e30 Add an embedded HTTP server to Supybot. 2011-06-24 14:31:29 +02:00
Valentin Lorentz
94f4d55734 Update version 2011-06-23 12:30:23 +02:00
Valentin Lorentz
693ba6aba0 Don't tell owner to contact an admin. Closes GH-20. 2011-06-22 21:37:34 +02:00
Valentin Lorentz
ebb3aae81c Raise an exception when plugin is not found instead of returning None in i18n.getPluginDir() 2011-06-17 15:36:38 +02:00
Valentin Lorentz
4f91a62f27 Update version 2011-06-16 19:08:48 +02:00
Valentin Lorentz
3e76a72e7c Use limnoria as a default ident (instead of supybot) 2011-06-13 11:25:19 +02:00
James Vega
543e78828b Add utils.net.isIPV4, with utils.net.isIP checking v4 or v6
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2011-06-06 21:44:15 -04:00
Valentin Lorentz
6c1699583b Misc: use Limnoria version string. 2011-06-05 20:30:32 +02:00
Daniel Folkinshteyn
ef6fe23e02 Seen: fix tests so they pass. fix seen command so it properly accepts nick wildcards.
Conflicts:

	src/version.py
2011-05-27 18:16:42 +02:00
Valentin Lorentz
8979475e13 Fix compatibility with Windows ('u' flag not supported by open()) 2011-05-07 09:12:03 +02:00
Valentin Lorentz
ce29bf8b5c Fix installation on a system that never had Supybot installed (fix commit 05c9482759) 2011-05-06 19:34:46 +02:00
Valentin Lorentz
d6cd8a5427 Fix email regexp to be RFC-compliant 2011-05-03 20:23:20 +02:00
Valentin Lorentz
58f115dde8 Add script to automatically update version with a datestamp upon commit. (Thanks nanotube) 2011-04-26 10:32:49 +02:00
Daniel Folkinshteyn
05c9482759 Consolidate the version string to reside in one central place to ease change making. 2011-04-26 10:23:18 +02:00
Valentin Lorentz
872e92eaff Merge branch 'testing' 2011-03-08 15:21:31 +01:00
Valentin Lorentz
39fa7e68d3 Fix syntax error 2011-03-05 09:51:05 +01:00
Valentin Lorentz
65d737873b Add another solution in error message about TypeErrors raised in plugins' __init__() 2011-03-05 09:44:40 +01:00
Valentin Lorentz
32b21cbc18 Add a clue in solving issue with wrapping wrapped commands 2011-03-01 08:47:53 +01:00
Valentin Lorentz
db849e21a0 Add a try/catch arround plugin directory determination (might be useful for some utilities...) 2011-02-28 16:02:17 +01:00
Valentin Lorentz
178d1aca00 Fix coding string of src/__init__.py 2011-02-27 13:08:51 +01:00
Valentin Lorentz
44458d4b57 Change version number to 0.83.4.1+git+fr3 2011-02-27 12:01:51 +01:00
James Vega
4af9d8735f Make registry.Regexp.error mimic registry.Value.error
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)

Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
2011-02-25 19:13:57 +01:00
Daniel Folkinshteyn
73e822ca56 Undo mtughan's bugfix from 7f9a113060, so i can merge jamessan's fix ef8bd817e8 2011-02-25 19:13:50 +01:00
Daniel Folkinshteyn
e939cfd124 update Karma plugin and test code to use sqlite3.
This involved also updating src/conf.py to look for sqlite3 and add it to supybot.conf.databases list,
since karma uses the plugins.DB() constructor for its database, which checks the available databases list.
2011-02-25 19:11:58 +01:00
Daniel Folkinshteyn
4cd0d19be7 commit mtughan's bugfix for this bug:
https://sourceforge.net/tracker/?func=detail&aid=2985241&group_id=58965&atid=489447
2011-02-25 18:48:46 +01:00