gemini fix checker
This commit is contained in:
@@ -9,7 +9,7 @@ module FWL.Check
|
|||||||
, CheckError(..)
|
, CheckError(..)
|
||||||
) where
|
) where
|
||||||
|
|
||||||
import Data.List (foldl', nub)
|
import Data.List (nub)
|
||||||
import qualified Data.Map.Strict as Map
|
import qualified Data.Map.Strict as Map
|
||||||
import qualified Data.Set as Set
|
import qualified Data.Set as Set
|
||||||
|
|
||||||
@@ -43,12 +43,12 @@ buildEnv = foldl' addDecl Map.empty
|
|||||||
where
|
where
|
||||||
addDecl m (DInterface n _ _) = Map.insert n KInterface m
|
addDecl m (DInterface n _ _) = Map.insert n KInterface m
|
||||||
addDecl m (DZone n _) = Map.insert n KZone m
|
addDecl m (DZone n _) = Map.insert n KZone m
|
||||||
|
addDecl m (DImport n _ _) = Map.insert n KLet m
|
||||||
addDecl m (DLet n _ _) = Map.insert n KLet m
|
addDecl m (DLet n _ _) = Map.insert n KLet m
|
||||||
addDecl m (DPattern n _ _) = Map.insert n KPattern m
|
addDecl m (DPattern n _ _) = Map.insert n KPattern m
|
||||||
addDecl m (DFlow n _) = Map.insert n KFlow m
|
addDecl m (DFlow n _) = Map.insert n KFlow m
|
||||||
addDecl m (DRule n _ _) = Map.insert n KRule m
|
addDecl m (DRule n _ _) = Map.insert n KRule m
|
||||||
addDecl m (DPolicy n _ _ _) = Map.insert n KPolicy m
|
addDecl m (DPolicy n _ _ _) = Map.insert n KPolicy m
|
||||||
addDecl m _ = m
|
|
||||||
|
|
||||||
findDups :: [Decl] -> [CheckError]
|
findDups :: [Decl] -> [CheckError]
|
||||||
findDups decls = go [] Set.empty decls
|
findDups decls = go [] Set.empty decls
|
||||||
@@ -100,11 +100,12 @@ checkName env kind n
|
|||||||
isBuiltin :: String -> Bool
|
isBuiltin :: String -> Bool
|
||||||
isBuiltin n = n `elem`
|
isBuiltin n = n `elem`
|
||||||
[ "ct", "iif", "oif", "lo", "wan", "lan"
|
[ "ct", "iif", "oif", "lo", "wan", "lan"
|
||||||
, "tcp", "udp", "ip", "ip6", "eth"
|
, "tcp", "udp", "ip", "ip6", "eth", "wg"
|
||||||
, "Established", "Related", "DNAT"
|
, "Established", "Related", "DNAT"
|
||||||
, "Allow", "Drop", "Continue", "Masquerade"
|
, "Allow", "Drop", "Continue", "Masquerade", "DNATMap"
|
||||||
, "Matched", "Unmatched"
|
, "Matched", "Unmatched"
|
||||||
, "true", "false"
|
, "true", "false"
|
||||||
|
, "matches", "flowOf", "Warn"
|
||||||
]
|
]
|
||||||
|
|
||||||
checkPat :: Env -> Pat -> [CheckError]
|
checkPat :: Env -> Pat -> [CheckError]
|
||||||
@@ -177,7 +178,7 @@ checkExpr env (EInfix _ l r) = checkExpr env l ++ checkExpr env r
|
|||||||
checkExpr env (ENot e) = checkExpr env e
|
checkExpr env (ENot e) = checkExpr env e
|
||||||
|
|
||||||
checkStmt :: Env -> DoStmt -> [CheckError]
|
checkStmt :: Env -> DoStmt -> [CheckError]
|
||||||
checkStmt env (DSBind n e) = checkExpr env e
|
checkStmt env (DSBind _ e) = checkExpr env e
|
||||||
checkStmt env (DSExpr e) = checkExpr env e
|
checkStmt env (DSExpr e) = checkExpr env e
|
||||||
|
|
||||||
-- ─── Policy termination ───────────────────────────────────────────────────────
|
-- ─── Policy termination ───────────────────────────────────────────────────────
|
||||||
|
|||||||
Reference in New Issue
Block a user