changeset in /hg/icedtea: Update to b50 (02). Now builds using ...
Andrew John Hughes
ahughes at redhat.com
Thu Mar 19 03:48:27 PDT 2009
changeset e6d83e63e8e3 in /hg/icedtea
details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=e6d83e63e8e3
description:
Update to b50 (02). Now builds using --with-icedtea.
2009-03-17 Andrew John Hughes <ahughes at redhat.com>
* overlays/nio2/openjdk/jdk/src/share/classes/java/nio/file/attribute/NamedAttributeView.java,
* overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileLockImpl.java,
* overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractNamedAttributeView.java,
* overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxNamedAttributeView.java,
* overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisNamedAttributeView.java,
* overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsNamedAttributeView.java,
* overlays/nio2/openjdk/jdk/test/java/nio/file/attribute/NamedAttributeView/Basic.java:
Removed; in b50 (renamed as in b99).
* patches/security/icedtea-6721753.patch: Removed; in b50.
* Makefile.am: Remove security patch.
* overlays/nio2/openjdk/jdk/src/share/classes/java/io/Inputs.java,
* overlays/nio2/openjdk/jdk/src/share/classes/java/io/Outputs.java,
* overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileSystem.java:
Updated to nio2 b99.
* patches/icedtea-nio2.patch: Recreated against b50.
* patches/icedtea-pr261.patch: Likewise.
diffstat:
15 files changed, 95 insertions(+), 4146 deletions(-)
ChangeLog | 19
Makefile.am | 1
overlays/nio2/openjdk/jdk/src/share/classes/java/io/Inputs.java | 25
overlays/nio2/openjdk/jdk/src/share/classes/java/io/Outputs.java | 24
overlays/nio2/openjdk/jdk/src/share/classes/java/nio/file/attribute/NamedAttributeView.java | 231 -
overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileLockImpl.java | 68
overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractNamedAttributeView.java | 125
overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileSystem.java | 79
overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxNamedAttributeView.java | 344 -
overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisNamedAttributeView.java | 293 -
overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsNamedAttributeView.java | 342 -
overlays/nio2/openjdk/jdk/test/java/nio/file/attribute/NamedAttributeView/Basic.java | 273 -
patches/icedtea-nio2.patch | 2292 ----------
patches/icedtea-pr261.patch | 36
patches/security/icedtea-6721753.patch | 89
diffs (truncated from 4499 to 500 lines):
diff -r a0f00c50a187 -r e6d83e63e8e3 ChangeLog
--- a/ChangeLog Fri Mar 06 13:04:03 2009 +0000
+++ b/ChangeLog Tue Mar 17 00:44:07 2009 +0000
@@ -1,3 +1,22 @@ 2009-03-06 Andrew John Hughes <ahughes
+2009-03-17 Andrew John Hughes <ahughes at redhat.com>
+
+ * overlays/nio2/openjdk/jdk/src/share/classes/java/nio/file/attribute/NamedAttributeView.java,
+ * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileLockImpl.java,
+ * overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractNamedAttributeView.java,
+ * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/LinuxNamedAttributeView.java,
+ * overlays/nio2/openjdk/jdk/src/solaris/classes/sun/nio/fs/SolarisNamedAttributeView.java,
+ * overlays/nio2/openjdk/jdk/src/windows/classes/sun/nio/fs/WindowsNamedAttributeView.java,
+ * overlays/nio2/openjdk/jdk/test/java/nio/file/attribute/NamedAttributeView/Basic.java:
+ Removed; in b50 (renamed as in b99).
+ * patches/security/icedtea-6721753.patch: Removed; in b50.
+ * Makefile.am: Remove security patch.
+ * overlays/nio2/openjdk/jdk/src/share/classes/java/io/Inputs.java,
+ * overlays/nio2/openjdk/jdk/src/share/classes/java/io/Outputs.java,
+ * overlays/nio2/openjdk/jdk/src/share/demo/nio/ZipFileSystem/com/sun/nio/zipfs/ZipFileSystem.java:
+ Updated to nio2 b99.
+ * patches/icedtea-nio2.patch: Recreated against b50.
+ * patches/icedtea-pr261.patch: Likewise.
+
2009-03-06 Andrew John Hughes <ahughes at redhat.com>
* overlays/nio2/openjdk/jdk/make/mksample/nio/file/Makefile,
diff -r a0f00c50a187 -r e6d83e63e8e3 Makefile.am
--- a/Makefile.am Fri Mar 06 13:04:03 2009 +0000
+++ b/Makefile.am Tue Mar 17 00:44:07 2009 +0000
@@ -1840,7 +1840,6 @@ ICEDTEA_PATCHES = \
patches/security/icedtea-6497740.patch \
patches/security/icedtea-6588160.patch \
patches/security/icedtea-6592792.patch \
- patches/security/icedtea-6721753.patch \
patches/security/icedtea-6726779.patch \
patches/security/icedtea-6733959.patch \
patches/security/icedtea-6734167.patch \
diff -r a0f00c50a187 -r e6d83e63e8e3 overlays/nio2/openjdk/jdk/src/share/classes/java/io/Inputs.java
--- a/overlays/nio2/openjdk/jdk/src/share/classes/java/io/Inputs.java Fri Mar 06 13:04:03 2009 +0000
+++ b/overlays/nio2/openjdk/jdk/src/share/classes/java/io/Inputs.java Tue Mar 17 00:44:07 2009 +0000
@@ -25,26 +25,16 @@
package java.io;
-import java.io.Closeable;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
import java.nio.charset.Charset;
import java.nio.charset.UnsupportedCharsetException;
+import java.nio.file.FileRef;
+import java.nio.file.attribute.Attributes;
import java.nio.channels.Channels;
-
+import java.util.Scanner;
import java.util.Collections;
import java.util.Arrays;
import java.util.ArrayList;
import java.util.List;
-
-
-import java.nio.file.FileRef;
-
-import java.nio.file.attribute.Attributes;
-
-import java.util.Scanner;
/**
* {@note experimental}
@@ -155,8 +145,13 @@ public final class Inputs {
* Suppose we want to open a connection to a resource identified by a URI,
* and read all bytes:
* <pre>
- * URI uri = ...
- * byte[] content = InputOutput.readAllBytes(uri.toURL().openStream());
+ * byte[] content;
+ * InputStream in = uri.toURL().openStream();
+ * try {
+ * content = Inputs.readAllBytes(in);
+ * } finally {
+ * Inputs.closeUnchecked(in);
+ * }
* </pre>
*
* <p> On return, the input stream will be at end of stream.
diff -r a0f00c50a187 -r e6d83e63e8e3 overlays/nio2/openjdk/jdk/src/share/classes/java/io/Outputs.java
--- a/overlays/nio2/openjdk/jdk/src/share/classes/java/io/Outputs.java Fri Mar 06 13:04:03 2009 +0000
+++ b/overlays/nio2/openjdk/jdk/src/share/classes/java/io/Outputs.java Tue Mar 17 00:44:07 2009 +0000
@@ -25,25 +25,15 @@
package java.io;
-import java.io.BufferedWriter;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.OutputStreamWriter;
-
import java.nio.ByteBuffer;
import java.nio.charset.Charset;
import java.nio.charset.UnsupportedCharsetException;
+import java.nio.file.FileRef;
+import static java.nio.file.StandardOpenOption.*;
import java.nio.channels.Channels;
import java.nio.channels.WritableByteChannel;
import java.util.Arrays;
import java.util.List;
-
-import java.nio.file.FileRef;
-
-import static java.nio.file.StandardOpenOption.CREATE;
-import static java.nio.file.StandardOpenOption.TRUNCATE_EXISTING;
-import static java.nio.file.StandardOpenOption.WRITE;
/**
* {@note experimental}
@@ -92,11 +82,14 @@ public final class Outputs {
public static void write(FileRef file, byte[] bytes, int off, int len)
throws IOException
{
+ int end = off + len;
+ if ((off | len | end | (bytes.length - end)) < 0)
+ throw new IndexOutOfBoundsException();
WritableByteChannel wbc = file.newByteChannel(WRITE, CREATE, TRUNCATE_EXISTING);
try {
int pos = off;
- while (pos < len) {
- int size = Math.min(len-pos, 8192);
+ while (pos < end) {
+ int size = Math.min(end-pos, 8192);
ByteBuffer bb = ByteBuffer.wrap(bytes, pos, size);
int n = wbc.write(bb);
pos += n;
@@ -215,6 +208,9 @@ public final class Outputs {
public static void write(File file, byte[] bytes, int off, int len)
throws IOException
{
+ int end = off + len;
+ if ((off | len | end | (bytes.length - end)) < 0)
+ throw new IndexOutOfBoundsException();
FileOutputStream out = new FileOutputStream(file);
try {
out.write(bytes, off, len);
diff -r a0f00c50a187 -r e6d83e63e8e3 overlays/nio2/openjdk/jdk/src/share/classes/java/nio/file/attribute/NamedAttributeView.java
--- a/overlays/nio2/openjdk/jdk/src/share/classes/java/nio/file/attribute/NamedAttributeView.java Fri Mar 06 13:04:03 2009 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,231 +0,0 @@
-/*
- * Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved.
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package java.nio.file.attribute;
-
-import java.nio.ByteBuffer;
-import java.util.List;
-import java.io.IOException;
-
-/**
- * A file attribute view that provides a view of a file's user-defined
- * attributes, sometimes known as <em>extended attributes</em>. Named attributes
- * are used to store metadata with a file that is not meaningful to the file
- * system. It is primarily intended for file system implementations that support
- * such a capability directly but may be emulated. The details of such emulation
- * are highly implementation specific and therefore not specified.
- *
- * <p> This {@code FileAttributeView} provides a view of a file's named
- * attributes as a set of name/value pairs, where the attribute name is
- * represented by a {@code String}. An implementation may require to encode and
- * decode from the platform or file system representation when accessing the
- * attribute. The value has opaque content. This attribute view defines the
- * {@link #read read} and {@link #write write} methods to read the value into
- * or write from a {@link ByteBuffer}. This {@code FileAttributeView} is not
- * intended for use where the size of an attribute value is larger than {@link
- * Integer#MAX_VALUE}.
- *
- * <p> Named attributes may be used in some implementations to store security
- * related attributes so consequently, in the case of the default provider at
- * least, all methods that access named attributes require the
- * {@code RuntimePermission("accessNamedAttributes")} permission when a
- * security manager is installed.
- *
- * <p> The {@link java.nio.file.FileStore#supportsFileAttributeView
- * supportsFileAttributeView} method may be used to test if a specific {@link
- * java.nio.file.FileStore FileStore} supports the storage of named attributes.
- *
- * <p> Where dynamic access to file attributes is required, the {@link
- * #getAttribute getAttribute} or {@link #readAttributes(String,String[])
- * readAttributes(String,String[])} methods may be used to read the attribute
- * value. The attribute value is returned as a byte array (byte[]). The {@link
- * #setAttribute setAttribute} method may be used to write the value of a
- * user-defined/named attribute from a buffer (as if by invoking the {@link
- * #write write} method), or byte array (byte[]).
- *
- * @since 1.7
- */
-
-public interface NamedAttributeView
- extends FileAttributeView
-{
- /**
- * Returns the name of this attribute view. Attribute views of this type
- * have the name {@code "xattr"}.
- */
-
- String name();
-
- /**
- * Returns a list containing the names of the user-defined/named
- * attributes.
- *
- * @return An unmodifiable list continaing the names of the file's
- * user-defined/named attributes
- *
- * @throws IOException
- * If an I/O error occurs
- * @throws SecurityException
- * In the case of the default provider, a security manager is
- * installed, and it denies {@link
- * RuntimePermission}<tt>("accessNamedAttributes")</tt>
- * or its {@link SecurityManager#checkRead(String) checkRead} method
- * denies read access to the file.
- */
- List<String> list() throws IOException;
-
- /**
- * Returns the size of the value of a user-defined/named attribute.
- *
- * @param name
- * The attribute name
- *
- * @return The size of the attribute value, in bytes.
- *
- * @throws ArithmeticException
- * If the size of the attribute is larger than {@link Integer#MAX_VALUE}
- * @throws IOException
- * If an I/O error occurs
- * @throws SecurityException
- * In the case of the default provider, a security manager is
- * installed, and it denies {@link
- * RuntimePermission}<tt>("accessNamedAttributes")</tt>
- * or its {@link SecurityManager#checkRead(String) checkRead} method
- * denies read access to the file.
- */
- int size(String name) throws IOException;
-
- /**
- * Read the value of a user-defined/named attribute into a buffer.
- *
- * <p> This method reads the value of the attribute into the given buffer
- * as a sequence of bytes, failing if the number of bytes remaining in
- * the buffer is insufficient to read the complete attribute value. The
- * number of bytes transferred into the buffer is {@code n}, where {@code n}
- * is the size of the attribute value. The first byte in the sequence is at
- * index {@code p} and the last byte is at index {@code p + n - 1}, where
- * {@code p} is the buffer's position. Upon return the buffer's position
- * will be equal to {@code p + n}; its limit will not have changed.
- *
- * <p> <b>Usage Example:</b>
- * Suppose we want to read a file's MIME type that is stored as a named
- * attribute:
- * <pre>
- * NamedAttributeView view = file.getFileAttributeView(NamedAttributeView.class);
- * String name = "user.mimetype";
- * ByteBuffer buf = ByteBuffer.allocate(view.size(name));
- * view.read(name, buf);
- * buf.flip();
- * String value = Charset.defaultCharset().decode(buf).toString();
- * </pre>
- *
- * @param name
- * The attribute name
- * @param dst
- * The destination buffer
- *
- * @return The number of bytes read, possibly zero
- *
- * @throws IllegalArgumentException
- * If the destination buffer is read-only
- * @throws IOException
- * If an I/O error occurs or there is insufficient space in the
- * destination buffer for the attribute value
- * @throws SecurityException
- * In the case of the default provider, a security manager is
- * installed, and it denies {@link
- * RuntimePermission}<tt>("accessNamedAttributes")</tt>
- * or its {@link SecurityManager#checkRead(String) checkRead} method
- * denies read access to the file.
- *
- * @see #size
- */
- int read(String name, ByteBuffer dst) throws IOException;
-
- /**
- * Writes the value of a user-defined/named attribute from a buffer.
- *
- * <p> This method writes the value of the attribute from a given buffer as
- * a sequence of bytes. The size of the value to transfer is {@code r},
- * where {@code r} is the number of bytes remaining in the buffer, that is
- * {@code src.remaining()}. The sequence of bytes is transferred from the
- * buffer starting at index {@code p}, where {@code p} is the buffer's
- * position. Upon return, the buffer's position will be equal to {@code
- * p + n}, where {@code n} is the number of bytes transferred; its limit
- * will not have changed.
- *
- * <p> If an attribute of the given name already exists then its value is
- * replaced. If the attribute does not exist then it is created. If it
- * implementation specific if a test to check for the existence of the
- * attribute and the creation of attribute are atomic with repect to other
- * file system activities.
- *
- * <p> Where there is insufficient space to store the attribute, or the
- * attribute name or value exceed an implementation specific maximum size
- * then an {@code IOException} is thrown.
- *
- * <p> <b>Usage Example:</b>
- * Suppose we want to write a file's MIME type as a named attribute:
- * <pre>
- * NamedAttributeView view = file.getFileAttributeView(NamedAttributeView.class);
- * view.write("user.mimetype", Charset.defaultCharset().encode("text/html"));
- * </pre>
- *
- * @param name
- * The attribute name
- * @param src
- * The buffer containing the attribute value
- *
- * @return The number of bytes written, possibly zero
- *
- * @throws IOException
- * If an I/O error occurs
- * @throws SecurityException
- * In the case of the default provider, a security manager is
- * installed, and it denies {@link
- * RuntimePermission}<tt>("accessNamedAttributes")</tt>
- * or its {@link SecurityManager#checkWrite(String) checkWrite}
- * method denies write access to the file.
- */
- int write(String name, ByteBuffer src) throws IOException;
-
- /**
- * Deletes a user-defined/named attribute.
- *
- * @param name
- * The attribute name
- *
- * @throws IOException
- * If an I/O error occurs or the attribute does not exist
- * @throws SecurityException
- * In the case of the default provider, a security manager is
- * installed, and it denies {@link
- * RuntimePermission}<tt>("accessNamedAttributes")</tt>
- * or its {@link SecurityManager#checkWrite(String) checkWrite}
- * method denies write access to the file.
- */
- void delete(String name) throws IOException;
-}
diff -r a0f00c50a187 -r e6d83e63e8e3 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileLockImpl.java
--- a/overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/ch/AsynchronousFileLockImpl.java Fri Mar 06 13:04:03 2009 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
- * Copyright 2001-2003 Sun Microsystems, Inc. All Rights Reserved.
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.ch;
-
-import java.io.IOException;
-import java.nio.channels.Channel;
-import java.nio.channels.ClosedChannelException;
-import java.nio.channels.FileChannel;
-
-import java.nio.channels.AsynchronousFileChannel;
-import java.nio.channels.FileLock;
-
-public class AsynchronousFileLockImpl
- extends FileLock
-{
- boolean valid;
-
- AsynchronousFileLockImpl(AsynchronousFileChannel channel, long position, long size, boolean shared)
- {
- super(channel, position, size, shared);
- this.valid = true;
- }
-
- public synchronized boolean isValid() {
- return valid;
- }
-
- synchronized void invalidate() {
- valid = false;
- }
-
- public synchronized void release() throws IOException {
- Channel ch = acquiredBy();
- if (!ch.isOpen())
- throw new ClosedChannelException();
- if (valid) {
- if (ch instanceof AsynchronousFileChannelImpl)
- ((AsynchronousFileChannelImpl)ch).release(this);
- else throw new AssertionError("Attempted to release unsupported channel " + ch);
- valid = false;
- }
- }
-
-}
diff -r a0f00c50a187 -r e6d83e63e8e3 overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractNamedAttributeView.java
--- a/overlays/nio2/openjdk/jdk/src/share/classes/sun/nio/fs/AbstractNamedAttributeView.java Fri Mar 06 13:04:03 2009 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,125 +0,0 @@
-/*
- * Copyright 2007-2008 Sun Microsystems, Inc. All Rights Reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.fs;
-
-import java.nio.ByteBuffer;
-import java.io.IOException;
-import java.util.*;
-
-import java.nio.file.attribute.NamedAttributeView;
-
-/**
- * Base implementation of NamedAttributeView
- */
-
-abstract class AbstractNamedAttributeView
- implements NamedAttributeView
-{
- protected AbstractNamedAttributeView() { }
-
- protected void checkAccess(String file,
- boolean checkRead,
- boolean checkWrite)
More information about the distro-pkg-dev
mailing list