From owner-svn-ports-head@freebsd.org Thu Nov 9 14:15:00 2017 Return-Path: Delivered-To: svn-ports-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D0ED6E5149D; Thu, 9 Nov 2017 14:15:00 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 92FA667A07; Thu, 9 Nov 2017 14:15:00 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id vA9EExKD010269; Thu, 9 Nov 2017 14:14:59 GMT (envelope-from dumbbell@FreeBSD.org) Received: (from dumbbell@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id vA9EEx6m010264; Thu, 9 Nov 2017 14:14:59 GMT (envelope-from dumbbell@FreeBSD.org) Message-Id: <201711091414.vA9EEx6m010264@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dumbbell set sender to dumbbell@FreeBSD.org using -f From: =?UTF-8?Q?Jean-S=c3=a9bastien_P=c3=a9dron?= Date: Thu, 9 Nov 2017 14:14:59 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r453810 - head/lang/rust/files X-SVN-Group: ports-head X-SVN-Commit-Author: dumbbell X-SVN-Commit-Paths: head/lang/rust/files X-SVN-Commit-Revision: 453810 X-SVN-Commit-Repository: ports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the ports tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 09 Nov 2017 14:15:00 -0000 Author: dumbbell Date: Thu Nov 9 14:14:59 2017 New Revision: 453810 URL: https://svnweb.freebsd.org/changeset/ports/453810 Log: lang/rust: Add support for LibreSSL 2.6.3 Patches come from upstream: https://github.com/sfackler/rust-openssl PR: 223500 Reported by: Charlie Li Modified: head/lang/rust/files/patch-src_vendor_openssl-sys_build.rs head/lang/rust/files/patch-src_vendor_openssl-sys_src_lib.rs head/lang/rust/files/patch-src_vendor_openssl-sys_src_libressl_mod.rs head/lang/rust/files/patch-src_vendor_openssl_src_ssl_mod.rs head/lang/rust/files/patch-src_vendor_openssl_src_ssl_tests_mod.rs Modified: head/lang/rust/files/patch-src_vendor_openssl-sys_build.rs ============================================================================== --- head/lang/rust/files/patch-src_vendor_openssl-sys_build.rs Thu Nov 9 14:13:44 2017 (r453809) +++ head/lang/rust/files/patch-src_vendor_openssl-sys_build.rs Thu Nov 9 14:14:59 2017 (r453810) @@ -1,12 +1,14 @@ ---- src/vendor/openssl-sys/build.rs.orig 2017-10-10 20:21:44 UTC +--- src/vendor/openssl-sys/build.rs.orig 2017-10-09 21:52:49 UTC +++ src/vendor/openssl-sys/build.rs -@@ -260,8 +260,12 @@ fn validate_headers(include_dirs: &[PathBuf]) -> Versi +@@ -307,8 +307,14 @@ fn validate_headers(include_dirs: &[PathBuf]) -> Versi #include #include -#if LIBRESSL_VERSION_NUMBER >= 0x20601000 -+#if LIBRESSL_VERSION_NUMBER >= 0x20603000 ++#if LIBRESSL_VERSION_NUMBER >= 0x20604000 RUST_LIBRESSL_NEW ++#elif LIBRESSL_VERSION_NUMBER >= 0x20603000 ++RUST_LIBRESSL_263 +#elif LIBRESSL_VERSION_NUMBER >= 0x20602000 +RUST_LIBRESSL_262 +#elif LIBRESSL_VERSION_NUMBER >= 0x20601000 @@ -14,7 +16,7 @@ #elif LIBRESSL_VERSION_NUMBER >= 0x20600000 RUST_LIBRESSL_260 #elif LIBRESSL_VERSION_NUMBER >= 0x20506000 -@@ -356,42 +360,63 @@ See rust-openssl README for more information: +@@ -403,42 +409,70 @@ See rust-openssl README for more information: println!("cargo:rustc-cfg=libressl"); println!("cargo:rustc-cfg=libressl250"); println!("cargo:libressl=true"); @@ -75,6 +77,13 @@ + println!("cargo:rustc-cfg=libressl262"); + println!("cargo:libressl=true"); + println!("cargo:libressl_version=262"); ++ println!("cargo:version=101"); ++ Version::Libressl ++ } else if expanded.contains("RUST_LIBRESSL_263") { ++ println!("cargo:rustc-cfg=libressl"); ++ println!("cargo:rustc-cfg=libressl263"); ++ println!("cargo:libressl=true"); ++ println!("cargo:libressl_version=263"); println!("cargo:version=101"); Version::Libressl } else if expanded.contains("RUST_OPENSSL_110F") { Modified: head/lang/rust/files/patch-src_vendor_openssl-sys_src_lib.rs ============================================================================== --- head/lang/rust/files/patch-src_vendor_openssl-sys_src_lib.rs Thu Nov 9 14:13:44 2017 (r453809) +++ head/lang/rust/files/patch-src_vendor_openssl-sys_src_lib.rs Thu Nov 9 14:14:59 2017 (r453810) @@ -1,18 +1,18 @@ ---- src/vendor/openssl-sys/src/lib.rs.orig 2017-10-10 20:22:00 UTC +--- src/vendor/openssl-sys/src/lib.rs.orig 2017-10-09 21:52:49 UTC +++ src/vendor/openssl-sys/src/lib.rs -@@ -1210,10 +1210,15 @@ pub const SSL_VERIFY_NONE: c_int = 0; +@@ -1225,10 +1225,15 @@ pub const SSL_VERIFY_NONE: c_int = 0; pub const SSL_VERIFY_PEER: c_int = 1; pub const SSL_VERIFY_FAIL_IF_NO_PEER_CERT: c_int = 2; -#[cfg(not(ossl101))] -+#[cfg(not(any(libressl261, libressl262, ossl101)))] ++#[cfg(not(any(libressl261, libressl262, libressl263, ossl101)))] pub const SSL_OP_TLSEXT_PADDING: c_ulong = 0x00000010; -+#[cfg(any(libressl261, libressl262))] ++#[cfg(any(libressl261, libressl262, libressl263))] +pub const SSL_OP_TLSEXT_PADDING: c_ulong = 0x0; pub const SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS: c_ulong = 0x00000800; -+#[cfg(not(any(libressl261, libressl262)))] ++#[cfg(not(any(libressl261, libressl262, libressl263)))] pub const SSL_OP_CRYPTOPRO_TLSEXT_BUG: c_ulong = 0x80000000; -+#[cfg(any(libressl261, libressl262))] ++#[cfg(any(libressl261, libressl262, libressl263))] +pub const SSL_OP_CRYPTOPRO_TLSEXT_BUG: c_ulong = 0x0; pub const SSL_OP_LEGACY_SERVER_CONNECT: c_ulong = 0x00000004; #[cfg(not(libressl))] Modified: head/lang/rust/files/patch-src_vendor_openssl-sys_src_libressl_mod.rs ============================================================================== --- head/lang/rust/files/patch-src_vendor_openssl-sys_src_libressl_mod.rs Thu Nov 9 14:13:44 2017 (r453809) +++ head/lang/rust/files/patch-src_vendor_openssl-sys_src_libressl_mod.rs Thu Nov 9 14:14:59 2017 (r453810) @@ -1,12 +1,12 @@ ---- src/vendor/openssl-sys/src/libressl/mod.rs.orig 2017-10-10 20:22:20 UTC +--- src/vendor/openssl-sys/src/libressl/mod.rs.orig 2017-10-09 21:52:49 UTC +++ src/vendor/openssl-sys/src/libressl/mod.rs @@ -345,6 +345,9 @@ pub const SSL_CTRL_OPTIONS: c_int = 32; pub const SSL_CTRL_CLEAR_OPTIONS: c_int = 77; pub const SSL_CTRL_SET_ECDH_AUTO: c_int = 94; -+#[cfg(any(libressl261, libressl262))] ++#[cfg(any(libressl261, libressl262, libressl263))] +pub const SSL_OP_ALL: c_ulong = 0x4; -+#[cfg(not(any(libressl261, libressl262)))] ++#[cfg(not(any(libressl261, libressl262, libressl263)))] pub const SSL_OP_ALL: c_ulong = 0x80000014; pub const SSL_OP_CISCO_ANYCONNECT: c_ulong = 0x0; pub const SSL_OP_NO_COMPRESSION: c_ulong = 0x0; @@ -14,9 +14,9 @@ pub const SSL_OP_SSLEAY_080_CLIENT_DH_BUG: c_ulong = 0x0; pub const SSL_OP_TLS_D5_BUG: c_ulong = 0x0; pub const SSL_OP_TLS_BLOCK_PADDING_BUG: c_ulong = 0x0; -+#[cfg(any(libressl261, libressl262))] ++#[cfg(any(libressl261, libressl262, libressl263))] +pub const SSL_OP_SINGLE_ECDH_USE: c_ulong = 0x0; -+#[cfg(not(any(libressl261, libressl262)))] ++#[cfg(not(any(libressl261, libressl262, libressl263)))] pub const SSL_OP_SINGLE_ECDH_USE: c_ulong = 0x00080000; pub const SSL_OP_SINGLE_DH_USE: c_ulong = 0x00100000; pub const SSL_OP_NO_SSLv2: c_ulong = 0x0; Modified: head/lang/rust/files/patch-src_vendor_openssl_src_ssl_mod.rs ============================================================================== --- head/lang/rust/files/patch-src_vendor_openssl_src_ssl_mod.rs Thu Nov 9 14:13:44 2017 (r453809) +++ head/lang/rust/files/patch-src_vendor_openssl_src_ssl_mod.rs Thu Nov 9 14:14:59 2017 (r453810) @@ -1,18 +1,18 @@ ---- src/vendor/openssl/src/ssl/mod.rs.orig 2017-10-10 20:21:00 UTC +--- src/vendor/openssl/src/ssl/mod.rs.orig 2017-10-09 21:52:52 UTC +++ src/vendor/openssl/src/ssl/mod.rs @@ -652,6 +652,7 @@ impl SslContextBuilder { /// Set the protocols to be used during Next Protocol Negotiation (the protocols /// supported by the application). -+ #[cfg(not(any(libressl261, libressl262)))] ++ #[cfg(not(any(libressl261, libressl262, libressl263)))] 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 // APIs -- a list of length-prefixed strings. -@@ -1295,6 +1296,7 @@ impl SslRef { +@@ -1310,6 +1311,7 @@ impl SslRef { /// /// The protocol's name is returned is an opaque sequence of bytes. It is up to the client /// to interpret it. -+ #[cfg(not(any(libressl261, libressl262)))] ++ #[cfg(not(any(libressl261, libressl262, libressl263)))] pub fn selected_npn_protocol(&self) -> Option<&[u8]> { unsafe { let mut data: *const c_uchar = ptr::null(); Modified: head/lang/rust/files/patch-src_vendor_openssl_src_ssl_tests_mod.rs ============================================================================== --- head/lang/rust/files/patch-src_vendor_openssl_src_ssl_tests_mod.rs Thu Nov 9 14:13:44 2017 (r453809) +++ head/lang/rust/files/patch-src_vendor_openssl_src_ssl_tests_mod.rs Thu Nov 9 14:14:59 2017 (r453810) @@ -1,36 +1,36 @@ ---- src/vendor/openssl/src/ssl/tests/mod.rs.orig 2017-10-10 20:21:13 UTC -+++ src/vendor/openssl/src/ssl/tests/mod.rs -@@ -564,6 +564,7 @@ fn test_connect_with_unilateral_alpn() { +--- src/vendor/openssl/src/ssl/tests/mod.rs.orig 2017-10-09 23:52:52.000000000 +0200 ++++ src/vendor/openssl/src/ssl/tests/mod.rs 2017-11-09 13:42:46.721625000 +0100 +@@ -503,6 +503,7 @@ /// Tests that connecting with the client using NPN, but the server not does not /// break the existing connection behavior. #[test] -+#[cfg(not(any(libressl261, libressl262)))] ++#[cfg(not(any(libressl261, libressl262, libressl263)))] fn test_connect_with_unilateral_npn() { let (_s, stream) = Server::new(); let mut ctx = SslContext::builder(SslMethod::tls()).unwrap(); -@@ -676,6 +677,7 @@ fn test_connect_with_npn_successful_single_match() { +@@ -615,6 +616,7 @@ /// Tests that when the `SslStream` is created as a server stream, the protocols /// are correctly advertised to the client. #[test] -+#[cfg(not(any(libressl261, libressl262)))] ++#[cfg(not(any(libressl261, libressl262, libressl263)))] fn test_npn_server_advertise_multiple() { let listener = TcpListener::bind("127.0.0.1:0").unwrap(); let localhost = listener.local_addr().unwrap(); -@@ -1311,7 +1313,7 @@ fn tmp_dh_callback() { +@@ -1239,7 +1241,7 @@ } #[test] -#[cfg(any(all(feature = "v101", ossl101), all(feature = "v102", ossl102)))] -+#[cfg(any(all(feature = "v101", ossl101, not(any(libressl261, libressl262))), all(feature = "v102", ossl102)))] ++#[cfg(any(all(feature = "v101", ossl101, not(any(libressl261, libressl262, libressl263))), all(feature = "v102", ossl102)))] fn tmp_ecdh_callback() { use ec::EcKey; use nid; -@@ -1378,7 +1380,7 @@ fn tmp_dh_callback_ssl() { +@@ -1306,7 +1308,7 @@ } #[test] -#[cfg(any(all(feature = "v101", ossl101), all(feature = "v102", ossl102)))] -+#[cfg(any(all(feature = "v101", ossl101, not(any(libressl261, libressl262))), all(feature = "v102", ossl102)))] ++#[cfg(any(all(feature = "v101", ossl101, not(any(libressl261, libressl262, libressl263))), all(feature = "v102", ossl102)))] fn tmp_ecdh_callback_ssl() { use ec::EcKey; use nid;