History log of /libcore/ojluni/src/main/java/java/io/FilePermission.java
Revision Date Author Comments
0c192e4211dd5a10b7a59e1b427422ae13a7186c 28-Jun-2017 Tobias Thierer <tobiast@google.com> Fix NPE in URLClassLoader.getPermissions() introduced in Android N.

From Android N until before this CL, URLClassLoader.getPermissions()
could throw NPE because it unconditionally called endsWith() on the
return value of FilePermission.getName(), which is stubbed to return
null on Android. This CL fixes this by un-stubbing getName() to
instead return the value that was passed to the constructor.
Before Android N, URLClassLoader.getPermissions() used URL.getFile()
rather than FilePermission.getName() to get the file path.

Bug: 37380202
Test: Checked that
OldURLClassLoaderTest#test_getPermissions_fileURLConnection_doesNotThrow
passes after this CL, but encounters NullPointerException during
the getPermissions() call, when run on Android versions built
before this CL (checked both immediately before this CL and on
Android 7.0 Nougat).

(cherry picked from commit bce13c50c300d35ebf91e6592951f7756c784736)

Change-Id: Ic58a16736f851acad43e5e7d6aa023083f66de16
bce13c50c300d35ebf91e6592951f7756c784736 28-Jun-2017 Tobias Thierer <tobiast@google.com> Fix NPE in URLClassLoader.getPermissions() introduced in Android N.

From Android N until before this CL, URLClassLoader.getPermissions()
could throw NPE because it unconditionally called endsWith() on the
return value of FilePermission.getName(), which is stubbed to return
null on Android. This CL fixes this by un-stubbing getName() to
instead return the value that was passed to the constructor.
Before Android N, URLClassLoader.getPermissions() used URL.getFile()
rather than FilePermission.getName() to get the file path.

Bug: 37380202
Test: Checked that
OldURLClassLoaderTest#test_getPermissions_fileURLConnection_doesNotThrow
passes after this CL, but encounters NullPointerException during
the getPermissions() call, when run on Android versions built
before this CL (checked both immediately before this CL and on
Android 7.0 Nougat).

Change-Id: I77f853c468a2f4f276e88464fcad10306f2a52bf
82fdb5400730b9e32b912297d39385a0ef5193b7 12-May-2017 Adam Vartanian <flooey@google.com> Make Android-changed markers for SecurityManager-related classes consistent.

Bug: 38256375
Test: make
Change-Id: Ibdd8a56d324edcc0b6646eaffc825c68c27b17f9
4c36dc077823b9fe42a30e09672613d154292628 27-Sep-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Port of java.io.F* classes from openJdk8

- Cosmetic javadoc/generic changes.
- Added android-changed marker to FileDescriptor.
- File(Input|Output)Stream native open is wrapped
to allow instrumentation.
- FilenameFilter, FileFilter are @FunctionalInterface.
- Removed unused FileSystem#getFileSystem method.

Test: cts run of CtsLibcoreTestCases
Bug: 31237296
Change-Id: I4ff062f35c1ecba26b5c6833d818c8ccafae447d
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>
52b7f6521232e255f4864305b5ded5f0ed93acfa 31-Mar-2016 Yi Kong <yikong@google.com> Clean up legacy security code

The following legacy security classes are stubbed and their Javadoc removed.

java.io.FilePermission
java.io.SerializablePermission
java.lang.RuntimePermission
java.lang.reflect.ReflectPermission
java.net.NetPermission
java.net.SocketPermission
java.security.AllPermission
java.security.AuthProvider
java.security.BasicPermission
java.security.CodeSource
java.security.DomainCombiner
java.security.Permission
java.security.PermissionCollection
java.security.Permissions
java.security.PrivilegedAction
java.security.PrivilegedActionException
java.security.PrivilegedExceptionAction
java.security.ProtectionDomain
java.security.SecurityPermission
java.security.UnresolvedPermission
java.security.acl.Permission
java.sql.SQLPermission
java.util.PropertyPermission
java.util.logging.LoggingPermission
javax.crypto.CryptoAllPermission
javax.crypto.CryptoPermission
javax.crypto.CryptoPermissions
javax.crypto.CryptoPolicyParser
javax.crypto.JceSecurityManager
javax.net.ssl.SSLPermission
javax.security.auth.AuthPermission
javax.security.auth.PrivateCredentialPermission
javax.security.auth.SubjectDomainCombiner

Bug: 27762555
Change-Id: I2a01da447380bb5bdca4909267590239ada0858a
(cherry picked from commit 9b7cfceb7b825835730f7977d4935dec3ff1a3be)
9b7cfceb7b825835730f7977d4935dec3ff1a3be 31-Mar-2016 Yi Kong <yikong@google.com> Clean up legacy security code

The following legacy security classes are stubbed and their Javadoc removed.

java.io.FilePermission
java.io.SerializablePermission
java.lang.RuntimePermission
java.lang.reflect.ReflectPermission
java.net.NetPermission
java.net.SocketPermission
java.security.AllPermission
java.security.AuthProvider
java.security.BasicPermission
java.security.CodeSource
java.security.DomainCombiner
java.security.Permission
java.security.PermissionCollection
java.security.Permissions
java.security.PrivilegedAction
java.security.PrivilegedActionException
java.security.PrivilegedExceptionAction
java.security.ProtectionDomain
java.security.SecurityPermission
java.security.UnresolvedPermission
java.security.acl.Permission
java.sql.SQLPermission
java.util.PropertyPermission
java.util.logging.LoggingPermission
javax.crypto.CryptoAllPermission
javax.crypto.CryptoPermission
javax.crypto.CryptoPermissions
javax.crypto.CryptoPolicyParser
javax.crypto.JceSecurityManager
javax.net.ssl.SSLPermission
javax.security.auth.AuthPermission
javax.security.auth.PrivateCredentialPermission
javax.security.auth.SubjectDomainCombiner

Bug: 27762555
Change-Id: I2a01da447380bb5bdca4909267590239ada0858a
65073e8335b6da12f2ee21c71283440073299c7b 27-Jan-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Remove java.nio.file package

This package has no test coverage, and we don't
know if it was ported properly. This package will
be added in future, with a test suite.

Bug: 26786186
Bug: 26812611
Change-Id: I998ff89cef4029e39c2ca0d3ac5cb54058f93758
e0c43b0b6ee87b14972769634cac75b49bb8c5de 27-Jan-2016 Przemyslaw Szczepaniak <pszczepaniak@google.com> Remove java.nio.file package

This package has no test coverage, and we don't
know if it was ported properly. This package will
be added in future, with a test suite.

Bug: 26786186
Bug: 26812611
Change-Id: I30a35f57be38fbf2b760e7d821bd2e233d2eaecb
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