00494db3844238de691d75ca6fcdc794380871e5 |
|
18-Oct-2017 |
Victor Chang <vichang@google.com> |
Don't untag socket before preClose / close Previously, xt_qtaguid never freed tags when the socket was closed, so if we didn't untag sockets in userspace it would leak memory. See for example b/5274621. That was fixed by the fix in b/36374484, so this code is no longer necessary. Behavior change - Automatically untagging sockets on close() is incorrect, because close() does not close the socket, only the filedescriptor, which might be only one of the references to the socket. Thus, socket(); dup(); close results in the socket being untagged, even if the dupd socket is still open. - Additionally, untagging sockets automatically has undesirable side-effects. For example, it makes it very difficult for a process to create and tag a socket, and pass that socket to an app, without losing the tag. Workaround to keep old behavior If an app needs to keep old behavior, the app should call TrafficStats.untagSocket to remove the tag before sending it to another process. Bug: 67425668 Test: CtsLibcoreTestCases Test: CtsAppSecurityHostTestCases -t android.appsecurity.cts.AppSecurityTests Test: CtsIncidentHostTestCases -t com.android.server.cts.NetstatsIncidentTest Test: CtsOsTestCases -t android.os.cts.StrictModeTest Test: CtsUsageStatsTestCases -t android.app.usage.cts.NetworkUsageStatsTest Change-Id: Ic311e626a57dec5584c97c8899468a3c800e7ef0
|
dd0def4afd29a88c9e629cebdd9991e4da1b13da |
|
15-Apr-2017 |
Yi Kong <yikong@google.com> |
Clean up unused native methods After moving java.net logic to IoBridge, these native methods are no longer used. Bug: 28609551 Test: Build Change-Id: I019471d52150555bb47d278e3679de1b9bf32307
|
3442abd5bcb4d4d0bfdcc08bf660cbf61ae82bf8 |
|
01-Dec-2016 |
Yi Kong <yikong@google.com> |
Remove unused initialization code This code is not used any more and is triggering SELinux denial due to attempting to access /proc/net/{ipv6_route,if_inet6}. Further clean up of unused code will be done in a follow up patch. Test: Build Bug: 33250070 Change-Id: I52eac0ffea03857ca958e7ac296936b8dfa2092b
|
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
|
62e0b4793b755083e94aac458111ca347314addd |
|
14-Jul-2016 |
Yi Kong <yikong@google.com> |
Import upstream change: Address internet addresses Upstream change: 8015743: Address internet addresses Reviewed-by: alanb, khazra, skoivu http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/69a2dc92fefe This refactors Inet6Address to use Inet6AddressHolder to record state. No behaviour change is expected. Bug: 29067535 Test: Passes CTS tests, art-test-host Change-Id: If890b979f5c1c30a886e898eeb8af263340c6ea8
|
fde01e06d8aacfc18c2d4bf1930e271ae5c812d1 |
|
02-Aug-2016 |
Yi Kong <yikong@google.com> |
Remove unnecessary +x flag Source code files and serialized resource files should not have x flag set. This is a follow up to commit 49965c1d, where native codes and some Java source files are left out. Bug: 29977629 Test: Build, CTS tests Change-Id: I475491284cf5784ed499daa434c2845cdadea3a0
|
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
|
eb984abe3282ad17cfdea4fdaab96f3029113cb5 |
|
14-Jun-2016 |
Yi Kong <yikong@google.com> |
Import upstream change: Removed references to Linux kernel version 2.2 Partially import from upstream change, since we've already removed most support code for Linux 2.2: 7193520: Removed references to Linux kernel version 2.2 Summary: Linux kernel version 2.2 isn't supported anymore. Reviewed-by: chegar, dsamersoff, alanb Contributed-by: John Zavgren <john.zavgren@oracle.com> http://hg.openjdk.java.net/jdk8/jdk8/jdk/rev/f5229879ea40 Bug: 29067535 Change-Id: I883364fd0d7039e49525dcdc27229fa8425a68bd
|
1a6762a724b1200eb826b2cdce21c0a4d7e2f594 |
|
22-Mar-2016 |
Yi Kong <yikong@google.com> |
Wire up SocketTagger Tag all socket, accept and close calls. Bug: 27291269 Bug: 27549426 Change-Id: I7c2edd0530306111765b900bd705532302d9b597 (cherry picked from commit a87f559f13ebd0861c0dfbb95b51e76311c94473)
|
a87f559f13ebd0861c0dfbb95b51e76311c94473 |
|
22-Mar-2016 |
Yi Kong <yikong@google.com> |
Wire up SocketTagger Tag all socket, accept and close calls. Bug: 27291269 Bug: 27549426 Change-Id: I7c2edd0530306111765b900bd705532302d9b597
|
ea267d691a675eee2c7061a8bbde682e832c5b29 |
|
18-Mar-2016 |
Narayan Kamath <narayan@google.com> |
Inet6Address: Remove special handling for ll addresses with no scope_id set. If a scope_id is specified, use it. If no scope_id is specified, don't try and figure it out from the main routing table. bug: 26787010 (cherry picked from commit 37980c1a826a1eb83b2c825d533c70c7d041e054) Change-Id: I89c016d024af07eadffb7a6ac9eddad3a0a357d5
|
37980c1a826a1eb83b2c825d533c70c7d041e054 |
|
18-Mar-2016 |
Narayan Kamath <narayan@google.com> |
Inet6Address: Remove special handling for ll addresses with no scope_id set. If a scope_id is specified, use it. If no scope_id is specified, don't try and figure it out from the main routing table. bug: 26787010 Change-Id: I8298297f4f3478426003e7267bd505959bfab097
|
584dcce7e556cc197e91edd1007ef0910e4c1731 |
|
28-Feb-2016 |
Yi Kong <yikong@google.com> |
Add destructor to clean up net_util_md static references net_util_md has loRoutes and localIfs that are never freed after initialization. We need to clean them up in destructor to avoid leaking memory when the library is unloaded. Bug: 27301951 Change-Id: Iab61ec945df261ec8e3cd5944c7be4cfbb6225da (cherry picked from commit 55cf88a557325b05e27443c6ce28ed4d652bf471)
|
6786911a58e65bad88d08a0d1f8d32ab067edaa9 |
|
02-Mar-2016 |
George Burgess IV <gbiv@google.com> |
Cleanup uses of sprintf so we can deprecate it. Change-Id: I54cb8b609e4d465a6a1e5b9d85fc85b7ef7efeae
|
55cf88a557325b05e27443c6ce28ed4d652bf471 |
|
28-Feb-2016 |
Yi Kong <yikong@google.com> |
Add destructor to clean up net_util_md static references net_util_md has loRoutes and localIfs that are never freed after initialization. We need to clean them up in destructor to avoid leaking memory when the library is unloaded. Bug: 27301951 Change-Id: Iab61ec945df261ec8e3cd5944c7be4cfbb6225da
|
d0860af7cc7e4d5c29fcccc97c66121b7c8cd226 |
|
17-Feb-2016 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Fix openJdk NET_Wait timeout calculation. InetAddress#isReachable was badly calculating timeout, it was always happening before the requested time. Bug: 27135405 Change-Id: Ib600654fb9c3935fd12b82416b6adfdb693d8c5e
|
ae218d9bdc8395ac0ed9278c86cff597915c2a7b |
|
03-Jul-2015 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Further fixes for IPv6_support. libcore.io.OsTest#test_byteBufferPositions_sendto_recvfrom pass on vogar but fails on CTS run. I narrowed the issue down to a failing socket call in IPv6_supported. EACCESS was probably caused by missing internet permission? Nonetheless, we can't disable IPv6 support because of this, I commented out offending checks. +restored JVM_FindLibraryEntry, needs corresponding art change that implements JVM_FindLibraryEntry. Change-Id: Ia02ad0db4fd413c1ebb4750064b453195472253a
|
9b7a4b3eb9a9a1d0a25416bd914cdd46109146c5 |
|
30-Jun-2015 |
Przemyslaw Szczepaniak <pszczepaniak@google.com> |
Fixes for libcore.OsTest Added .equal/.hashCode for InetUnixAddress (Android InetAddress provides working implementation of both, OpenJdk expects that all subclass with have its own). Fixes networking code to properly detect that IPv6 is supported, and return IPv6 loopback address in java.net.InetAddress.getLoopbackAddress(). Change-Id: I48e046c95357441d1d0c74f89968b7d8940b360c
|
ba7cc9f5357c323a1006119a20ce025fd4c57fd2 |
|
19-May-2015 |
Piotr Jastrzebski <haaawk@google.com> |
Rename FileDescriptor field. fd -> descriptor. Change-Id: I0b11214f45c5bc6ca6b9b8ab27d03b41055324ea
|
f7ab2bc37debba91864bfec6572a3e7bbe994c58 |
|
06-May-2015 |
Piotr Jastrzebski <haaawk@google.com> |
Use OpenJdk implementation of java.net.* - Add FileURLConnection. - NetworkUtilities : Update field names in JNI. - Suppress a few libcore tests that rely on internal implementation details. - Remove code that loads the net library (not needed on android). - DatagramSocket : Add setNetworkInterface method. - HttpCookie : make parse & field public - Inet4Address / Inet6Address : Add getAddressInternal. - InetAddress : Add methods required by frameworks/base, particularly those required to deal with net-ids and scope ids. - URI : Add UriCodec static members for AUTHORITY_ENCODER and friends. - URL : Add toUriLenient - URLStreamHandler : Add a toExternalForm variant that optionally escapes illegal chars. - Inet4AddressImpl.c : Unconditionally define HAS_GLIBC_GETHOSTBY_R Change-Id: Ic51f863941f5d954ed6cf86309cc610e711d54bd
|
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
|