From 28fb603ca0b45719bc82112418b85140e764ad3c Mon Sep 17 00:00:00 2001 From: Jeremy Fincher Date: Tue, 7 Oct 2003 22:19:08 +0000 Subject: [PATCH] Added some more error-checking to the addAlias method. --- plugins/Alias.py | 3 +++ test/test_Alias.py | 2 ++ 2 files changed, 5 insertions(+) diff --git a/plugins/Alias.py b/plugins/Alias.py index 2845dd9a4..1312cb5ae 100644 --- a/plugins/Alias.py +++ b/plugins/Alias.py @@ -185,7 +185,10 @@ class Alias(callbacks.Privmsg): irc.error(msg, 'There is no such alias.') unfreeze = privmsgs.checkCapability(unfreeze, 'admin') + _invalidCharsRe = re.compile(r'[\[\]\s]') def addAlias(self, irc, name, alias, freeze=False): + if self._invalidCharsRe.search(name): + raise AliasError, 'Names cannot contain spaces or square brackets.' realName = callbacks.canonicalName(name) if name != realName: raise AliasError,'That name isn\'t valid. Try %r instead'%realName diff --git a/test/test_Alias.py b/test/test_Alias.py index c02af884f..ea0ba2c2d 100644 --- a/test/test_Alias.py +++ b/test/test_Alias.py @@ -96,6 +96,8 @@ class AliasTestCase(PluginTestCase, PluginDocumentation): def testNonCanonicalName(self): self.assertError('alias FOO foo') + self.assertError('alias [] foo') + self.assertError('alias "foo bar" foo') def testNotCannotNestRaised(self): self.assertNotError('alias mytell "tell $channel $1"')