haal-models-0.1.3.0: src/Haal/Models/DTLS/NssV3V6V7DheEcdheRsa.hs
-- Generated by haal-gen. Do not edit manually.
module Haal.Models.DTLS.NssV3V6V7DheEcdheRsa
( NssV3V6V7DheEcdheRsaInput (..)
, NssV3V6V7DheEcdheRsaOutput (..)
, nssV3V6V7DheEcdheRsa
) where
import Haal.Automaton.MealyAutomaton (MealyAutomaton, mkMealyAutomatonTable)
data NssV3V6V7DheEcdheRsaInput
= In_ECDH_CLIENT_HELLO
| In_ECDH_CLIENT_KEY_EXCHANGE
| In_DH_CLIENT_HELLO
| In_DH_CLIENT_KEY_EXCHANGE
| In_RSA_CLIENT_HELLO
| In_RSA_CLIENT_KEY_EXCHANGE
| In_CHANGE_CIPHER_SPEC
| In_FINISHED
| In_APPLICATION
| In_Alert_WARNING_CLOSE_NOTIFY
| In_Alert_FATAL_UNEXPECTED_MESSAGE
deriving (Show, Eq, Ord, Enum, Bounded)
data NssV3V6V7DheEcdheRsaOutput
= Out_SERVER_HELLO_CERTIFICATE_ECDHE_SERVER_KEY_EXCHANGE_SERVER_HELLO_DONE
| Out_Alert_FATAL_UNEXPECTED_MESSAGE
| Out_SERVER_HELLO_CERTIFICATE_DHE_SERVER_KEY_EXCHANGE_SERVER_HELLO_DONE
| Out_SERVER_HELLO_CERTIFICATE_SERVER_HELLO_DONE
| Out_TIMEOUT
| Out_SOCKET_CLOSED
| Out_Alert_FATAL_HANDSHAKE_FAILURE
| Out_Alert_FATAL_DECODE_ERROR
| Out_CHANGE_CIPHER_SPEC_FINISHED
| Out_Alert_WARNING_CLOSE_NOTIFY
deriving (Show, Eq, Ord, Enum, Bounded)
{- Transitions (state input -> next state / output):
0 In_ECDH_CLIENT_HELLO -> 1 / Out_SERVER_HELLO_CERTIFICATE_ECDHE_SERVER_KEY_EXCHANGE_SERVER_HELLO_DONE
In_ECDH_CLIENT_KEY_EXCHANGE -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_DH_CLIENT_HELLO -> 3 / Out_SERVER_HELLO_CERTIFICATE_DHE_SERVER_KEY_EXCHANGE_SERVER_HELLO_DONE
In_DH_CLIENT_KEY_EXCHANGE -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_RSA_CLIENT_HELLO -> 4 / Out_SERVER_HELLO_CERTIFICATE_SERVER_HELLO_DONE
In_RSA_CLIENT_KEY_EXCHANGE -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_CHANGE_CIPHER_SPEC -> 5 / Out_TIMEOUT
In_FINISHED -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_APPLICATION -> 0 / Out_TIMEOUT
In_Alert_WARNING_CLOSE_NOTIFY -> 2 / Out_TIMEOUT
In_Alert_FATAL_UNEXPECTED_MESSAGE -> 2 / Out_TIMEOUT
1 In_ECDH_CLIENT_HELLO -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_ECDH_CLIENT_KEY_EXCHANGE -> 6 / Out_TIMEOUT
In_DH_CLIENT_HELLO -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_DH_CLIENT_KEY_EXCHANGE -> 2 / Out_Alert_FATAL_HANDSHAKE_FAILURE
In_RSA_CLIENT_HELLO -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_RSA_CLIENT_KEY_EXCHANGE -> 2 / Out_Alert_FATAL_HANDSHAKE_FAILURE
In_CHANGE_CIPHER_SPEC -> 5 / Out_TIMEOUT
In_FINISHED -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_APPLICATION -> 1 / Out_TIMEOUT
In_Alert_WARNING_CLOSE_NOTIFY -> 2 / Out_TIMEOUT
In_Alert_FATAL_UNEXPECTED_MESSAGE -> 2 / Out_TIMEOUT
2 In_ECDH_CLIENT_HELLO -> 2 / Out_SOCKET_CLOSED
In_ECDH_CLIENT_KEY_EXCHANGE -> 2 / Out_SOCKET_CLOSED
In_DH_CLIENT_HELLO -> 2 / Out_SOCKET_CLOSED
In_DH_CLIENT_KEY_EXCHANGE -> 2 / Out_SOCKET_CLOSED
In_RSA_CLIENT_HELLO -> 2 / Out_SOCKET_CLOSED
In_RSA_CLIENT_KEY_EXCHANGE -> 2 / Out_SOCKET_CLOSED
In_CHANGE_CIPHER_SPEC -> 2 / Out_SOCKET_CLOSED
In_FINISHED -> 2 / Out_SOCKET_CLOSED
In_APPLICATION -> 2 / Out_SOCKET_CLOSED
In_Alert_WARNING_CLOSE_NOTIFY -> 2 / Out_SOCKET_CLOSED
In_Alert_FATAL_UNEXPECTED_MESSAGE -> 2 / Out_SOCKET_CLOSED
3 In_ECDH_CLIENT_HELLO -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_ECDH_CLIENT_KEY_EXCHANGE -> 2 / Out_Alert_FATAL_DECODE_ERROR
In_DH_CLIENT_HELLO -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_DH_CLIENT_KEY_EXCHANGE -> 6 / Out_TIMEOUT
In_RSA_CLIENT_HELLO -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_RSA_CLIENT_KEY_EXCHANGE -> 7 / Out_TIMEOUT
In_CHANGE_CIPHER_SPEC -> 5 / Out_TIMEOUT
In_FINISHED -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_APPLICATION -> 3 / Out_TIMEOUT
In_Alert_WARNING_CLOSE_NOTIFY -> 2 / Out_TIMEOUT
In_Alert_FATAL_UNEXPECTED_MESSAGE -> 2 / Out_TIMEOUT
4 In_ECDH_CLIENT_HELLO -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_ECDH_CLIENT_KEY_EXCHANGE -> 7 / Out_TIMEOUT
In_DH_CLIENT_HELLO -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_DH_CLIENT_KEY_EXCHANGE -> 7 / Out_TIMEOUT
In_RSA_CLIENT_HELLO -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_RSA_CLIENT_KEY_EXCHANGE -> 6 / Out_TIMEOUT
In_CHANGE_CIPHER_SPEC -> 5 / Out_TIMEOUT
In_FINISHED -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_APPLICATION -> 4 / Out_TIMEOUT
In_Alert_WARNING_CLOSE_NOTIFY -> 2 / Out_TIMEOUT
In_Alert_FATAL_UNEXPECTED_MESSAGE -> 2 / Out_TIMEOUT
5 In_ECDH_CLIENT_HELLO -> 5 / Out_TIMEOUT
In_ECDH_CLIENT_KEY_EXCHANGE -> 5 / Out_TIMEOUT
In_DH_CLIENT_HELLO -> 5 / Out_TIMEOUT
In_DH_CLIENT_KEY_EXCHANGE -> 5 / Out_TIMEOUT
In_RSA_CLIENT_HELLO -> 5 / Out_TIMEOUT
In_RSA_CLIENT_KEY_EXCHANGE -> 5 / Out_TIMEOUT
In_CHANGE_CIPHER_SPEC -> 5 / Out_TIMEOUT
In_FINISHED -> 5 / Out_TIMEOUT
In_APPLICATION -> 5 / Out_TIMEOUT
In_Alert_WARNING_CLOSE_NOTIFY -> 5 / Out_TIMEOUT
In_Alert_FATAL_UNEXPECTED_MESSAGE -> 5 / Out_TIMEOUT
6 In_ECDH_CLIENT_HELLO -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_ECDH_CLIENT_KEY_EXCHANGE -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_DH_CLIENT_HELLO -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_DH_CLIENT_KEY_EXCHANGE -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_RSA_CLIENT_HELLO -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_RSA_CLIENT_KEY_EXCHANGE -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_CHANGE_CIPHER_SPEC -> 8 / Out_TIMEOUT
In_FINISHED -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_APPLICATION -> 6 / Out_TIMEOUT
In_Alert_WARNING_CLOSE_NOTIFY -> 2 / Out_TIMEOUT
In_Alert_FATAL_UNEXPECTED_MESSAGE -> 2 / Out_TIMEOUT
7 In_ECDH_CLIENT_HELLO -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_ECDH_CLIENT_KEY_EXCHANGE -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_DH_CLIENT_HELLO -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_DH_CLIENT_KEY_EXCHANGE -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_RSA_CLIENT_HELLO -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_RSA_CLIENT_KEY_EXCHANGE -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_CHANGE_CIPHER_SPEC -> 5 / Out_TIMEOUT
In_FINISHED -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_APPLICATION -> 7 / Out_TIMEOUT
In_Alert_WARNING_CLOSE_NOTIFY -> 2 / Out_TIMEOUT
In_Alert_FATAL_UNEXPECTED_MESSAGE -> 2 / Out_TIMEOUT
8 In_ECDH_CLIENT_HELLO -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_ECDH_CLIENT_KEY_EXCHANGE -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_DH_CLIENT_HELLO -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_DH_CLIENT_KEY_EXCHANGE -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_RSA_CLIENT_HELLO -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_RSA_CLIENT_KEY_EXCHANGE -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_CHANGE_CIPHER_SPEC -> 5 / Out_TIMEOUT
In_FINISHED -> 9 / Out_CHANGE_CIPHER_SPEC_FINISHED
In_APPLICATION -> 2 / Out_Alert_FATAL_UNEXPECTED_MESSAGE
In_Alert_WARNING_CLOSE_NOTIFY -> 2 / Out_TIMEOUT
In_Alert_FATAL_UNEXPECTED_MESSAGE -> 2 / Out_TIMEOUT
9 In_ECDH_CLIENT_HELLO -> 9 / Out_TIMEOUT
In_ECDH_CLIENT_KEY_EXCHANGE -> 9 / Out_TIMEOUT
In_DH_CLIENT_HELLO -> 9 / Out_TIMEOUT
In_DH_CLIENT_KEY_EXCHANGE -> 9 / Out_TIMEOUT
In_RSA_CLIENT_HELLO -> 9 / Out_TIMEOUT
In_RSA_CLIENT_KEY_EXCHANGE -> 9 / Out_TIMEOUT
In_CHANGE_CIPHER_SPEC -> 5 / Out_TIMEOUT
In_FINISHED -> 9 / Out_TIMEOUT
In_APPLICATION -> 9 / Out_TIMEOUT
In_Alert_WARNING_CLOSE_NOTIFY -> 5 / Out_TIMEOUT
In_Alert_FATAL_UNEXPECTED_MESSAGE -> 2 / Out_Alert_WARNING_CLOSE_NOTIFY
-}
nssV3V6V7DheEcdheRsa :: MealyAutomaton Int NssV3V6V7DheEcdheRsaInput NssV3V6V7DheEcdheRsaOutput
nssV3V6V7DheEcdheRsa =
case mkMealyAutomatonTable 10 0 deltaTable lambdaTable of
Right m -> m
Left err -> error ("haal-gen: invalid transition table: " ++ err)
where
deltaTable =
"\1\2\3\2\4\2\5\2\0\2\2\
\\2\6\2\2\2\2\5\2\1\2\2\
\\2\2\2\2\2\2\2\2\2\2\2\
\\2\2\2\6\2\7\5\2\3\2\2\
\\2\7\2\7\2\6\5\2\4\2\2\
\\5\5\5\5\5\5\5\5\5\5\5\
\\2\2\2\2\2\2\8\2\6\2\2\
\\2\2\2\2\2\2\5\2\7\2\2\
\\2\2\2\2\2\2\5\9\2\2\2\
\\9\9\9\9\9\9\5\9\9\5\2"
lambdaTable =
"\0\1\2\1\3\1\4\1\4\4\4\
\\1\4\1\6\1\6\4\1\4\4\4\
\\5\5\5\5\5\5\5\5\5\5\5\
\\1\7\1\4\1\4\4\1\4\4\4\
\\1\4\1\4\1\4\4\1\4\4\4\
\\4\4\4\4\4\4\4\4\4\4\4\
\\1\1\1\1\1\1\4\1\4\4\4\
\\1\1\1\1\1\1\4\1\4\4\4\
\\1\1\1\1\1\1\4\8\1\4\4\
\\4\4\4\4\4\4\4\4\4\4\9"