packages feed

asn1-codec 0.1.0 → 0.2.0

raw patch · 4 files changed

+44/−3 lines, 4 filesdep ~basePVP ok

version bump matches the API change (PVP)

Dependency ranges changed: base

API changes (from Hackage documentation)

+ Language.Asn.Types.Internal: instance Data.Semigroup.Semigroup (Language.Asn.Types.Internal.Subtypes a)
+ Net.Snmp.Decoding: genericTrap :: AsnDecoding GenericTrap
+ Net.Snmp.Decoding: trapPdu :: AsnDecoding TrapPdu
+ Net.Snmp.Types: GenericTrapAuthenticationFailure :: GenericTrap
+ Net.Snmp.Types: GenericTrapColdStart :: GenericTrap
+ Net.Snmp.Types: GenericTrapEgpNeighborLoss :: GenericTrap
+ Net.Snmp.Types: GenericTrapEnterpriseSpecific :: GenericTrap
+ Net.Snmp.Types: GenericTrapLinkDown :: GenericTrap
+ Net.Snmp.Types: GenericTrapLinkUp :: GenericTrap
+ Net.Snmp.Types: GenericTrapWarmStart :: GenericTrap
+ Net.Snmp.Types: TrapPdu :: !ObjectIdentifier -> !Word32 -> !GenericTrap -> !Integer -> !Integer -> [VarBind] -> TrapPdu
+ Net.Snmp.Types: [trapPduAgentAddress] :: TrapPdu -> !Word32
+ Net.Snmp.Types: [trapPduEnterprise] :: TrapPdu -> !ObjectIdentifier
+ Net.Snmp.Types: [trapPduGenericTrap] :: TrapPdu -> !GenericTrap
+ Net.Snmp.Types: [trapPduSpecificTrap] :: TrapPdu -> !Integer
+ Net.Snmp.Types: [trapPduTimeStamp] :: TrapPdu -> !Integer
+ Net.Snmp.Types: [trapPduVariableBindings] :: TrapPdu -> [VarBind]
+ Net.Snmp.Types: data GenericTrap
+ Net.Snmp.Types: data TrapPdu

Files

asn1-codec.cabal view
@@ -1,5 +1,5 @@ name:                asn1-codec-version:             0.1.0+version:             0.2.0 synopsis:            Encode and decode ASN.1 description:         Add a better description later homepage:            https://github.com/andrewthad/asn1-codec@@ -26,7 +26,7 @@     Net.Snmp.Decoding     Net.Snmp.Client   build-depends:-      base >= 4.7 && < 5+      base >= 4.9 && < 5     , integer-gmp     , bytestring     , contravariant
src/Language/Asn/Types/Internal.hs view
@@ -19,6 +19,7 @@ import Data.ByteString.Builder (Builder) import Data.Text (Text) import Data.Monoid+import Data.Semigroup (Semigroup) import Data.Word import Data.Int import Data.Bits@@ -69,7 +70,7 @@     UniversalValueNull -> UniversalValueNull  newtype Subtypes a = Subtypes { getSubtypes :: [Subtype a] }-  deriving (Monoid)+  deriving (Semigroup,Monoid)  newtype ObjectIdentifier = ObjectIdentifier { getObjectIdentifier :: Vector Integer }   deriving (Eq,Ord,Show,Read,Generic)
src/Net/Snmp/Decoding.hs view
@@ -27,6 +27,30 @@ import qualified Data.ByteString.Lazy as LB import qualified Language.Asn.Decoding as AsnDecoding +trapPdu :: AsnDecoding TrapPdu+trapPdu = sequence $ TrapPdu+  <$> required "enterprise" objectIdentifier+  <*> required "agent-addr"+      ( choice+        [ option "internet" $ tag Application 0 Implicit octetStringWord32+        ]+      )+  <*> required "generic-trap" genericTrap+  <*> required "specific-trap" integer+  <*> required "time-stamp" integer+  <*> required "variable-bindings" (sequenceOf varBind)++genericTrap :: AsnDecoding GenericTrap+genericTrap = flip mapFailable integer $ \i -> case i of+  0 -> Right GenericTrapColdStart+  1 -> Right GenericTrapWarmStart+  2 -> Right GenericTrapLinkDown+  3 -> Right GenericTrapLinkUp+  4 -> Right GenericTrapAuthenticationFailure+  5 -> Right GenericTrapEgpNeighborLoss+  6 -> Right GenericTrapEnterpriseSpecific+  _ -> Left "unrecognized generic-trap number"+ messageV2 :: AsnDecoding MessageV2 messageV2 = sequence $ MessageV2   <$  required "version" integer -- make this actually demand that it's 1
src/Net/Snmp/Types.hs view
@@ -165,5 +165,21 @@   , bulkPduVariableBindings :: !(Vector VarBind)   } deriving (Eq,Show) +data TrapPdu = TrapPdu+  { trapPduEnterprise :: !ObjectIdentifier+  , trapPduAgentAddress :: !Word32+  , trapPduGenericTrap :: !GenericTrap+  , trapPduSpecificTrap :: !Integer+  , trapPduTimeStamp :: !Integer+  , trapPduVariableBindings :: [VarBind]+  } +data GenericTrap+  = GenericTrapColdStart+  | GenericTrapWarmStart+  | GenericTrapLinkDown+  | GenericTrapLinkUp+  | GenericTrapAuthenticationFailure+  | GenericTrapEgpNeighborLoss+  | GenericTrapEnterpriseSpecific