úÎ,¢'†]      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\6Provides types and definitions for EAP as per RFC 3748(c) Erick Gonzalez, 2017BSD3erick@codemonkeylabs.de experimentalPOSIXSafe0B  !"#$%&'()*+,-./0123456789:;<=>?@A?  !"#$%&'()*+,-./0123456789:;<=>B:;<=>56789A"#$%&'()*+,-./01234 ! @?   !"#$%&'()*+,-./0123456789:;<=>?@A=Provides on the wire de/coding of EAP packets as per RFC 3748(c) Erick Gonzalez, 2017BSD3erick@codemonkeylabs.de experimentalPOSIXSafe!"]„Given the length of data to decode, decode an EAP message in the Get Monad. Used internally so you probably don't need to use this.^ÿGiven Maybe an EAP message to encode, do so in the Put Monad. Used internally. This is necessary cause if one was to put the Maybe value directly on the wire, it would include the coding for the Maybe type itself, as opposed to empty or *just* the data which is what we want_ÍUsed internally to decode MSCHAPv2Data since it is not possible to do so in the Get Monad cause the data itself is meaningless without the opcode of the enclosing packet. You normally wouldn't need this. ]^`a_WXYZ ]^`a_WXYZFCollection of EAP authentication methods and related utility functions(c) Erick Gonzalez, 2017BSD3erick@codemonkeylabs.de experimentalPOSIXNone!"#T[mAuthenticate the MSCHAPv2 response data to a given challenge request, using the supplied cleartext password.\7Calculate the NT Response as per [RFC2759], Section 8.1bCUsed internally to encrypt a message using a DES cipher in ECB modec^Used internally to add the parity bits to a 56 bit (7 octet key) thus becoming an 8 octet key['Decoded data from the MSCHAPv2 response>Authenticator challenge sent to the peer on a previous requestAuthenticating user passwordŠReturns either an error from one of the encryption routines or a boolean indicating whether the user response matches the expected value\?Authenticator challenge sent to the peer on a previous request*Challenge sent back by authenticating peerMSCHAP usernameCleartext user password[Returns either an error from one of the encryption routines or the calculated NT responsebc[\[\[\bcd      !"#$%&'()*+,-./0123456789:;<==>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef"eap-0.6.0.0-Bo212tsfNzd3YAZqHgXiUMNetwork.EAP.TypesNetwork.EAP.EncodingNetwork.EAP.AuthenticationMSCHAPv2ResponseDataField getMSCHAPv2ResponsePeerChallengegetMSCHAPv2ResponseNTResponse MSCHAPv2DataMSCHAPv2ChallengeDataMSCHAPv2ResponseDataMSCHAPv2SuccessRequestDataMSCHAPv2FailureRequestDataMSCHAPv2ChangePasswordDataMSCHAPv2NoDatagetMSCHAPv2ChallengegetMSCHAPv2ChallengeNamegetMSCHAPv2ResponseDatagetMSCHAPv2ResponseName getMSCHAPv2SuccessRequestMessage getMSCHAPv2FailureRequestMessagegetMSCHAPv2EncryptedPasswordgetMSCHAPv2EncryptedHashgetMSCHAPv2PeerChallengegetMSCHAPv2NTResponseMSCHAPv2OpCodeMSCHAPv2ChallengeMSCHAPv2ResponseMSCHAPv2SuccessMSCHAPv2FailureMSCHAPv2ChangePasswordAuthTypeMD5ChallengeAuthOTPAuthGenericTokenCardAuth RSAPubKeyAuthTLSAuth MSCHAPv2AuthMessageIdentityMessageNotificationMessage NakMessageMD5ChallengeMessage OTPMessageGenericTokenCardMessageMSCHAPv2MessagegetIdentityMessagegetNotificationMessagegetAuthenticationTypegetMD5ChallengeValuegetMD5ChallengeName getOTPMessagegetGenericTokenCardMessagegetMSCHAPv2OpCode getMSCHAPv2IdgetMSCHAPv2LengthgetMSCHAPv2Data PacketType RequestPacketResponsePacket SuccessPacket FailurePacketPacket getPacketType getPacketIdgetPacketMessage$fEnumMSCHAPv2OpCode$fEnumAuthType$fEnumPacketType$fShowPacketType$fEqPacketType$fDataPacketType$fShowAuthType $fEqAuthType$fDataAuthType$fShowMSCHAPv2OpCode$fEqMSCHAPv2OpCode$fDataMSCHAPv2OpCode$fShowMSCHAPv2ResponseDataField$fEqMSCHAPv2ResponseDataField$fDataMSCHAPv2ResponseDataField$fShowMSCHAPv2Data$fEqMSCHAPv2Data$fDataMSCHAPv2Data $fShowMessage $fEqMessage $fDataMessage $fShowPacket $fEqPacket $fDataPacket!$fBinaryMSCHAPv2ResponseDataField$fBinaryMSCHAPv2Data$fBinaryPacketType$fBinaryPacketauthenticateMSCHAPv2generateNTResponse getMessage putMessage decodeData encodeMessage decodeMessage encryptDES addParity