( Zone(..)
, ZoneFinder(..)
+ , isInZone
+
, defaultRootZone
)
where
data Zone
= Zone {
- zoneName :: !DomainName
- , zoneResponders :: ![SomeResponder]
+ zoneName :: !DomainName
+ , zoneResponders :: ![SomeResponder]
+ , zoneIsAuthoritative :: !Bool
}
class ZoneFinder a where
findZone = (fmap (fromMaybe defaultRootZone) .)
+isInZone :: DomainName -> Zone -> Bool
+isInZone name zone = zoneName zone `isZoneOf` name
+
+
defaultRootZone :: Zone
defaultRootZone
= Zone {
- zoneName = mkDomainName "."
- , zoneResponders = [] -- FIXME
+ zoneName = mkDomainName "."
+ , zoneResponders = [] -- FIXME
+ , zoneIsAuthoritative = False
}