hw-ip 2.0.1.0 → 2.1.0.0
raw patch · 3 files changed
+14/−6 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ HaskellWorks.Data.Network.Ip.Ipv6: fromIpv4 :: IpAddress -> IpAddress
+ HaskellWorks.Data.Network.Ip.Ipv6: fromIpv4Block :: IpBlock Canonical -> IpBlock v
Files
- hw-ip.cabal +2/−3
- src/HaskellWorks/Data/Network/Ip/Ip.hs +1/−1
- src/HaskellWorks/Data/Network/Ip/Ipv6.hs +11/−2
hw-ip.cabal view
@@ -1,6 +1,6 @@ cabal-version: 1.12 name: hw-ip-version: 2.0.1.0+version: 2.1.0.0 license: BSD3 license-file: LICENSE copyright: 2018 John Ky, David Turnbull, Jian Wan@@ -11,8 +11,7 @@ homepage: https://github.com/haskell-works/hw-ip#readme bug-reports: https://github.com/haskell-works/hw-ip/issues synopsis: Library for manipulating IP addresses and CIDR blocks-description:- Please see README.md+description: Library for manipulating IP addresses and CIDR blocks. Please see README.md category: Network build-type: Simple extra-source-files:
src/HaskellWorks/Data/Network/Ip/Ip.hs view
@@ -48,7 +48,7 @@ canonicalise (IpBlockV6 (V6.IpBlock a m)) = mfilter isCanonical (Just $ IpBlockV6 (V6.IpBlock a m)) firstIpAddress :: IpBlock Canonical -> (Word32, Word32, Word32, Word32)-firstIpAddress (IpBlockV4 v4Block) = firstIpAddress (IpBlockV6 (V6.fromV4 v4Block))+firstIpAddress (IpBlockV4 v4Block) = firstIpAddress (IpBlockV6 (V6.fromIpv4Block v4Block)) firstIpAddress (IpBlockV6 (V6.IpBlock (V6.IpAddress ip) _)) = ip lastIpAddress :: IpBlock Canonical -> (Word32, Word32, Word32, Word32)
src/HaskellWorks/Data/Network/Ip/Ipv6.hs view
@@ -10,6 +10,8 @@ ( IpAddress(..) , IpNetMask(..) , IpBlock(..)+ , fromIpv4+ , fromIpv4Block , fromV4 , parseIpBlock , masksIp@@ -147,10 +149,17 @@ ipv6 = I.word32x4ToWords w in ipv6 == zipWith (B..&.) ipv6 (zipWith B.xor ipv6 lt) +{-# DEPRECATED fromV4 "Deprecated due to poor naming. Use fromIpv4Block instead." #-} fromV4 :: V4.IpBlock Canonical -> IpBlock v-fromV4 (V4.IpBlock b m) =+fromV4 = fromIpv4Block++fromIpv4Block :: V4.IpBlock Canonical -> IpBlock v+fromIpv4Block (V4.IpBlock b m) = -- RFC-4291, "IPv4-Mapped IPv6 Address"- IpBlock (IpAddress (0, 0, 0xFFFF, V4.word b)) (IpNetMask (96 + V4.word8 m))+ IpBlock (fromIpv4 b) (IpNetMask (96 + V4.word8 m))++fromIpv4 :: V4.IpAddress -> IpAddress+fromIpv4 (V4.IpAddress w32) = IpAddress (0, 0, 0xFFFF, w32) firstIpAddress :: IpBlock Canonical -> IpAddress firstIpAddress (IpBlock b _) = b