iproute 1.1.0 → 1.2.0
raw patch · 2 files changed
+19/−4 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
- Data.IP: (>:>) :: (Addr a) => AddrRange a -> AddrRange a -> Bool
+ Data.IP: (>:>) :: Addr a => AddrRange a -> AddrRange a -> Bool
- Data.IP: class (Eq a) => Addr a
+ Data.IP: class Eq a => Addr a
- Data.IP: intToMask :: (Addr a) => Int -> a
+ Data.IP: intToMask :: Addr a => Int -> a
- Data.IP: isMatchedTo :: (Addr a) => a -> AddrRange a -> Bool
+ Data.IP: isMatchedTo :: Addr a => a -> AddrRange a -> Bool
- Data.IP: makeAddrRange :: (Addr a) => a -> Int -> AddrRange a
+ Data.IP: makeAddrRange :: Addr a => a -> Int -> AddrRange a
- Data.IP: masked :: (Addr a) => a -> a -> a
+ Data.IP: masked :: Addr a => a -> a -> a
- Data.IP.RouteTable: class (Addr a) => Routable a
+ Data.IP.RouteTable: class Addr a => Routable a
- Data.IP.RouteTable: delete :: (Routable k) => AddrRange k -> IPRTable k a -> IPRTable k a
+ Data.IP.RouteTable: delete :: Routable k => AddrRange k -> IPRTable k a -> IPRTable k a
- Data.IP.RouteTable: empty :: (Routable k) => IPRTable k a
+ Data.IP.RouteTable: empty :: Routable k => IPRTable k a
- Data.IP.RouteTable: fromList :: (Routable k) => [(AddrRange k, a)] -> IPRTable k a
+ Data.IP.RouteTable: fromList :: Routable k => [(AddrRange k, a)] -> IPRTable k a
- Data.IP.RouteTable: insert :: (Routable k) => AddrRange k -> a -> IPRTable k a -> IPRTable k a
+ Data.IP.RouteTable: insert :: Routable k => AddrRange k -> a -> IPRTable k a -> IPRTable k a
- Data.IP.RouteTable: intToTBit :: (Routable a) => Int -> a
+ Data.IP.RouteTable: intToTBit :: Routable a => Int -> a
- Data.IP.RouteTable: isZero :: (Routable a) => a -> a -> Bool
+ Data.IP.RouteTable: isZero :: Routable a => a -> a -> Bool
- Data.IP.RouteTable: lookup :: (Routable k) => AddrRange k -> IPRTable k a -> Maybe a
+ Data.IP.RouteTable: lookup :: Routable k => AddrRange k -> IPRTable k a -> Maybe a
- Data.IP.RouteTable: toList :: (Routable k) => IPRTable k a -> [(AddrRange k, a)]
+ Data.IP.RouteTable: toList :: Routable k => IPRTable k a -> [(AddrRange k, a)]
Files
- Data/IP/Range.hs +18/−2
- iproute.cabal +1/−2
Data/IP/Range.hs view
@@ -11,11 +11,12 @@ {-| A unified data for 'AddrRange' 'IPv4' and 'AddrRange' 'IPv6'.+ To create this, use 'read' \"192.0.2.0/24\" :: 'IPRange'. -} data IPRange = IPv4Range { ipv4range :: AddrRange IPv4 } | IPv6Range { ipv6range :: AddrRange IPv6 }- deriving (Eq,Show)+ deriving (Eq) ---------------------------------------------------------------- --@@ -28,7 +29,7 @@ are essentially same information but contained for pre calculation. - To create this, use 'makeAddrRange' or 'read' \"192.0.2.0/24\" :: 'AddrRange' 'IPv4'+ To create this, use 'makeAddrRange' or 'read' \"192.0.2.0/24\" :: 'AddrRange' 'IPv4'. -} data AddrRange a = AddrRange { -- |The 'addr' function returns an address from 'AddrRange'.@@ -47,10 +48,25 @@ instance Show a => Show (AddrRange a) where show x = show (addr x) ++ "/" ++ show (mlen x) +instance Show IPRange where+ show (IPv4Range ip) = show ip+ show (IPv6Range ip) = show ip+ ---------------------------------------------------------------- -- -- Read --++instance Read IPRange where+ readsPrec _ = parseIPRange+ +parseIPRange :: String -> [(IPRange,String)]+parseIPRange cs = + case runParser ip4range cs of+ (Just ip,rest) -> [(IPv4Range ip,rest)]+ (Nothing,_) -> case runParser ip6range cs of+ (Just ip,rest) -> [(IPv6Range ip,rest)]+ (Nothing,_) -> error $ "parseIPRange" ++ cs instance Read (AddrRange IPv4) where readsPrec _ = parseIPv4Range
iproute.cabal view
@@ -1,5 +1,5 @@ Name: iproute-Version: 1.1.0+Version: 1.2.0 Author: Kazu Yamamoto <kazu@iij.ad.jp> Maintainer: Kazu Yamamoto <kazu@iij.ad.jp> License: BSD3@@ -31,4 +31,3 @@ Source-Repository head Type: git Location: git://github.com/kazu-yamamoto/iproute.git-