Commit Graph

50 Commits

Author SHA1 Message Date
jacksonmj ff4040f479 Alias: prevent "RuntimeError: dictionary changed size during iteration" for invalid aliases 2015-08-22 13:24:19 +00:00
jacksonmj f5c66afe4f Alias: add hard-coded check that alias names are valid registry names 2015-08-22 13:24:01 +00:00
jacksonmj 4507771ce7 Alias: clearer description for list command, as suggested by ProgVal 2015-08-22 12:54:06 +00:00
jacksonmj 92acea7785 Alias: refactor some of the registry access 2015-08-22 12:48:59 +00:00
jacksonmj 963a17c817 Alias: make regex for valid alias names configurable 2015-08-22 11:37:13 +00:00
jacksonmj 54e9b4be09 Alias: add a list command to list aliases, optionally filtered by locked status
("list Alias" includes Alias plugin commands as well as aliases, and cannot be filtered by locked status)
2015-08-22 11:37:12 +00:00
jacksonmj fd53d8c410 Alias: correct unescaping of alias names when creating registry entries in Alias.__init__
Only a problem when the rules on allowed alias names were relaxed, in which case backslashes were duplicated
every time the bot restarted.

Also factor out '.' and '|' checks into needsEscaping function
2015-08-22 11:37:12 +00:00
jacksonmj 711572b5b2 Alias: fix locking and unlocking for escaped aliases 2015-08-22 11:37:12 +00:00
Valentin Lorentz c3a2c800f1 Remove need for 2to3. 2015-08-11 16:50:23 +02:00
Valentin Lorentz 216c5d213f Replace sys.version_info[0] usages with minisix.PY{2,3}. 2015-08-09 00:23:03 +02:00
Valentin Lorentz be118c3338 Remove use of fix_dict fixer. 2015-08-08 23:08:49 +02:00
James Lu 74655e4203 Add help for the following plugins (ref #903):
- Admin
- Alias
- AutoMode
- Channel
- ChannelLogger
- ChannelStats
- Conditional
- Config
- Ctcp
- Dict

- Also, proofread Aka's help from #904 for grammar.
2014-11-29 23:18:44 -08:00
Valentin Lorentz ba9938b735 Fix Python 3 compatibility (broken by f5df6695c0). 2014-07-12 10:13:10 +02:00
Valentin Lorentz 6f19088724 Merge remote-tracking branch 'supybot/master' into testing
Conflicts:
	.gitignore
	plugins/Alias/plugin.py
	plugins/Anonymous/plugin.py
	plugins/Anonymous/test.py
	setup.py
	src/callbacks.py
2014-07-12 09:48:27 +02:00
James McCoy f5df6695c0 Alias: Restore recursion limit and limit memory use
The (faulty) detection of recursive Aliases was removed in
a656fd0693, claiming that "our nesting
limit will catch issues now."  However, nested Aliases weren't actually
increasing the nesting level.

Actually increasing the nesting level when an alias is executed restores
the intended behavior.  Additionally, limiting the size of the
expanded arguments to an alias prevents exponential growth of memory
usage for certain malicious inputs/aliases.

Signed-off-by: James McCoy <vega.james@gmail.com>
2014-06-09 23:48:41 -04:00
Valentin Lorentz 06fdaa792f Continue accelerating the 2to3 step (remove fix_map). 2014-01-21 10:57:38 +01:00
Valentin Lorentz bb7db3ab21 Continue accelerating the 2to3 step (remove fix_except). 2014-01-20 15:49:15 +01:00
Valentin Lorentz 2fda69b4d6 Continue accelerating the 2to3 step (remove fix_raise). 2014-01-20 15:43:55 +01:00
Valentin Lorentz ddbadcafff Alias & Aka: Add memory and nesting limits. Closes GH-525. 2013-11-27 17:38:24 +01:00
Valentin Lorentz 81ce98656f Alias: Allow interrogation mark. 2013-08-25 15:41:56 +02:00
Valentin Lorentz f32f36fea4 Alias: Also allow exclamation marks, as they are allowed by the registry. 2013-08-22 14:03:37 +02:00
Valentin Lorentz a2f115e09f Alias: Prevent @add from allowing invalid names. 2013-08-15 13:30:12 +02:00
Valentin Lorentz b09245a1c6 Alias: Fix @remove for escaped aliases. 2013-07-31 19:28:18 +02:00
Valentin Lorentz f74d23b9c6 Alias: Try to fix UnicodeDecodeError issues. 2013-05-28 21:08:03 +02:00
Valentin Lorentz a678bfc0d2 Alias: Fix encoding issue. 2013-05-18 17:59:26 +02:00
Valentin Lorentz 3dba9088b0 Merge remote-tracking branch 'supybot/master' into testing
Conflicts:
	INSTALL
	plugins/ChannelLogger/README.txt
	plugins/ChannelStats/README.txt
	plugins/Google/plugin.py
	plugins/Google/test.py
	plugins/Plugin/test.py
	plugins/Web/test.py
	setup.py
	src/callbacks.py
	src/ircdb.py
	src/irclib.py
	src/utils/str.py
	test/test_irclib.py
2013-01-01 21:11:24 +01:00
James McCoy 82ecf36fcd Update my name/contact information
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-09-01 10:16:48 -04:00
Valentin Lorentz 45bf9db03c Merge branch 'py3k-backport' into testing
This branch provides support of Python 3 via 2to3 (without dropping
Python 2 support).
2012-08-08 21:46:29 +02:00
Valentin Lorentz 62d56dee18 Alias: Allow pipes in name. 2012-08-08 21:44:10 +02:00
Valentin Lorentz 94d09da44a Alias: Save and restore aliases with dots in them. 2012-08-06 20:36:10 +02:00
Valentin Lorentz 242a54fbf2 Alias & RSS: remove third argument to types.MethodType.
It is useless in the case in point, and is not compatible with Python 3.
2012-08-05 14:08:04 +02:00
Valentin Lorentz 8b7d16c850 Alias & RSS: Use types.MethodType instead of new.instancemethod. 2012-08-04 18:46:16 +02:00
skizzhg 56afad786c Alias: Fix the help for @alias add. 2012-02-16 17:17:00 +01:00
Valentin Lorentz e5e705f78c Fix %n issue in Alias 2010-10-17 16:02:11 +02:00
Valentin Lorentz ca23f946e5 Internationalize Alias, Anonymous, AutoMode, and BadWord 2010-10-16 18:54:18 +02:00
James Vega 0c62204809 Use conf.registerGlobalValue to ensure generated values are properly setup.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2010-06-24 00:37:40 -04:00
Daniel Folkinshteyn f880037e41 for Alias, make doc string say "at least x args" if there are optional args in addition to required args.
yay for cosmetic improvements. :)

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2010-04-14 22:29:58 -04:00
Daniel Folkinshteyn 8d64d08645 fix alias bug https://sourceforge.net/tracker/?func=detail&aid=2987147&group_id=58965&atid=489447
add tests for appropriate behavior

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2010-04-14 22:25:40 -04:00
James Vega 54dda880d4 Add a pluginCommands kwarg to Commands.listCommands.
Plugins which implement their own listCommands method should pass their
non-typically discoverable commands to Commands.listCommands via this
mechanism.  This means that the de-duplication of commands is performed in one
spot instead of having each plugin implement it on their on in their
listCommands method.

