dns 1.4.2 → 1.4.3
raw patch · 5 files changed
+16/−2 lines, 5 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Network.DNS.Types: RD_DNAME :: Domain -> RD a
Files
- Network/DNS/Decode.hs +1/−0
- Network/DNS/Encode.hs +1/−0
- Network/DNS/Internal.hs +3/−1
- dns.cabal +1/−1
- test/DecodeSpec.hs +10/−0
Network/DNS/Decode.hs view
@@ -152,6 +152,7 @@ where decodePreference = getInt16 decodeRData CNAME _ = RD_CNAME <$> decodeDomain+decodeRData DNAME _ = RD_DNAME <$> decodeDomain decodeRData TXT len = (RD_TXT . ignoreLength) <$> getNByteString len where ignoreLength = BS.tail
Network/DNS/Encode.hs view
@@ -124,6 +124,7 @@ (RD_AAAA ip) -> mconcat $ map putInt16 (fromIPv6 ip) (RD_NS dom) -> encodeDomain dom (RD_CNAME dom) -> encodeDomain dom+ (RD_DNAME dom) -> encodeDomain dom (RD_PTR dom) -> encodeDomain dom (RD_MX prf dom) -> mconcat [putInt16 prf, encodeDomain dom] (RD_TXT txt) -> putByteString txt
Network/DNS/Internal.hs view
@@ -187,7 +187,8 @@ type ResourceRecord = RR RDATA -- | Raw data format for each type.-data RD a = RD_NS Domain | RD_CNAME Domain | RD_MX Int Domain | RD_PTR Domain+data RD a = RD_NS Domain | RD_CNAME Domain | RD_DNAME Domain+ | RD_MX Int Domain | RD_PTR Domain | RD_SOA Domain Domain Int Int Int Int Int | RD_A IPv4 | RD_AAAA IPv6 | RD_TXT ByteString | RD_SRV Int Int Int Domain@@ -205,6 +206,7 @@ show (RD_NS dom) = BS.unpack dom show (RD_MX prf dom) = BS.unpack dom ++ " " ++ show prf show (RD_CNAME dom) = BS.unpack dom+ show (RD_DNAME dom) = BS.unpack dom show (RD_A a) = show a show (RD_AAAA aaaa) = show aaaa show (RD_TXT txt) = BS.unpack txt
dns.cabal view
@@ -1,5 +1,5 @@ Name: dns-Version: 1.4.2+Version: 1.4.3 Author: Kazu Yamamoto <kazu@iij.ad.jp> Maintainer: Kazu Yamamoto <kazu@iij.ad.jp> License: BSD3
test/DecodeSpec.hs view
@@ -16,6 +16,10 @@ test_doublePointer :: BL.ByteString test_doublePointer = "f7eb8500000100010007000404736563330561706e696303636f6d0000010001c00c0001000100001c200004ca0c1c8cc0110002000100001c20000f036e73310561706e6963036e657400c0300002000100001c200006036e7333c040c0300002000100001c200006036e7334c040c0300002000100001c20001004736563310561706e696303636f6d00c0300002000100001c20001704736563310761757468646e730472697065036e657400c0300002000100001c20001004736563320561706e696303636f6d00c0300002000100001c2000070473656333c0bfc07b0001000100001c200004ca0c1d3bc07b001c000100001c20001020010dc02001000a4608000000000059c0ba0001000100001c200004ca0c1d3cc0d6001c000100001c20001020010dc0000100004777000000000140"++test_dname :: BL.ByteString+test_dname = "b3c0818000010005000200010377777706376b616e616c02636f02696c0000010001c0100027000100000003000c0769737261656c3702727500c00c0005000100000003000603777777c02ec046000500010000255b0002c02ec02e000100010000003d000451daf938c02e000100010000003d0004c33ce84ac02e000200010005412b000c036e7332026137036f726700c02e000200010005412b0006036e7331c08a0000291000000000000000"+ ---------------------------------------------------------------- spec :: Spec@@ -25,6 +29,12 @@ let Right x1 = decode $ fromHexString test_doublePointer Right x2 = decode (encode x1) Right x3 = decode (encode x2)+ x3 `shouldBe` x2+ it "decodes dname" $ do+ let Right x1 = decode $ fromHexString test_dname+ Right x2 = decode (encode x1)+ Right x3 = decode (encode x2)+ print x1 x3 `shouldBe` x2 ----------------------------------------------------------------