propellor-5.1.0: property-based host configuration management in haskell

MaintainerArnaud Bailly <arnaud.oqube@gmail.com>
Safe HaskellNone
LanguageHaskell98

Propellor.Property.Firewall

Description

Properties for configuring firewall (iptables) rules

Documentation

data Chain Source #

Instances

Eq Chain Source # 

Methods

(==) :: Chain -> Chain -> Bool

(/=) :: Chain -> Chain -> Bool

Show Chain Source # 

Methods

showsPrec :: Int -> Chain -> ShowS

show :: Chain -> String

showList :: [Chain] -> ShowS

ConfigurableValue Chain Source # 

Methods

val :: Chain -> String Source #

data Table Source #

Constructors

Filter 
Nat 
Mangle 
Raw 
Security 

Instances

Eq Table Source # 

Methods

(==) :: Table -> Table -> Bool

(/=) :: Table -> Table -> Bool

Show Table Source # 

Methods

showsPrec :: Int -> Table -> ShowS

show :: Table -> String

showList :: [Table] -> ShowS

ConfigurableValue Table Source # 

Methods

val :: Table -> String Source #

data Target Source #

Constructors

ACCEPT 
REJECT 
DROP 
LOG 
TargetCustom String 

Instances

Eq Target Source # 

Methods

(==) :: Target -> Target -> Bool

(/=) :: Target -> Target -> Bool

Show Target Source # 

Methods

showsPrec :: Int -> Target -> ShowS

show :: Target -> String

showList :: [Target] -> ShowS

ConfigurableValue Target Source # 

Methods

val :: Target -> String Source #

data Proto Source #

Constructors

TCP 
UDP 
ICMP 

Instances

Eq Proto Source # 

Methods

(==) :: Proto -> Proto -> Bool

(/=) :: Proto -> Proto -> Bool

Show Proto Source # 

Methods

showsPrec :: Int -> Proto -> ShowS

show :: Proto -> String

showList :: [Proto] -> ShowS

data Rules Source #

Constructors

Everything 
Proto Proto

There is actually some order dependency between proto and port so this should be a specific data type with proto + ports

DPort Port 
DPortRange (Port, Port) 
InIFace Interface 
OutIFace Interface 
Ctstate [ConnectionState] 
ICMPType ICMPTypeMatch 
RateLimit Frequency 
TCPFlags TCPFlagMask TCPFlagComp 
TCPSyn 
GroupOwner Group 
Source [IPWithMask] 
Destination [IPWithMask] 
NotDestination [IPWithMask] 
NatDestination IPAddr (Maybe Port) 
Rules :- Rules infixl 0

Combine two rules

Instances

Eq Rules Source # 

Methods

(==) :: Rules -> Rules -> Bool

(/=) :: Rules -> Rules -> Bool

Show Rules Source # 

Methods

showsPrec :: Int -> Rules -> ShowS

show :: Rules -> String

showList :: [Rules] -> ShowS

Monoid Rules Source # 

data ICMPTypeMatch Source #

Constructors

ICMPTypeName String 
ICMPTypeCode Int 

Instances

data TCPFlag Source #

Constructors

SYN 
ACK 
FIN 
RST 
URG 
PSH 
ALL 
NONE 

Instances

Eq TCPFlag Source # 

Methods

(==) :: TCPFlag -> TCPFlag -> Bool

(/=) :: TCPFlag -> TCPFlag -> Bool

Show TCPFlag Source # 

Methods

showsPrec :: Int -> TCPFlag -> ShowS

show :: TCPFlag -> String

showList :: [TCPFlag] -> ShowS

data Frequency Source #

Constructors

NumBySecond Int 

Instances

Eq Frequency Source # 

Methods

(==) :: Frequency -> Frequency -> Bool

(/=) :: Frequency -> Frequency -> Bool

Show Frequency Source # 

Methods

showsPrec :: Int -> Frequency -> ShowS

show :: Frequency -> String

showList :: [Frequency] -> ShowS

ConfigurableValue Frequency Source # 

Methods

val :: Frequency -> String Source #

data IPWithMask Source #

Instances

Eq IPWithMask Source # 

Methods

(==) :: IPWithMask -> IPWithMask -> Bool

(/=) :: IPWithMask -> IPWithMask -> Bool

Show IPWithMask Source # 

Methods

showsPrec :: Int -> IPWithMask -> ShowS

show :: IPWithMask -> String

showList :: [IPWithMask] -> ShowS

ConfigurableValue IPWithMask Source # 

Methods

val :: IPWithMask -> String Source #