diff options
author | Kazu Yamamoto <kazu@iij.ad.jp> | 2010-03-22 16:30:34 +0900 |
---|---|---|
committer | Kazu Yamamoto <kazu@iij.ad.jp> | 2010-03-22 16:30:34 +0900 |
commit | facb65df3bcd87b67c3afbc5888537340c1147ff (patch) | |
tree | a555651dfe7d9a72e24f310141c1c4c4d0c7134b /Network | |
parent | 26bced9be4eeefb236f332687a0687c5885f898c (diff) |
handling TXT.
Diffstat (limited to 'Network')
-rw-r--r-- | Network/DNS/Internal.hs | 3 | ||||
-rw-r--r-- | Network/DNS/Response.hs | 1 |
2 files changed, 3 insertions, 1 deletions
diff --git a/Network/DNS/Internal.hs b/Network/DNS/Internal.hs index ff1b6d7..a048df5 100644 --- a/Network/DNS/Internal.hs +++ b/Network/DNS/Internal.hs @@ -125,7 +125,7 @@ data ResourceRecord = ResourceRecord { -} data RDATA = RD_NS Domain | RD_CNAME Domain | RD_MX Int Domain | RD_SOA Domain Domain Int Int Int Int Int - | RD_A IPv4 | RD_AAAA IPv6 + | RD_A IPv4 | RD_AAAA IPv6 | RD_TXT String | RD_OTH [Int] deriving (Eq) instance Show RDATA where @@ -134,6 +134,7 @@ instance Show RDATA where show (RD_CNAME dom) = dom show (RD_A a) = show a show (RD_AAAA aaaa) = show aaaa + show (RD_TXT txt) = txt show (RD_SOA mn _ _ _ _ _ mi) = mn ++ " " ++ show mi show (RD_OTH is) = show is diff --git a/Network/DNS/Response.hs b/Network/DNS/Response.hs index 92808ae..e49013a 100644 --- a/Network/DNS/Response.hs +++ b/Network/DNS/Response.hs @@ -97,6 +97,7 @@ decodeRData MX _ = RD_MX <$> decodePreference <*> decodeDomain where decodePreference = getInt16 decodeRData CNAME _ = RD_CNAME <$> decodeDomain +decodeRData TXT len = (RD_TXT . map chr) <$> getNBytes len decodeRData A len = (RD_A . toIPv4) <$> getNBytes len decodeRData AAAA len = (RD_AAAA . toIPv6 . combine) <$> getNBytes len where |