1 module Network.DNS.Named.Zone
11 import Network.DNS.Message
16 zoneName :: !DomainName
17 , zoneSOA :: !(Maybe SOAFields)
18 , zoneRecordNames :: !(IO [DomainName])
19 , zoneResponder :: !(DomainName -> IO [SomeRR])
22 isInZone :: DomainName -> Zone -> Bool
23 isInZone name zone = zoneName zone `isZoneOf` name
25 zoneSOARecord :: Zone -> Maybe SomeRR
27 = do soa <- zoneSOA zone
30 rrName = zoneName zone
33 , rrTTL = soaMinimumTTL soa
37 zoneNSRecord :: Zone -> Maybe SomeRR
39 = do soa <- zoneSOA zone
42 rrName = zoneName zone
45 , rrTTL = soaMinimumTTL soa
46 , rrData = soaMasterNameServer soa