1 import Network.DNS.DomainMap (DomainMap)
2 import Network.DNS.Message
3 import Network.DNS.Named
4 import Network.DNS.Named.Config
5 import Network.DNS.Named.Zone
6 import Network.Socket.IsString ()
9 main = runNamed cnf zones
13 cnfServerPort = "9090"
14 , cnfAllowTransfer = True
17 zones :: DomainMap Zone
20 zoneName = "cielonegro.org."
21 , zoneSOA = Just SOAFields {
22 soaMasterNameServer = "ns.cielonegro.org."
23 , soaResponsibleMailbox = "root.ns.cielonegro.org."
24 , soaSerialNumber = 2008022148
25 , soaRefreshInterval = 3600
26 , soaRetryInterval = 900
27 , soaExpirationLimit = 3600000
28 , soaMinimumTTL = 3600
30 , zoneRecordNames = return [ "ns.cielonegro.org."
31 , "www.cielonegro.org."
32 , "git.cielonegro.org."
34 , zoneResponder = return . responder
38 responder :: DomainName -> [SomeRR]
40 | name == "ns.cielonegro.org."
41 = [ wrapRecord ResourceRecord {
46 , rrData = "127.0.0.1"
48 , wrapRecord ResourceRecord {
56 | name == "www.cielonegro.org."
57 = [ wrapRecord ResourceRecord {
62 , rrData = "127.0.0.2"
64 , wrapRecord ResourceRecord {
69 , rrData = "fe80::216:cbff:fe39:56a4"
72 | name == "git.cielonegro.org."
73 = [ wrapRecord ResourceRecord {
78 , rrData = "www.cielonegro.org."
82 = [] -- This means NXDOMAIN.