diff options
author | Kazu Yamamoto <kazu@iij.ad.jp> | 2011-09-05 16:06:17 +0900 |
---|---|---|
committer | Kazu Yamamoto <kazu@iij.ad.jp> | 2011-09-05 16:06:17 +0900 |
commit | 8e28329b12d1cabd0038e5d86c8c8edd9dfe0e5e (patch) | |
tree | 5f87044ccdbb90ecee1f48bc78da450cfb59bfd2 /Network/DNS/Lookup.hs | |
parent | e368c41a0a1819178429dac733c5bd76d1b67805 (diff) |
Supporting PTR.
Diffstat (limited to 'Network/DNS/Lookup.hs')
-rw-r--r-- | Network/DNS/Lookup.hs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/Network/DNS/Lookup.hs b/Network/DNS/Lookup.hs index 79af339..728b0c6 100644 --- a/Network/DNS/Lookup.hs +++ b/Network/DNS/Lookup.hs @@ -6,6 +6,7 @@ module Network.DNS.Lookup ( lookupA, lookupAAAA , lookupMX, lookupAviaMX, lookupAAAAviaMX , lookupTXT + , lookupPTR ) where import Control.Applicative @@ -82,3 +83,15 @@ lookupTXT rlv dom = toTXT <$> DNS.lookup rlv dom TXT toTXT = maybe Nothing (Just . map unTag) unTag (RD_TXT x) = x unTag _ = error "lookupTXT" + +---------------------------------------------------------------- + +{-| + Resolving 'Domain' and its preference by 'PTR'. +-} +lookupPTR :: Resolver -> Domain -> IO (Maybe [Domain]) +lookupPTR rlv dom = toPTR <$> DNS.lookup rlv dom PTR + where + toPTR = maybe Nothing (Just . map unTag) + unTag (RD_PTR dm) = dm + unTag _ = error "lookupPTR" |