-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Extensible Authentication Protocol (EAP) -- -- This module provides types and on the wire de/coding of EAP packets as -- per RFC 3748 @package eap @version 0.9.0.0 -- | The types in this module are pretty much self explanatory. See RFC -- 3748 for further information on what a given type or definition means. -- -- Note that not nearly all 50+ EAP authentication types are supported. -- Contributions for further types are definitely welcome. module Network.EAP.Types data Packet Packet :: PacketType -> Word8 -> Maybe Message -> Packet [getPacketType] :: Packet -> PacketType [getPacketId] :: Packet -> Word8 [getPacketMessage] :: Packet -> Maybe Message data PacketType RequestPacket :: PacketType ResponsePacket :: PacketType SuccessPacket :: PacketType FailurePacket :: PacketType data Message IdentityMessage :: ByteString -> Message [getIdentityMessage] :: Message -> ByteString NotificationMessage :: ByteString -> Message [getNotificationMessage] :: Message -> ByteString NakMessage :: Word8 -> Message [getAuthenticationType] :: Message -> Word8 MD5ChallengeMessage :: ByteString -> ByteString -> Message [getMD5ChallengeValue] :: Message -> ByteString [getMD5ChallengeName] :: Message -> ByteString OTPMessage :: ByteString -> Message [getOTPMessage] :: Message -> ByteString GenericTokenCardMessage :: ByteString -> Message [getGenericTokenCardMessage] :: Message -> ByteString MSCHAPv2Message :: MSCHAPv2OpCode -> Word8 -> Word16 -> MSCHAPv2Data -> Message [getMSCHAPv2OpCode] :: Message -> MSCHAPv2OpCode [getMSCHAPv2Id] :: Message -> Word8 [getMSCHAPv2Length] :: Message -> Word16 [getMSCHAPv2Data] :: Message -> MSCHAPv2Data data AuthType MD5ChallengeAuth :: AuthType OTPAuth :: AuthType GenericTokenCardAuth :: AuthType RSAPubKeyAuth :: AuthType TLSAuth :: AuthType MSCHAPv2Auth :: AuthType data MSCHAPv2OpCode MSCHAPv2Challenge :: MSCHAPv2OpCode MSCHAPv2Response :: MSCHAPv2OpCode MSCHAPv2Success :: MSCHAPv2OpCode MSCHAPv2Failure :: MSCHAPv2OpCode MSCHAPv2ChangePassword :: MSCHAPv2OpCode data MSCHAPv2Data MSCHAPv2ChallengeData :: ByteString -> ByteString -> MSCHAPv2Data [getMSCHAPv2Challenge] :: MSCHAPv2Data -> ByteString [getMSCHAPv2ChallengeName] :: MSCHAPv2Data -> ByteString MSCHAPv2ResponseData :: MSCHAPv2ResponseDataField -> ByteString -> MSCHAPv2Data [getMSCHAPv2ResponseData] :: MSCHAPv2Data -> MSCHAPv2ResponseDataField [getMSCHAPv2ResponseName] :: MSCHAPv2Data -> ByteString MSCHAPv2SuccessRequestData :: ByteString -> MSCHAPv2Data [getMSCHAPv2SuccessRequestMessage] :: MSCHAPv2Data -> ByteString MSCHAPv2FailureRequestData :: ByteString -> MSCHAPv2Data [getMSCHAPv2FailureRequestMessage] :: MSCHAPv2Data -> ByteString MSCHAPv2ChangePasswordData :: ByteString -> ByteString -> ByteString -> ByteString -> MSCHAPv2Data [getMSCHAPv2EncryptedPassword] :: MSCHAPv2Data -> ByteString [getMSCHAPv2EncryptedHash] :: MSCHAPv2Data -> ByteString [getMSCHAPv2PeerChallenge] :: MSCHAPv2Data -> ByteString [getMSCHAPv2NTResponse] :: MSCHAPv2Data -> ByteString MSCHAPv2NoData :: MSCHAPv2Data data MSCHAPv2ResponseDataField MSCHAPv2ResponseDataField :: ByteString -> ByteString -> MSCHAPv2ResponseDataField [getMSCHAPv2ResponsePeerChallenge] :: MSCHAPv2ResponseDataField -> ByteString [getMSCHAPv2ResponseNTResponse] :: MSCHAPv2ResponseDataField -> ByteString instance Data.Data.Data Network.EAP.Types.Packet instance GHC.Classes.Eq Network.EAP.Types.Packet instance GHC.Show.Show Network.EAP.Types.Packet instance Data.Data.Data Network.EAP.Types.Message instance GHC.Classes.Eq Network.EAP.Types.Message instance GHC.Show.Show Network.EAP.Types.Message instance Data.Data.Data Network.EAP.Types.MSCHAPv2Data instance GHC.Classes.Eq Network.EAP.Types.MSCHAPv2Data instance GHC.Show.Show Network.EAP.Types.MSCHAPv2Data instance Data.Data.Data Network.EAP.Types.MSCHAPv2ResponseDataField instance GHC.Classes.Eq Network.EAP.Types.MSCHAPv2ResponseDataField instance GHC.Show.Show Network.EAP.Types.MSCHAPv2ResponseDataField instance Data.Data.Data Network.EAP.Types.MSCHAPv2OpCode instance GHC.Classes.Eq Network.EAP.Types.MSCHAPv2OpCode instance GHC.Show.Show Network.EAP.Types.MSCHAPv2OpCode instance Data.Data.Data Network.EAP.Types.AuthType instance GHC.Classes.Eq Network.EAP.Types.AuthType instance GHC.Show.Show Network.EAP.Types.AuthType instance Data.Data.Data Network.EAP.Types.PacketType instance GHC.Classes.Eq Network.EAP.Types.PacketType instance GHC.Show.Show Network.EAP.Types.PacketType instance GHC.Enum.Enum Network.EAP.Types.PacketType instance GHC.Enum.Enum Network.EAP.Types.AuthType instance GHC.Enum.Enum Network.EAP.Types.MSCHAPv2OpCode -- | This module provides functions to implement the EAP MSCHAPv2 -- authentication scheme. module Network.EAP.MSCHAPv2 -- | Authenticate the MSCHAPv2 response data to a given challenge request, -- using the supplied cleartext password. authenticateMSCHAPv2 :: MSCHAPv2Data -> ByteString -> ByteString -> Except CryptoError Bool -- | Calculate authenticator response as per [RFC2759], Section 8.7 generateAuthenticatorResponse :: ByteString -> ByteString -> ByteString -> ByteString -> ByteString -> Except CryptoError ByteString -- | Calculate the NT Response as per [RFC2759], Section 8.1 generateNTResponse :: ByteString -> ByteString -> ByteString -> ByteString -> Except CryptoError ByteString -- | Hash an NT ascii plain-text. Password with MD4. Note that this -- function converts then password internally to Unicode, so feeding a -- Unicode password to it will *not* work ntPasswordHash :: ByteString -> ByteString -- | Derive Microsoft Point-to-Point Encryption (MPPE) keys see [RFC3079] deriveMPPEKeys :: ByteString -> ByteString -> Except CryptoError (ByteString, ByteString) -- | This module provides Binary instances for the EAP Packet type and the -- embedded messages it encapsulates. So you decode a (lazy) bytestring -- and get an EAP Packet back or you can encode an EAP packet to -- ByteString you can send on the wire as is. Simple as that. module Network.EAP.Encoding instance Data.Binary.Class.Binary Network.EAP.Types.Packet instance Data.Binary.Class.Binary Network.EAP.Types.PacketType instance Data.Binary.Class.Binary Network.EAP.Types.MSCHAPv2Data instance Data.Binary.Class.Binary Network.EAP.Types.MSCHAPv2ResponseDataField