]> gitweb @ CieloNegro.org - haskell-dns.git/blobdiff - Network/DNS/Named/Zone.hs
The server started somewhat working...
[haskell-dns.git] / Network / DNS / Named / Zone.hs
index 8311376661bf5b506d951f802234448aab79e677..6cde400e8f5ce6fdbe49e6575d03468e456f0776 100644 (file)
@@ -2,6 +2,8 @@ module Network.DNS.Named.Zone
     ( Zone(..)
     , ZoneFinder(..)
 
+    , isInZone
+
     , defaultRootZone
     )
     where
@@ -13,8 +15,9 @@ import Network.DNS.Named.Responder
 
 data Zone
     = Zone {
-        zoneName       :: !DomainName
-      , zoneResponders :: ![SomeResponder]
+        zoneName            :: !DomainName
+      , zoneResponders      :: ![SomeResponder]
+      , zoneIsAuthoritative :: !Bool
       }
 
 class ZoneFinder a where
@@ -33,9 +36,14 @@ instance ZoneFinder (DomainName -> IO (Maybe Zone)) 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
       }