packages feed

asn1-data 0.4.0 → 0.4.1

raw patch · 3 files changed

+30/−18 lines, 3 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Data.ASN1.BER: encodeASN1Stream :: Monad m => [ASN1] -> Iteratee ByteString m a -> m (Either SomeException a)
+ Data.ASN1.BER: encodeASN1Stream :: [ASN1] -> Either ASN1Err ByteString
- Data.ASN1.DER: encodeASN1Stream :: Monad m => [ASN1] -> Iteratee ByteString m a -> m (Either SomeException a)
+ Data.ASN1.DER: encodeASN1Stream :: [ASN1] -> Either ASN1Err ByteString

Files

Data/ASN1/BER.hs view
@@ -156,23 +156,29 @@ 		Left err -> Left (maybe (ASN1ParsingFail "unknown") id $ fromException err) 		Right x  -> Right x -encodeASN1Stream :: Monad m => [ASN1] -> Iteratee ByteString m a -> m (Either SomeException a)-encodeASN1Stream l p = E.run (E.enumList 1 l $$ E.joinI $ enumWriteBytes $$ p)+{-| encode an ASN1 Stream as lazy bytestring -}+encodeASN1Stream :: [ASN1] -> Either ASN1Err L.ByteString+encodeASN1Stream l =+	case runIdentity $ E.run (E.enumList 1 l $$ E.joinI $ enumWriteBytes $$ E.consume) of+		Left err -> Left (maybe (ASN1ParsingFail "unknown") id $ fromException err)+		Right x  -> Right $ L.fromChunks x  {-# DEPRECATED decodeASN1s "use stream types with decodeASN1Stream" #-} decodeASN1s :: L.ByteString -> Either ASN1Err [ASN1t]-decodeASN1s l = either (Left) (Right . ofStream) $ decodeASN1Stream l+decodeASN1s = either (Left) (Right . ofStream) . decodeASN1Stream  {-# DEPRECATED decodeASN1 "use stream types with decodeASN1Stream" #-} decodeASN1 :: L.ByteString -> Either ASN1Err ASN1t-decodeASN1 = either (Left) (Right . head) . decodeASN1s+decodeASN1 = either (Left) (Right . head . ofStream) . decodeASN1Stream  {-# DEPRECATED encodeASN1s "use stream types with encodeASN1Stream" #-} encodeASN1s :: [ASN1t] -> L.ByteString-encodeASN1s l = case runIdentity (encodeASN1Stream (toStream l) E.consume) of-	Left _  -> error "encoding failed"-	Right x -> L.fromChunks x+encodeASN1s s = case encodeASN1Stream $ toStream s of+	Left err -> error $ show err+	Right x  -> x  {-# DEPRECATED encodeASN1 "use stream types with encodeASN1Stream" #-} encodeASN1 :: ASN1t -> L.ByteString-encodeASN1 = encodeASN1s . (:[])+encodeASN1 s = case encodeASN1Stream $ toStream [s] of+	Left err -> error $ show err+	Right x  -> x
Data/ASN1/DER.hs view
@@ -104,28 +104,34 @@  {-| decode a lazy bytestring as an ASN1 stream -} decodeASN1Stream :: L.ByteString -> Either ASN1Err [ASN1]-decodeASN1Stream l = do+decodeASN1Stream l = 	case runIdentity (iterateByteString l E.consume) of 		Left err -> Left (maybe (ASN1ParsingFail "unknown") id $ fromException err) 		Right x  -> Right x -encodeASN1Stream :: Monad m => [ASN1] -> Iteratee ByteString m a -> m (Either SomeException a)-encodeASN1Stream l p = E.run (E.enumList 1 l $$ E.joinI $ enumWriteBytes $$ p)+{-| encode an ASN1 Stream as lazy bytestring -}+encodeASN1Stream :: [ASN1] -> Either ASN1Err L.ByteString+encodeASN1Stream l =+	case runIdentity $ E.run (E.enumList 1 l $$ E.joinI $ enumWriteBytes $$ E.consume) of+		Left err -> Left (maybe (ASN1ParsingFail "unknown") id $ fromException err)+		Right x  -> Right $ L.fromChunks x  {-# DEPRECATED decodeASN1s "use stream types with decodeASN1Stream" #-} decodeASN1s :: L.ByteString -> Either ASN1Err [ASN1t]-decodeASN1s l = either (Left) (Right . ofStream) $ decodeASN1Stream l+decodeASN1s = either (Left) (Right . ofStream) . decodeASN1Stream  {-# DEPRECATED decodeASN1 "use stream types with decodeASN1Stream" #-} decodeASN1 :: L.ByteString -> Either ASN1Err ASN1t-decodeASN1 = either (Left) (Right . head) . decodeASN1s+decodeASN1 = either (Left) (Right . head . ofStream) . decodeASN1Stream  {-# DEPRECATED encodeASN1s "use stream types with encodeASN1Stream" #-} encodeASN1s :: [ASN1t] -> L.ByteString-encodeASN1s l = case runIdentity (encodeASN1Stream (toStream l) E.consume) of-	Left _  -> error "encoding failed"-	Right x -> L.fromChunks x+encodeASN1s s = case encodeASN1Stream $ toStream s of+	Left err -> error $ show err+	Right x  -> x  {-# DEPRECATED encodeASN1 "use stream types with encodeASN1Stream" #-} encodeASN1 :: ASN1t -> L.ByteString-encodeASN1 = encodeASN1s . (:[])+encodeASN1 s = case encodeASN1Stream $ toStream [s] of+	Left err -> error $ show err+	Right x  -> x
asn1-data.cabal view
@@ -1,5 +1,5 @@ Name:                asn1-data-Version:             0.4.0+Version:             0.4.1 Description:     ASN1 data reader and writer in raw form with supports for high level forms of ASN1 (BER, CER and DER).     .