This reverts commits 0ce829af6215b97e725f4d6d580d1151950be869 and
09fb0e6fc974445a3414fb03a94625f8538d4570.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-05-22 18:52:15 -04:00
James Vega 20dd2a0782 No need to define Alias.listCommands.
Doing so can actually result in duplicate alias listings.
2009-03-11 13:37:27 -04:00
James Vega afc78317c7 plugins/Alias: Update Alias.lock and Alias.unlock to work now that aliases are no longer attributes of the plugin. 2006-04-27 22:11:30 +00:00
James Vega a3e4fc5b1d Change the modeline to use softtabstop instead of tabstop. 2006-02-11 15:52:51 +00:00
James Vega 4baff174a5 plugins/Alias: Stop using attributes for aliases. 2005-05-29 19:41:49 +00:00
James Vega 994cff5c05 Update a couple missed changeFunctionName calls. 2005-05-16 03:25:43 +00:00
James Vega 3e07d76dcd Alias names can coincide with plugin names now. 2005-04-21 01:56:07 +00:00
James Vega 9971e991fe Fix the modelines. 2005-03-23 20:07:45 +00:00
Jeremy Fincher bd23fd647b Fixed to make the tests run again with the new refactoring. 2005-02-18 07:31:51 +00:00
Jeremy Fincher b0cb616709 Changed callbacks.Privmsg to be callbacks.Plugin, and callbacks.PrivmsgCommandAndRegexp to be callbacks.Plugin. 2005-02-09 07:04:04 +00:00
Jeremy Fincher a656fd0693 Removed recursive alias detection; it was imperfect and our nesting limit will catch issues now. 2005-02-04 02:35:39 +00:00
Jeremy Fincher 75d45b9305 Added Alias in the new plugin format. 2005-02-02 21:48:04 +00:00