Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion pingora-core/src/protocols/tls/boringssl_openssl/stream.rs
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,11 @@ impl SslDigest {
None => (Vec::new(), None, None),
};

SslDigest::new(cipher, ssl.version_str(), org, sn, cert_digest)
let sni = ssl
.servername(ssl::NameType::HOST_NAME)
.map(ToOwned::to_owned);

SslDigest::new(cipher, ssl.version_str(), org, sn, cert_digest, sni)
}
}

Expand Down
4 changes: 4 additions & 0 deletions pingora-core/src/protocols/tls/digest.rs
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ pub struct SslDigest {
pub serial_number: Option<String>,
/// The digest of the peer's certificate
pub cert_digest: Vec<u8>,
/// The SNI used during the TLS handshake
pub sni: Option<String>,
/// The user-defined TLS data
pub extension: SslDigestExtension,
}
Expand All @@ -43,6 +45,7 @@ impl SslDigest {
organization: Option<String>,
serial_number: Option<String>,
cert_digest: Vec<u8>,
sni: Option<String>,
) -> Self
where
S: Into<Cow<'static, str>>,
Expand All @@ -53,6 +56,7 @@ impl SslDigest {
organization,
serial_number,
cert_digest,
sni,
extension: SslDigestExtension::default(),
}
}
Expand Down
5 changes: 4 additions & 1 deletion pingora-core/src/protocols/tls/rustls/stream.rs
Original file line number Diff line number Diff line change
Expand Up @@ -390,7 +390,10 @@ impl SslDigest {
.map(|(organization, serial)| (organization, Some(serial)))
.unwrap_or_default();

SslDigest::new(cipher, version, organization, serial_number, cert_digest)
// SNI extraction not yet implemented for rustls
let sni = None;

SslDigest::new(cipher, version, organization, serial_number, cert_digest, sni)
}
}

Expand Down
4 changes: 4 additions & 0 deletions pingora-core/src/protocols/tls/s2n/stream.rs
Original file line number Diff line number Diff line change
Expand Up @@ -307,12 +307,16 @@ impl SslDigest {
}
}

// SNI extraction not yet implemented for s2n
let sni = None;

SslDigest::new(
cipher,
version,
organization,
serial_number,
cert_digest.unwrap_or_default(),
sni,
)
}
}
Expand Down
Loading