+ zones :: DomainMap Zone
+ zones = fromZones
+ [ Zone {
+ zoneName = "cielonegro.org."
+ , zoneSOA = Just SOAFields {
+ soaMasterNameServer = "ns.cielonegro.org."
+ , soaResponsibleMailbox = "root.ns.cielonegro.org."
+ , soaSerialNumber = 2008022148
+ , soaRefreshInterval = 3600
+ , soaRetryInterval = 900
+ , soaExpirationLimit = 3600000
+ , soaMinimumTTL = 3600
+ }
+ , zoneRecordNames = return [ "ns.cielonegro.org."
+ , "www.cielonegro.org."
+ , "git.cielonegro.org."
+ ]
+ , zoneResponder = return . responder
+ }
+ ]
+
+ responder :: DomainName -> [SomeRR]
+ responder name
+ | name == "ns.cielonegro.org."
+ = [ wrapRecord ResourceRecord {
+ rrName = name
+ , rrType = A
+ , rrClass = IN
+ , rrTTL = 9600
+ , rrData = "127.0.0.1"
+ }
+ , wrapRecord ResourceRecord {
+ rrName = name
+ , rrType = AAAA
+ , rrClass = IN
+ , rrTTL = 9600
+ , rrData = "::1"
+ }
+ ]
+ | name == "www.cielonegro.org."
+ = [ wrapRecord ResourceRecord {
+ rrName = name
+ , rrType = A
+ , rrClass = IN
+ , rrTTL = 9600
+ , rrData = "127.0.0.2"
+ }
+ , wrapRecord ResourceRecord {
+ rrName = name
+ , rrType = AAAA
+ , rrClass = IN
+ , rrTTL = 9600
+ , rrData = "fe80::216:cbff:fe39:56a4"
+ }
+ ]
+ | name == "git.cielonegro.org."
+ = [ wrapRecord ResourceRecord {
+ rrName = name
+ , rrType = CNAME
+ , rrClass = IN
+ , rrTTL = 9600
+ , rrData = "www.cielonegro.org."
+ }
+ ]
+ | otherwise
+ = [] -- This means NXDOMAIN.
+