Mercurial > hg > release > icedtea6-1.4.1
changeset 1342:b7957dd8ce9a
Merged changesets from icedtea6 repo:
http://icedtea.classpath.org/hg/icedtea6/rev/0848286d8e5c
http://icedtea.classpath.org/hg/icedtea6/rev/a2763653f8cf
http://icedtea.classpath.org/hg/icedtea6/rev/2a6a1bd55bb8
http://icedtea.classpath.org/hg/icedtea6/rev/1be2224bd96c
http://icedtea.classpath.org/hg/icedtea6/rev/3b8dcbd3d44d
line wrap: on
line diff
--- a/AUTHORS Wed Jan 28 10:48:37 2009 -0500 +++ b/AUTHORS Wed Feb 25 12:29:06 2009 -0500 @@ -2,26 +2,39 @@ Please keep this list in alphabetical order. Lillian Angel <langel@redhat.com> +Alon Bar-Lev <alon.barlev@gmail.com> Gary Benson <gbenson@redhat.com> Tania Bento <tbento@redhat.com> +Deepak Bhole <dbhole@redhat.com> +Tom Callaway <tcallawa@redhat.com> +Pablo del Campo <pablogdc@gmail.com> Thomas Fitzsimmons <fitzsim@redhat.com> Matthew Flaschen <matthew.flaschen@gatech.edu> Kyle Galloway <kgallowa@redhat.com> +Dennis Gilmore <dgilmore@redhat.com> Andrew Haley <aph@redhat.com> -Andrew John Hughes <gnu_andrew@member.fsf.org> +Andrew John Hughes <gnu_andrew@member.fsf.org, ahughes@redhat.com> +Tomas Hurka <tomas.hurka@sun.com> +Ioana Ivan <iivan@redhat.com> Matthias Klose <doko@ubuntu.com> Francis Kung <fkung@redhat.com> DJ Lucas <dj@linuxfromscratch.org> +Omair Majid <omajid@redhat.com> Casey Marshall <csm@gnu.org> Dan Munckton <lists@munckfish.net> Raif Naffah <admin@naffah-raif.name> +Parag Nemade <pnemade@redhat.com> +Xerxes Rånby <xerxes@zafena.se> +Mark Reinhold <mr@sun.com> Bernhard Rosenkränzer <bero@arklinux.org> Marc Schoenefeld <mschoene@redhat.com> Keith Seitz <keiths@redhat.com> Joshua Sumali <jsumali@redhat.com> Christian Thalinger <twisti@complang.tuwien.ac.at> Dalibor Topic <robilad@kaffe.org> +Arnaud Vandyck <avdyk@debian.org> Mark Wielaard <mark@klomp.org> +Yi Zhan <yi.zhan@intel.com> This project also includes code from the following projects:
--- a/ChangeLog Wed Jan 28 10:48:37 2009 -0500 +++ b/ChangeLog Wed Feb 25 12:29:06 2009 -0500 @@ -1,3 +1,82 @@ +2009-02-23 Deepak Bhole <dbhole@redhat.com> + + * IcedTeaPlugin.cc: Supply cookie info to Java side. + * plugin/icedtea/sun/applet/PluginAppletViewer.java: Apply patch from + Xerxes Rånby to prevent initialization timeout on slower systems. Also, + use cookie info when equests for jar are made. + * plugin/icedtea/sun/applet/PluginStreamHandler.java: Fix bug that was + causing unnecessary exception prints on exit. + * rt/net/sourceforge/jnlp/ExtensionDesc.java: Store/supply cookie info as + needed. + * rt/net/sourceforge/jnlp/JNLPFile.java: Same. + * rt/net/sourceforge/jnlp/Launcher.java: Same. + * rt/net/sourceforge/jnlp/NetxPanel.java: Same. + * rt/net/sourceforge/jnlp/Parser.java: Same. + * rt/net/sourceforge/jnlp/PluginBridge.java: Same. Also, handle empty jar + specification (Bug: 294) in archive tags. + * rt/net/sourceforge/jnlp/cache/CacheUtil.java: Store/supply cookie info + as needed. + * rt/net/sourceforge/jnlp/cache/Resource.java: Same. + * rt/net/sourceforge/jnlp/cache/ResourceTracker.java: Supply cookie string + to server when requesting jars, if there is one set. + * rt/net/sourceforge/jnlp/runtime/Boot.java: Initialize JNLPFile with null + cookie string. + * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Store/supply + cookie info as needed. + * rt/net/sourceforge/jnlp/tools/JarSigner.java: Use JarInputStream instead + of Jar to handle empty jars, and update signature checking accordingly. + +2009-02-23 Lillian Angel <langel@redhat.com> + + * AUTHORS: Added Mark Reinhold. + +2009-02-23 Mark Reinhold <mr@sun.com> + + * Makefile.am: Set PRODUCT_NAME to OpenJDK, unless doing a CACAO + build (set to IcedTea). + * patches/icedtea-version.patch: Introduced two new make variables: + JDK_DERIVATIVE_NAME to set "IcedTea6 <version>" and + DISTRO_PACKAGE_VERSION carries the argument given to the + --with-pkgversion configure option. + +2009-02-20 Lillian Angel <langel@redhat.com> + + * Makefile.am: Updated md5sum for NETBEANS_PROFILER_MD5SUM, and + therefore no longer need to remove deployed directory. + +2009-02-20 Andrew John Hughes <ahughes@redhat.com> + + * AUTHORS: + Add back my main e-mail address. + +2009-02-19 Mark Wielaard <mark@klomp.org> + + * AUTHORS: Fix my email address. + +2009-02-18 Lillian Angel <langel@redhat.com> + + * AUTHORS: Updated. + +2009-02-18 Lillian Angel <langel@redhat.com> + Tomas Hurka <tomas.hurka@sun.com> + + * INSTALL: Updated requirements. + * Makefile.am: Added building support for VisualVM with NetBeans 6.5. + * acinclude.m4: Added check for NetBeans. + * configure.ac: Added --enable-visualvm option. + * visualvm.desktop: New file. + +2009-02-10 Deepak Bhole <dbhole@redhat.com> + + * plugin/icedtea/sun/applet/PluginAppletSecurityContext.java: Fix + exit permissions for applets. + * plugin/icedtea/sun/applet/PluginStreamHandler.java: Fix harmless, but + annoying OOB exception on browser exit. + * rt/net/sourceforge/jnlp/runtime/JNLPRuntime.java: Add function to + 'always' disable exit. + * rt/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java: Same, and + update support in checkPermission() for exit permissions. + 2009-01-28 Lillian Angel <langel@redhat.com> * NEWS: Updated date. @@ -10,11 +89,85 @@ * NEWS: Updated for 1.4. +2009-01-27 Andrew John Hughes <ahughes@redhat.com> + + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java: + Use org.classpath.icedtea.java.nio.channels.FileChannel. + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/FileSystemProvider.java: + Likewise. + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/META-INF/services/java.nio.file.spi.FileSystemProvider, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/README.txt, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/JarEntryInfo.java, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/JarFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/JarFileAttributes.java, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipEntryInfo.java, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileAttributes.java, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileBasicAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileBasicAttributes.java, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFilePath.java, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileStore.java, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileStream.java, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileSystem.java, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileSystemProvider.java, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipHeaderConstants.java, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipPathParser.java, + * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipUtils.java: + Import NIO2 demo and fix imports. + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java: + Use org.classpath.icedtea.java.nio.channels.FileChannel. + +2009-01-27 Andrew John Hughes <ahughes@redhat.com> + + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java: + (positionSBC(long)): Renamed from position(long). + (truncateSBC(long)): Likewise. + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/SeekableByteChannel.java: + Same as for FileChannel, prevents conflict with versions in java.nio.channel.FileChannel. + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/SolarisAsynchronousChannelProvider.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/SolarisEventPort.java: + Add missing imports. + * patches/icedtea-nio2.patch: + (FileChannelImpl.positionSBC(long)): Added, simply calls position(long). + (FileChannelImpl.truncateSBC(long)): Likewise. + 2009-01-27 Andrew Haley <aph@redhat.com> * ports/hotspot/src/os_cpu/linux_zero/vm/orderAccess_linux_zero.inline.hpp: Add memory barriers where needed for PPC. +2009-01-26 Andrew John Hughes <ahughes@redhat.com> + + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileLockImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxNamedAttributeView.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxWatchService.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixChannelFactory.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixCopyFile.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixDirectoryStream.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixException.java: + Fix imports. + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributeViews.java: + Fix imports and use of varargs. + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileModeAttribute.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystem.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixPath.java: + Fix imports. + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixSecureDirectoryStream.java: + Fix imports and use of varargs. + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixUserPrincipals.java: + Fix imports. + * patches/icedtea-nio2.patch: + (FileChannelImpl): Fix imports. + (Net.c): Patch to new version with new functions. + (nio_util.h): Add RESTARTABLE macro. + 2009-01-26 Lillian Angel <langel@redhat.com> * configure.ac: Updated to pre-1.5 version. @@ -290,6 +443,82 @@ * ports/hotspot/src/cpu/zero/vm/frame_zero.hpp (fp): Remove PRODUCT conditional, make the not-PRODUCT bit the default. +2009-01-19 Andrew John Hughes <ahughes@redhat.com> + + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/JavaNetGetIndexAccess.java: + (getByIndex(int)): New method. + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java: + Fixed imports. + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/MembershipKeyImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/MembershipRegistry.java: + New files. + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/SimpleAsynchronousFileChannelImpl.java: + Fix imports, refer to AsynchronousFileLockImpl instead of FileLockImpl. + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java: + Fix imports and vararg usage. + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractFileStoreSpaceAttributeView.java: + Fix vararg usage. + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractPoller.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractWatchKey.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractWatchService.java: + Fix imports. + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java: + Fix imports and vararg usage. + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/EPollPort.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/LinuxAsynchronousChannelProvider.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/Port.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/UnixAsynchronousSocketChannelImpl.java: + Fix imports. + * patches/icedtea-nio2.patch: + Add new classes. + (Unsafe.copyMemory(long,long,long)): Backported. + (Unsafe.copyMemory(Object,long,Object,long,long)): Backported. + (Unsafe.ARRAY_BYTE_BASE_OFFSET): Likewise. + (DatagramChannelImpl.bind(SocketAddress)): Likewise. + (DatagramChannelImpl.getLocalAddress()): Likewise. + (DatagramChannelImpl.getOption(SocketOption)): Likewise. + (DatagramChannelImpl.innerJoin(InetAddress,NetworkInterface,InetAddress)): Likewise. + (DatagramChannelImpl.join(InetAddress,NetworkInterface)): Likewise. + (DatagramChannelImpl.join(InetAddress,NetworkInterface,InetAddress)): Likewise. + (DatagramChannelImpl.block(MembershipKeyImpl,InetAddress)): Likewise. + (DatagramChannelImpl.unblock(MembershipKeyImpl,InetAddress)): Likewise. + (DatagramChannelImpl.drop(MembershipKeyImpl)): Likewise. + (Net.getInterface4(FileDescriptor)): Likewise. + (Net.getInterface6(FileDescriptor)): Likewise. + (Net.inet4FromInt(int)): Likewise. + (Net.inet6AsByteArray(InetAddress)): Likewise. + (Net.join6(FileDescriptor,byte[],int,byte[])): Likewise. + (Net.drop6(FileDescriptor,byte[],int,byte[])): Likewise. + (Net.joinOrDrop6(boolean,FileDescriptor,byte[],int,byte[])): Likewise. + (Net.block6(FileDescriptor,byte[],int,byte[])): Likewise. + (Net.unblock6(FileDescriptor,byte[],int,byte[])): Likewise. + (Net.blockOrUnblock6(boolean,FileDescriptor,byte[],int,byte[])): Likewise. + (Net.join4(FileDescriptor,int,int,int)): Likewise. + (Net.drop4(FileDescriptor,int,int,int)): Likewise. + (Net.joinOrDrop4(boolean,FileDescriptor,int,int,int)): Likewise. + (Net.block4(FileDescriptor,int,int,int)): Likewise. + (Net.unblock4(FileDescriptor,int,int,int)): Likewise. + (Net.blockOrUnblock4(boolean,FileDescriptor,int,int,int)): Likewise. + (Net.connect(FileDescriptor,InetAddress,int)): Likewise. + (Net.connect(ProtocolFamily,FileDescriptor,InetAddress,int)): Likewise. + (Net.connect0(boolean,FileDescriptor,InetAddress,int)): Likewise. + (FileDispatcher.NO_LOCK)): Likewise. + (FileDispatcher.LOCKED)): Likewise. + (FileDispatcher.RET_EX_LOCK)): Likewise. + (FileDispatcher.INTERRUPTED)): Likewise. + (FileDispatcher.size(FileDescriptor)): Likewise. + (FileDispatcher.truncate(FileDescriptor, long)): Likewise. + (FileDispatcher.force(FileDescriptor, boolean)): Likewise. + (FileDispatcher.lock(FileDescriptor, boolean, long, long, boolean)): Likewise. + (FileDispatcher.release(FileDescriptor, long, long)): Likewise. + (FileDispatcher.force0(FileDescriptor,boolean)): Likewise. + (FileDispatcher.truncate0(FileDescriptor, long)): Likewise. + (FileDispatcher.size0(FileDescriptor)): Likewise. + (FileDispatcher.lock0(FileDescriptor, boolean, long, long, boolean)): Likewise. + (FileDispatcher.release0(FileDescriptor, long, long)): Likewise. + 2009-01-19 Deepak Bhole <dbhole@redhat.com> * IcedTeaPlugin.cc: Add "Java" in the plugin description string. @@ -324,6 +553,35 @@ * rt/net/sourceforge/jnlp/tools/JarSigner.java: Implement the new CertVerifier verifier interface. +2009-01-19 Andrew John Hughes <ahughes@redhat.com> + + * generated/sun/nio/ch/SocketOptionRegistry.java: + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/DatagramChannel.java: + Added (1.7 extensions). + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/exceptions: Fix package. + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/spi/SelectorProvider.java: + Added (1.7 extensions). + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/JavaNetGetIndexAccess.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/SharedSecrets.java: + Added to provide access to package-private NetworkInterface.getIndex(). + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/CompletedFuture.java: + Fixed imports. + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/ExtendedSocketOption.java: Added. + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/Invoker.java: Fixed imports. + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/OptionKey.java: Added. + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/PendingFuture.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/SimpleAsynchronousDatagramChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/ThreadPool.java: Fixed imports. + * overlays/nio2/openjdk/jdk/src/share/native/sun/nio/ch/genSocketOptionRegistry.c, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/DefaultSelectorProvider.java: Added. + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/SolarisAsynchronousChannelProvider.java: + Fixed imports. + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/DefaultSelectorProvider.java: Added. + * patches/icedtea-nio2.patch: Add hook for SharedSecrets to NetworkInterface, extend + sun.nio.ch.{Net,DatagramChannelImpl,SelectorProviderImpl} to handle 1.7 extensions. + 2009-01-17 Mark Wielaard <mark@klomp.org> * patches/icedtea-version.patch (samejvmsafe): Removed the following @@ -346,6 +604,24 @@ * ports/hotspot/src/cpu/zero/vm/globals_zero.hpp (StackShadowPages): Increase for 64-bit builds. +2009-01-14 Andrew John Hughes <ahughes@redhat.com> + + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java: + Extend java.nio.channels.FileChannel to minimise code. + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/util/concurrent/ScheduledThreadPoolExecutor.java: + Adapted to use the SharedSecrets backdoor. + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/JavaUtilConcurrentThreadPoolExecutorAccess.java: + Add remaining methods needed for our ScheduledThreadPoolExecutor. + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousChannelGroupImpl.java: + Create a ScheduledThreadPoolExecutor directly so ours is used. + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileChannelImpl.java: + Refer to AsynchronousFileLockImpl not FileLockImpl. + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileLockImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/FileLockTable.java: + Fix imports. + * patches/icedtea-nio2.patch: + Update implementation of secrets interface. + 2009-01-13 Omair Majid <omajid@redhat.com> * rt/net/sourceforge/jnlp/cache/ResourceTracker.java @@ -354,10 +630,432 @@ (getVersionedResourceURL): New function. Constructs a URL with a version-id as the query. +2009-01-13 Andrew John Hughes <ahughes@redhat.com> + + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/JavaIODeleteOnExitAccess.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/SharedSecrets.java: + Add missing SharedSecrets files. + +2009-01-13 Andrew John Hughes <ahughes@redhat.com> + + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/net/StandardProtocolFamily.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/net/StandardSocketOption.java: + Added missing files. + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousSocketChannel.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileLock.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/MulticastChannel.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileTreeWalker.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileVisitor.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/Files.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/Path.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/Paths.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/SecureDirectoryStream.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/SimpleFileVisitor.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AclFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/Attributes.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileStoreSpaceAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/PosixFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/PosixFilePermissions.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/AbstractPath.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/FileSystemProvider.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/FileTypeDetector.java: + Fixed imports. + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/util/concurrent/ScheduledThreadPoolExecutor.java: + Added. + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/misc/JavaUtilConcurrentThreadPoolExecutorAccess.java: + Added to allow access to private members of java.util.concurrent.ThreadPoolExecutor. + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AbstractFuture.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/DefaultFileTypeDetector.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystem.java: + Fix imports. + * patches/icedtea-nio2.patch: + Patch ThreadPoolExecutor to allow access to private variables, add missing files to + nio/FILES_java.gmk + +2009-01-12 Andrew John Hughes <ahughes@redhat.com> + + * overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedCopyOption.java, + * overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedOpenOption.java, + * overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedWatchEventModifier.java: + Fix imports. + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/net/ProtocolFamily.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/net/SocketOption.java: + Add missing files. + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousDatagramChannel.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel.java: + Fix imports. + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/MembershipKey.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/MulticastChannel.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/NetworkChannel.java: + Add missing files. + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileSystems.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/AbstractPath.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousChannelGroupImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/SimpleAsynchronousDatagramChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractFileStoreSpaceAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractFileTypeDetector.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractNamedAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractWatchKey.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractWatchService.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java: + Fix imports. + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/EPollPort.java: + Add missing file. + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/LinuxAsynchronousChannelProvider.java: + Fix imports. + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/Port.java: + Add missing file. + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixDirectoryStream.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributeViews.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystem.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixPath.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixSecureDirectoryStream.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixUserPrincipals.java: + Fix imports. + * patches/icedtea-nio2.patch: + Add missing files to java/nio/FILES_java.gmk + 2009-01-13 Gary Benson <gbenson@redhat.com> * contrib/jck/compile-native-code.sh: Build with -m32 or -m64. +2009-01-12 Andrew John Hughes <ahughes@redhat.com> + + Initial import of NIO2 code. + * patches/ecj/icedtea-pr261.patch: Moved to general patches. + * Makefile.am: Add NIO2 patch. + * configure.ac: Add --enable-nio2 option (on by default). + * overlays/nio2/openjdk/jdk/make/mkdemo/nio/Makefile, + * overlays/nio2/openjdk/jdk/make/mkdemo/nio/ZipFileSystem/Makefile, + * overlays/nio2/openjdk/jdk/make/mksample/nio/aio/Makefile, + * overlays/nio2/openjdk/jdk/make/mksample/nio/file/Makefile, + * overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedCopyOption.java, + * overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedOpenOption.java, + * overlays/nio2/openjdk/jdk/src/share/classes/com/sun/nio/file/ExtendedWatchEventModifier.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/io/File.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/io/FilePermission.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/io/Inputs.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/io/Outputs.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousByteChannel.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousChannel.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousDatagramChannel.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/AsynchronousSocketChannel.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/Channels.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/CompletionHandler.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileChannel.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/FileLock.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/SeekableByteChannel.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/exceptions, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/package-info.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/channels/spi/package.html, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/AccessDeniedException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/AccessMode.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/AtomicMoveNotSupportedException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/ClosedDirectoryStreamException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/ClosedFileSystemException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/ClosedWatchServiceException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/CopyOption.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/DirectoryNotEmptyException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/DirectoryStream.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/DirectoryStreamFilters.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileAction.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileAlreadyExistsException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileRef.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileStore.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileSystem.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileSystemAlreadyExistsException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileSystemException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileSystemNotFoundException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileSystems.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileTreeWalker.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileVisitOption.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileVisitResult.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/FileVisitor.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/Files.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/InvalidPathException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/LinkOption.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/LinkPermission.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/NoSuchFileException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/NotDirectoryException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/NotLinkException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/OpenOption.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/Path.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/PathMatcher.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/Paths.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/ProviderMismatchException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/ProviderNotFoundException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/ReadOnlyFileSystemException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/SecureDirectoryStream.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/SimpleFileVisitor.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/StandardCopyOption.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/StandardOpenOption.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/StandardWatchEventKind.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/WatchEvent.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/WatchKey.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/WatchService.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/Watchable.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AclEntry.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AclEntryFlag.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AclEntryPermission.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AclEntryType.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AclFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/AttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/Attributes.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/BasicFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/BasicFileAttributes.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/DosFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/DosFileAttributes.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileAttribute.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileOwnerAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileStoreAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileStoreSpaceAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/FileStoreSpaceAttributes.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/GroupPrincipal.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/NamedAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/PosixFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/PosixFileAttributes.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/PosixFilePermission.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/PosixFilePermissions.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/UserPrincipal.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/UserPrincipalLookupService.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/UserPrincipalNotFoundException.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/attribute/package-info.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/package-info.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/AbstractPath.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/FileSystemProvider.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/FileTypeDetector.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/nio/file/spi/package-info.java, + * overlays/nio2/openjdk/jdk/src/share/classes/org/classpath/icedtea/java/util/Scanner.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AbstractFuture.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousChannelGroupImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileLockImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousServerSocketChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousSocketChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/Cancellable.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/CompletedFuture.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/FileLockTable.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/Groupable.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/Invoker.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/PendingFuture.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/SimpleAsynchronousDatagramChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/SimpleAsynchronousFileChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/ThreadPool.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractAclFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractBasicFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractFileStoreSpaceAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractFileTypeDetector.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractNamedAttributeView.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractPoller.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractWatchKey.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractWatchService.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/Cancellable.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/FileOwnerAttributeViewImpl.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/Globs.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/MimeType.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/NativeBuffer.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/NativeBuffers.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/PollingWatchService.java, + * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/Reflect.java, + * overlays/nio2/openjdk/jdk/src/share/sample/nio/aio/EchoServer.java, + * overlays/nio2/openjdk/jdk/src/share/sample/nio/file/AclEdit.java, + * overlays/nio2/openjdk/jdk/src/share/sample/nio/file/Chmod.java, + * overlays/nio2/openjdk/jdk/src/share/sample/nio/file/Copy.java, + * overlays/nio2/openjdk/jdk/src/share/sample/nio/file/DiskUsage.java, + * overlays/nio2/openjdk/jdk/src/share/sample/nio/file/FileType.java, + * overlays/nio2/openjdk/jdk/src/share/sample/nio/file/WatchDir.java, + * overlays/nio2/openjdk/jdk/src/share/sample/nio/file/Xdd.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/LinuxAsynchronousChannelProvider.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/SolarisAsynchronousChannelProvider.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/SolarisEventPort.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/ch/UnixAsynchronousSocketChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/DefaultFileTypeDetector.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxDosFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileStore.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystem.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxFileSystemProvider.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxNamedAttributeView.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxNativeDispatcher.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxWatchService.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisAclFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisFileStore.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisFileSystem.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisFileSystemProvider.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisNamedAttributeView.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisNativeDispatcher.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisWatchService.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixChannelFactory.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixCopyFile.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixDirectoryStream.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixException.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributeViews.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileAttributes.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileKey.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileModeAttribute.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileStore.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileStoreAttributes.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystem.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixFileSystemProvider.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixMountEntry.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixNativeDispatcher.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixPath.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixSecureDirectoryStream.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixUriUtils.java, + * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/UnixUserPrincipals.java, + * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/ch/EPollPort.c, + * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/ch/SolarisEventPort.c, + * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/ch/UnixAsynchronousServerSocketChannelImpl.c, + * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/ch/UnixAsynchronousSocketChannelImpl.c, + * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/GnomeFileTypeDetector.c, + * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/LinuxNativeDispatcher.c, + * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/LinuxWatchService.c, + * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/SolarisNativeDispatcher.c, + * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/SolarisWatchService.c, + * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/UnixCopyFile.c, + * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/UnixNativeDispatcher.c, + * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/genSolarisConstants.c, + * overlays/nio2/openjdk/jdk/src/solaris/native/sun/nio/fs/genUnixConstants.c, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/Iocp.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/PendingIoCache.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousChannelProvider.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousServerSocketChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/DefaultFileSystemProvider.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/DefaultFileTypeDetector.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/RegistryFileTypeDetector.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsAclFileAttributeView.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsChannelFactory.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsConstants.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsDirectoryStream.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsException.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileAttributeViews.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileAttributes.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileCopy.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileStore.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystem.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsFileSystemProvider.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsLinkSupport.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsNamedAttributeView.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsNativeDispatcher.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsPath.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsPathParser.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsPathType.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsSecurity.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsSecurityDescriptor.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsUriSupport.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsUserPrincipals.java, + * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsWatchService.java, + * overlays/nio2/openjdk/jdk/src/windows/native/sun/nio/ch/Iocp.c, + * overlays/nio2/openjdk/jdk/src/windows/native/sun/nio/ch/WindowsAsynchronousFileChannelImpl.c, + * overlays/nio2/openjdk/jdk/src/windows/native/sun/nio/ch/WindowsAsynchronousServerSocketChannelImpl.c, + * overlays/nio2/openjdk/jdk/src/windows/native/sun/nio/ch/WindowsAsynchronousSocketChannelImpl.c, + * overlays/nio2/openjdk/jdk/src/windows/native/sun/nio/fs/RegistryFileTypeDetector.c, + * overlays/nio2/openjdk/jdk/src/windows/native/sun/nio/fs/WindowsNativeDispatcher.c, + * overlays/nio2/openjdk/jdk/test/demo/nio/ZipFileSystem/Sanity.java, + * overlays/nio2/openjdk/jdk/test/demo/nio/ZipFileSystem/sanity.sh, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/io/Inputs/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/AsExecutor.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/Attack.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/GroupOfOne.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/Identity.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/PrivilegedThreadFactory.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/Restart.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/Unbounded.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousChannelGroup/run_any_task.sh, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousDatagramChannel/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel/CustomThreadPool.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel/Lock.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousFileChannel/MyThreadFactory.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel/WithSecurityManager.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel/java.policy.allow, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousServerSocketChannel/java.policy.deny, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousSocketChannel/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/AsynchronousSocketChannel/Leaky.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/Channels/Basic2.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider/CheckProvider.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider/META-INF/services/java.nio.channels.spi.AsynchronousChannelProvider, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider/Provider1.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider/Provider2.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/channels/spi/AsynchronousChannelProvider/custom_provider.sh, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/DirectoryStream/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/DirectoryStream/Filters.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/DirectoryStream/SecureDS.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/FileStore/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/FileSystem/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/ContentType.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/CreateFileTree.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/ForceLoad.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/META-INF/services/java.nio.file.spi.FileTypeDetector, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/Misc.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/PrintFileTree.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/SimpleFileTypeDetector.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/SkipSiblings.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/TerminateWalk.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/content_type.sh, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Files/walk_file_tree.sh, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/CopyAndMove.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/DeleteOnClose.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/InterruptCopy.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/Links.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/Misc.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/PathOps.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/SBC.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/TemporaryFiles.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/UriImportExport.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/delete_on_close.sh, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/Path/temporary_files.sh, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/PathMatcher/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/TestUtil.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/FileTreeModifier.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/WithSecurityManager.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/denyAll.policy, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/grantDirAndOneLevel.policy, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/grantDirAndTree.policy, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/WatchService/grantDirOnly.policy, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/AclFileAttributeView/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/Attributes/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/BasicFileAttributeView/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/DosFileAttributeView/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/FileStoreAttributeView/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/NamedAttributeView/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/attribute/PosixFileAttributeView/Basic.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/spi/SetDefaultProvider.java, + * overlays/nio2/openjdk/jdk/test/org/classpath/icedtea/java/nio/file/spi/TestProvider.java: Added. + * patches/icedtea-nio2.patch: New patch. + * patches/icedtea-pr261.patch: Moved from ecj-specific patches. + 2009-01-13 Matthias Klose <doko@ubuntu.com> * patches/hotspot/14.0b08/icedtea-hotspot-dispatch.patch: Remove, @@ -498,13 +1196,13 @@ (stamps/extract.stamp): Use AWK here rather than cut. * hotspot.map: Add md5sum for 14.0b08. -2008-12-17 Andrew John Hughes <gnu_andrew@member.fsf.org> +2008-12-17 Andrew John Hughes <ahughes@redhat.com> * acinclude.m4: (FIND_RHINO_JAR): Check for js.jar in Gentoo install location too. -2008-12-17 Andrew John Hughes <gnu_andrew@member.fsf.org> +2008-12-17 Andrew John Hughes <ahughes@redhat.com> * Makefile.am: No need to check again that SYSTEM_GCJ_DIR exists. @@ -517,7 +1215,7 @@ More --with-x-home options to macros in acinclude.m4. Remove redundant erroneous use of GCC_OLD. -2008-12-17 Andrew John Hughes <gnu_andrew@member.fsf.org> +2008-12-17 Andrew John Hughes <ahughes@redhat.com> * Makefile.am: Remove use of LIBGCJ_JAR, replacing with @@ -531,7 +1229,7 @@ * javac.in: Use SYSTEM_GCJ_DIR/jre/lib/rt.jar not LIBGCJ_JAR. -2008-12-17 Andrew John Hughes <gnu_andrew@member.fsf.org> +2008-12-17 Andrew John Hughes <ahughes@redhat.com> * Makefile.am: Remove the HotSpot directory while extracting @@ -603,7 +1301,7 @@ * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Provide new cacheable param to JARDesc constructor. -2008-12-09 Andrew John Hughes <gnu_andrew@member.fsf.org> +2008-12-09 Andrew John Hughes <ahughes@redhat.com> * Makefile.am: Support use of HGREV. @@ -612,14 +1310,14 @@ * configure.ac: Call AC_CHECK_WITH_HG_REVISION. -2008-12-09 Andrew John Hughes <gnu_andrew@member.fsf.org> +2008-12-09 Andrew John Hughes <ahughes@redhat.com> * Makefile.am: Properly support --with-openjdk-src-dir. * acinclude.m4: Correct the define for OPENJDK_SRC_DIR. -2008-12-09 Andrew John Hughes <gnu_andrew@member.fsf.org> +2008-12-09 Andrew John Hughes <ahughes@redhat.com> * Makefile.am: Support downloading from the Mercurial repository. @@ -628,7 +1326,7 @@ * configure.ac: Check for --enable-hg. -2008-12-09 Andrew John Hughes <gnu_andrew@member.fsf.org> +2008-12-09 Andrew John Hughes <ahughes@redhat.com> * Makefile.am: Make XRender patch wildcard work where @@ -636,7 +1334,7 @@ * configure.ac: Capitalise 'XRender' in configure option. -2008-12-09 Andrew John Hughes <gnu_andrew@member.fsf.org> +2008-12-09 Andrew John Hughes <ahughes@redhat.com> * Makefile.am: Don't use find to locate the hotspot directory, @@ -705,7 +1403,7 @@ lost chunks from icedtea-sparc.patch, fix build failure with gcc-4.3. * Makefile.am (ICEDTEA_PATCHES): Apply new patch. -2008-12-04 Andrew John Hughes <gnu_andrew@member.fsf.org> +2008-12-04 Andrew John Hughes <ahughes@redhat.com> * Makefile.am: Prefix the call to uname -m with @@ -713,7 +1411,7 @@ * acinclude.m4: Apply linux32 on s390 as well. -2008-12-04 Andrew John Hughes <gnu_andrew@member.fsf.org> +2008-12-04 Andrew John Hughes <ahughes@redhat.com> * Makefile.am: Prefix make invocations with @@ -829,7 +1527,7 @@ * pulseaudio/src/java/org/classpath/icedtea/pulseaudio/StreamSampleSpecification.java: Make class package-private. -2008-12-03 Andrew John Hughes <gnu_andrew@member.fsf.org> +2008-12-03 Andrew John Hughes <ahughes@redhat.com> Create hierarchical patch space. * patches/icedtea-4486841.patch, @@ -1011,7 +1709,7 @@ patches/icedtea-6755943.patch, patches/icedtea-6766136.patch: New files. -2008-12-02 Andrew John Hughes <gnu_andrew@member.fsf.org> +2008-12-02 Andrew John Hughes <ahughes@redhat.com> * patches/icedtea-bytecodeInterpreter.patch, * patches/icedtea-hotspot7-build-fixes.patch: @@ -1030,7 +1728,7 @@ * ports/hotspot/src/os_cpu/linux_zero/vm/os_linux_zero.cpp: Updated using IcedTea7 versions for 14.0b08. -2008-12-01 Andrew John Hughes <gnu_andrew@member.fsf.org> +2008-12-01 Andrew John Hughes <ahughes@redhat.com> * patches/icedtea-hotspot-params-cast-size_t.patch, * patches/icedtea-hotspot-use-idx_t.patch,
--- a/INSTALL Wed Jan 28 10:48:37 2009 -0500 +++ b/INSTALL Wed Feb 25 12:29:06 2009 -0500 @@ -35,6 +35,9 @@ pulseaudio-libs-devel >= 0.9.11 pulseaudio >= 0.9.11 +For building VisualVM, you will need +netbeans = 6.5 + For building the zero-assembler port (see below), you will need libffi. See ./configure --help if you need to override the defaults.
--- a/Makefile.am Wed Jan 28 10:48:37 2009 -0500 +++ b/Makefile.am Wed Feb 25 12:29:06 2009 -0500 @@ -5,6 +5,9 @@ CACAO_VERSION = 0.99.3 CACAO_MD5SUM = 80de3ad344c1a20c086ec5f1390bd1b8 +NETBEANS_PROFILER_MD5SUM = 786ab31817cbd902a7211cd6a6161750 +VISUALVM_MD5SUM = 1174486e82a65840b44c47166d79f212 + if ENABLE_GCJWEBPLUGIN GCJWEBPLUGIN_CLEAN = clean-gcjwebplugin GCJWEBPLUGIN_TARGET = gcjwebplugin.so @@ -48,7 +51,7 @@ all-local: icedtea-against-icedtea -distclean-local: clean-copy clean-jtreg clean-jtreg-reports clean-pulse-java +distclean-local: clean-copy clean-jtreg clean-jtreg-reports clean-pulse-java rm -rf stamps rm -f rt-source-files.txt \ hotspot-tools-source-files.txt \ @@ -60,6 +63,8 @@ rm -rf openjdk rm -rf hotspot-tools rm -rf rt/netscape + rm -rf visualvm + rm -rf netbeans if ENABLE_PLUGIN rm -f IcedTeaPlugin.o IcedTeaPlugin.so else @@ -78,7 +83,7 @@ clean-bootstrap-directory-symlink clean-bootstrap-directory-ecj \ clean-bootstrap-directory-symlink-ecj icedtea icedtea-debug \ clean-icedtea icedtea-against-icedtea clean-icedtea-ecj clean-plugs \ - clean-tools-jar clean-shared-objects \ + clean-tools-jar clean-shared-objects clean-visualvm clean-nbplatform \ clean-copy clean-hotspot-tools clean-rt $(GCJWEBPLUGIN_CLEAN) \ $(ICEDTEAPLUGIN_CLEAN) hotspot hotspot-helper clean-extra \ clean-jtreg clean-jtreg-reports @@ -87,7 +92,7 @@ patches/* \ gcjwebplugin.cc tools-copy contrib ports \ extra overlays \ - javaws.png javaws.desktop \ + javaws.png javaws.desktop visualvm.desktop \ jconsole.desktop policytool.desktop \ test/jtreg \ IcedTeaPlugin.cc \ @@ -304,6 +309,14 @@ CACAO_SRC_ZIP = cacao-$(CACAO_VERSION).tar.gz endif +# VisualVM sources. Alternatives cannot be used here. +NETBEANS_PROFILER_URL = http://icedtea.classpath.org/visualvm/ +NETBEANS_PROFILER_SRC_ZIP = netbeans-profiler-visualvm_release65_mod.tar.gz + +VISUALVM_URL = https://visualvm.dev.java.net/files/documents/7163/127067/ +VISUALVM_SRC_ZIP = visualvm-11-src.tar.gz + + stamps/hgforest.stamp: if OPENJDK_SRC_DIR_FOUND else @@ -381,6 +394,29 @@ endif endif endif +if WITH_VISUALVM + if ! echo "$(NETBEANS_PROFILER_MD5SUM) $(NETBEANS_PROFILER_SRC_ZIP)" \ + | $(MD5SUM) --check ; \ + then \ + if [ $(NETBEANS_PROFILER_SRC_ZIP) ] ; \ + then \ + mv $(NETBEANS_PROFILER_SRC_ZIP) $(NETBEANS_PROFILER_SRC_ZIP).old ; \ + fi ; \ + $(WGET) $(NETBEANS_PROFILER_URL)$(NETBEANS_PROFILER_SRC_ZIP) \ + -O $(NETBEANS_PROFILER_SRC_ZIP) ; \ + fi + + if ! echo "$(VISUALVM_MD5SUM) $(VISUALVM_SRC_ZIP)" \ + | $(MD5SUM) --check ; \ + then \ + if [ $(VISUALVM_SRC_ZIP) ] ; \ + then \ + mv $(VISUALVM_SRC_ZIP) $(VISUALVM_SRC_ZIP).old ; \ + fi ; \ + $(WGET) $(VISUALVM_URL)$(VISUALVM_SRC_ZIP) \ + -O $(VISUALVM_SRC_ZIP) ; \ + fi +endif mkdir -p stamps touch stamps/download.stamp @@ -393,6 +429,10 @@ if WITH_CACAO rm -f $(CACAO_SRC_ZIP) endif +if WITH_VISUALVM + rm -f $(VISUALVM_SRC_ZIP) + rm -f $(NETBEANS_PROFILER_SRC_ZIP) +endif # Link ports sources into tree stamps/ports.stamp: stamps/extract.stamp @@ -649,6 +689,18 @@ fi endif endif +if WITH_VISUALVM + if ! test -d netbeans ; \ + then \ + mkdir netbeans ; \ + $(TAR) xf $(NETBEANS_PROFILER_SRC_ZIP) -C netbeans ; \ + fi + + if ! test -d visualvm ; \ + then \ + $(TAR) xf $(VISUALVM_SRC_ZIP) ; \ + fi +endif if [ ! -e $(abs_top_builddir)/generated ]; then \ cp -a $(abs_top_srcdir)/generated $(abs_top_builddir); \ find $(abs_top_builddir)/generated -type f -exec chmod 640 '{}' ';' \ @@ -695,10 +747,20 @@ revision="-r`(cd $(abs_top_srcdir); $(HG) tip --template '{node|short}')`" ; \ fi ; \ icedtea_version="$(PACKAGE_VERSION)$${revision}" ; \ + if ! test "x$(WITH_CACAO)" = "xno"; then \ + echo "JDK_DERIVATIVE_NAME=$${icedtea_version}" \ + >>openjdk/jdk/make/common/shared/Defs.gmk ; \ + echo "PRODUCT_NAME=IcedTea6" \ + >>openjdk/jdk/make/common/shared/Defs.gmk ; \ + else \ + echo "JDK_DERIVATIVE_NAME=IcedTea6 $${icedtea_version}" \ + >>openjdk/jdk/make/common/shared/Defs.gmk ; \ + fi + if [ -n "$(PKGVERSION)" ]; then \ - icedtea_version="$${icedtea_version} ($(PKGVERSION))" ; \ - fi; \ - sed -i "s#IcedTea6#IcedTea6 $${icedtea_version}#" openjdk/jdk/make/common/shared/Defs.gmk + echo "DISTRO_PACKAGE_VERSION=$(PKGVERSION)" \ + >>openjdk/jdk/make/common/shared/Defs.gmk ; \ + fi if ENABLE_PLUGIN cp -a $(abs_top_srcdir)/plugin/icedtea/sun/applet/*java openjdk/jdk/src/share/classes/sun/applet/ @@ -1016,7 +1078,7 @@ stamps/hotspot-tools.stamp stamps/plugs.stamp \ stamps/ports.stamp stamps/patch.stamp stamps/overlay.stamp \ $(GCJWEBPLUGIN_TARGET) $(ICEDTEAPLUGIN_TARGET) \ - extra-lib/about.jar stamps/cacao.stamp \ + extra-lib/about.jar stamps/cacao.stamp stamps/visualvm.stamp \ stamps/pulse-java.stamp $(ARCH_PREFIX) $(MAKE) \ $(ICEDTEA_ENV) \ @@ -1045,6 +1107,26 @@ cp -pPRf pulse-java.jar \ $(BUILD_OUTPUT_DIR)/j2re-image/lib/ext endif +if WITH_VISUALVM + mkdir -p $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/etc ; \ + mkdir -p $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/visualvm ; \ + sed "s/APPNAME=\`basename.*\`/APPNAME=visualvm/" \ + visualvm/launcher/visualvm >> \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/jvisualvm ; \ + chmod a+x $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/jvisualvm ; \ + cp visualvm/launcher/visualvm.conf \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/etc ; \ + echo visualvm >> \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/etc/visualvm.clusters ; \ + echo profiler3 >> \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/etc/visualvm.clusters ; \ + cp -r visualvm/build/cluster/* \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/visualvm ; \ + cp -r netbeans/nbbuild/netbeans_visualvm/platform9 \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm ; \ + cp -r netbeans/nbbuild/netbeans_visualvm/profiler3 \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm +endif cp $(abs_top_srcdir)/rt/net/sourceforge/jnlp/resources/about.jnlp \ extra-lib/about.jar \ $(BUILD_OUTPUT_DIR)/j2re-image/lib ; \ @@ -1059,7 +1141,7 @@ stamps/hotspot-tools.stamp stamps/plugs.stamp \ stamps/ports.stamp stamps/patch.stamp stamps/overlay.stamp \ $(GCJWEBPLUGIN_TARGET) $(ICEDTEAPLUGIN_TARGET) \ - extra-lib/about.jar stamps/cacao.stamp \ + extra-lib/about.jar stamps/cacao.stamp stamps/visualvm.stamp \ stamps/pulse-java.stamp $(ARCH_PREFIX) $(MAKE) \ $(ICEDTEA_ENV) \ @@ -1088,6 +1170,26 @@ cp -pPRf pulse-java.jar \ $(BUILD_OUTPUT_DIR)-debug/j2re-image/lib/ext endif +if WITH_VISUALVM + mkdir -p $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/etc ; \ + mkdir -p $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/visualvm ; \ + sed "s/APPNAME=\`basename.*\`/APPNAME=visualvm/" \ + visualvm/launcher/visualvm >> \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/jvisualvm ; \ + chmod a+x $(BUILD_OUTPUT_DIR)/j2sdk-image/bin/jvisualvm ; \ + cp visualvm/launcher/visualvm.conf \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/etc ; \ + echo visualvm >> \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/etc/visualvm.clusters ; \ + echo profiler3 >> \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/etc/visualvm.clusters ; \ + cp -r visualvm/build/cluster/* \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm/visualvm ; \ + cp -r netbeans/nbbuild/netbeans_visualvm/platform9 \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm ; \ + cp -r netbeans/nbbuild/netbeans_visualvm/profiler3 \ + $(BUILD_OUTPUT_DIR)/j2sdk-image/lib/visualvm +endif cp $(abs_top_srcdir)/rt/net/sourceforge/jnlp/resources/default.jnlp \ extra-lib/about.jar \ $(BUILD_OUTPUT_DIR)-debug/j2re-image/lib ; \ @@ -1655,6 +1757,58 @@ check-local: jtregcheck +# VisualVM + +stamps/visualvm.stamp: $(BOOTSTRAP_DIRECTORY_STAMP) stamps/download.stamp \ + stamps/extract.stamp stamps/nbplatform.stamp +if WITH_VISUALVM + cd visualvm ; \ + ln -s $(abs_top_srcdir)/netbeans/nbbuild/netbeans_visualvm netbeans ; \ + JAVA_HOME=$(ICEDTEA_HOME) $(ANT) build +endif + mkdir -p stamps + touch $@ + +clean-visualvm: + rm -rf visualvm + rm -f stamps/visualvm.stamp + +stamps/nbplatform.stamp: $(BOOTSTRAP_DIRECTORY_STAMP) stamps/extract.stamp \ + stamps/download.stamp +if WITH_VISUALVM + mkdir netbeans ; \ + cd netbeans ; \ + rm nbbuild/external/binaries-list ; \ + mkdir -p lib.profiler/release/lib/deployed/jdk15/linux ; \ + mkdir -p lib.profiler/release/lib/deployed/jdk16/linux ; \ + mkdir -p ./nbbuild/netbeans_visualvm/ ; \ + ln -s $(SYSTEM_NETBEANS_DIR)/platform9/ ./nbbuild/netbeans_visualvm/platform9 ; \ + ln -s $(SYSTEM_NETBEANS_DIR)/apisupport1/ ./nbbuild/netbeans_visualvm/apisupport1 ; \ + ln -s $(SYSTEM_NETBEANS_DIR)/harness/ ./nbbuild/netbeans_visualvm/harness ; \ + cd lib.profiler/native/build ; \ + if ! (uname -a | grep x86_64) ; then \ + buildscript=./buildnative-linux-15.sh ; \ + else \ + buildscript=./buildnative-linux64-15.sh ; \ + fi ; \ + JAVA_HOME_15=$(ICEDTEA_HOME) JAVA_HOME_16=$(ICEDTEA_HOME) \ + $$buildscript ; \ + cd ../../.. ; \ + JAVA_HOME=$(ICEDTEA_HOME) $(ANT) -Dpermit.jdk6.builds=true \ + -f nbbuild/build.xml bootstrap ; \ + for dir in lib.profiler lib.profiler.ui lib.profiler.common profiler ; do \ + JAVA_HOME=$(ICEDTEA_HOME) $(ANT) -Dpermit.jdk6.builds=true -Dbuildnumber=081204 \ + -Dnetbeans.dest.dir=../nbbuild/netbeans_visualvm \ + -f $$dir/build.xml ; \ + done +endif + mkdir -p stamps + touch $@ + +clean-nbplatform: + rm -rf netbeans + rm -f stamps/nbplatform.stamp + # fsg-tarball # Creates archive of openjdk that is compliant with Free Software guidelines. @@ -1674,6 +1828,10 @@ cacao: stamps/cacao.stamp +visualvm: stamps/visualvm.stamp + +nbplatform: stamps/nbplatform.stamp + copy-source-files: stamps/copy-source-files.stamp download: stamps/download.stamp
--- a/acinclude.m4 Wed Jan 28 10:48:37 2009 -0500 +++ b/acinclude.m4 Wed Feb 25 12:29:06 2009 -0500 @@ -557,6 +557,31 @@ AC_SUBST(XERCES2_JAR) ]) +AC_DEFUN([FIND_NETBEANS], +[ + AC_ARG_WITH([netbeans], + [AS_HELP_STRING(--with-netbeans,specify location of netbeans)], + [ + if test -f "${withval}"; then + AC_MSG_CHECKING(netbeans) + NETBEANS="${withval}" + AC_MSG_RESULT(${withval}) + else + AC_PATH_PROG(NETBEANS, "${withval}") + fi + ], + [ + NETBEANS= + ]) + if test -z "${NETBEANS}"; then + AC_PATH_PROG(NETBEANS, "netbeans") + fi + if test -z "${NETBEANS}"; then + AC_MSG_ERROR("NetBeans was not found.") + fi + AC_SUBST(NETBEANS) +]) + AC_DEFUN([FIND_RHINO_JAR], [ AC_MSG_CHECKING(whether to include Javascript support via Rhino)
--- a/configure.ac Wed Jan 28 10:48:37 2009 -0500 +++ b/configure.ac Wed Feb 25 12:29:06 2009 -0500 @@ -55,6 +55,24 @@ AM_CONDITIONAL(WITH_ICEDTEA, test "${with_icedtea}" = true) AC_MSG_RESULT(${with_icedtea}) +AC_MSG_CHECKING([for a NetBeans installation]) +AC_ARG_WITH([netbeans-home], + [AS_HELP_STRING([--with-netbeans-home], + [NetBeans home directory (default is /usr/share/netbeans)])], + [ + if test "x${withval}" = x + then + SYSTEM_NETBEANS_DIR=/usr/share/netbeans + else + SYSTEM_NETBEANS_DIR=${withval} + fi + ], + [ + SYSTEM_NETBEANS_DIR=/usr/share/netbeans + ]) +AC_MSG_RESULT([${SYSTEM_NETBEANS_DIR}]) +AC_SUBST(SYSTEM_NETBEANS_DIR) + AC_MSG_CHECKING([whether to build using an existing installation of OpenJDK]) AC_ARG_WITH([openjdk], [AS_HELP_STRING([--with-openjdk], @@ -91,6 +109,14 @@ AC_SUBST(SYSTEM_ANT_DIR) AC_MSG_RESULT(${SYSTEM_ANT_DIR}) +AC_MSG_CHECKING(whether to build VisualVM) +AC_ARG_ENABLE([visualvm], + [AS_HELP_STRING([--enable-visualvm], + [Enable compilation of visualvm.])], + [enable_visualvm="${enableval}"], [enable_visualvm="no"]) +AM_CONDITIONAL(WITH_VISUALVM, test "x${enable_visualvm}" = "xyes") +AC_MSG_RESULT(${enable_visualvm}) + AC_MSG_CHECKING([whether to build the LiveConnect plugin]) AC_ARG_ENABLE([liveconnect], [AS_HELP_STRING([--disable-liveconnect], @@ -231,6 +257,11 @@ ENABLE_HG AC_CHECK_WITH_HG_REVISION +if test "x${enable_visualvm}" = "xyes" +then + FIND_NETBEANS +fi + if test "x${enable_pulse_java}" = "xyes" then FIND_PULSEAUDIO
--- a/patches/icedtea-version.patch Wed Jan 28 10:48:37 2009 -0500 +++ b/patches/icedtea-version.patch Wed Feb 25 12:29:06 2009 -0500 @@ -1,17 +1,3 @@ -diff -Nru openjdk.orig/jdk/make/common/shared/Defs.gmk openjdk/jdk/make/common/shared/Defs.gmk ---- openjdk.orig/jdk/make/common/shared/Defs.gmk 2008-10-15 15:36:07.000000000 +0100 -+++ openjdk/jdk/make/common/shared/Defs.gmk 2008-10-15 15:36:53.000000000 +0100 -@@ -194,8 +194,8 @@ - - # Default names - ifdef OPENJDK -- LAUNCHER_NAME = openjdk -- PRODUCT_NAME = OpenJDK -+ LAUNCHER_NAME = java -+ PRODUCT_NAME = IcedTea6 - PRODUCT_SUFFIX = Runtime Environment - JDK_RC_PLATFORM_NAME = Platform - COMPANY_NAME = N/A --- openjdk/langtools/make/Makefile.orig +++ openjdk/langtools/make/Makefile @@ -82,7 +82,11 @@ @@ -26,3 +12,60 @@ endif ifdef BUILD_NUMBER +--- ../openjdk6/jdk/make/common/shared/Defs.gmk 2008-08-28 04:10:47.000000000 -0400 ++++ openjdk/jdk/make/common/shared/Defs.gmk 2009-02-08 08:30:21.000000000 -0500 +@@ -194,7 +194,7 @@ + + # Default names + ifdef OPENJDK +- LAUNCHER_NAME = openjdk ++ LAUNCHER_NAME = java + PRODUCT_NAME = OpenJDK + PRODUCT_SUFFIX = Runtime Environment + JDK_RC_PLATFORM_NAME = Platform +--- openjdk/jdk/src/share/classes/sun/misc/Version-template.java.~1~ 2008-11-25 01:04:53.000000000 -0800 ++++ openjdk/jdk/src/share/classes/sun/misc/Version-template.java 2009-02-20 09:03:25.000000000 -0800 +@@ -41,6 +41,12 @@ + private static final String java_runtime_version = + "@@java_runtime_version@@"; + ++ private static final String jdk_derivative_name = ++ "@@jdk_derivative_name@@"; ++ ++ private static final String distro_package_version = ++ "@@distro_package_version@@"; ++ + static { + init(); + } +@@ -82,8 +88,17 @@ + ps.println(launcher_name + " version \"" + java_version + "\""); + + /* Second line: runtime version (ie, libraries). */ +- ps.println(java_runtime_name + " (build " + +- java_runtime_version + ")"); ++ StringBuilder sb = new StringBuilder(); ++ sb.append(java_runtime_name); ++ if (jdk_derivative_name.length() > 0) { ++ sb.append(" (").append(jdk_derivative_name).append(")"); ++ } ++ if (distro_package_version.length() > 0) { ++ sb.append(" (").append(distro_package_version).append(")"); ++ } else { ++ sb.append(" (build ").append(java_runtime_version).append(")"); ++ } ++ ps.println(sb.toString()); + + /* Third line: JVM information. */ + String java_vm_name = System.getProperty("java.vm.name"); +--- openjdk/jdk/make/java/version/Makefile.~1~ 2008-11-25 01:01:15.000000000 -0800 ++++ openjdk/jdk/make/java/version/Makefile 2009-02-20 09:03:56.000000000 -0800 +@@ -39,6 +39,8 @@ + $(SED) -e 's/@@launcher_name@@/$(LAUNCHER_NAME)/g' \ + -e 's/@@java_version@@/$(RELEASE)/g' \ + -e 's/@@java_runtime_version@@/$(FULL_VERSION)/g' \ ++ -e 's/@@jdk_derivative_name@@/$(JDK_DERIVATIVE_NAME)/g' \ ++ -e 's/@@distro_package_version@@/$(DISTRO_PACKAGE_VERSION)/g' \ + -e 's/@@java_runtime_name@@/$(RUNTIME_NAME)/g' \ + $< > $@.temp + @$(MV) $@.temp $@
--- a/plugin/icedtea/sun/applet/PluginAppletSecurityContext.java Wed Jan 28 10:48:37 2009 -0500 +++ b/plugin/icedtea/sun/applet/PluginAppletSecurityContext.java Wed Feb 25 12:29:06 2009 -0500 @@ -54,7 +54,6 @@ import java.security.PrivilegedAction; import java.security.ProtectionDomain; import java.util.ArrayList; -import java.util.HashMap; import java.util.Hashtable; import java.util.List; @@ -251,7 +250,8 @@ if (System.getSecurityManager() == null) { JNLPRuntime.initialize(); } - + + JNLPRuntime.disableExit(); this.classLoaders.put(liveconnectLoader, "file://"); }
--- a/plugin/icedtea/sun/applet/PluginAppletViewer.java Wed Jan 28 10:48:37 2009 -0500 +++ b/plugin/icedtea/sun/applet/PluginAppletViewer.java Wed Feb 25 12:29:06 2009 -0500 @@ -174,6 +174,8 @@ private static PluginCallRequestFactory requestFactory; + private static HashMap<Integer, String> siteCookies = new HashMap<Integer,String>(); + private double proposedHeightFactor; private double proposedWidthFactor; @@ -186,7 +188,7 @@ /** * Create the applet viewer */ - public PluginAppletViewer(int identifier, long handle, int x, int y, final URL doc, + public PluginAppletViewer(final int identifier, long handle, int x, int y, final URL doc, final Hashtable atts, PrintStream statusMsgStream, PluginAppletViewerFactory factory) { super(handle, true); @@ -213,7 +215,7 @@ AccessController.doPrivileged(new PrivilegedAction() { public Object run() { try { - panel = new NetxPanel(doc, atts, false); + panel = new NetxPanel(doc, siteCookies.get(identifier), atts, false); AppletViewerPanel.debug("Using NetX panel"); PluginDebug.debug(atts.toString()); } catch (Exception ex) { @@ -302,15 +304,12 @@ showStatus(amh.getMessage("status.start")); initEventQueue(); - // Wait for a maximum of 10 seconds for the panel to initialize + // Wait for the panel to initialize // (happens in a separate thread) Applet a; - int maxSleepTime = 10000; - int sleepTime = 0; - while ((a = panel.getApplet()) == null && sleepTime < maxSleepTime) { + while ((a = panel.getApplet()) == null && panel.getAppletHandlerThread().isAlive()) { try { Thread.sleep(100); - sleepTime += 100; PluginDebug.debug("Waiting for applet to initialize... "); } catch (InterruptedException ie) { ie.printStackTrace(); @@ -344,7 +343,7 @@ } catch (IOException ioe) { ioe.printStackTrace(); } - + } public static void setStreamhandler(PluginStreamHandler sh) { @@ -420,6 +419,16 @@ PluginDebug.debug ("REQUEST TAG NOT SET: " + request.tag + ". BYPASSING"); } } + } else if (message.startsWith("cookie")) { + + int cookieStrIndex = message.indexOf(" "); + String cookieStr = null; + + if (cookieStrIndex > 0) + cookieStr = message.substring(cookieStrIndex); + + // Always set the cookie -- even if it is null + siteCookies.put(identifier, cookieStr); } else { PluginDebug.debug ("HANDLING MESSAGE " + message + " instance " + identifier + " " + Thread.currentThread()); applets.get(identifier).handleMessage(reference, message); @@ -480,20 +489,23 @@ // object should belong to? Object o; - // Wait for a maximum of 10 seconds for the panel to initialize + // Wait for the panel to initialize // (happens in a separate thread) - int maxSleepTime = 10000; - int sleepTime = 0; - while ((o = panel.getApplet()) == null && sleepTime < maxSleepTime) { + while ((o = panel.getApplet()) == null && panel.getAppletHandlerThread().isAlive()) { try { Thread.sleep(100); - sleepTime += 100; PluginDebug.debug("Waiting for applet to initialize..."); } catch (InterruptedException ie) { ie.printStackTrace(); } } + // Still null? + if (panel.getApplet() == null) { + this.streamhandler.write("instance " + identifier + " reference " + -1 + " fatalError " + "Initialization failed"); + return; + } + PluginDebug.debug ("Looking for object " + o + " panel is " + panel); AppletSecurityContextManager.getSecurityContext(0).store(o); PluginDebug.debug ("WRITING 1: " + "context 0 reference " + reference + " GetJavaObject " @@ -1455,6 +1467,11 @@ public static void parse(int identifier, long handle, Reader in, URL url) throws IOException { + + // wait until cookie is set (even if cookie is null, it needs to be + // "set" to that first + while (!siteCookies.containsKey(identifier)); + final int fIdentifier = identifier; final long fHandle = handle; final Reader fIn = in;
--- a/plugin/icedtea/sun/applet/PluginStreamHandler.java Wed Jan 28 10:48:37 2009 -0500 +++ b/plugin/icedtea/sun/applet/PluginStreamHandler.java Wed Feb 25 12:29:06 2009 -0500 @@ -221,7 +221,10 @@ String rest = ""; String[] msgComponents = message.split(" "); - + + if (msgComponents.length < 2) + return; + // type and identifier are guaranteed to be there String type = msgComponents[0]; final int identifier = Integer.parseInt(msgComponents[1]); @@ -359,24 +362,26 @@ try { message = pluginInputReader.readLine(); PluginDebug.debug(" PIPE: appletviewer read: " + message); - } catch (IOException e) { - if (message == null || message.equals("shutdown")) { - synchronized(shuttingDown) { - shuttingDown = true; - } - try { - // Close input/output channels to plugin. - pluginInputReader.close(); - pluginOutputWriter.close(); - } catch (IOException exception) { - // Deliberately ignore IOException caused by broken - // pipe since plugin may have already detached. - } - AppletSecurityContextManager.dumpStore(0); - PluginDebug.debug("APPLETVIEWER: exiting appletviewer"); - System.exit(0); - } + if (message == null || message.equals("shutdown")) { + synchronized(shuttingDown) { + shuttingDown = true; + } + try { + // Close input/output channels to plugin. + pluginInputReader.close(); + pluginOutputWriter.close(); + } catch (IOException exception) { + // Deliberately ignore IOException caused by broken + // pipe since plugin may have already detached. + } + AppletSecurityContextManager.dumpStore(0); + PluginDebug.debug("APPLETVIEWER: exiting appletviewer"); + System.exit(0); + } + + } catch (IOException e) { + e.printStackTrace(); } return message;
--- a/rt/net/sourceforge/jnlp/ExtensionDesc.java Wed Jan 28 10:48:37 2009 -0500 +++ b/rt/net/sourceforge/jnlp/ExtensionDesc.java Wed Feb 25 12:29:06 2009 -0500 @@ -40,6 +40,9 @@ /** the location of the extension JNLP file */ private URL location; + + /** the cookie string sent with resource requests */ + private String cookieStr; /** the JNLPFile the extension refers to */ private JNLPFile file; @@ -58,10 +61,11 @@ * @param version the required version of the extention JNLPFile * @param location the location of the extention JNLP file */ - public ExtensionDesc(String name, Version version, URL location) { + public ExtensionDesc(String name, Version version, URL location, String cookieStr) { this.name = name; this.version = version; this.location = location; + this.cookieStr = cookieStr; } /** @@ -121,7 +125,7 @@ */ public void resolve() throws ParseException, IOException { if (file == null) { - file = new JNLPFile(location); + file = new JNLPFile(location, cookieStr); if (JNLPRuntime.isDebug()) System.out.println("Resolve: "+file.getInformation().getTitle()); @@ -140,6 +144,13 @@ public JNLPFile getJNLPFile() { return file; } + + /** + * Returns the cookie associated with this instance + */ + public String getCookieStr() { + return cookieStr; + } }
--- a/rt/net/sourceforge/jnlp/JNLPFile.java Wed Jan 28 10:48:37 2009 -0500 +++ b/rt/net/sourceforge/jnlp/JNLPFile.java Wed Feb 25 12:29:06 2009 -0500 @@ -62,6 +62,9 @@ /** the URL used to resolve relative URLs in the file */ protected URL codeBase; + + /** cookie string to send alongwith resource requests */ + protected String cookieStr; /** file version */ protected Version fileVersion; @@ -117,8 +120,8 @@ * @throws IOException if an IO exception occurred * @throws ParseException if the JNLP file was invalid */ - public JNLPFile(URL location) throws IOException, ParseException { - this(location, false); // not strict + public JNLPFile(URL location, String cookieStr) throws IOException, ParseException { + this(location, cookieStr, false); // not strict } /** @@ -130,8 +133,8 @@ * @throws IOException if an IO exception occurred * @throws ParseException if the JNLP file was invalid */ - public JNLPFile(URL location, boolean strict) throws IOException, ParseException { - this(location, strict, JNLPRuntime.getDefaultUpdatePolicy()); + public JNLPFile(URL location, String cookieStr, boolean strict) throws IOException, ParseException { + this(location, cookieStr, strict, JNLPRuntime.getDefaultUpdatePolicy()); } /** @@ -144,11 +147,12 @@ * @throws IOException if an IO exception occurred * @throws ParseException if the JNLP file was invalid */ - public JNLPFile(URL location, boolean strict, UpdatePolicy policy) throws IOException, ParseException { - Node root = Parser.getRootNode(openURL(location, policy)); + public JNLPFile(URL location, String cookieStr, boolean strict, UpdatePolicy policy) throws IOException, ParseException { + Node root = Parser.getRootNode(openURL(location, cookieStr, policy)); parse(root, strict, location); this.fileLocation = location; + this.cookieStr = cookieStr; } /** @@ -179,13 +183,13 @@ * Open the jnlp file URL from the cache if there, otherwise * download to the cache. Called from constructor. */ - private static InputStream openURL(URL location, UpdatePolicy policy) throws IOException { + private static InputStream openURL(URL location, String cookieStr, UpdatePolicy policy) throws IOException { if (location == null || policy == null) throw new IllegalArgumentException(R("NullParameter")); try { ResourceTracker tracker = new ResourceTracker(false); // no prefetch - tracker.addResource(location, null/*version*/, policy); + tracker.addResource(location, cookieStr, null/*version*/, policy); return tracker.getInputStream(location); } @@ -247,6 +251,13 @@ } /** + * Returns the cookie string that will be send when resources for this file are requested + */ + public String getCookieStr() { + return cookieStr; + } + + /** * Returns the information section of the JNLP file as viewed * through the default locale. */
--- a/rt/net/sourceforge/jnlp/Launcher.java Wed Jan 28 10:48:37 2009 -0500 +++ b/rt/net/sourceforge/jnlp/Launcher.java Wed Feb 25 12:29:06 2009 -0500 @@ -299,10 +299,10 @@ JNLPFile file = null; try { - file = new JNLPFile(location, true, updatePolicy); // strict + file = new JNLPFile(location, null, true, updatePolicy); // strict } catch (ParseException ex) { - file = new JNLPFile(location, false, updatePolicy); + file = new JNLPFile(location, null, false, updatePolicy); // only here if strict failed but lax did not fail LaunchException lex =
--- a/rt/net/sourceforge/jnlp/NetxPanel.java Wed Jan 28 10:48:37 2009 -0500 +++ b/rt/net/sourceforge/jnlp/NetxPanel.java Wed Feb 25 12:29:06 2009 -0500 @@ -41,6 +41,7 @@ private PluginBridge bridge = null; private boolean exitOnFailure = true; private AppletInstance appInst = null; + private String cookieStr; public NetxPanel(URL documentURL, Hashtable atts) { @@ -48,10 +49,11 @@ } // overloaded constructor, called when initialized via plugin - public NetxPanel(URL documentURL, Hashtable atts, boolean exitOnFailure) + public NetxPanel(URL documentURL, String cookieStr, Hashtable atts, boolean exitOnFailure) { this(documentURL, atts); this.exitOnFailure = exitOnFailure; + this.cookieStr = cookieStr; } //Overriding to use Netx classloader. You might need to relax visibility @@ -59,7 +61,8 @@ protected void runLoader() { try { - bridge = new PluginBridge(baseURL, + bridge = new PluginBridge(baseURL, + cookieStr, getDocumentBase(), getJarFiles(), getCode(),
--- a/rt/net/sourceforge/jnlp/Parser.java Wed Jan 28 10:48:37 2009 -0500 +++ b/rt/net/sourceforge/jnlp/Parser.java Wed Feb 25 12:29:06 2009 -0500 @@ -323,7 +323,7 @@ Version version = getVersion(node, "version", null); URL location = getRequiredURL(node, "href", base); - ExtensionDesc ext = new ExtensionDesc(name, version, location); + ExtensionDesc ext = new ExtensionDesc(name, version, location, null); Node dload[] = getChildNodes(node, "ext-download"); for (int i=0; i < dload.length; i++) {
--- a/rt/net/sourceforge/jnlp/PluginBridge.java Wed Jan 28 10:48:37 2009 -0500 +++ b/rt/net/sourceforge/jnlp/PluginBridge.java Wed Feb 25 12:29:06 2009 -0500 @@ -43,7 +43,7 @@ String[] cache_ex_jars = new String[0]; Hashtable atts; - public PluginBridge(URL codebase, URL documentBase, String jar, String main, + public PluginBridge(URL codebase, String cookieStr, URL documentBase, String jar, String main, int width, int height, Hashtable atts) throws Exception { @@ -103,6 +103,8 @@ codebase.getHost()); else security = null; + + this.cookieStr = cookieStr; } public String getTitle() @@ -139,8 +141,9 @@ if (launchType.equals(JARDesc.class)) { for (int i = 0; i < jars.length; i++) - result.add(new JARDesc(new URL(codeBase, jars[i]), - null, null, false, true, false, true)); + if (jars[i].length() > 0) + result.add(new JARDesc(new URL(codeBase, jars[i]), + null, null, false, true, false, true)); boolean cacheable = true; @@ -155,6 +158,9 @@ String jar = jar_and_ver[0]; Version version = null; + if (jar.length() == 0) + continue; + if (jar_and_ver.length > 1) { version = new Version(jar_and_ver[1]); } @@ -164,6 +170,10 @@ } for (int i = 0; i < cache_ex_jars.length; i++) { + + if (cache_ex_jars[i].length() == 0) + continue; + String[] jar_info = cache_ex_jars[i].split(";"); String jar = jar_info[0].trim();
--- a/rt/net/sourceforge/jnlp/cache/CacheUtil.java Wed Jan 28 10:48:37 2009 -0500 +++ b/rt/net/sourceforge/jnlp/cache/CacheUtil.java Wed Feb 25 12:29:06 2009 -0500 @@ -75,9 +75,9 @@ * @param version the version, or null * @return either the location in the cache or the original location */ - public static URL getCachedResource(URL location, Version version, UpdatePolicy policy) { + public static URL getCachedResource(URL location, String cookieStr, Version version, UpdatePolicy policy) { ResourceTracker rt = new ResourceTracker(); - rt.addResource(location, version, policy); + rt.addResource(location, cookieStr, version, policy); try { File f = rt.getCacheFile(location); return f.toURL(); @@ -139,6 +139,7 @@ * @throws IllegalArgumentException if the source is not cacheable */ public static boolean isCurrent(URL source, Version version, URLConnection connection) { + if (!isCacheable(source, version)) throw new IllegalArgumentException(R("CNotCacheable", source));
--- a/rt/net/sourceforge/jnlp/cache/Resource.java Wed Jan 28 10:48:37 2009 -0500 +++ b/rt/net/sourceforge/jnlp/cache/Resource.java Wed Feb 25 12:29:06 2009 -0500 @@ -67,6 +67,9 @@ /** the remote location of the resource */ URL location; + + /** cookie string to send with the resource request */ + String cookieStr; /** the local file downloaded to */ File localFile; @@ -95,19 +98,20 @@ /** * Create a resource. */ - private Resource(URL location, UpdatePolicy updatePolicy, Version requestVersion) { + private Resource(URL location, String cookieStr, UpdatePolicy updatePolicy, Version requestVersion) { this.location = location; this.requestVersion = requestVersion; this.updatePolicy = updatePolicy; + this.cookieStr = cookieStr; } /** * Return a shared Resource object representing the given * location and version. */ - public static Resource getResource(URL location, UpdatePolicy updatePolicy, Version requestVersion) { + public static Resource getResource(URL location, String cookieStr, UpdatePolicy updatePolicy, Version requestVersion) { synchronized (resources) { - Resource resource = new Resource(location, updatePolicy, requestVersion); + Resource resource = new Resource(location, cookieStr, updatePolicy, requestVersion); int index = resources.indexOf(resource); if (index >= 0) { // return existing object @@ -129,6 +133,13 @@ public URL getLocation() { return location; } + + /** + * Returns the cookie string associated with this resource + */ + public String getCookieStr() { + return cookieStr; + } /** * Returns the tracker that first created or monitored the
--- a/rt/net/sourceforge/jnlp/cache/ResourceTracker.java Wed Jan 28 10:48:37 2009 -0500 +++ b/rt/net/sourceforge/jnlp/cache/ResourceTracker.java Wed Feb 25 12:29:06 2009 -0500 @@ -148,11 +148,11 @@ * @param version the resource version * @param updatePolicy whether to check for updates if already in cache */ - public void addResource(URL location, Version version, UpdatePolicy updatePolicy) { + public void addResource(URL location, String cookieStr, Version version, UpdatePolicy updatePolicy) { if (location == null) throw new IllegalArgumentException("location==null"); - Resource resource = Resource.getResource(location, updatePolicy, version); + Resource resource = Resource.getResource(location, cookieStr, updatePolicy, version); boolean downloaded = false; synchronized (resources) { @@ -606,6 +606,10 @@ try { // create out second in case in does not exist URLConnection con = getVersionedResourceURL(resource).openConnection(); + + if (resource.getCookieStr() != null && resource.getCookieStr().length() > 0) + con.setRequestProperty("Cookie", resource.getCookieStr()); + InputStream in = new BufferedInputStream(con.getInputStream()); OutputStream out = CacheUtil.getOutputStream(resource.location, resource.downloadVersion); byte buf[] = new byte[1024]; @@ -653,6 +657,10 @@ // connect URLConnection connection = getVersionedResourceURL(resource).openConnection(); // this won't change so should be okay unsynchronized + + if (resource.getCookieStr() != null && resource.getCookieStr().length() > 0) + connection.setRequestProperty("Cookie", resource.getCookieStr()); + int size = connection.getContentLength(); boolean current = CacheUtil.isCurrent(resource.location, resource.requestVersion, connection) && resource.getUpdatePolicy() != UpdatePolicy.FORCE;
--- a/rt/net/sourceforge/jnlp/runtime/Boot.java Wed Jan 28 10:48:37 2009 -0500 +++ b/rt/net/sourceforge/jnlp/runtime/Boot.java Wed Feb 25 12:29:06 2009 -0500 @@ -243,7 +243,7 @@ boolean strict = (null != getOption("-strict")); - JNLPFile file = new JNLPFile(url, strict); + JNLPFile file = new JNLPFile(url, null, strict); // add in extra params from command line addProperties(file);
--- a/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Jan 28 10:48:37 2009 -0500 +++ b/rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Wed Feb 25 12:29:06 2009 -0500 @@ -233,11 +233,11 @@ * @param location the file's location * @param policy the update policy to use when downloading resources */ - public static JNLPClassLoader getInstance(URL location, UpdatePolicy policy) throws IOException, ParseException, LaunchException { + public static JNLPClassLoader getInstance(URL location, String cookieStr, UpdatePolicy policy) throws IOException, ParseException, LaunchException { JNLPClassLoader loader = (JNLPClassLoader) urlToLoader.get(location); if (loader == null) - loader = getInstance(new JNLPFile(location, false, policy), policy); + loader = getInstance(new JNLPFile(location, cookieStr, false, policy), policy); return loader; } @@ -255,7 +255,7 @@ //if (ext != null) { for (int i=0; i < ext.length; i++) { try { - JNLPClassLoader loader = getInstance(ext[i].getLocation(), updatePolicy); + JNLPClassLoader loader = getInstance(ext[i].getLocation(), ext[i].getCookieStr(), updatePolicy); loaderList.add(loader); } catch (Exception ex) { @@ -312,7 +312,8 @@ if (jars[i].isEager()) initialJars.add(jars[i]); // regardless of part - tracker.addResource(jars[i].getLocation(), + tracker.addResource(jars[i].getLocation(), + file.getCookieStr(), jars[i].getVersion(), jars[i].isCacheable() ? JNLPRuntime.getDefaultUpdatePolicy() : UpdatePolicy.FORCE ); @@ -730,6 +731,7 @@ available.add(desc); tracker.addResource(desc.getLocation(), + file.getCookieStr(), desc.getVersion(), JNLPRuntime.getDefaultUpdatePolicy() );
--- a/rt/net/sourceforge/jnlp/runtime/JNLPRuntime.java Wed Jan 28 10:48:37 2009 -0500 +++ b/rt/net/sourceforge/jnlp/runtime/JNLPRuntime.java Wed Feb 25 12:29:06 2009 -0500 @@ -285,6 +285,15 @@ checkExitClass(); security.setExitClass(exitClass); } + + /** + * Disables applets from calling exit. + * + * Once disabled, exit cannot be re-enabled for the duration of the JVM instance + */ + public static void disableExit() { + security.disableExit(); + } /** * Return the current Application, or null if none can be
--- a/rt/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java Wed Jan 28 10:48:37 2009 -0500 +++ b/rt/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java Wed Feb 25 12:29:06 2009 -0500 @@ -23,6 +23,7 @@ import java.awt.event.WindowEvent; import java.lang.ref.WeakReference; import java.net.SocketPermission; +import java.security.AccessControlException; import java.security.AccessController; import java.security.Permission; import java.security.PrivilegedAction; @@ -102,6 +103,9 @@ /** listener installs the app's classloader on the event dispatch thread */ private ContextUpdater contextListener = new ContextUpdater(); + + /** Sets whether or not exit is allowed (in the context of the plugin, this is always false) */ + private boolean exitAllowed = true; private class ContextUpdater extends WindowAdapter implements PrivilegedAction { private ApplicationInstance app = null; @@ -275,7 +279,7 @@ try { super.checkPermission(perm); } catch (SecurityException se) { - + //This section is a special case for dealing with SocketPermissions. if (JNLPRuntime.isDebug()) System.err.println("Requesting permission: " + perm.toString()); @@ -436,9 +440,17 @@ * behave normally, and the exit class can always exit the JVM. */ public void checkExit(int status) { - super.checkExit(status); + // applets are not allowed to exit, but the plugin main class (primordial loader) is Class stack[] = getClassContext(); + if (!exitAllowed) { + for (int i=0; i < stack.length; i++) + if (stack[i].getClassLoader() != null) + throw new AccessControlException("Applets may not call System.exit()"); + } + + super.checkExit(status); + boolean realCall = (stack[1] == Runtime.class); if (isExitClass(stack)) // either exitClass called or no exitClass set @@ -468,6 +480,10 @@ throw closeAppEx; } + protected void disableExit() { + exitAllowed = false; + } + }
--- a/rt/net/sourceforge/jnlp/tools/JarSigner.java Wed Jan 28 10:48:37 2009 -0500 +++ b/rt/net/sourceforge/jnlp/tools/JarSigner.java Wed Feb 25 12:29:06 2009 -0500 @@ -239,22 +239,20 @@ public boolean verifyJar(String jarName) throws Exception { boolean anySigned = false; boolean hasUnsignedEntry = false; - JarFile jf = null; + JarInputStream jis = null; try { - jf = new JarFile(jarName, true); + jis = new JarInputStream(new FileInputStream(jarName), true); Vector<JarEntry> entriesVec = new Vector<JarEntry>(); byte[] buffer = new byte[8192]; - Enumeration<JarEntry> entries = jf.entries(); - while (entries.hasMoreElements()) { - JarEntry je = entries.nextElement(); + JarEntry je; + while ((je = jis.getNextJarEntry()) != null) { entriesVec.addElement(je); InputStream is = null; try { - is = jf.getInputStream(je); int n; - while ((n = is.read(buffer, 0, buffer.length)) != -1) { + while ((n = jis.read(buffer, 0, buffer.length)) != -1) { // we just read. this will throw a SecurityException // if a signature/digest check fails. } @@ -265,7 +263,7 @@ } } - Manifest man = jf.getManifest(); + Manifest man = jis.getManifest(); if (man != null) { if (verbose) System.out.println(); @@ -274,7 +272,7 @@ long now = System.currentTimeMillis(); while (e.hasMoreElements()) { - JarEntry je = e.nextElement(); + je = e.nextElement(); String name = je.getName(); CodeSigner[] signers = je.getCodeSigners(); boolean isSigned = (signers != null); @@ -349,8 +347,8 @@ e.printStackTrace(); throw e; } finally { // close the resource - if (jf != null) { - jf.close(); + if (jis != null) { + jis.close(); } }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/visualvm.desktop Wed Feb 25 12:29:06 2009 -0500 @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=OpenJDK VisualVM +Comment=Integrates commandline JDK tools and profiling capabilites. +Exec=/usr/bin/jvisualvm +Icon=java +Terminal=false +Type=Application +Categories=Development;Java; +Version=1.0