asn1-data 0.7.0 → 0.7.1
raw patch · 4 files changed
+35/−3 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Data.ASN1.BinaryEncoding.Raw: ASN1Header :: !ASN1Class -> !ASN1Tag -> !Bool -> !ASN1Length -> ASN1Header
+ Data.ASN1.BinaryEncoding.Raw: Application :: ASN1Class
+ Data.ASN1.BinaryEncoding.Raw: ConstructionBegin :: ASN1Event
+ Data.ASN1.BinaryEncoding.Raw: ConstructionEnd :: ASN1Event
+ Data.ASN1.BinaryEncoding.Raw: Context :: ASN1Class
+ Data.ASN1.BinaryEncoding.Raw: Header :: ASN1Header -> ASN1Event
+ Data.ASN1.BinaryEncoding.Raw: LenIndefinite :: ASN1Length
+ Data.ASN1.BinaryEncoding.Raw: LenLong :: Int -> Int -> ASN1Length
+ Data.ASN1.BinaryEncoding.Raw: LenShort :: Int -> ASN1Length
+ Data.ASN1.BinaryEncoding.Raw: Primitive :: !ByteString -> ASN1Event
+ Data.ASN1.BinaryEncoding.Raw: Private :: ASN1Class
+ Data.ASN1.BinaryEncoding.Raw: Universal :: ASN1Class
+ Data.ASN1.BinaryEncoding.Raw: data ASN1Class
+ Data.ASN1.BinaryEncoding.Raw: data ASN1Event
+ Data.ASN1.BinaryEncoding.Raw: data ASN1Header
+ Data.ASN1.BinaryEncoding.Raw: data ASN1Length
+ Data.ASN1.BinaryEncoding.Raw: parseBS :: ByteString -> Either ASN1Error [ASN1Event]
+ Data.ASN1.BinaryEncoding.Raw: parseLBS :: ByteString -> Either ASN1Error [ASN1Event]
+ Data.ASN1.BinaryEncoding.Raw: toByteString :: [ASN1Event] -> ByteString
+ Data.ASN1.BinaryEncoding.Raw: toLazyByteString :: [ASN1Event] -> ByteString
+ Data.ASN1.BinaryEncoding.Raw: type ASN1Tag = Int
Files
- Data/ASN1/BinaryEncoding/Raw.hs +31/−0
- Data/ASN1/BinaryEncoding/Writer.hs +1/−1
- Tests.hs +1/−1
- asn1-data.cabal +2/−1
+ Data/ASN1/BinaryEncoding/Raw.hs view
@@ -0,0 +1,31 @@+-- |+-- Module : Data.ASN1.BinaryEncoding.Raw+-- License : BSD-style+-- Maintainer : Vincent Hanquez <vincent@snarc.org>+-- Stability : experimental+-- Portability : unknown+--+-- Raw encoding of binary format (BER/DER/CER)+--+module Data.ASN1.BinaryEncoding.Raw+ (+ -- * types+ ASN1Header(..)+ , ASN1Class(..)+ , ASN1Tag+ , ASN1Length(..)+ , ASN1Event(..)++ -- * parser+ , parseLBS+ , parseBS++ -- * writer+ , toLazyByteString+ , toByteString++ ) where++import Data.ASN1.BinaryEncoding.Parse+import Data.ASN1.BinaryEncoding.Writer+import Data.ASN1.Types
Data/ASN1/BinaryEncoding/Writer.hs view
@@ -27,7 +27,7 @@ toLazyByteString :: [ASN1Event] -> L.ByteString toLazyByteString evs = L.fromChunks $ loop [] evs where loop _ [] = []- loop acc (x@(Header (ASN1Header _ _ pc len)):xs) = toBs x : loop (if pc && len == LenIndefinite then True:acc else acc) xs+ loop acc (x@(Header (ASN1Header _ _ pc len)):xs) = toBs x : loop (if pc then (len == LenIndefinite):acc else acc) xs loop acc (ConstructionEnd:xs) = case acc of [] -> error "malformed stream: end before construction" (True:r) -> toBs ConstructionEnd : loop r xs
Tests.hs view
@@ -45,7 +45,7 @@ arbitraryDefiniteLength = arbitrary `suchThat` (\l -> l /= LenIndefinite) arbitraryTag :: Gen ASN1Tag-arbitraryTag = choose(0,10000)+arbitraryTag = choose(1,10000) instance Arbitrary ASN1Header where arbitrary = liftM4 ASN1Header arbitrary arbitraryTag arbitrary arbitrary
asn1-data.cabal view
@@ -1,5 +1,5 @@ Name: asn1-data-Version: 0.7.0+Version: 0.7.1 Description: ASN1 data reader and writer in raw form with supports for high level forms of ASN1 (BER, and DER). License: BSD3@@ -30,6 +30,7 @@ Exposed-modules: Data.ASN1.BitArray Data.ASN1.Types Data.ASN1.BinaryEncoding+ Data.ASN1.BinaryEncoding.Raw Data.ASN1.Encoding Data.ASN1.Stream Data.ASN1.Parse