diff --git a/sasl/src/common/mod.rs b/sasl/src/common/mod.rs index a0922f11..5016cfbd 100644 --- a/sasl/src/common/mod.rs +++ b/sasl/src/common/mod.rs @@ -168,8 +168,10 @@ pub enum ChannelBinding { None, /// Advertise that the client does not think the server supports channel binding. Unsupported, - /// p=tls-unique channel binding data. + /// p=tls-unique channel binding data (for TLSĀ 1.2). TlsUnique(Vec), + /// p=tls-exporter channel binding data (for TLSĀ 1.3). + TlsExporter(Vec), } impl ChannelBinding { @@ -179,6 +181,7 @@ impl ChannelBinding { ChannelBinding::None => b"n,,", ChannelBinding::Unsupported => b"y,,", ChannelBinding::TlsUnique(_) => b"p=tls-unique,,", + ChannelBinding::TlsExporter(_) => b"p=tls-exporter,,", } } @@ -188,6 +191,7 @@ impl ChannelBinding { ChannelBinding::None => &[], ChannelBinding::Unsupported => &[], ChannelBinding::TlsUnique(ref data) => data, + ChannelBinding::TlsExporter(ref data) => data, } } @@ -197,6 +201,7 @@ impl ChannelBinding { ChannelBinding::None => false, ChannelBinding::Unsupported => false, ChannelBinding::TlsUnique(_) => mechanism == "tls-unique", + ChannelBinding::TlsExporter(_) => mechanism == "tls-exporter", } } }