packages feed

dns 3.0.1 → 3.0.2

raw patch · 4 files changed

+20/−7 lines, 4 filesdep ~basePVP ok

version bump matches the API change (PVP)

Dependency ranges changed: base

API changes (from Hackage documentation)

Files

Changelog.md view
@@ -1,3 +1,8 @@+# 3.0.2++- Supporting conduit 1.3 [#105](https://github.com/kazu-yamamoto/dns/pull/105)+- Supporting GHC 8.4 with semigroup hack.+ # 3.0.1  - Supporting GHC 7.8 again.
Network/DNS/IO.hs view
@@ -31,7 +31,7 @@ import qualified Data.ByteString.Char8 as BS import qualified Data.ByteString.Lazy.Char8 as LBS import Data.Char (ord)-import Data.Conduit (($$), ($$+), ($$+-), (=$), Sink)+import Data.Conduit (($$+), ($$+-), ConduitM, (.|), runConduit) import Data.Conduit.Attoparsec (sinkParser) import qualified Data.Conduit.Binary as CB import Data.Conduit.Network (sourceSocket)@@ -53,13 +53,13 @@  ---------------------------------------------------------------- -sink :: Sink ByteString IO (DNSMessage, PState)+sink :: ConduitM ByteString o IO (DNSMessage, PState) sink = sinkParser $ ST.runStateT getResponse initialState  -- | Receiving DNS data from 'Socket' and parse it.  receive :: Socket -> IO DNSMessage-receive sock = fst <$> (sourceSocket sock $$ sink)+receive sock = fst <$> runConduit (sourceSocket sock .| sink)  -- | Receive and parse a single virtual-circuit (TCP) query or response. --   It is up to the caller to implement any desired timeout.@@ -70,7 +70,7 @@     let len = case map ord $ LBS.unpack lenbytes of                 [hi, lo] -> 256 * hi + lo                 _        -> 0-    fst <$> (src $$+- CB.isolate len =$ sink)+    fst <$> (src $$+- CB.isolate len .| sink)  ---------------------------------------------------------------- 
Network/DNS/StateBinary.hs view
@@ -1,4 +1,6 @@-{-# LANGUAGE TypeSynonymInstances, FlexibleInstances #-}+{-# LANGUAGE TypeSynonymInstances #-}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE CPP #-} module Network.DNS.StateBinary (     PState(..)   , initialState@@ -43,6 +45,7 @@ import qualified Data.IntMap as IM import Data.Map (Map) import qualified Data.Map as M+import Data.Semigroup as Sem  import Network.DNS.Imports import Network.DNS.Types@@ -59,9 +62,14 @@ initialWState :: WState initialWState = WState M.empty 0 +instance Sem.Semigroup SPut where+    p1 <> p2 = (Sem.<>) <$> p1 <*> p2+ instance Monoid SPut where     mempty = return mempty-    mappend a b = mconcat <$> sequence [a, b]+#if !(MIN_VERSION_base(4,11,0))+    mappend = (Sem.<>)+#endif  put8 :: Word8 -> SPut put8 = fixedSized 1 BB.word8
dns.cabal view
@@ -1,5 +1,5 @@ Name:                   dns-Version:                3.0.1+Version:                3.0.2 Author:                 Kazu Yamamoto <kazu@iij.ad.jp> Maintainer:             Kazu Yamamoto <kazu@iij.ad.jp> License:                BSD3