blob: 7686c8b3d52cb10901f5aea09ca65b4c9be4fb77 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
module Property.Network where
import Common
import qualified Property.File as File
interfaces :: FilePath
interfaces = "/etc/network/interfaces"
-- 6to4 ipv6 connection, should work anywhere
ipv6to4 :: Property
ipv6to4 = fileProperty "ipv6to4" go interfaces
`onChange` ifUp "sit0"
where
go ls
| all (`elem` ls) stanza = ls
| otherwise = ls ++ stanza
stanza =
[ "# Automatically added by propeller"
, "iface sit0 inet6 static"
, " address 2002:5044:5531::1"
, " netmask 64"
, " gateway ::192.88.99.1"
, "# End automatically added by propeller"
ifUp :: String -> Property
ifUp iface = cmdProperty "ifup" [Param iface]
|