ba17b532f644b7caed6d08671d492edfee8b6f37 |
|
13-Jan-2017 |
Yi Kong <yikong@google.com> |
Revert "Revert "Move PlainDatagramSocketImpl away from JNI"" Fixed a issue introduced as part of Libcore change 5e0df135, that caused calling DatagramSocket.receive() with a reused DatagramPacket to fail. This was due to calling system recvfrom(2) with packet's content length instead of its buffer length. This reverts commit fba26224db3ed354a0b42c4bee5ed4ddc4d52f9a and fixes the above issue. org.apache.harmony.tests.java.net.DatagramSocketTest#testReceiveTwice is a regression test. Test: Manual testing Test: org.apache.harmony.tests.java.net.DatagramSocketTest#testReceiveTwice Test: CtsLibcoreTestCases Bug: 33957878 Change-Id: I64daaf6cf099e9af6bdee56f29da48627111ae25
|
fba26224db3ed354a0b42c4bee5ed4ddc4d52f9a |
|
11-Jan-2017 |
Yi Kong <yikong@google.com> |
Revert "Move PlainDatagramSocketImpl away from JNI" The PlainDatagramSocketImpl rewrite change set caused a regression in casting device discovery mechanism. Revert these changes while investigating the root cause. This reverts the following commits: 77110aac1821ca512c3d2b05f2f6b1f5ab7091f6 DatagramSocket should set IP_MULTICAST_ALL to 0 0c38d180ead8b6d9bf3268979ac0967cb7e29283 Move PlainDatagramSocketImpl away from JNI (part 3) 0cda0594094f792c4ff923ea55311e0bd51a37c1 Move PlainDatagramSocketImpl away from JNI (part 2) 5e0df13532a902abc72c267a92bf3d83e71b0b1c Move PlainDatagramSocketImpl away from JNI (part 1) Test: Manual testing Bug: 33957878 Change-Id: I3d27e642ab77cb01ba6f1eb619847f67b47e44d8
|
77110aac1821ca512c3d2b05f2f6b1f5ab7091f6 |
|
10-Jan-2017 |
Yi Kong <yikong@google.com> |
DatagramSocket should set IP_MULTICAST_ALL to 0 Incorrectly removed explicit setting of IP_MULTICAST_ALL in DatagramSocket rewrite (Libcore change 5e0df135) due to misinterpretation of the spec, and broke apps that uses Multicast socket. This change reintroduces the explicit setsockopt during socket creation. Tests will be added in a follow-up change. Test: Manual testing Bug: 33957878 Change-Id: I665c59372c803df81800ef1a19fca88fd49425ae
|
0c38d180ead8b6d9bf3268979ac0967cb7e29283 |
|
07-Jan-2017 |
Yi Kong <yikong@google.com> |
Move PlainDatagramSocketImpl away from JNI (part 3) Remove unused static variables and their initializers, and some code clean ups. No functionality change. Test: Build Bug: 28609551 Change-Id: I2cb3f1cfc85d28207750c76b67e7f4887c11189c
|
0cda0594094f792c4ff923ea55311e0bd51a37c1 |
|
19-Dec-2016 |
Yi Kong <yikong@google.com> |
Move PlainDatagramSocketImpl away from JNI (part 2) Rewrites remaining JNI methods in PlainDatagramSocketImpl (socket{Get,Set}Option) on top of IoBridge. Adapted IoBridge behaviour to work with OpenJDK code. Since the only other user of the affected method does not depend on the changed behaviour, this won't introduce any side effect. Test: CtsLibcoreTestCases Bug: 28609551 Change-Id: I6310edd9ec3b48bb51a8cc86ecbe757d1096f5a1
|
5e0df13532a902abc72c267a92bf3d83e71b0b1c |
|
14-Dec-2016 |
Yi Kong <yikong@google.com> |
Move PlainDatagramSocketImpl away from JNI (part 1) Rewrites all JNI methods in PlainDatagramSocketImpl apart from socket{Get,Set}Option on top of IoBridge. There are some differences comparing to JNI code: bind: * We don't set setDefaultScopeID, since that's not necessary for Linux. send: * OpenJDK sets sin6_flowinfo field, but this is against RFC3493 and is not used by the kernel. We don't set this field. peek: * Temporary DatagramPacket object has zero length instead of one in original implementation. These is no need to have that one byte and has better performance by avoid allocating a buffer. datagramSocketCreate: * We don't need to explicitly setsockopt IP_MULTICAST_ALL to 0, as this is default for AF_INET6 sockets and we always create sockets with AF_INET6 in Android libcore. * We also don't explicitly setsockopt IPV6_MULTICAST_HOPS, since this is to workaround a bug in old Linux kernels (< 2.4) and no longer relevant. Also while rewriting, several behaviour changes from M were found and the rewrite keeps the N behaviour: send: * If sendto(2) sets errno as ECONNREFUSED, we now throw PortUnreachableException instead of ignoring, and if it set errno as ECONNRESET, we throw IOException instead of ignoring. In all the other cases, we throw IOException instead of SocketException. recv/peek: * packet.address should only be updated if source address is different, and should be the same object if address is the same. Test: CtsLibcoreTestCases Bug: 28609551 Change-Id: I9a5c65cce8dee9695966012f8f2e3ddf9d84bae4
|
780a0e6392567eb5d1c3425043b092d29590976b |
|
19-Aug-2016 |
Yi Kong <yikong@google.com> |
Revert "Revert "Import upstream change: Setting IP_TOS on java.net sockets not working on unix"" Fixes a bug in upstream code which uses out-dated RFC 1349 TOS scheme while modern Linux uses imcompatiable Diffserv/ECN scheme. Update test expectation to expect ECN bits not set for STREAM sockets. This reverts commit e706f546a18f06b58345ee64afd884a01f0d38ff. Bug: 30909505 Bug: 29067535 Test: libcore.java.net.SocketTest, libcore.java.net.DatagramSocketTest Change-Id: I92de46a4abb5dbb8874fa01504cdd63c6890d0f7
|
e706f546a18f06b58345ee64afd884a01f0d38ff |
|
19-Aug-2016 |
Yi Kong <yikong@google.com> |
Revert "Import upstream change: Setting IP_TOS on java.net sockets not working on unix" This change broke libcore.java.net.SocketTest#test_setTrafficClass. Reverts commit e646d79e87319f70e32b9e3233435e9d8d8df761. Bug: 30909505 Change-Id: I4278917c761053af33cd95cb5e84013f43e8d003
|
e646d79e87319f70e32b9e3233435e9d8d8df761 |
|
01-Jul-2016 |
Yi Kong <yikong@google.com> |
Import upstream change: Setting IP_TOS on java.net sockets not working on unix Upstream change: 8072384: Setting IP_TOS on java.net sockets not working on unix Reviewed-by: michaelm http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/rev/3767befecb32 Bug: 29067535 Test: Passes CTS tests Change-Id: I08dc3bdee860062d23e181a43bcde88a728d44c2
|
5dd14d677fbbc0ad77b4eefa82a6f7c0a17f9a37 |
|
11-Jul-2016 |
Yi Kong <yikong@google.com> |
Add missing SO_FLOW_SLA changes Add back some overridden methods missed in commit e573e88e89daf5efb323719c54117c5a423eb245. Bug: 29067535 Test: Passes java.net CTS tests Change-Id: I0333b6b87972a40212de4fa0569102ebb118b622
|
49965c1dc9da104344f4893a05e45795a5740d20 |
|
30-Jun-2016 |
Ganesh Mahendran <opensource.ganesh@gmail.com> |
remove x attribute of java file java file does not need x attribute. This patch removes it. Change-Id: I2a7170d99f4bee7a7b819621c84dd197ded37fa2 Signed-off-by: Ganesh Mahendran <opensource.ganesh@gmail.com>
|
74062e1c405d0943159bb52dcacd4df240e60621 |
|
05-May-2016 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Revert "Move more clinit code to registration functions" This reverts commit 97d726e8f74b80a567ff3cc7fd18270fa6a7f3ca. This cl breaks art 119-noimage-patchoat test. Change-Id: If8b8c7b4a555ead5ac6a8fe4a32002658ea52644
|
28a7080264c820a9f54f4de84c83b0ddb1701dcb |
|
05-May-2016 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Revert "Move more clinit code to registration functions" This reverts commit 607fcf911f63035e238accb21eb4648e9a0d2b8f. This cl breaks art 119-noimage-patchoat test. Change-Id: I9dccfeed4c1a510ddf45aab55ddc2d04d45fe009
|
97d726e8f74b80a567ff3cc7fd18270fa6a7f3ca |
|
03-May-2016 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Move more clinit code to registration functions Moved clinit code that fetches field/method ids to JNI registration funcitons. This will allow to compile-time initialize these classes. Moved more classes in java.net.* and java.io.* packages. Removed sun.nio.ch.Util#load() method that was preventing many sun.nio.ch.* classes from being compile-time initialized. More clinit code moving changes will follow. Bug: 28153851 Change-Id: I661bea4d04470366ea589a9308cb2767000c687c (cherry picked from commit 607fcf911f63035e238accb21eb4648e9a0d2b8f)
|
607fcf911f63035e238accb21eb4648e9a0d2b8f |
|
03-May-2016 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Move more clinit code to registration functions Moved clinit code that fetches field/method ids to JNI registration funcitons. This will allow to compile-time initialize these classes. Moved more classes in java.net.* and java.io.* packages. Removed sun.nio.ch.Util#load() method that was preventing many sun.nio.ch.* classes from being compile-time initialized. More clinit code moving changes will follow. Bug: 28153851 Change-Id: I661bea4d04470366ea589a9308cb2767000c687c
|
51b1b6997fd3f980076b8081f7f1165ccc2a4008 |
|
16-Feb-2015 |
Piotr Jastrzebski <haaawk@google.com> |
Initial import of OpenJdk files. Create new libcore/ojluni directory with src/main/java and src/main/native subdirectiories. Build ojluni into core-oj jar. Use openjdk classes from java.awt.font package. Copy all files from jdk/src/share/classes and jdk/src/solaris/classes directories in openjdk into libcore/ojluni/src/main/java. Copy following native files from openjdk to libcore/ojluni/src/main/native: jdk/src/solaris/native/java/io/canonicalize_md.c build/linux-amd64/include/classfile_constants.h jdk/src/share/native/java/net/DatagramPacket.c jdk/src/solaris/native/sun/net/spi/DefaultProxySelector.c jdk/src/share/native/java/lang/Double.c jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h jdk/src/solaris/native/sun/nio/ch/FileChannelImpl.c jdk/src/solaris/native/java/io/FileDescriptor_md.c jdk/src/solaris/native/sun/nio/ch/FileDispatcherImpl.c jdk/src/share/native/java/io/FileInputStream.c jdk/src/solaris/native/sun/nio/ch/FileKey.c jdk/src/solaris/native/java/io/FileOutputStream_md.c jdk/src/solaris/native/java/io/FileSystem_md.c jdk/src/share/native/java/lang/Float.c jdk/src/share/native/java/net/Inet4Address.c jdk/src/solaris/native/java/net/Inet4AddressImpl.c jdk/src/share/native/java/net/Inet6Address.c jdk/src/solaris/native/java/net/Inet6AddressImpl.c jdk/src/share/native/java/net/InetAddress.c jdk/src/solaris/native/java/net/InetAddressImplFactory.c jdk/src/share/native/java/io/io_util.c jdk/src/solaris/native/sun/nio/ch/IOUtil.c jdk/src/share/native/java/io/io_util.h jdk/src/solaris/native/java/io/io_util_md.c jdk/src/solaris/native/java/io/io_util_md.h build/linux-amd64/tmp/java/java.nio/nio/CClassHeaders/java_io_FileDescriptor.h build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_io_FileInputStream.h build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_io_FileOutputStream.h build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_io_FileSystem.h build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_io_ObjectStreamClass.h build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_io_UnixFileSystem.h build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_Double.h build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_Float.h build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_Integer.h build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_Long.h build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_Runtime.h build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_Shutdown.h build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_StrictMath.h build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_String.h build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_System.h build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_Thread.h build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/java_lang_Throwable.h build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_DatagramPacket.h build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_Inet4Address.h build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_Inet4AddressImpl.h build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_Inet6Address.h build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_Inet6AddressImpl.h build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_InetAddress.h build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_InetAddressImplFactory.h build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_NetworkInterface.h build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_PlainDatagramSocketImpl.h build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_PlainSocketImpl.h build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_SocketInputStream.h build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_SocketOptions.h build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/java_net_SocketOutputStream.h jdk/src/share/native/java/lang/java_props.h jdk/src/solaris/native/java/lang/java_props_md.c jdk/src/share/native/java/util/zip/Adler32.c as java_util_zip_Adler32.c jdk/src/share/native/java/util/zip/CRC32.c as java_util_zip_CRC32.c build/linux-amd64/tmp/sun/java.util.zip/zip/CClassHeaders/java_util_zip_CRC32.h jdk/src/share/native/java/util/zip/Deflater.c as java_util_zip_Deflater.c build/linux-amd64/tmp/sun/java.util.zip/zip/CClassHeaders/java_util_zip_Deflater.h jdk/src/share/native/java/util/zip/Inflater.c as java_util_zip_Inflater.c build/linux-amd64/tmp/sun/java.util.zip/zip/CClassHeaders/java_util_zip_Inflater.h jdk/src/share/native/java/util/zip/ZipFile.c as java_util_zip_ZipFile.c build/linux-amd64/tmp/sun/java.util.zip/zip/CClassHeaders/java_util_zip_ZipFile.h jdk/src/share/native/java/lang/fdlibm/include/jfdlibm.h jdk/src/share/native/common/jlong.h jdk/src/solaris/native/common/jlong_md.h jdk/src/share/native/common/jni_util.c jdk/src/share/native/common/jni_util.h jdk/src/solaris/native/common/jni_util_md.c jdk/src/share/javavm/export/jvm.h jdk/src/solaris/javavm/export/jvm_md.h jdk/src/solaris/native/java/net/linux_close.c jdk/src/share/native/sun/misc/NativeSignalHandler.c jdk/src/solaris/native/sun/nio/ch/NativeThread.c jdk/src/share/native/java/net/net_util.c jdk/src/share/native/java/net/net_util.h jdk/src/solaris/native/java/net/net_util_md.c jdk/src/solaris/native/java/net/net_util_md.h jdk/src/solaris/native/java/net/NetworkInterface.c jdk/src/share/native/sun/nio/ch/nio.h jdk/src/solaris/native/sun/nio/ch/nio_util.h jdk/src/share/native/java/io/ObjectStreamClass.c jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c jdk/src/solaris/native/java/net/PlainSocketImpl.c jdk/src/solaris/native/java/lang/ProcessEnvironment_md.c jdk/src/share/native/java/lang/Runtime.c jdk/src/share/native/java/lang/Shutdown.c jdk/src/share/native/sun/misc/Signal.c jdk/src/solaris/native/java/net/SocketInputStream.c jdk/src/solaris/native/java/net/SocketOutputStream.c jdk/src/share/native/java/lang/StrictMath.c jdk/src/share/native/java/lang/String.c build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/sun_misc_NativeSignalHandler.h build/linux-amd64/tmp/java/java.lang/java/CClassHeaders/sun_misc_Signal.h build/linux-amd64/tmp/sun/java.net/net/CClassHeaders/sun_net_spi_DefaultProxySelector.h build/linux-amd64/tmp/java/java.nio/nio/CClassHeaders/sun_nio_ch_FileChannelImpl.h build/linux-amd64/tmp/java/java.nio/nio/CClassHeaders/sun_nio_ch_FileDispatcherImpl.h build/linux-amd64/tmp/java/java.nio/nio/CClassHeaders/sun_nio_ch_FileKey.h build/linux-amd64/tmp/java/java.nio/nio/CClassHeaders/sun_nio_ch_IOStatus.h build/linux-amd64/tmp/java/java.nio/nio/CClassHeaders/sun_nio_ch_IOUtil.h build/linux-amd64/tmp/java/java.nio/nio/CClassHeaders/sun_nio_ch_NativeThread.h jdk/src/share/native/java/lang/System.c jdk/src/share/native/java/lang/Thread.c jdk/src/share/native/java/lang/Throwable.c jdk/src/solaris/native/java/io/UnixFileSystem_md.c jdk/src/solaris/native/java/lang/UNIXProcess_md.c jdk/src/share/native/java/util/zip/zip_util.c jdk/src/share/native/java/util/zip/zip_util.h Change-Id: Ib237df4e1b7b5b4d9f12e74d189e6ec9eed3c31d
|