openssl: libressl 2.6.1 dropped suuport for npn
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
This commit is contained in:
parent
bf85e41d74
commit
5091830379
|
|
@ -20,6 +20,10 @@ fn main() {
|
||||||
println!("cargo:rustc-cfg=libressl");
|
println!("cargo:rustc-cfg=libressl");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if let Ok(v) = env::var("DEP_OPENSSL_LIBRESSL_VERSION") {
|
||||||
|
println!("cargo:rustc-cfg=libressl{}", v);
|
||||||
|
}
|
||||||
|
|
||||||
if let Ok(vars) = env::var("DEP_OPENSSL_CONF") {
|
if let Ok(vars) = env::var("DEP_OPENSSL_CONF") {
|
||||||
for var in vars.split(",") {
|
for var in vars.split(",") {
|
||||||
println!("cargo:rustc-cfg=osslconf=\"{}\"", var);
|
println!("cargo:rustc-cfg=osslconf=\"{}\"", var);
|
||||||
|
|
|
||||||
|
|
@ -652,6 +652,7 @@ impl SslContextBuilder {
|
||||||
|
|
||||||
/// Set the protocols to be used during Next Protocol Negotiation (the protocols
|
/// Set the protocols to be used during Next Protocol Negotiation (the protocols
|
||||||
/// supported by the application).
|
/// supported by the application).
|
||||||
|
#[cfg(not(libressl261))]
|
||||||
pub fn set_npn_protocols(&mut self, protocols: &[&[u8]]) -> Result<(), ErrorStack> {
|
pub fn set_npn_protocols(&mut self, protocols: &[&[u8]]) -> Result<(), ErrorStack> {
|
||||||
// Firstly, convert the list of protocols to a byte-array that can be passed to OpenSSL
|
// Firstly, convert the list of protocols to a byte-array that can be passed to OpenSSL
|
||||||
// APIs -- a list of length-prefixed strings.
|
// APIs -- a list of length-prefixed strings.
|
||||||
|
|
@ -1310,6 +1311,7 @@ impl SslRef {
|
||||||
///
|
///
|
||||||
/// The protocol's name is returned is an opaque sequence of bytes. It is up to the client
|
/// The protocol's name is returned is an opaque sequence of bytes. It is up to the client
|
||||||
/// to interpret it.
|
/// to interpret it.
|
||||||
|
#[cfg(not(libressl261))]
|
||||||
pub fn selected_npn_protocol(&self) -> Option<&[u8]> {
|
pub fn selected_npn_protocol(&self) -> Option<&[u8]> {
|
||||||
unsafe {
|
unsafe {
|
||||||
let mut data: *const c_uchar = ptr::null();
|
let mut data: *const c_uchar = ptr::null();
|
||||||
|
|
|
||||||
|
|
@ -503,6 +503,7 @@ fn test_connect_with_unilateral_alpn() {
|
||||||
/// Tests that connecting with the client using NPN, but the server not does not
|
/// Tests that connecting with the client using NPN, but the server not does not
|
||||||
/// break the existing connection behavior.
|
/// break the existing connection behavior.
|
||||||
#[test]
|
#[test]
|
||||||
|
#[cfg(not(libressl261))]
|
||||||
fn test_connect_with_unilateral_npn() {
|
fn test_connect_with_unilateral_npn() {
|
||||||
let (_s, stream) = Server::new();
|
let (_s, stream) = Server::new();
|
||||||
let mut ctx = SslContext::builder(SslMethod::tls()).unwrap();
|
let mut ctx = SslContext::builder(SslMethod::tls()).unwrap();
|
||||||
|
|
@ -615,6 +616,7 @@ fn test_connect_with_npn_successful_single_match() {
|
||||||
/// Tests that when the `SslStream` is created as a server stream, the protocols
|
/// Tests that when the `SslStream` is created as a server stream, the protocols
|
||||||
/// are correctly advertised to the client.
|
/// are correctly advertised to the client.
|
||||||
#[test]
|
#[test]
|
||||||
|
#[cfg(not(libressl261))]
|
||||||
fn test_npn_server_advertise_multiple() {
|
fn test_npn_server_advertise_multiple() {
|
||||||
let listener = TcpListener::bind("127.0.0.1:0").unwrap();
|
let listener = TcpListener::bind("127.0.0.1:0").unwrap();
|
||||||
let localhost = listener.local_addr().unwrap();
|
let localhost = listener.local_addr().unwrap();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue