Commit ff836a3e authored by kapishnikov's avatar kapishnikov Committed by Commit bot

Switched to new versions of netty and tcnative

Related CLs:
https://codereview.chromium.org/2842333002/
https://codereview.chromium.org/2843223002/

BUG=712738
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_cronet_tester

Review-Url: https://codereview.chromium.org/2843293002
Cr-Commit-Position: refs/heads/master@{#467848}
parent a005bf30
...@@ -481,10 +481,10 @@ deps_os = { ...@@ -481,10 +481,10 @@ deps_os = {
Var('chromium_git') + '/external/mockito/mockito.git' + '@' + 'de83ad4598ad4cf5ea53c69a8a8053780b04b850', Var('chromium_git') + '/external/mockito/mockito.git' + '@' + 'de83ad4598ad4cf5ea53c69a8a8053780b04b850',
'src/third_party/netty-tcnative/src': 'src/third_party/netty-tcnative/src':
Var('chromium_git') + '/external/netty-tcnative.git' + '@' + '2a25ec75d6889d32594a6f8b4d42962c15255d76', Var('chromium_git') + '/external/netty-tcnative.git' + '@' + '5b46a8ef4a39c39c576fcdaaf718b585d75df463',
'src/third_party/netty4/src': 'src/third_party/netty4/src':
Var('chromium_git') + '/external/netty4.git' + '@' + 'e0f26303b4ce635365be19414d0ac81f2ef6ba3c', Var('chromium_git') + '/external/netty4.git' + '@' + 'cc4420b13bb4eeea5b1cf4f93b2755644cd3b120',
'src/third_party/robolectric/robolectric': 'src/third_party/robolectric/robolectric':
Var('chromium_git') + '/external/robolectric.git' + '@' + '2a0b6ba221c14f3371813a676ce06143353e448d', Var('chromium_git') + '/external/robolectric.git' + '@' + '2a0b6ba221c14f3371813a676ce06143353e448d',
......
...@@ -587,7 +587,6 @@ android_library("cronet_test_apk_java") { ...@@ -587,7 +587,6 @@ android_library("cronet_test_apk_java") {
"//base:base_java", "//base:base_java",
"//base:base_java_test_support", "//base:base_java_test_support",
"//net/android:net_java_test_support", "//net/android:net_java_test_support",
"//third_party/netty-tcnative:netty-tcnative_java",
"//third_party/netty4:netty_all_java", "//third_party/netty4:netty_all_java",
] ]
...@@ -1024,7 +1023,6 @@ action("extract_cronet_test_jars") { ...@@ -1024,7 +1023,6 @@ action("extract_cronet_test_jars") {
"$root_out_dir/lib.java/components/cronet/android/cronet_test_apk_java.jar", "$root_out_dir/lib.java/components/cronet/android/cronet_test_apk_java.jar",
"$root_out_dir/lib.java/net/android/net_java.jar", "$root_out_dir/lib.java/net/android/net_java.jar",
"$root_out_dir/lib.java/net/android/net_java_test_support.jar", "$root_out_dir/lib.java/net/android/net_java_test_support.jar",
"$root_out_dir/lib.java/third_party/netty-tcnative/netty-tcnative_java.jar",
"$root_out_dir/lib.java/url/url_java.jar", "$root_out_dir/lib.java/url/url_java.jar",
NETTY4_JAR_FILE, NETTY4_JAR_FILE,
] ]
...@@ -1053,7 +1051,6 @@ action("extract_cronet_test_jars") { ...@@ -1053,7 +1051,6 @@ action("extract_cronet_test_jars") {
"//base:base_java_test_support", "//base:base_java_test_support",
"//net/android:net_java", "//net/android:net_java",
"//net/android:net_java_test_support", "//net/android:net_java_test_support",
"//third_party/netty-tcnative:netty-tcnative_java",
"//third_party/netty4:netty_all_java", "//third_party/netty4:netty_all_java",
"//url:url_java", "//url:url_java",
] ]
......
...@@ -46,7 +46,7 @@ public class BidirectionalStreamTest extends CronetTestBase { ...@@ -46,7 +46,7 @@ public class BidirectionalStreamTest extends CronetTestBase {
mTestFramework = startCronetTestFrameworkWithUrlAndCronetEngineBuilder(null, builder); mTestFramework = startCronetTestFrameworkWithUrlAndCronetEngineBuilder(null, builder);
assertTrue(Http2TestServer.startHttp2TestServer( assertTrue(Http2TestServer.startHttp2TestServer(
getContext(), QuicTestServer.getServerCert(), QuicTestServer.getServerCertKey())); getContext(), SERVER_CERT_PEM, SERVER_KEY_PKCS8_PEM));
} }
@Override @Override
......
...@@ -20,7 +20,7 @@ public class BrotliTest extends CronetTestBase { ...@@ -20,7 +20,7 @@ public class BrotliTest extends CronetTestBase {
// Load library first to create MockCertVerifier. // Load library first to create MockCertVerifier.
System.loadLibrary("cronet_tests"); System.loadLibrary("cronet_tests");
assertTrue(Http2TestServer.startHttp2TestServer( assertTrue(Http2TestServer.startHttp2TestServer(
getContext(), QuicTestServer.getServerCert(), QuicTestServer.getServerCertKey())); getContext(), SERVER_CERT_PEM, SERVER_KEY_PKCS8_PEM));
} }
@Override @Override
......
...@@ -24,6 +24,16 @@ import java.net.URL; ...@@ -24,6 +24,16 @@ import java.net.URL;
* Base test class for all CronetTest based tests. * Base test class for all CronetTest based tests.
*/ */
public class CronetTestBase extends AndroidTestCase { public class CronetTestBase extends AndroidTestCase {
/**
* Name of the file that contains the test server certificate in PEM format.
*/
static final String SERVER_CERT_PEM = "quic_test.example.com.crt";
/**
* Name of the file that contains the test server private key in PKCS8 PEM format.
*/
static final String SERVER_KEY_PKCS8_PEM = "quic_test.example.com.key.pkcs8.pem";
private static final String PRIVATE_DATA_DIRECTORY_SUFFIX = "cronet_test"; private static final String PRIVATE_DATA_DIRECTORY_SUFFIX = "cronet_test";
private static final String LOOPBACK_ADDRESS = "127.0.0.1"; private static final String LOOPBACK_ADDRESS = "127.0.0.1";
......
...@@ -32,7 +32,7 @@ public class ExperimentalOptionsTest extends CronetTestBase { ...@@ -32,7 +32,7 @@ public class ExperimentalOptionsTest extends CronetTestBase {
CronetTestUtil.setMockCertVerifierForTesting( CronetTestUtil.setMockCertVerifierForTesting(
mBuilder, QuicTestServer.createMockCertVerifier()); mBuilder, QuicTestServer.createMockCertVerifier());
assertTrue(Http2TestServer.startHttp2TestServer( assertTrue(Http2TestServer.startHttp2TestServer(
getContext(), QuicTestServer.getServerCert(), QuicTestServer.getServerCertKey())); getContext(), SERVER_CERT_PEM, SERVER_KEY_PKCS8_PEM));
} }
@Override @Override
......
...@@ -18,6 +18,16 @@ import org.chromium.net.ExperimentalCronetEngine; ...@@ -18,6 +18,16 @@ import org.chromium.net.ExperimentalCronetEngine;
class ChromiumNativeTestSupport extends ChromiumPlatformOnlyTestSupport { class ChromiumNativeTestSupport extends ChromiumPlatformOnlyTestSupport {
private static final String TAG = ChromiumNativeTestSupport.class.getSimpleName(); private static final String TAG = ChromiumNativeTestSupport.class.getSimpleName();
/**
* Name of the file that contains the test server certificate in PEM format.
*/
private static final String SERVER_CERT_PEM = "quic_test.example.com.crt";
/**
* Name of the file that contains the test server private key in PKCS8 PEM format.
*/
private static final String SERVER_KEY_PKCS8_PEM = "quic_test.example.com.key.pkcs8.pem";
@Override @Override
public TestServer createTestServer(Context context, Protocol protocol) { public TestServer createTestServer(Context context, Protocol protocol) {
switch (protocol) { switch (protocol) {
...@@ -87,9 +97,8 @@ class ChromiumNativeTestSupport extends ChromiumPlatformOnlyTestSupport { ...@@ -87,9 +97,8 @@ class ChromiumNativeTestSupport extends ChromiumPlatformOnlyTestSupport {
@Override @Override
public boolean start() { public boolean start() {
try { try {
return org.chromium.net.Http2TestServer.startHttp2TestServer(mContext, return org.chromium.net.Http2TestServer.startHttp2TestServer(
org.chromium.net.QuicTestServer.getServerCert(), mContext, SERVER_CERT_PEM, SERVER_KEY_PKCS8_PEM);
org.chromium.net.QuicTestServer.getServerCertKey());
} catch (Exception e) { } catch (Exception e) {
Log.e(TAG, "Exception during Http2TestServer start", e); Log.e(TAG, "Exception during Http2TestServer start", e);
return false; return false;
......
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDVyhl5jqmrRvBO
t1hts6OaaBBSr/AAlK40vbRQH6MmpJ4ckDdbPejXO7yT+wD7x0lUm/HQmvJRhHtZ
i71m866SWrljjGSn0J7jDFDSz5Od6UoRV5PB3q97WkQdCowiph3GremPFo1OkfHT
8fOC/vZV3HLxEQd17LvpOjWHQ4Fe3ENKt3yhGtXSwUA5aX2JrWQbMTSo6p5eJvxx
0sZr5cJzMD9ZpzWNqaXpPUNBvVTyKuEVDDUwa4vyd8pcB49Y9FR3Xq/OscErp7vA
6X3vGtcD7o9nrcbmHannkT9B59aGIIxTs9h5CeJLFVrYkjtiT2jky9CkTrZ9Pl+w
JOpiYc97AgMBAAECggEAEjCHylfhB7mZaJkg5PSLzu9btC1T9jiwObyKQubuMrN+
4F9E1naGAQoMGWsZwlJKYvCBuoX0aAslk5DYJJJHIByn+VhQmBaf7iF2HvmaTa0z
qBYTdENGGvCrKu1izu/jSKwzWwFINI8mTCoh1dtrihKflPMl91qVAlr5gvCzaSac
ovZwe8cm51rN5XclJx+o6SONhPUdlUWJ5yEpA4mjV3eC6/IvPOoMmr8GRS9oBB6k
m7yhcaGrSUClc+K3lpFF+3gXD57ABtT23usrNGnti6xnURDYDm+fUX2j8kZEREvj
YGrCNGp+EecrTzhjgaFukysyRXRp7mLvGEqekodcgQKBgQDm1bmKZmE+0FZJIDXD
4xMiipc+srd6KuaCYdJ5i0xt9xTC5KJA5eSmoQn0+hWa8065A91tHiR8u49Ql5xP
6oQw8kA3dpZliZJSL/o7V+aXoMO9/R3H8tbiZn0y7cMYaYr7PGmXC/giSQ5Yi7qE
+yKjKgx35DGEiTajt4FWJ6/siQKBgQDtGKlPyT/k8XGz305qw2W7d8nFFsR4kSJl
pbbWBwrfouiw0hOARCzevZDq6zSGx9QK8Sv5ACM06TrOxSVNsljKayFK0E+Hc5N/
bNjCDxJd+4CgUNhM2Ta4wvZqW8FGQgphJVUnYu/YahjETWhMiAEOPcm/j7E9k/HQ
BiZixroC4wKBgB3zBuKtC9rxfvB37GHg+V+W6a6p02JXZJbwCDXa2+y8jQYIUgDn
kvYHmNofBGSZQtKAbN82dPd2Ak8rjI1V2Rbcp3ZKvZKo+cIOFYJTkkiEBEGHMLD7
kePH9mCANrrZHr4gBXcih2wzXFgisO2GA+V1lC6N/dq7TsqJCY/bEFk5AoGBAMAI
nnHCBd9P85EFiAUPGCHb5u+b/ivNGXgM3WbCs3ro/uDgde0IyvLpxSuQr62Owl7O
cZgvFVTwprH8mbcxgZsJZCCtUgzafpfRuEqNXIoEf2zZrieoMxs4xc7lXEikirWe
QDczeiHl5QNx0s1RxtEbGIHwR1Uhs9SSdprAbL6TAoGBAMT3QpWdPNlDoPbSkAC9
hoUIaRZS8rN/8Ls1lwYf5RxaiTcEKuQ2IYphMRsSzqHbpDxLtWbsWJGd9VARbgc8
W5DzCmditgUlt9FsawbxqDGO7bkqD4QEkZS67zehDzM2Ir8sy00QZxCi1dJXEBR2
DUChLmnVRf1yCYz0xmGSRskj
-----END PRIVATE KEY-----
...@@ -11,37 +11,15 @@ import("//build/config/android/rules.gni") ...@@ -11,37 +11,15 @@ import("//build/config/android/rules.gni")
shared_library("netty-tcnative-so") { shared_library("netty-tcnative-so") {
output_name = "netty-tcnative" output_name = "netty-tcnative"
sources = [ sources = [
"src/c/address.c",
"src/c/bb.c", "src/c/bb.c",
"src/c/dir.c",
"src/c/error.c", "src/c/error.c",
"src/c/file.c",
"src/c/info.c",
"src/c/jnilib.c", "src/c/jnilib.c",
"src/c/lock.c", "src/c/native_constants.c",
"src/c/misc.c",
"src/c/mmap.c",
"src/c/multicast.c",
"src/c/network.c",
"src/c/os.c",
"src/c/os_unix_system.c",
"src/c/os_unix_uxpipe.c",
"src/c/poll.c",
"src/c/pool.c",
"src/c/proc.c",
"src/c/shm.c",
"src/c/ssl.c", "src/c/ssl.c",
"src/c/ssl_private.h", "src/c/ssl_private.h",
"src/c/sslcontext.c", "src/c/sslcontext.c",
"src/c/sslinfo.c",
"src/c/sslnetwork.c",
"src/c/sslutils.c", "src/c/sslutils.c",
"src/c/stdlib.c",
"src/c/tcn.h", "src/c/tcn.h",
"src/c/tcn_api.h",
"src/c/tcn_version.h",
"src/c/thread.c",
"src/c/user.c",
] ]
include_dirs = [ "../apache-portable-runtime/src/include" ] include_dirs = [ "../apache-portable-runtime/src/include" ]
defines = [ "HAVE_OPENSSL" ] defines = [ "HAVE_OPENSSL" ]
...@@ -56,47 +34,14 @@ shared_library("netty-tcnative-so") { ...@@ -56,47 +34,14 @@ shared_library("netty-tcnative-so") {
# Builds the Java part of netty-tcnative library. # Builds the Java part of netty-tcnative library.
android_library("netty-tcnative_java") { android_library("netty-tcnative_java") {
java_files = [ java_files = [
"src/java/src/org/apache/tomcat/Apr.java", "src/java/io/netty/internal/tcnative/Buffer.java",
"src/java/src/org/apache/tomcat/jni/Address.java", "src/java/io/netty/internal/tcnative/CertificateRequestedCallback.java",
"src/java/src/org/apache/tomcat/jni/BIOCallback.java", "src/java/io/netty/internal/tcnative/CertificateVerifier.java",
"src/java/src/org/apache/tomcat/jni/Buffer.java", "src/java/io/netty/internal/tcnative/Library.java",
"src/java/src/org/apache/tomcat/jni/CertificateVerifier.java", "src/java/io/netty/internal/tcnative/NativeStaticallyReferencedJniMethods.java",
"src/java/src/org/apache/tomcat/jni/Directory.java", "src/java/io/netty/internal/tcnative/SessionTicketKey.java",
"src/java/src/org/apache/tomcat/jni/Error.java", "src/java/io/netty/internal/tcnative/SSL.java",
"src/java/src/org/apache/tomcat/jni/FileInfo.java", "src/java/io/netty/internal/tcnative/SSLContext.java",
"src/java/src/org/apache/tomcat/jni/File.java",
"src/java/src/org/apache/tomcat/jni/Global.java",
"src/java/src/org/apache/tomcat/jni/Library.java",
"src/java/src/org/apache/tomcat/jni/LibraryNotFoundError.java",
"src/java/src/org/apache/tomcat/jni/Local.java",
"src/java/src/org/apache/tomcat/jni/Lock.java",
"src/java/src/org/apache/tomcat/jni/Mmap.java",
"src/java/src/org/apache/tomcat/jni/Multicast.java",
"src/java/src/org/apache/tomcat/jni/OS.java",
"src/java/src/org/apache/tomcat/jni/PasswordCallback.java",
"src/java/src/org/apache/tomcat/jni/Poll.java",
"src/java/src/org/apache/tomcat/jni/PoolCallback.java",
"src/java/src/org/apache/tomcat/jni/Pool.java",
"src/java/src/org/apache/tomcat/jni/Procattr.java",
"src/java/src/org/apache/tomcat/jni/ProcErrorCallback.java",
"src/java/src/org/apache/tomcat/jni/Proc.java",
"src/java/src/org/apache/tomcat/jni/Registry.java",
"src/java/src/org/apache/tomcat/jni/SessionTicketKey.java",
"src/java/src/org/apache/tomcat/jni/Shm.java",
"src/java/src/org/apache/tomcat/jni/Sockaddr.java",
"src/java/src/org/apache/tomcat/jni/socket/AprSocketContext.java",
"src/java/src/org/apache/tomcat/jni/socket/AprSocket.java",
"src/java/src/org/apache/tomcat/jni/socket/HostInfo.java",
"src/java/src/org/apache/tomcat/jni/Socket.java",
"src/java/src/org/apache/tomcat/jni/SSLContext.java",
"src/java/src/org/apache/tomcat/jni/SSLExt.java",
"src/java/src/org/apache/tomcat/jni/SSL.java",
"src/java/src/org/apache/tomcat/jni/SSLSocket.java",
"src/java/src/org/apache/tomcat/jni/Status.java",
"src/java/src/org/apache/tomcat/jni/Stdlib.java",
"src/java/src/org/apache/tomcat/jni/Thread.java",
"src/java/src/org/apache/tomcat/jni/Time.java",
"src/java/src/org/apache/tomcat/jni/User.java",
] ]
run_findbugs_override = false run_findbugs_override = false
deps = [ deps = [
......
Name: Tomcat Native Fork for Netty Name: Tomcat Native Fork for Netty
Short Name: netty-tcnative Short Name: netty-tcnative
URL: https://github.com/netty/netty-tcnative URL: https://github.com/netty/netty-tcnative.git
SHA: 856865181ca38c07b7d2be619903ee98f6f77a23 netty-tcnative-1.1.33.zip Version: 2.0.0.Final
Version: 1.1.33 Date: March 9, 2017
Date: October 13, 2015 Revision: 28d9d70090f1b18927f4554621648cc1922d6e05
Revision: 2aa47be27783ec31086ca9881402f845543de4e6
License: Apache 2.0 License: Apache 2.0
License File: NOT_SHIPPED License File: NOT_SHIPPED
Security Critical: no Security Critical: no
...@@ -21,161 +20,16 @@ Description: ...@@ -21,161 +20,16 @@ Description:
Local Modifications: Local Modifications:
diff -ruN ./original/src/main/c/ssl.c ./src/third_party/netty-tcnative/src/c/ssl.c
--- ./original/src/main/c/ssl.c 2015-10-13 08:36:59.000000000 -0400
+++ ./src/third_party/netty-tcnative/src/c/ssl.c 2016-01-04 10:18:31.729765992 -0500
@@ -1821,7 +1821,7 @@
verify = SSL_VERIFY_NONE;
UNREFERENCED(o);
- TCN_ASSERT(ctx != 0);
+ TCN_ASSERT(c->ctx != 0);
c->verify_mode = level;
if (c->verify_mode == SSL_CVERIFY_UNSET)
diff --git a/c/ssl.c b/c/ssl.c
index 89e6cad..97c7982 100644
--- a/c/ssl.c
+++ b/c/ssl.c
@@ -231,26 +231,38 @@ static const jint supported_ssl_opts = 0
static int ssl_tmp_key_init_rsa(int bits, int idx)
{
-#if (OPENSSL_VERSION_NUMBER < 0x10100000L) || defined(OPENSSL_USE_DEPRECATED)
- if (!(SSL_temp_keys[idx] =
- RSA_generate_key(bits, RSA_F4, NULL, NULL))) {
+#if (OPENSSL_VERSION_NUMBER >= 0x10100000L)
+ return 0;
+#else
+
#ifdef OPENSSL_FIPS
- /**
- * With FIPS mode short RSA keys cannot be
- * generated.
- */
- if (bits < 1024)
- return 0;
- else
-#endif
- return 1;
- }
- else {
+ /**
+ * Short RSA keys cannot be generated in FIPS mode.
+ */
+ if (bits < 1024)
return 0;
- }
-#else
- return 0;
#endif
+
+ BIGNUM *e = BN_new();
+ RSA *rsa = RSA_new();
+ int ret = 1;
+
+ if (e == NULL ||
+ rsa == NULL ||
+ !BN_set_word(e, RSA_F4) ||
+ RSA_generate_key_ex(rsa, bits, e, NULL) != 1) {
+ goto err;
+ }
+
+ SSL_temp_keys[idx] = rsa;
+ rsa = NULL;
+ ret = 0;
+
+err:
+ BN_free(e);
+ RSA_free(rsa);
+ return ret;
+#endif /* OPENSSL_VERSION_NUMBER >= 0x10100000L */
}
static int ssl_tmp_key_init_dh(int bits, int idx)
@@ -610,45 +622,6 @@ int SSL_rand_seed(const char *file)
return RAND_status();
}
-static int ssl_rand_make(const char *file, int len, int base64)
-{
- int r;
- int num = len;
- BIO *out = NULL;
-
- out = BIO_new(BIO_s_file());
- if (out == NULL)
- return 0;
- if ((r = BIO_write_filename(out, (char *)file)) < 0) {
- BIO_free_all(out);
- return 0;
- }
- if (base64) {
- BIO *b64 = BIO_new(BIO_f_base64());
- if (b64 == NULL) {
- BIO_free_all(out);
- return 0;
- }
- out = BIO_push(b64, out);
- }
- while (num > 0) {
- unsigned char buf[4096];
- int len = num;
- if (len > sizeof(buf))
- len = sizeof(buf);
- r = RAND_bytes(buf, len);
- if (r <= 0) {
- BIO_free_all(out);
- return 0;
- }
- BIO_write(out, buf, len);
- num -= len;
- }
- r = BIO_flush(out);
- BIO_free_all(out);
- return r > 0 ? 1 : 0;
-}
-
TCN_IMPLEMENT_CALL(jint, SSL, initialize)(TCN_STDARGS, jstring engine)
{
int r = 0;
@@ -785,17 +758,6 @@ TCN_IMPLEMENT_CALL(jboolean, SSL, randSave)(TCN_STDARGS, jstring file)
return r ? JNI_TRUE : JNI_FALSE;
}
-TCN_IMPLEMENT_CALL(jboolean, SSL, randMake)(TCN_STDARGS, jstring file,
- jint length, jboolean base64)
-{
- TCN_ALLOC_CSTRING(file);
- int r;
- UNREFERENCED(o);
- r = ssl_rand_make(J2S(file), length, base64);
- TCN_FREE_CSTRING(file);
- return r ? JNI_TRUE : JNI_FALSE;
-}
-
TCN_IMPLEMENT_CALL(void, SSL, randSet)(TCN_STDARGS, jstring file)
{
TCN_ALLOC_CSTRING(file);
diff --git a/c/sslcontext.c b/c/sslcontext.c diff --git a/c/sslcontext.c b/c/sslcontext.c
index 925ca2a..78afe61 100644 index 5668298..25bfb6e 100644
--- a/c/sslcontext.c --- a/c/sslcontext.c
+++ b/c/sslcontext.c +++ b/c/sslcontext.c
@@ -1464,7 +1464,11 @@ static const char* authentication_method(const SSL* ssl) { @@ -1178,7 +1178,7 @@ static int SSL_cert_verify(X509_STORE_CTX *ctx, void *arg) {
case SSL2_VERSION: tcn_ssl_ctxt_t *c = SSL_get_app_data2(ssl);
return SSL_TXT_RSA; TCN_ASSERT(c != NULL);
default: tcn_ssl_verify_config_t* verify_config = SSL_get_app_data4(ssl);
+#if defined(OPENSSL_IS_BORINGSSL) - TCN_ASSERT(verify_confg != NULL);
+ return cipher_authentication_method(SSL_get_pending_cipher(ssl)); + TCN_ASSERT(verify_config != NULL);
+#else
return cipher_authentication_method(ssl->s3->tmp.new_cipher); // Get a stack of all certs in the chain
+#endif STACK_OF(X509) *sk = ctx->untrusted;
}
}
}
025da0aad4f9c2fdeebb64bcebf11bbf2c12a2bd and
fd68c837b156ddb4b054e03d99a401e93068b34d were backported from upstream.
Name: Netty Name: Netty
Short Name: netty Short Name: netty
URL: http://netty.io/ URL: http://netty.io/
SHA: f40598a04aae5fa4b24810f30aaaf4a61c9c4385 netty-4.1.0.Beta8.tar.bz2 SHA: 3b0025e08168eebc97b232fef333a716dc4d42bd netty-4.1.9.Final.tar.bz2
Version: 4.1.0.Beta8 Version: 4.1.9.Final
Date: November 10, 2015 Date: March 10, 2017
License: Apache 2.0 License: Apache 2.0
License File: NOT_SHIPPED License File: NOT_SHIPPED
Security Critical: no Security Critical: no
...@@ -16,13 +16,4 @@ of network applications such as protocol servers and clients. It greatly ...@@ -16,13 +16,4 @@ of network applications such as protocol servers and clients. It greatly
simplifies and streamlines network programming such as TCP and UDP socket server. simplifies and streamlines network programming such as TCP and UDP socket server.
Local Modifications: Local Modifications:
Replaced netty-all jar files with the nightly build version None
and deleted all 4.1.0.Beta8 version jars.
URL: https://oss.sonatype.org/content/repositories/snapshots/io/netty/netty-all/4.1.0.CR1-SNAPSHOT/
SHA: 2748f46eca4216a08e75dd9ce618f61ed067c4f5 netty-all-4.1.0.CR1-20160111.120759-50-sources.jar
Date: January 11, 2016
URL: https://oss.sonatype.org/content/repositories/snapshots/io/netty/netty-all/4.1.0.CR1-SNAPSHOT/
SHA: 16cc4addd84c7fb3444e6d79f7d8cef74adefc7d netty-all-4.1.0.CR1-20160111.120759-50.jar
Date: January 11, 2016
...@@ -4,4 +4,5 @@ ...@@ -4,4 +4,5 @@
# Defines location of netty4 jar file. # Defines location of netty4 jar file.
NETTY4_JAR_FILE = "//third_party/netty4/src/jar/all-in-one/netty-all-4.1.0.CR1-20160111.120759-50.jar" NETTY4_JAR_FILE =
"//third_party/netty4/src/jar/all-in-one/netty-all-4.1.9.Final.jar"
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment