packages feed

radius 0.6.0.0 → 0.6.0.1

raw patch · 3 files changed

+153/−3 lines, 3 filesPVP: minor bump suggested

API additions: PVP suggests at least a minor version bump

API changes (from Hackage documentation)

+ Network.RADIUS.Encoding: instance Data.Binary.Class.Binary Network.RADIUS.Types.Authentic
+ Network.RADIUS.Encoding: instance Data.Binary.Class.Binary Network.RADIUS.Types.StatusType
+ Network.RADIUS.Encoding: instance Data.Binary.Class.Binary Network.RADIUS.Types.TerminateCause
+ Network.RADIUS.Types: AccountingOff :: StatusType
+ Network.RADIUS.Types: AccountingOn :: StatusType
+ Network.RADIUS.Types: AcctAuthenticAttribute :: Authentic -> PacketAttribute
+ Network.RADIUS.Types: AcctDelayTimeAttribute :: Word32 -> PacketAttribute
+ Network.RADIUS.Types: AcctInputOctetsAttribute :: Word32 -> PacketAttribute
+ Network.RADIUS.Types: AcctInputPacketsAttribute :: Word32 -> PacketAttribute
+ Network.RADIUS.Types: AcctLinkCountAttribute :: Word32 -> PacketAttribute
+ Network.RADIUS.Types: AcctMultiSessionIdAttribute :: ByteString -> PacketAttribute
+ Network.RADIUS.Types: AcctOutputOctetsAttribute :: Word32 -> PacketAttribute
+ Network.RADIUS.Types: AcctOutputPacketsAttribute :: Word32 -> PacketAttribute
+ Network.RADIUS.Types: AcctSessionIdAttribute :: ByteString -> PacketAttribute
+ Network.RADIUS.Types: AcctSessionTimeAttribute :: Word32 -> PacketAttribute
+ Network.RADIUS.Types: AcctStatusTypeAttribute :: StatusType -> PacketAttribute
+ Network.RADIUS.Types: AcctTerminateCauseAttribute :: TerminateCause -> PacketAttribute
+ Network.RADIUS.Types: AdminReboot :: TerminateCause
+ Network.RADIUS.Types: AdminReset :: TerminateCause
+ Network.RADIUS.Types: Callback :: TerminateCause
+ Network.RADIUS.Types: Failed :: StatusType
+ Network.RADIUS.Types: HostRequest :: TerminateCause
+ Network.RADIUS.Types: IdleTimeout :: TerminateCause
+ Network.RADIUS.Types: InterimUpdate :: StatusType
+ Network.RADIUS.Types: Local :: Authentic
+ Network.RADIUS.Types: LostCarrier :: TerminateCause
+ Network.RADIUS.Types: LostService :: TerminateCause
+ Network.RADIUS.Types: NASError :: TerminateCause
+ Network.RADIUS.Types: NASReboot :: TerminateCause
+ Network.RADIUS.Types: NASRequest :: TerminateCause
+ Network.RADIUS.Types: PortError :: TerminateCause
+ Network.RADIUS.Types: PortPreempted :: TerminateCause
+ Network.RADIUS.Types: PortSuspended :: TerminateCause
+ Network.RADIUS.Types: PortUnneeded :: TerminateCause
+ Network.RADIUS.Types: Radius :: Authentic
+ Network.RADIUS.Types: Remote :: Authentic
+ Network.RADIUS.Types: ServiceUnavailable :: TerminateCause
+ Network.RADIUS.Types: SessionTimeout :: TerminateCause
+ Network.RADIUS.Types: Start :: StatusType
+ Network.RADIUS.Types: Stop :: StatusType
+ Network.RADIUS.Types: UnknownAuthentic :: Int -> Authentic
+ Network.RADIUS.Types: UnknownStatusType :: Int -> StatusType
+ Network.RADIUS.Types: UnknownTerminateCause :: Int -> TerminateCause
+ Network.RADIUS.Types: UserError :: TerminateCause
+ Network.RADIUS.Types: UserRequest :: TerminateCause
+ Network.RADIUS.Types: [getAcctAuthenticAttribute] :: PacketAttribute -> Authentic
+ Network.RADIUS.Types: [getAcctDelayTimeAttribute] :: PacketAttribute -> Word32
+ Network.RADIUS.Types: [getAcctInputOctetsAttribute] :: PacketAttribute -> Word32
+ Network.RADIUS.Types: [getAcctInputPacketsAttribute] :: PacketAttribute -> Word32
+ Network.RADIUS.Types: [getAcctLinkCountAttribute] :: PacketAttribute -> Word32
+ Network.RADIUS.Types: [getAcctMultiSessionIdAttribute] :: PacketAttribute -> ByteString
+ Network.RADIUS.Types: [getAcctOutputOctetsAttribute] :: PacketAttribute -> Word32
+ Network.RADIUS.Types: [getAcctOutputPacketsAttribute] :: PacketAttribute -> Word32
+ Network.RADIUS.Types: [getAcctSessionIdAttribute] :: PacketAttribute -> ByteString
+ Network.RADIUS.Types: [getAcctSessionTimeAttribute] :: PacketAttribute -> Word32
+ Network.RADIUS.Types: [getAcctStatusTypeAttribute] :: PacketAttribute -> StatusType
+ Network.RADIUS.Types: [getAcctTerminateCauseAttribute] :: PacketAttribute -> TerminateCause
+ Network.RADIUS.Types: data Authentic
+ Network.RADIUS.Types: data StatusType
+ Network.RADIUS.Types: data TerminateCause
+ Network.RADIUS.Types: instance Data.Data.Data Network.RADIUS.Types.Authentic
+ Network.RADIUS.Types: instance Data.Data.Data Network.RADIUS.Types.StatusType
+ Network.RADIUS.Types: instance Data.Data.Data Network.RADIUS.Types.TerminateCause
+ Network.RADIUS.Types: instance GHC.Classes.Eq Network.RADIUS.Types.Authentic
+ Network.RADIUS.Types: instance GHC.Classes.Eq Network.RADIUS.Types.StatusType
+ Network.RADIUS.Types: instance GHC.Classes.Eq Network.RADIUS.Types.TerminateCause
+ Network.RADIUS.Types: instance GHC.Enum.Enum Network.RADIUS.Types.Authentic
+ Network.RADIUS.Types: instance GHC.Enum.Enum Network.RADIUS.Types.StatusType
+ Network.RADIUS.Types: instance GHC.Enum.Enum Network.RADIUS.Types.TerminateCause
+ Network.RADIUS.Types: instance GHC.Show.Show Network.RADIUS.Types.Authentic
+ Network.RADIUS.Types: instance GHC.Show.Show Network.RADIUS.Types.StatusType
+ Network.RADIUS.Types: instance GHC.Show.Show Network.RADIUS.Types.TerminateCause

Files

radius.cabal view
@@ -1,8 +1,8 @@ name:                radius-version:             0.6.0.0+version:             0.6.0.1 synopsis:            Remote Authentication Dial In User Service (RADIUS) description:         This module provides types and on the wire de/coding of RADIUS packets as per RFC2865-homepage:            https://github.com/erickg/radius#readme+homepage:            https://gitlab.com/codemonkeylabs/RADIUS license:             BSD3 license-file:        LICENSE author:              Erick Gonzalez@@ -29,4 +29,4 @@  source-repository head   type:     git-  location: https://github.com/erickg/radius+  location: https://gitlab.com/codemonkeylabs/RADIUS
src/Network/RADIUS/Encoding.hs view
@@ -114,6 +114,8 @@ instance Binary IPv6  instance Binary PacketAttribute where+    put (AcctSessionIdAttribute str)            = putAttributeStr  44 str+    put (AcctMultiSessionIdAttribute str)       = putAttributeStr  50 str     put (UserNameAttribute str)                 = putAttributeStr   1 str     put (UserPasswordAttribute str)             = putAttributeStr   2 str     put (FramedIPv6Route str)                   = putAttributeStr  99 str@@ -145,6 +147,16 @@     put (ARAPChallengeResponseAttribute str)    = putAttributeStr  84 str     put (NASPortIdAttribute str)                = putAttributeStr  87 str     put (FramedPoolAttribute str)               = putAttributeStr  88 str+    put (AcctStatusTypeAttribute value)         = putAttribute     40 value+    put (AcctDelayTimeAttribute value)          = putAttribute     41 value+    put (AcctInputOctetsAttribute value)        = putAttribute     42 value+    put (AcctOutputOctetsAttribute value)       = putAttribute     43 value+    put (AcctAuthenticAttribute value)          = putAttribute     45 value+    put (AcctSessionTimeAttribute value)        = putAttribute     46 value+    put (AcctInputPacketsAttribute value)       = putAttribute     47 value+    put (AcctOutputPacketsAttribute value)      = putAttribute     48 value+    put (AcctTerminateCauseAttribute value)     = putAttribute     49 value+    put (AcctLinkCountAttribute value)          = putAttribute     51 value     put (NASPortAttribute value)                = putAttribute      5 value     put (FramedMTUAttribute value)              = putAttribute     12 value     put (LoginTCPPortAttribute value)           = putAttribute     16 value@@ -220,6 +232,18 @@     putLazyByteString attrData  getAttribute :: Word8 -> Get PacketAttribute+getAttribute  44 = getAttributeStr >>= return . AcctSessionIdAttribute+getAttribute  50 = getAttributeStr >>= return . AcctMultiSessionIdAttribute+getAttribute 40 = getAttributeValue >>= return . AcctStatusTypeAttribute+getAttribute 41 = getAttributeValue >>= return . AcctDelayTimeAttribute+getAttribute 42 = getAttributeValue >>= return . AcctInputOctetsAttribute+getAttribute 43 = getAttributeValue >>= return . AcctOutputOctetsAttribute+getAttribute 45 = getAttributeValue >>= return . AcctAuthenticAttribute+getAttribute 46 = getAttributeValue >>= return . AcctSessionTimeAttribute+getAttribute 47 = getAttributeValue >>= return . AcctInputPacketsAttribute+getAttribute 48 = getAttributeValue >>= return . AcctOutputPacketsAttribute+getAttribute 49 = getAttributeValue >>= return . AcctTerminateCauseAttribute+getAttribute 51 = getAttributeValue >>= return . AcctLinkCountAttribute getAttribute   1 = getAttributeStr >>= return . UserNameAttribute getAttribute   2 = getAttributeStr >>= return . UserPasswordAttribute getAttribute  99 = getAttributeStr >>= return . FramedIPv6Route@@ -340,6 +364,18 @@     get = getEnum  instance Binary ARAPZoneAccess where+    put = putEnum+    get = getEnum++instance Binary StatusType where+    put = putEnum+    get = getEnum++instance Binary Authentic where+    put = putEnum+    get = getEnum++instance Binary TerminateCause where     put = putEnum     get = getEnum 
src/Network/RADIUS/Types.hs view
@@ -133,9 +133,123 @@   | AcctInterimIntervalAttribute    { getAcctInterimIntervalAttribute    :: Word32            }   | NASPortIdAttribute              { getNASPortIdAttribute              :: ByteString        }   | FramedPoolAttribute             { getFramedPoolAttribute             :: ByteString        }+  | AcctStatusTypeAttribute         { getAcctStatusTypeAttribute         :: StatusType        }+  | AcctDelayTimeAttribute          { getAcctDelayTimeAttribute          :: Word32            }+  | AcctInputOctetsAttribute        { getAcctInputOctetsAttribute        :: Word32            }+  | AcctOutputOctetsAttribute       { getAcctOutputOctetsAttribute       :: Word32            }+  | AcctSessionIdAttribute          { getAcctSessionIdAttribute          :: ByteString        }+  | AcctAuthenticAttribute          { getAcctAuthenticAttribute          :: Authentic         }+  | AcctSessionTimeAttribute        { getAcctSessionTimeAttribute        :: Word32            }+  | AcctInputPacketsAttribute       { getAcctInputPacketsAttribute       :: Word32            }+  | AcctOutputPacketsAttribute      { getAcctOutputPacketsAttribute      :: Word32            }+  | AcctTerminateCauseAttribute     { getAcctTerminateCauseAttribute     :: TerminateCause    }+  | AcctMultiSessionIdAttribute     { getAcctMultiSessionIdAttribute     :: ByteString        }+  | AcctLinkCountAttribute          { getAcctLinkCountAttribute          :: Word32            }   | UnknownAttribute                { getUnknownType                     :: Word8,                                       getUnknownAttribute                :: ByteString        }   deriving (Show, Eq, Data)++data StatusType = Start+                | Stop+                | InterimUpdate+                | AccountingOn+                | AccountingOff+                | Failed+                | UnknownStatusType Int+  deriving (Show, Eq, Data)++instance Enum StatusType where+  fromEnum Start                 = 1+  fromEnum Stop                  = 2+  fromEnum InterimUpdate         = 3+  fromEnum AccountingOn          = 7+  fromEnum AccountingOff         = 8+  fromEnum Failed                = 15+  fromEnum (UnknownStatusType x) = x+  toEnum 1  = Start+  toEnum 2  = Stop+  toEnum 3  = InterimUpdate+  toEnum 7  = AccountingOn+  toEnum 8  = AccountingOff+  toEnum 15 = Failed+  toEnum x  = UnknownStatusType x++data Authentic = Radius+               | Local+               | Remote+               | UnknownAuthentic Int+  deriving (Show, Eq, Data)++instance Enum Authentic where+  fromEnum Radius = 1+  fromEnum Local  = 2+  fromEnum Remote = 3+  fromEnum (UnknownAuthentic x) = x+  toEnum 1 = Radius+  toEnum 2 = Local+  toEnum 3 = Remote+  toEnum x = UnknownAuthentic x++data TerminateCause = UserRequest+                    | LostCarrier+                    | LostService+                    | IdleTimeout+                    | SessionTimeout+                    | AdminReset+                    | AdminReboot+                    | PortError+                    | NASError+                    | NASRequest+                    | NASReboot+                    | PortUnneeded+                    | PortPreempted+                    | PortSuspended+                    | ServiceUnavailable+                    | Callback+                    | UserError+                    | HostRequest+                    | UnknownTerminateCause Int+  deriving (Show, Eq, Data)++instance Enum TerminateCause where+  fromEnum UserRequest        = 1+  fromEnum LostCarrier        = 2+  fromEnum LostService        = 3+  fromEnum IdleTimeout        = 4+  fromEnum SessionTimeout     = 5+  fromEnum AdminReset         = 6+  fromEnum AdminReboot        = 7+  fromEnum PortError          = 8+  fromEnum NASError           = 9+  fromEnum NASRequest         = 10+  fromEnum NASReboot          = 11+  fromEnum PortUnneeded       = 12+  fromEnum PortPreempted      = 13+  fromEnum PortSuspended      = 14+  fromEnum ServiceUnavailable = 15+  fromEnum Callback           = 16+  fromEnum UserError          = 17+  fromEnum HostRequest        = 18+  fromEnum (UnknownTerminateCause x) = x+  toEnum 1  = UserRequest+  toEnum 2  = LostCarrier+  toEnum 3  = LostService+  toEnum 4  = IdleTimeout+  toEnum 5  = SessionTimeout+  toEnum 6  = AdminReset+  toEnum 7  = AdminReboot+  toEnum 8  = PortError+  toEnum 9  = NASError+  toEnum 10 = NASRequest+  toEnum 11 = NASReboot+  toEnum 12 = PortUnneeded+  toEnum 13 = PortPreempted+  toEnum 14 = PortSuspended+  toEnum 15 = ServiceUnavailable+  toEnum 16 = Callback+  toEnum 17 = UserError+  toEnum 18 = HostRequest+  toEnum x  = UnknownTerminateCause x  data ServiceType = LoginService                  | FramedService