summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/Propellor/Property/Firewall.hs8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/Propellor/Property/Firewall.hs b/src/Propellor/Property/Firewall.hs
index 2dff2953..b90f588a 100644
--- a/src/Propellor/Property/Firewall.hs
+++ b/src/Propellor/Property/Firewall.hs
@@ -39,7 +39,7 @@ rule c t rs = property ("firewall rule: " <> show r) addIpTable
toIpTable :: Rule -> [CommandParam]
toIpTable r = map Param $
show (ruleChain r) :
- toIpTableArg (ruleRules r) ++ [ "-j" , show $ ruleTarget r ]
+ toIpTableArg (ruleRules r) ++ [ "-j" , fromTarget $ ruleTarget r ]
toIpTableArg :: Rules -> [String]
toIpTableArg Everything = []
@@ -81,9 +81,13 @@ data Rule = Rule
data Chain = INPUT | OUTPUT | FORWARD
deriving (Eq, Show)
-data Target = ACCEPT | REJECT | DROP | LOG
+data Target = ACCEPT | REJECT | DROP | LOG | CustomTarget String
deriving (Eq, Show)
+fromTarget :: Target -> String
+fromTarget (CustomTarget ct) = ct
+fromTarget t = show t
+
data Proto = TCP | UDP | ICMP
deriving (Eq, Show)