# HG changeset patch
# User unc0rr
# Date 1308591608 -14400
# Node ID e32fc0fcaad03c3ddae44d7c62869cac65b795ca
# Parent  eedc0f8ed38b0f85fcd6d6f26af742474e24986f
Implement testing for illegal characters

diff -r eedc0f8ed38b -r e32fc0fcaad0 gameServer/Utils.hs
--- a/gameServer/Utils.hs	Mon Jun 20 12:57:44 2011 -0400
+++ b/gameServer/Utils.hs	Mon Jun 20 21:40:08 2011 +0400
@@ -75,7 +75,9 @@
             t : replaceTeam tm ts
 
 illegalName :: B.ByteString -> Bool
-illegalName s = B.null s || B.all isSpace s || isSpace (B.head s) || isSpace (B.last s)
+illegalName s = B.null s || B.all isSpace s || isSpace (B.head s) || isSpace (B.last s) || B.any isIllegalChar s
+    where
+        isIllegalChar c = c `List.elem` "$()*+?[]^{|}"
 
 protoNumber2ver :: Word16 -> B.ByteString
 protoNumber2ver v = Map.findWithDefault "Unknown" v vermap