Author: markt Date: Fri Mar 15 11:36:53 2013 New Revision: 1456904 URL: http://svn.apache.org/r1456904 Log: Merge updates from Commons FileUpload to r1455031
Modified: tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/ (props changed) tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileItem.java tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileItemFactory.java tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileItemHeaders.java tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileItemHeadersSupport.java tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileItemIterator.java tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileItemStream.java tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileUpload.java tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileUploadBase.java tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/InvalidFileNameException.java tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/MultipartStream.java tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/ParameterParser.java tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/ProgressListener.java tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/disk/DiskFileItem.java tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/disk/DiskFileItemFactory.java tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/servlet/ServletFileUpload.java tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/servlet/ServletRequestContext.java tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/Closeable.java tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/FileItemHeadersImpl.java tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/LimitedInputStream.java tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/Streams.java Propchange: tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/ ------------------------------------------------------------------------------ Merged /commons/proper/fileupload/trunk/src/main/java/org/apache/commons/fileupload:r1453845-1455031 Modified: tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileItem.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileItem.java?rev=1456904&r1=1456903&r2=1456904&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileItem.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileItem.java Fri Mar 15 11:36:53 2013 @@ -43,11 +43,6 @@ import java.io.UnsupportedEncodingExcept * implementation of this interface to also implement * <code>javax.activation.DataSource</code> with minimal additional work. * - * @author <a href="mailto:rafal.krzew...@e-point.pl">Rafal Krzewski</a> - * @author <a href="mailto:s...@informage.net">Sean Legassick</a> - * @author <a href="mailto:jvan...@apache.org">Jason van Zyl</a> - * @author <a href="mailto:mart...@apache.org">Martin Cooper</a> - * * @version $Id$ * @since 1.3 additionally implements FileItemHeadersSupport */ Modified: tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileItemFactory.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileItemFactory.java?rev=1456904&r1=1456903&r2=1456904&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileItemFactory.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileItemFactory.java Fri Mar 15 11:36:53 2013 @@ -21,8 +21,6 @@ package org.apache.tomcat.util.http.file * can provide their own custom configuration, over and above that provided * by the default file upload implementation.</p> * - * @author <a href="mailto:mart...@apache.org">Martin Cooper</a> - * * @version $Id$ */ public interface FileItemFactory { Modified: tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileItemHeaders.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileItemHeaders.java?rev=1456904&r1=1456903&r2=1456904&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileItemHeaders.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileItemHeaders.java Fri Mar 15 11:36:53 2013 @@ -23,8 +23,9 @@ import java.util.Iterator; * item that was received within a <code>multipart/form-data</code> POST * request.</p> * - * @author Michael C. Macaluso * @since 1.2.1 + * + * @version $Id$ */ public interface FileItemHeaders { Modified: tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileItemHeadersSupport.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileItemHeadersSupport.java?rev=1456904&r1=1456903&r2=1456904&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileItemHeadersSupport.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileItemHeadersSupport.java Fri Mar 15 11:36:53 2013 @@ -20,11 +20,12 @@ package org.apache.tomcat.util.http.file * Interface that will indicate that {@link FileItem} or {@link FileItemStream} * implementations will accept the headers read for the item. * - * @author Michael C. Macaluso * @since 1.2.1 * * @see FileItem * @see FileItemStream + * + * @version $Id$ */ public interface FileItemHeadersSupport { Modified: tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileItemIterator.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileItemIterator.java?rev=1456904&r1=1456903&r2=1456904&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileItemIterator.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileItemIterator.java Fri Mar 15 11:36:53 2013 @@ -21,6 +21,8 @@ import java.io.IOException; /** * An iterator, as returned by * {@link FileUploadBase#getItemIterator(RequestContext)}. + * + * @version $Id$ */ public interface FileItemIterator { Modified: tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileItemStream.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileItemStream.java?rev=1456904&r1=1456903&r2=1456904&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileItemStream.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileItemStream.java Fri Mar 15 11:36:53 2013 @@ -30,6 +30,8 @@ import java.io.InputStream; * its associated instances of {@link FileItemStream}: By invoking * {@link java.util.Iterator#hasNext()} on the iterator, you discard all data, * which hasn't been read so far from the previous data.</p> + * + * @version $Id$ */ public interface FileItemStream extends FileItemHeadersSupport { Modified: tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileUpload.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileUpload.java?rev=1456904&r1=1456903&r2=1456904&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileUpload.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileUpload.java Fri Mar 15 11:36:53 2013 @@ -30,13 +30,6 @@ package org.apache.tomcat.util.http.file * used to create them; a given part may be in memory, on disk, or somewhere * else.</p> * - * @author <a href="mailto:rafal.krzew...@e-point.pl">Rafal Krzewski</a> - * @author <a href="mailto:d...@collab.net">Daniel Rall</a> - * @author <a href="mailto:jvan...@apache.org">Jason van Zyl</a> - * @author <a href="mailto:jmcna...@collab.net">John McNally</a> - * @author <a href="mailto:mart...@apache.org">Martin Cooper</a> - * @author Sean C. Sullivan - * * @version $Id$ */ public class FileUpload Modified: tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileUploadBase.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileUploadBase.java?rev=1456904&r1=1456903&r2=1456904&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileUploadBase.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/FileUploadBase.java Fri Mar 15 11:36:53 2013 @@ -46,13 +46,6 @@ import org.apache.tomcat.util.http.fileu * used to create them; a given part may be in memory, on disk, or somewhere * else.</p> * - * @author <a href="mailto:rafal.krzew...@e-point.pl">Rafal Krzewski</a> - * @author <a href="mailto:d...@collab.net">Daniel Rall</a> - * @author <a href="mailto:jvan...@apache.org">Jason van Zyl</a> - * @author <a href="mailto:jmcna...@collab.net">John McNally</a> - * @author <a href="mailto:mart...@apache.org">Martin Cooper</a> - * @author Sean C. Sullivan - * * @version $Id$ */ public abstract class FileUploadBase { @@ -292,7 +285,7 @@ public abstract class FileUploadBase { while (iter.hasNext()) { final FileItemStream item = iter.next(); // Don't use getName() here to prevent an InvalidFileNameException. - final String fileName = ((org.apache.tomcat.util.http.fileupload.FileUploadBase.FileItemIteratorImpl.FileItemStreamImpl) item).name; + final String fileName = ((FileItemIteratorImpl.FileItemStreamImpl) item).name; FileItem fileItem = fac.createItem(item.getFieldName(), item.getContentType(), item.isFormField(), fileName); @@ -785,21 +778,9 @@ public abstract class FileUploadBase { if (sizeMax >= 0) { long requestSize = ctx.contentLength(); - if (requestSize == -1) { - input = new LimitedInputStream(input, sizeMax) { - @Override - protected void raiseError(long pSizeMax, long pCount) - throws IOException { - FileUploadException ex = new SizeLimitExceededException(String.format( - "the request was rejected because its size (%s) exceeds the configured maximum (%s)", - Long.valueOf(pCount), - Long.valueOf(pSizeMax)), - pCount, pSizeMax); - throw new FileUploadIOException(ex); - } - }; - } else { - if (sizeMax >= 0 && requestSize > sizeMax) { + + if (requestSize != -1) { + if (requestSize > sizeMax) { throw new SizeLimitExceededException(String.format( "the request was rejected because its size (%s) exceeds the configured maximum (%s)", Long.valueOf(requestSize), @@ -807,6 +788,17 @@ public abstract class FileUploadBase { requestSize, sizeMax); } } + input = new LimitedInputStream(input, sizeMax) { + @Override + protected void raiseError(long pSizeMax, long pCount) + throws IOException { + FileUploadException ex = new SizeLimitExceededException( + String.format("the request was rejected because its size (%s) exceeds the configured maximum (%s)", + Long.valueOf(pCount), Long.valueOf(pSizeMax)), + pCount, pSizeMax); + throw new FileUploadIOException(ex); + } + }; } String charEncoding = headerEncoding; Modified: tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/InvalidFileNameException.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/InvalidFileNameException.java?rev=1456904&r1=1456903&r2=1456904&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/InvalidFileNameException.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/InvalidFileNameException.java Fri Mar 15 11:36:53 2013 @@ -25,6 +25,8 @@ package org.apache.tomcat.util.http.file * checks for the extension ".png"), while, depending on the underlying * C library, it might create a file named "foo.exe", as the NUL * character is the string terminator in C. + * + * @version $Id$ */ public class InvalidFileNameException extends RuntimeException { Modified: tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/MultipartStream.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/MultipartStream.java?rev=1456904&r1=1456903&r2=1456904&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/MultipartStream.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/MultipartStream.java Fri Mar 15 11:36:53 2013 @@ -79,10 +79,6 @@ import org.apache.tomcat.util.http.fileu * } * </pre> * - * @author <a href="mailto:rafal.krzew...@e-point.pl">Rafal Krzewski</a> - * @author <a href="mailto:mart...@apache.org">Martin Cooper</a> - * @author Sean C. Sullivan - * * @version $Id$ */ public class MultipartStream { @@ -806,10 +802,8 @@ public class MultipartStream { if (closed) { throw new FileItemStream.ItemSkippedException(); } - if (available() == 0) { - if (makeAvailable() == 0) { - return -1; - } + if (available() == 0 && makeAvailable() == 0) { + return -1; } ++total; int b = buffer[head++]; Modified: tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/ParameterParser.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/ParameterParser.java?rev=1456904&r1=1456903&r2=1456904&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/ParameterParser.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/ParameterParser.java Fri Mar 15 11:36:53 2013 @@ -31,7 +31,7 @@ import java.util.Map; * <code>param1 = value; param2 = "anything goes; really"; param3</code> * </p> * - * @author <a href="mailto:o...@ural.ru">Oleg Kalnichevski</a> + * @version $Id$ */ public class ParameterParser { @@ -101,13 +101,12 @@ public class ParameterParser { i2--; } // Strip away quotation marks if necessary - if (quoted) { - if (((i2 - i1) >= 2) - && (chars[i1] == '"') - && (chars[i2 - 1] == '"')) { - i1++; - i2--; - } + if (quoted + && ((i2 - i1) >= 2) + && (chars[i1] == '"') + && (chars[i2 - 1] == '"')) { + i1++; + i2--; } String result = null; if (i2 > i1) { @@ -235,11 +234,9 @@ public class ParameterParser { int idx = str.length(); for (int i = 0; i < separators.length; i++) { int tmp = str.indexOf(separators[i]); - if (tmp != -1) { - if (tmp < idx) { - idx = tmp; - separator = separators[i]; - } + if (tmp != -1 && tmp < idx) { + idx = tmp; + separator = separators[i]; } } } Modified: tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/ProgressListener.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/ProgressListener.java?rev=1456904&r1=1456903&r2=1456904&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/ProgressListener.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/ProgressListener.java Fri Mar 15 11:36:53 2013 @@ -19,6 +19,8 @@ package org.apache.tomcat.util.http.file /** * The {@link ProgressListener} may be used to display a progress bar * or do stuff like that. + * + * @version $Id$ */ public interface ProgressListener { Modified: tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/disk/DiskFileItem.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/disk/DiskFileItem.java?rev=1456904&r1=1456903&r2=1456904&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/disk/DiskFileItem.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/disk/DiskFileItem.java Fri Mar 15 11:36:53 2013 @@ -68,13 +68,6 @@ import org.apache.tomcat.util.http.fileu * your web application ends. See the section on "Resource cleanup" * in the users guide of commons-fileupload.</p> * - * @author <a href="mailto:rafal.krzew...@e-point.pl">Rafal Krzewski</a> - * @author <a href="mailto:s...@informage.net">Sean Legassick</a> - * @author <a href="mailto:jvan...@apache.org">Jason van Zyl</a> - * @author <a href="mailto:jmcna...@apache.org">John McNally</a> - * @author <a href="mailto:mart...@apache.org">Martin Cooper</a> - * @author Sean C. Sullivan - * * @since FileUpload 1.1 * * @version $Id$ Modified: tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/disk/DiskFileItemFactory.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/disk/DiskFileItemFactory.java?rev=1456904&r1=1456903&r2=1456904&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/disk/DiskFileItemFactory.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/disk/DiskFileItemFactory.java Fri Mar 15 11:36:53 2013 @@ -66,8 +66,6 @@ import org.apache.tomcat.util.http.fileu * your web application ends. See the section on "Resource cleanup" * in the users guide of commons-fileupload.</p> * - * @author <a href="mailto:mart...@apache.org">Martin Cooper</a> - * * @since FileUpload 1.1 * * @version $Id$ Modified: tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/servlet/ServletFileUpload.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/servlet/ServletFileUpload.java?rev=1456904&r1=1456903&r2=1456904&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/servlet/ServletFileUpload.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/servlet/ServletFileUpload.java Fri Mar 15 11:36:53 2013 @@ -41,13 +41,6 @@ import org.apache.tomcat.util.http.fileu * used to create them; a given part may be in memory, on disk, or somewhere * else.</p> * - * @author <a href="mailto:rafal.krzew...@e-point.pl">Rafal Krzewski</a> - * @author <a href="mailto:d...@collab.net">Daniel Rall</a> - * @author <a href="mailto:jvan...@apache.org">Jason van Zyl</a> - * @author <a href="mailto:jmcna...@collab.net">John McNally</a> - * @author <a href="mailto:mart...@apache.org">Martin Cooper</a> - * @author Sean C. Sullivan - * * @version $Id$ */ public class ServletFileUpload extends FileUpload { Modified: tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/servlet/ServletRequestContext.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/servlet/ServletRequestContext.java?rev=1456904&r1=1456903&r2=1456904&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/servlet/ServletRequestContext.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/servlet/ServletRequestContext.java Fri Mar 15 11:36:53 2013 @@ -29,8 +29,6 @@ import org.apache.tomcat.util.http.fileu * <p>Provides access to the request information needed for a request made to * an HTTP servlet.</p> * - * @author <a href="mailto:mart...@apache.org">Martin Cooper</a> - * * @since FileUpload 1.1 * * @version $Id$ @@ -89,7 +87,7 @@ public class ServletRequestContext imple try { size = Long.parseLong(request.getHeader(FileUploadBase.CONTENT_LENGTH)); } catch (NumberFormatException e) { - size = -1; + size = request.getContentLength(); } return size; } Modified: tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/Closeable.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/Closeable.java?rev=1456904&r1=1456903&r2=1456904&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/Closeable.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/Closeable.java Fri Mar 15 11:36:53 2013 @@ -20,6 +20,8 @@ import java.io.IOException; /** * Interface of an object, which may be closed. + * + * @version $Id$ */ public interface Closeable { Modified: tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/FileItemHeadersImpl.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/FileItemHeadersImpl.java?rev=1456904&r1=1456903&r2=1456904&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/FileItemHeadersImpl.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/FileItemHeadersImpl.java Fri Mar 15 11:36:53 2013 @@ -31,8 +31,9 @@ import org.apache.tomcat.util.http.fileu /** * Default implementation of the {@link FileItemHeaders} interface. * - * @author Michael C. Macaluso * @since 1.2.1 + * + * @version $Id$ */ public class FileItemHeadersImpl implements FileItemHeaders, Serializable { Modified: tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/LimitedInputStream.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/LimitedInputStream.java?rev=1456904&r1=1456903&r2=1456904&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/LimitedInputStream.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/LimitedInputStream.java Fri Mar 15 11:36:53 2013 @@ -23,6 +23,8 @@ import java.io.InputStream; /** * An input stream, which limits its data size. This stream is * used, if the content length is unknown. + * + * @version $Id$ */ public abstract class LimitedInputStream extends FilterInputStream implements Closeable { Modified: tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/Streams.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/Streams.java?rev=1456904&r1=1456903&r2=1456904&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/Streams.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/Streams.java Fri Mar 15 11:36:53 2013 @@ -25,6 +25,8 @@ import org.apache.tomcat.util.http.fileu /** * Utility class for working with streams. + * + * @version $Id$ */ public final class Streams { --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org