summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFĂ©lix Sipma2016-02-04 16:00:50 +0100
committerJoey Hess2016-02-25 17:19:57 -0400
commitbd84117979a8e934d0c0922aca4eef27815155f8 (patch)
treedc4f059ae89b789850c9bb2539f6028ddb225049 /src
parentc6fcacb6e41f678757599b00eb653b3df489f19a (diff)
Firewall: add CustomTarget
(cherry picked from commit ecff879cfeacfbff00649f4a3b9dd19eaefe134f)
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)