]> 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 da27c3e694ab13c669bb5b2d8ee3d0c649fcceae..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,5 +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 = error "FIXME: defaultRootZone is not implemented yet"
\ No newline at end of file
+defaultRootZone
+    = Zone {
+        zoneName            = mkDomainName "."
+      , zoneResponders      = [] -- FIXME
+      , zoneIsAuthoritative = False
+      }