use super::AlpnProtocolId;
#[repr(usize)]
#[derive(Copy, Clone, Debug, Eq, PartialEq)]
pub enum AlpnType
{
AcmeTls1,
ConfidentialWebrtcMediaAndData,
CoapOverDtls,
CoapOverTls,
Dicom,
Doq,
DnsOverTls,
Ftp,
Http2OverTls,
Http2OverTcp,
Http3,
Http09,
Http10,
Http11,
Imap,
Irc,
Managesieve,
NntpTransit,
NntpReading,
NetworkTimeSecurityKeyEstablishmentVersion1,
Pop3,
Postgresql,
Radius10,
Radius11,
Sip,
Spdy1,
Spdy2,
Spdy3,
NatDiscoveryUsingSessionTraversalUtilitiesForNatStun,
TraversalUsingRelaysAroundNatTurn,
Sunrpc,
Tds80,
WebrtcMediaAndData,
XmppJabberClientNamespace,
XmppJabberServerNamespace,
OasisMessageQueuingTelemetryTransportMqtt,
Smb2,
}
pub const ALPNS_LIST: &'static [AlpnProtocolId] =
&[
AlpnProtocolId
{
ident: AlpnType::AcmeTls1,
ident_seq: b"\x61\x63\x6d\x65\x2d\x74\x6c\x73\x2f\x31",
ident_str: "acme-tls/1",
descr: "acme-tls/1"
},
AlpnProtocolId
{
ident: AlpnType::ConfidentialWebrtcMediaAndData,
ident_seq: b"\x63\x2d\x77\x65\x62\x72\x74\x63",
ident_str: "c-webrtc",
descr: "Confidential WebRTC Media and Data"
},
AlpnProtocolId
{
ident: AlpnType::CoapOverDtls,
ident_seq: b"\x63\x6f",
ident_str: "co",
descr: "CoAP (over DTLS)"
},
AlpnProtocolId
{
ident: AlpnType::CoapOverTls,
ident_seq: b"\x63\x6f\x61\x70",
ident_str: "coap",
descr: "CoAP (over TLS)"
},
AlpnProtocolId
{
ident: AlpnType::Dicom,
ident_seq: b"\x64\x69\x63\x6f\x6d",
ident_str: "dicom",
descr: "DICOM"
},
AlpnProtocolId
{
ident: AlpnType::Doq,
ident_seq: b"\x64\x6F\x71",
ident_str: "doq",
descr: "DoQ"
},
AlpnProtocolId
{
ident: AlpnType::DnsOverTls,
ident_seq: b"\x64\x6F\x74",
ident_str: "dot",
descr: "DNS-over-TLS"
},
AlpnProtocolId
{
ident: AlpnType::Ftp,
ident_seq: b"\x66\x74\x70",
ident_str: "ftp",
descr: "FTP"
},
AlpnProtocolId
{
ident: AlpnType::Http2OverTls,
ident_seq: b"\x68\x32",
ident_str: "h2",
descr: "HTTP/2 over TLS"
},
AlpnProtocolId
{
ident: AlpnType::Http2OverTcp,
ident_seq: b"\x68\x32\x63",
ident_str: "h2c",
descr: "HTTP/2 over TCP"
},
AlpnProtocolId
{
ident: AlpnType::Http3,
ident_seq: b"\x68\x33",
ident_str: "h3",
descr: "HTTP/3"
},
AlpnProtocolId
{
ident: AlpnType::Http09,
ident_seq: b"\x68\x74\x74\x70\x2f\x30\x2e\x39",
ident_str: "http/0.9",
descr: "HTTP/0.9"
},
AlpnProtocolId
{
ident: AlpnType::Http10,
ident_seq: b"\x68\x74\x74\x70\x2f\x31\x2e\x30",
ident_str: "http/1.0",
descr: "HTTP/1.0"
},
AlpnProtocolId
{
ident: AlpnType::Http11,
ident_seq: b"\x68\x74\x74\x70\x2f\x31\x2e\x31",
ident_str: "http/1.1",
descr: "HTTP/1.1"
},
AlpnProtocolId
{
ident: AlpnType::Imap,
ident_seq: b"\x69\x6d\x61\x70",
ident_str: "imap",
descr: "IMAP"
},
AlpnProtocolId
{
ident: AlpnType::Irc,
ident_seq: b"\x69\x72\x63",
ident_str: "irc",
descr: "IRC"
},
AlpnProtocolId
{
ident: AlpnType::Managesieve,
ident_seq: b"\x6d\x61\x6e\x61\x67\x65\x73\x69\x65\x76\x65",
ident_str: "managesieve",
descr: "ManageSieve"
},
AlpnProtocolId
{
ident: AlpnType::NntpTransit,
ident_seq: b"\x6E\x6E\x73\x70",
ident_str: "nnsp",
descr: "NNTP (transit)"
},
AlpnProtocolId
{
ident: AlpnType::NntpReading,
ident_seq: b"\x6E\x6E\x74\x70",
ident_str: "nntp",
descr: "NNTP (reading)"
},
AlpnProtocolId
{
ident: AlpnType::NetworkTimeSecurityKeyEstablishmentVersion1,
ident_seq: b"\x6E\x74\x73\x6B\x65\x2F\x31",
ident_str: "ntske/1",
descr: "Network Time Security Key Establishment, version 1"
},
AlpnProtocolId
{
ident: AlpnType::Pop3,
ident_seq: b"\x70\x6f\x70\x33",
ident_str: "pop3",
descr: "POP3"
},
AlpnProtocolId
{
ident: AlpnType::Postgresql,
ident_seq: b"\x70\x6F\x73\x74\x67\x72\x65\x73\x71\x6C",
ident_str: "postgresql",
descr: "PostgreSQL"
},
AlpnProtocolId
{
ident: AlpnType::Radius10,
ident_seq: b"\x72\x61\x64\x69\x75\x73\x2f\x31\x2e\x30",
ident_str: "radius/1.0",
descr: "RADIUS/1.0"
},
AlpnProtocolId
{
ident: AlpnType::Radius11,
ident_seq: b"\x72\x61\x64\x69\x75\x73\x2f\x31\x2e\x31",
ident_str: "radius/1.1",
descr: "RADIUS/1.1"
},
AlpnProtocolId
{
ident: AlpnType::Sip,
ident_seq: b"\x73\x69\x70\x2f\x32",
ident_str: "sip/2",
descr: "SIP"
},
AlpnProtocolId
{
ident: AlpnType::Spdy1,
ident_seq: b"\x73\x70\x64\x79\x2f\x31",
ident_str: "spdy/1",
descr: "SPDY/1"
},
AlpnProtocolId
{
ident: AlpnType::Spdy2,
ident_seq: b"\x73\x70\x64\x79\x2f\x32",
ident_str: "spdy/2",
descr: "SPDY/2"
},
AlpnProtocolId
{
ident: AlpnType::Spdy3,
ident_seq: b"\x73\x70\x64\x79\x2f\x33",
ident_str: "spdy/3",
descr: "SPDY/3"
},
AlpnProtocolId
{
ident: AlpnType::NatDiscoveryUsingSessionTraversalUtilitiesForNatStun,
ident_seq: b"\x73\x74\x75\x6E\x2E\x6e\x61\x74\x2d\x64\x69\x73\x63\x6f\x76\x65\x72\x79",
ident_str: "stun.nat-discovery",
descr: "NAT discovery using Session Traversal Utilities for NAT (STUN)"
},
AlpnProtocolId
{
ident: AlpnType::TraversalUsingRelaysAroundNatTurn,
ident_seq: b"\x73\x74\x75\x6E\x2E\x74\x75\x72\x6E",
ident_str: "stun.turn",
descr: "Traversal Using Relays around NAT (TURN)"
},
AlpnProtocolId
{
ident: AlpnType::Sunrpc,
ident_seq: b"\x73\x75\x6e\x72\x70\x63",
ident_str: "sunrpc",
descr: "SunRPC"
},
AlpnProtocolId
{
ident: AlpnType::Tds80,
ident_seq: b"\x74\x64\x73\x2f\x38\x2e\x30",
ident_str: "tds/8.0",
descr: "TDS/8.0"
},
AlpnProtocolId
{
ident: AlpnType::WebrtcMediaAndData,
ident_seq: b"\x77\x65\x62\x72\x74\x63",
ident_str: "webrtc",
descr: "WebRTC Media and Data"
},
AlpnProtocolId
{
ident: AlpnType::XmppJabberClientNamespace,
ident_seq: b"\x78\x6d\x70\x70\x2d\x63\x6c\x69\x65\x6e\x74",
ident_str: "xmpp-client",
descr: "XMPP jabber:client namespace"
},
AlpnProtocolId
{
ident: AlpnType::XmppJabberServerNamespace,
ident_seq: b"\x78\x6d\x70\x70\x2d\x73\x65\x72\x76\x65\x72",
ident_str: "xmpp-server",
descr: "XMPP jabber:server namespace"
},
AlpnProtocolId
{
ident: AlpnType::OasisMessageQueuingTelemetryTransportMqtt,
ident_seq: b"\x6d\x71\x74\x74",
ident_str: "“mqtt”",
descr: "OASIS Message Queuing Telemetry Transport (MQTT)"
},
AlpnProtocolId
{
ident: AlpnType::Smb2,
ident_seq: b"\x73\x6D\x62",
ident_str: "“smb”",
descr: "SMB2"
},
];