# HG changeset patch # User alfadur # Date 1549395635 -10800 # Node ID bc267f6b29d7f577f00aa563956290b774e93639 # Parent 932ff76836538bfc24a3354562ba7db274353edb use literal bans by default diff -r 932ff7683653 -r bc267f6b29d7 gameServer/Actions.hs --- a/gameServer/Actions.hs Tue Feb 05 17:46:43 2019 +0300 +++ b/gameServer/Actions.hs Tue Feb 05 22:40:35 2019 +0300 @@ -668,7 +668,10 @@ checkBan False _ n (BanByNick bn _ _) = isMatch bn n checkBan _ _ _ _ = False isMatch :: B.ByteString -> B.ByteString -> Bool - isMatch rexp src = (==) (Just True) $ mrexp rexp >>= flip matchM src + isMatch rexp src = case B.uncons rexp of + Nothing -> False + Just ('^', rexp') -> (==) (Just True) $ mrexp rexp' >>= flip matchM src + Just _ -> rexp == src mrexp :: B.ByteString -> Maybe TDFAB.Regex mrexp = makeRegexOptsM TDFA.defaultCompOpt{TDFA.caseSensitive = False} TDFA.defaultExecOpt getBanReason (BanByIP _ msg _) = msg