buildbot success in ASF Buildbot on tomcat-trunk

2014-10-01 Thread buildbot
The Buildbot has detected a restored build on builder tomcat-trunk while 
building ASF Buildbot.
Full details are available at:
 http://ci.apache.org/builders/tomcat-trunk/builds/507

Buildbot URL: http://ci.apache.org/

Buildslave for this Build: bb-vm_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch tomcat/trunk] 1628850
Blamelist: kkolinko

Build succeeded!

sincerely,
 -The Buildbot




-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: svn commit: r1628603 - in /tomcat/maven-plugin/branches/tc8.x: ./ common-tomcat-maven-plugin/ tomcat-maven-archetype/ tomcat-maven-plugin-it/ tomcat6-maven-plugin/ tomcat7-maven-plugin/ tomcat7-wa

2014-10-01 Thread Olivier Lamy
oh my bad it was just for testing purpose as I have some issues with
the jsp classloader with the tomcat8 integration. (I will revert that)
As I have limited time currently, I will appreciate any help :-)

The problem is:


SEVERE: Servlet.service() for servlet [jsp] in context with path
[/multi-config] threw exception [java.lang.LinkageError: loader
constraint violation: when resolving method
"org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(Ljavax/servlet/ServletConfig;)Lorg/apache/tomcat/InstanceManager;"
the class loader (instance of org/apache/jasper/servlet/JasperLoader)
of the current class, org/apache/jsp/index_jsp, and the class loader
(instance of org/codehaus/plexus/classworlds/realm/ClassRealm) for
resolved class, org/apache/jasper/runtime/InstanceManagerFactory, have
different Class objects for the type
.getInstanceManager(Ljavax/servlet/ServletConfig;)Lorg/apache/tomcat/InstanceManager;
used in the signature] with root cause
java.lang.LinkageError: loader constraint violation: when resolving
method 
"org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(Ljavax/servlet/ServletConfig;)Lorg/apache/tomcat/InstanceManager;"
the class loader (instance of org/apache/jasper/servlet/JasperLoader)
of the current class, org/apache/jsp/index_jsp, and the class loader
(instance of org/codehaus/plexus/classworlds/realm/ClassRealm) for
resolved class, org/apache/jasper/runtime/InstanceManagerFactory, have
different Class objects for the type
.getInstanceManager(Ljavax/servlet/ServletConfig;)Lorg/apache/tomcat/InstanceManager;
used in the signature
at org.apache.jsp.index_jsp._jspInit(index_jsp.java:47)
at org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:49)
at 
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:180)
at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:335)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at 
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:534)
at 
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1081)
at 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658)
at 
org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)
at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)

To reproduce:

git clone https://github.com/apache/tomcat-maven-plugin.git
cd tomcat-maven-plugin
git checkout tc8.x
(or get the branch from svn)

mvn clean install -pl :tomcat8-maven-plugin -am -Prun-its

less tomcat8-maven-plugin/target/test-classes/tomcat-run-multi-config/foo.log

On 1 October 2014 21:53, Konstantin Kolinko  wrote:
> 2014-10-01 9:31 GMT+04:00  :
>> Author: olamy
>> Date: Wed Oct  1 05:31:10 2014
>> New Revision: 1628603
>>
>> URL: http://svn.apache.org/r1628603
>> Log:
>> bump version to 3.0-SNAPSHOT
>>
>> Modified:
>> tomcat/maven-plugin/branches/tc8.x/common-tomcat-maven-plugin/pom.xml
>> tomcat/maven-plugin/branches/tc8.x/pom.xml
>> tomcat/maven-plugin/branches/tc8.x/tomcat-maven-archetype/pom.xml
>> tomcat/maven-plugin/branches/tc8.x/tomcat-maven-plugin-it/pom.xml
>> tomcat/maven-plugin/branches/tc8.x/tomcat6-maven-plugin/pom.xml
>> tomcat/maven-plugin/branches/tc8.x/tomcat7-maven-plugin/pom.xml
>> tomcat/maven-plugin/branches/tc8.x/tomcat7-war-runner/pom.xml
>> tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/pom.xml
>> 
>> tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/RunMojo.java

svn commit: r1628865 - /tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/RunMojo.java

2014-10-01 Thread olamy
Author: olamy
Date: Wed Oct  1 23:43:18 2014
New Revision: 1628865

URL: http://svn.apache.org/r1628865
Log:
partially revert bad commit r1628603

Modified:

tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/RunMojo.java

Modified: 
tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/RunMojo.java
URL: 
http://svn.apache.org/viewvc/tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/RunMojo.java?rev=1628865&r1=1628864&r2=1628865&view=diff
==
--- 
tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/RunMojo.java
 (original)
+++ 
tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/RunMojo.java
 Wed Oct  1 23:43:18 2014
@@ -340,8 +340,7 @@ public class RunMojo
 
 getLog().debug( "classLoaderEntriesCalculator urls: " + urls );
 
-final URLClassLoader urlClassLoader = new URLClassLoader( 
urls.toArray( new URL[urls.size()] ), //
-  
Thread.currentThread().getContextClassLoader() );
+final URLClassLoader urlClassLoader = new URLClassLoader( 
urls.toArray( new URL[urls.size()] ) );
 
 final ClassRealm pluginRealm = getTomcatClassLoader();
 
@@ -356,12 +355,6 @@ public class RunMojo
 public WebResource getClassLoaderResource( String path )
 {
 
-if (previous.getState().isAvailable())
-{
-WebResource webResource = 
previous.getClassLoaderResource( path );
-log.debug( "foo" );
-}
-
 log.debug( "RunMojo#getClassLoaderResource: " + path );
 URL url = urlClassLoader.getResource( 
StringUtils.removeStart( path, "/" ) );
 // search in parent (plugin) classloader
@@ -370,7 +363,7 @@ public class RunMojo
 url = pluginRealm.getResource( 
StringUtils.removeStart( path, "/" ) );
 }
 
-if (url == null)
+if ( url == null )
 {
 // try in reactors
 List webResources = 
findResourcesInDirectories( path, //



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1628866 - /tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/AbstractRunMojo.java

2014-10-01 Thread olamy
Author: olamy
Date: Wed Oct  1 23:43:25 2014
New Revision: 1628866

URL: http://svn.apache.org/r1628866
Log:
revert use of cast method

Modified:

tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/AbstractRunMojo.java

Modified: 
tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/AbstractRunMojo.java
URL: 
http://svn.apache.org/viewvc/tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/AbstractRunMojo.java?rev=1628866&r1=1628865&r2=1628866&view=diff
==
--- 
tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/AbstractRunMojo.java
 (original)
+++ 
tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/AbstractRunMojo.java
 Wed Oct  1 23:43:25 2014
@@ -734,7 +734,7 @@ public abstract class AbstractRunMojo
 // normally this one only but just in case ...
 if ( jarScanner instanceof StandardJarScanner )
 {
-( StandardJarScanner.class.cast( jarScanner ) 
).setScanAllDirectories( jarScanAllDirectories );
+( (StandardJarScanner) jarScanner ).setScanAllDirectories( 
jarScanAllDirectories );
 }
 
 return context;



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1628864 - in /tomcat/maven-plugin/branches/tc8.x: pom.xml tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractWarProjectIT.java

2014-10-01 Thread olamy
Author: olamy
Date: Wed Oct  1 23:43:11 2014
New Revision: 1628864

URL: http://svn.apache.org/r1628864
Log:
use last tomcat8 version

Modified:
tomcat/maven-plugin/branches/tc8.x/pom.xml

tomcat/maven-plugin/branches/tc8.x/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractWarProjectIT.java

Modified: tomcat/maven-plugin/branches/tc8.x/pom.xml
URL: 
http://svn.apache.org/viewvc/tomcat/maven-plugin/branches/tc8.x/pom.xml?rev=1628864&r1=1628863&r2=1628864&view=diff
==
--- tomcat/maven-plugin/branches/tc8.x/pom.xml (original)
+++ tomcat/maven-plugin/branches/tc8.x/pom.xml Wed Oct  1 23:43:11 2014
@@ -74,7 +74,7 @@
 
 2008
 7.0.54
-8.0.12
+8.0.14
 
 
 

Modified: 
tomcat/maven-plugin/branches/tc8.x/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractWarProjectIT.java
URL: 
http://svn.apache.org/viewvc/tomcat/maven-plugin/branches/tc8.x/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractWarProjectIT.java?rev=1628864&r1=1628863&r2=1628864&view=diff
==
--- 
tomcat/maven-plugin/branches/tc8.x/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractWarProjectIT.java
 (original)
+++ 
tomcat/maven-plugin/branches/tc8.x/tomcat-maven-plugin-it/src/main/java/org/apache/tomcat/maven/it/AbstractWarProjectIT.java
 Wed Oct  1 23:43:11 2014
@@ -195,8 +195,10 @@ public abstract class AbstractWarProject
 throws IOException
 {
 HttpGet httpGet = new HttpGet( getWebappUrl() );
-httpGet.setConfig(
-RequestConfig.custom().setSocketTimeout( getTimeout() 
).setConnectTimeout( getTimeout() ).build() );
+httpGet.setConfig( RequestConfig.custom() //
+   .setSocketTimeout( getTimeout() ) //
+   .setConnectTimeout( getTimeout() ) //
+   .build() );
 ResponseHandler responseHandler = new BasicResponseHandler();
 return httpClient.execute( httpGet, responseHandler );
 }



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: svn commit: r1628592 - in /tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run: AbstractRunMojo.java RunMojo.java

2014-10-01 Thread Olivier Lamy
On 1 October 2014 22:02, Konstantin Kolinko  wrote:
> 2014-10-01 8:02 GMT+04:00  :
>> Author: olamy
>> Date: Wed Oct  1 04:02:59 2014
>> New Revision: 1628592
>>
>> URL: http://svn.apache.org/r1628592
>> Log:
>> minot formatting
>>
>> Modified:
>> 
>> tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/AbstractRunMojo.java
>> 
>> tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/RunMojo.java
>>
>> Modified: 
>> tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/AbstractRunMojo.java
>> URL: 
>> http://svn.apache.org/viewvc/tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/AbstractRunMojo.java?rev=1628592&r1=1628591&r2=1628592&view=diff
>> ==
>> --- 
>> tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/AbstractRunMojo.java
>>  (original)
>> +++ 
>> tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/AbstractRunMojo.java
>>  Wed Oct  1 04:02:59 2014
>> @@ -734,7 +734,7 @@ public abstract class AbstractRunMojo
>>  // normally this one only but just in case ...
>>  if ( jarScanner instanceof StandardJarScanner )
>>  {
>> -( (StandardJarScanner) jarScanner ).setScanAllDirectories( 
>> jarScanAllDirectories );
>> +( StandardJarScanner.class.cast( jarScanner ) 
>> ).setScanAllDirectories( jarScanAllDirectories );
>>  }
>
>
> Is there any profit in changing
>
>  ( (StandardJarScanner) jarScanner )
>
> to
>
>  StandardJarScanner.class.cast( jarScanner )
> ?
>
> 1) The former is an operation, the latter is a method call. I think an
> operation executes more efficiently.
>
> 2) The latter is longer text.

I found that more readable (but that's really subjective :-) )

>
> 3) I have seen compilers to spot errors in class-cast operations (such
> as "unnecessary class-cast" and "illegal class-cast" errors).
>
> I suspect that it would be harder to them to spot such errors in
> method calls, though I do not have experience here.

Make sense I will revert that.

>
>
> Best regards,
> Konstantin Kolinko
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
>



-- 
Olivier Lamy
http://twitter.com/olamy | http://linkedin.com/in/olamy

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: svn commit: r1628712 - /tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java

2014-10-01 Thread Konstantin Kolinko
2014-10-01 18:24 GMT+04:00  :
> Author: markt
> Date: Wed Oct  1 14:24:49 2014
> New Revision: 1628712
>
> URL: http://svn.apache.org/r1628712
> Log:
> boolean[] -> BitSet

Officially, javadoc for BitSet says that the class is not thread-safe
[1] though the actual implementation of get() method as far as I see
is a safe one.

This saves memory for the array from 512 bytes to 16 bytes, but adds
some computations. Given that we have a copy of this array (or bit
set) in each web application, I agree that such memory save is worth
it.

[1] http://docs.oracle.com/javase/8/docs/api/java/util/BitSet.html


By the way, there exists java.math.BigInteger class with its setBit(),
clearBit() and testBit() methods.



> Modified:
> tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java
>
> Modified: 
> tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java
> URL: 
> http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java?rev=1628712&r1=1628711&r2=1628712&view=diff
> ==
> --- tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java 
> (original)
> +++ tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java 
> Wed Oct  1 14:24:49 2014
> @@ -18,6 +18,7 @@ package org.apache.tomcat.util.http;
>
>  import java.nio.charset.Charset;
>  import java.nio.charset.StandardCharsets;
> +import java.util.BitSet;
>
>  import org.apache.juli.logging.Log;
>  import org.apache.juli.logging.LogFactory;
> @@ -45,7 +46,7 @@ public final class LegacyCookieProcessor
>  StringManager.getManager("org.apache.tomcat.util.http");
>
>  private static final char[] V0_SEPARATORS = {',', ';', ' ', '\t'};
> -private static final boolean[] V0_SEPARATOR_FLAGS = new boolean[128];
> +private static final BitSet V0_SEPARATOR_FLAGS = new BitSet(128);
>
>  // Excludes '/' since configuration controls whether or not to treat '/' 
> as
>  // a separator
> @@ -55,7 +56,7 @@ public final class LegacyCookieProcessor
>
>  static {
>  for (char c : V0_SEPARATORS) {
> -V0_SEPARATOR_FLAGS[c] = true;
> +V0_SEPARATOR_FLAGS.set(c);
>  }
>  }
>
> @@ -73,18 +74,20 @@ public final class LegacyCookieProcessor
>   // when deprecated code is removed
>  private boolean presserveCookieHeader = 
> CookieSupport.PRESERVE_COOKIE_HEADER;
>
> -private boolean[] httpSeparatorFlags = new boolean[128];
> +private BitSet httpSeparatorFlags = new BitSet(128);
>
>
>  public LegacyCookieProcessor() {
> -// Array elements will default to false
> +// BitSet elements will default to false
>  for (char c : HTTP_SEPARATORS) {
> -httpSeparatorFlags[c] = true;
> +httpSeparatorFlags.set(c);
>  }
>  @SuppressWarnings("deprecation") // Default to 
> STRICT_SERVLET_COMPLIANCE
>   // when deprecated code is removed
>  boolean b = CookieSupport.FWD_SLASH_IS_SEPARATOR;
> -httpSeparatorFlags['/'] = b;
> +if (b) {
> +httpSeparatorFlags.set('/');
> +}
>  }
>
>
> @@ -129,12 +132,16 @@ public final class LegacyCookieProcessor
>
>
>  public boolean getForwardSlashIsSeparator() {
> -return httpSeparatorFlags['/'];
> +return httpSeparatorFlags.get('/');
>  }
>
>
>  public void setForwardSlashIsSeparator(boolean forwardSlashIsSeparator) {
> -httpSeparatorFlags['/'] = forwardSlashIsSeparator;
> +if (forwardSlashIsSeparator) {
> +httpSeparatorFlags.set('/');
> +} else {
> +httpSeparatorFlags.clear('/');
> +}
>  }
>
>
> @@ -478,7 +485,7 @@ public final class LegacyCookieProcessor
>  }
>  }
>
> -return httpSeparatorFlags[c];
> +return httpSeparatorFlags.get(c);
>  }
>
>
> @@ -494,7 +501,7 @@ public final class LegacyCookieProcessor
>  }
>  }
>
> -return V0_SEPARATOR_FLAGS[c];
> +return V0_SEPARATOR_FLAGS.get(c);
>  }
>
>
>
>
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
>

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1628850 - /tomcat/trunk/java/org/apache/catalina/startup/Catalina.java

2014-10-01 Thread kkolinko
Author: kkolinko
Date: Wed Oct  1 22:05:24 2014
New Revision: 1628850

URL: http://svn.apache.org/r1628850
Log:
Fix typo (Forward-port of r1628803 from Tomcat 7)

Modified:
tomcat/trunk/java/org/apache/catalina/startup/Catalina.java

Modified: tomcat/trunk/java/org/apache/catalina/startup/Catalina.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/Catalina.java?rev=1628850&r1=1628849&r2=1628850&view=diff
==
--- tomcat/trunk/java/org/apache/catalina/startup/Catalina.java (original)
+++ tomcat/trunk/java/org/apache/catalina/startup/Catalina.java Wed Oct  1 
22:05:24 2014
@@ -768,7 +768,7 @@ public class Catalina {
 (javax.naming.Context.INITIAL_CONTEXT_FACTORY,
  "org.apache.naming.java.javaURLContextFactory");
 } else {
-log.debug( "INITIAL_CONTEXT_FACTORY alread set " + value );
+log.debug( "INITIAL_CONTEXT_FACTORY already set " + value );
 }
 }
 }



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: Improving the documentation

2014-10-01 Thread Konstantin Kolinko
2014-10-01 17:28 GMT+04:00 Mark Thomas :
> I've had improving the documentation at the back of my mind for some
> time. One of the things that bugs me is the duplication - particularly
> between the configuration documentation and the Javadoc. With this in
> mind I have been mulling over the follow idea. Feedback welcome.
>
> Remove the bulk of the configuration section of the JavaDoc, replacing
> it with a graphical overview of Tomcat's internal structure linked to
> the relevant JavaDoc for each component.
>
> The general description of a component would move to the interface
> Javadoc as would the information on the common attributes.
>
> Implementation specific information would move to the implementation
> Javadoc.
>
> There are some special cases. The ones that come immediately to mind are:
> - className attribute. Never appears in Javadoc. Document it and other
>   information about standard implementations etc. in the appropriate
>   class level Javadoc

The "className" attribute is just a details on how Digester works for
this specific format of configuration files. It is not needed if you
configure embedded Tomcat.

There is no need for it to appear in Javadoc.

> - attributes set by reflection and setProperty. Document them, with
>   links to the Javadoc for where they are really set in the appropriate
>   class level Javadoc

You wanna take a bite at documenting Connector / Protocol / Endpoint
attributes and their aliases?


> I am sure there are others. I am confident suitable approaches can be
> found for each.
>
> I'd also like to review the various How To documents and move as much as
> possible to Javadoc - probably as package level documentation.
>
>
> A major issue is that we don't install Javadoc buy default. My proposal
> for this is to leave the links as local links but write a Servlet (or
> maybe a JSP) to handle all requests for local Javadoc as follows:
> - if local Javadoc is installed, use it
> - if local Javadoc is not installed and the user has not previously
>   given permission to redirect to the Tomcat website request permission
>   to redirect the request to the Javadoc hosted on the Tomcat web site
> - if local Javadoc is not installed and the user has previously
>   expressed a preference regarding redirection in that session, abide
>   by that preference
>
> Thoughts?

I do not like the idea.

1. Many Tomcat administrators are not programmers.

They will not be happy digging into Tomcat internals.

(I have read such concerns many times with regards to Tomcat logging
configuration).

2. Javadoc is many megabytes and many small documents. It takes much disk space.

It is also unrealistic to expect one to review and read most of them.

(E.g., when I install Apache Ant by unzipping their bin.zip file, I
usually delete their Javadoc.  An installed version of Ant. with
manuals included but without "manual/api" directory, is just 6Mb. (On
example of version 1.9.3) The Javadocs part of the manual is 32 Mb.)


3. I think that Javadoc is mostly for our self-reference. It is not
the best place to document configuration options.

It may be of some use to people using embedded Tomcat.

4. Javadoc is not integrated with Apache Comments system.

5. It takes more than a minute to run "ant javadoc" for Tomcat 8. It
takes seconds to rebuild documentation webapp.

6. Most of classes are considered our internal API, with any changes
being allowed between releases.  If we refactor the code (e.g. move
the classes or extract a super class), documentation links to javadoc
might break.

7. Technically, if we install Javadoc in addition to the main
documentation web application, my proposal would be to install it as
an unpacked war, "docs#api.war" with unpackWAR=false in its
META-INF/context.xml file.

A drawback is that Tomcat will refuse to starts that web application
if SecurityManager is enabled (as it refuses to start applications
that have a context.xml file).


Best regards,
Konstantin Kolinko

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1628817 - /tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java

2014-10-01 Thread markt
Author: markt
Date: Wed Oct  1 19:22:47 2014
New Revision: 1628817

URL: http://svn.apache.org/r1628817
Log:
Correct a default

Modified:
tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java

Modified: 
tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java?rev=1628817&r1=1628816&r2=1628817&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java 
Wed Oct  1 19:22:47 2014
@@ -98,7 +98,7 @@ public final class LegacyCookieProcessor
  // when deprecated code is removed
 private boolean presserveCookieHeader = 
CookieSupport.PRESERVE_COOKIE_HEADER;
 
-@SuppressWarnings("deprecation") // Default to STRICT_SERVLET_COMPLIANCE
+@SuppressWarnings("deprecation") // Default to !STRICT_SERVLET_COMPLIANCE
  // when deprecated code is removed
 private boolean alwaysAddExpires = SetCookieSupport.ALWAYS_ADD_EXPIRES;
 



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1628803 - /tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/Catalina.java

2014-10-01 Thread markt
Author: markt
Date: Wed Oct  1 18:33:24 2014
New Revision: 1628803

URL: http://svn.apache.org/r1628803
Log:
Fix typo

Modified:
tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/Catalina.java

Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/Catalina.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/Catalina.java?rev=1628803&r1=1628802&r2=1628803&view=diff
==
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/Catalina.java 
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/startup/Catalina.java Wed Oct 
 1 18:33:24 2014
@@ -877,7 +877,7 @@ public class Catalina {
 (javax.naming.Context.INITIAL_CONTEXT_FACTORY,
  "org.apache.naming.java.javaURLContextFactory");
 } else {
-log.debug( "INITIAL_CONTEXT_FACTORY alread set " + value );
+log.debug( "INITIAL_CONTEXT_FACTORY already set " + value );
 }
 }
 }



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1628730 - in /tomcat/trunk: java/org/apache/tomcat/util/http/ test/org/apache/tomcat/util/http/

2014-10-01 Thread markt
Author: markt
Date: Wed Oct  1 15:13:54 2014
New Revision: 1628730

URL: http://svn.apache.org/r1628730
Log:
Deprecate SetCookieSupport, moving the code into LegacyCookieProcessor and 
refactoring for per Context  configuration as necessary.

Removed:

tomcat/trunk/test/org/apache/tomcat/util/http/TestSetCookieSupportSeparatorsAllowed.java
Modified:
tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java
tomcat/trunk/java/org/apache/tomcat/util/http/SetCookieSupport.java

tomcat/trunk/test/org/apache/tomcat/util/http/TestCookieProcessorGeneration.java

Modified: 
tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java?rev=1628730&r1=1628729&r2=1628730&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java 
Wed Oct  1 15:13:54 2014
@@ -18,7 +18,15 @@ package org.apache.tomcat.util.http;
 
 import java.nio.charset.Charset;
 import java.nio.charset.StandardCharsets;
+import java.text.DateFormat;
+import java.text.FieldPosition;
+import java.text.SimpleDateFormat;
 import java.util.BitSet;
+import java.util.Date;
+import java.util.Locale;
+import java.util.TimeZone;
+
+import javax.servlet.http.Cookie;
 
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
@@ -54,10 +62,26 @@ public final class LegacyCookieProcessor
 '\t', ' ', '\"', '(', ')', ',', ':', ';', '<', '=', '>', '?', '@',
 '[', '\\', ']', '{', '}' };
 
+private static final String COOKIE_DATE_PATTERN = "EEE, dd-MMM- 
HH:mm:ss z";
+private static final ThreadLocal COOKIE_DATE_FORMAT =
+new ThreadLocal() {
+@Override
+protected DateFormat initialValue() {
+DateFormat df =
+new SimpleDateFormat(COOKIE_DATE_PATTERN, Locale.US);
+df.setTimeZone(TimeZone.getTimeZone("GMT"));
+return df;
+}
+};
+
+private static final String ANCIENT_DATE;
+
 static {
 for (char c : V0_SEPARATORS) {
 V0_SEPARATOR_FLAGS.set(c);
 }
+
+ANCIENT_DATE = COOKIE_DATE_FORMAT.get().format(new Date(1));
 }
 
 
@@ -74,7 +98,13 @@ public final class LegacyCookieProcessor
  // when deprecated code is removed
 private boolean presserveCookieHeader = 
CookieSupport.PRESERVE_COOKIE_HEADER;
 
-private BitSet httpSeparatorFlags = new BitSet(128);
+@SuppressWarnings("deprecation") // Default to STRICT_SERVLET_COMPLIANCE
+ // when deprecated code is removed
+private boolean alwaysAddExpires = SetCookieSupport.ALWAYS_ADD_EXPIRES;
+
+private final BitSet httpSeparatorFlags = new BitSet(128);
+
+private final BitSet allowedWithoutQuotes = new BitSet(128);
 
 
 public LegacyCookieProcessor() {
@@ -88,6 +118,34 @@ public final class LegacyCookieProcessor
 if (b) {
 httpSeparatorFlags.set('/');
 }
+
+String separators;
+if (getAllowHttpSepsInV0()) {
+// comma, semi-colon and space as defined by netscape
+separators = ",; ";
+} else {
+// separators as defined by RFC2616
+separators = "()<>@,;:\\\"/[]?={} \t";
+}
+
+// all CHARs except CTLs or separators are allowed without quoting
+allowedWithoutQuotes.set(0x20, 0x7f);
+for (char ch : separators.toCharArray()) {
+allowedWithoutQuotes.clear(ch);
+}
+
+/**
+ * Some browsers (e.g. IE6 and IE7) do not handle quoted Path values 
even
+ * when Version is set to 1. To allow for this, we support a property
+ * FWD_SLASH_IS_SEPARATOR which, when false, means a '/' character 
will not
+ * be treated as a separator, potentially avoiding quoting and the 
ensuing
+ * side effect of having the cookie upgraded to version 1.
+ *
+ * For now, we apply this rule globally rather than just to the Path 
attribute.
+ */
+if (!getAllowHttpSepsInV0() && !getForwardSlashIsSeparator()) {
+allowedWithoutQuotes.set('/');
+}
 }
 
 
@@ -118,6 +176,22 @@ public final class LegacyCookieProcessor
 
 public void setAllowHttpSepsInV0(boolean allowHttpSepsInV0) {
 this.allowHttpSepsInV0 = allowHttpSepsInV0;
+// HTTP separators less comma, semicolon and space since the Netscape
+// spec defines those as separators too.
+// '/' is also treated as a special case
+char[] seps = "()<>@:\\\"[]?={}\t".toCharArray();
+for (char sep : seps) {
+if (allowHttpSepsInV0) {
+allowedWithoutQuotes.set(sep);
+} e

svn commit: r1628712 - /tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java

2014-10-01 Thread markt
Author: markt
Date: Wed Oct  1 14:24:49 2014
New Revision: 1628712

URL: http://svn.apache.org/r1628712
Log:
boolean[] -> BitSet

Modified:
tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java

Modified: 
tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java?rev=1628712&r1=1628711&r2=1628712&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java 
Wed Oct  1 14:24:49 2014
@@ -18,6 +18,7 @@ package org.apache.tomcat.util.http;
 
 import java.nio.charset.Charset;
 import java.nio.charset.StandardCharsets;
+import java.util.BitSet;
 
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
@@ -45,7 +46,7 @@ public final class LegacyCookieProcessor
 StringManager.getManager("org.apache.tomcat.util.http");
 
 private static final char[] V0_SEPARATORS = {',', ';', ' ', '\t'};
-private static final boolean[] V0_SEPARATOR_FLAGS = new boolean[128];
+private static final BitSet V0_SEPARATOR_FLAGS = new BitSet(128);
 
 // Excludes '/' since configuration controls whether or not to treat '/' as
 // a separator
@@ -55,7 +56,7 @@ public final class LegacyCookieProcessor
 
 static {
 for (char c : V0_SEPARATORS) {
-V0_SEPARATOR_FLAGS[c] = true;
+V0_SEPARATOR_FLAGS.set(c);
 }
 }
 
@@ -73,18 +74,20 @@ public final class LegacyCookieProcessor
  // when deprecated code is removed
 private boolean presserveCookieHeader = 
CookieSupport.PRESERVE_COOKIE_HEADER;
 
-private boolean[] httpSeparatorFlags = new boolean[128];
+private BitSet httpSeparatorFlags = new BitSet(128);
 
 
 public LegacyCookieProcessor() {
-// Array elements will default to false
+// BitSet elements will default to false
 for (char c : HTTP_SEPARATORS) {
-httpSeparatorFlags[c] = true;
+httpSeparatorFlags.set(c);
 }
 @SuppressWarnings("deprecation") // Default to 
STRICT_SERVLET_COMPLIANCE
  // when deprecated code is removed
 boolean b = CookieSupport.FWD_SLASH_IS_SEPARATOR;
-httpSeparatorFlags['/'] = b;
+if (b) {
+httpSeparatorFlags.set('/');
+}
 }
 
 
@@ -129,12 +132,16 @@ public final class LegacyCookieProcessor
 
 
 public boolean getForwardSlashIsSeparator() {
-return httpSeparatorFlags['/'];
+return httpSeparatorFlags.get('/');
 }
 
 
 public void setForwardSlashIsSeparator(boolean forwardSlashIsSeparator) {
-httpSeparatorFlags['/'] = forwardSlashIsSeparator;
+if (forwardSlashIsSeparator) {
+httpSeparatorFlags.set('/');
+} else {
+httpSeparatorFlags.clear('/');
+}
 }
 
 
@@ -478,7 +485,7 @@ public final class LegacyCookieProcessor
 }
 }
 
-return httpSeparatorFlags[c];
+return httpSeparatorFlags.get(c);
 }
 
 
@@ -494,7 +501,7 @@ public final class LegacyCookieProcessor
 }
 }
 
-return V0_SEPARATOR_FLAGS[c];
+return V0_SEPARATOR_FLAGS.get(c);
 }
 
 



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 56397] Establish parallel Maven-based build process

2014-10-01 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56397

--- Comment #23 from Pierre Viret  ---
I have seen that the update takes some time but it is difficult for me to say
if this is really an issue or not, as the external definitions are not
committed yet. 

On one hand the update is slower, on the other hand there are advantages with
this approach:
- The file system is correct, we really have the files where they belong to -->
all shell commands working on the source files (find / grep and so on) can be
used without problem.
- we don't need to care about IDE filters and configurations
- we use the standard maven layout and no special configuration regarding
sources is needed: this is a big advantage and could avoid problems with some
plugins.
- later, if we decide to move from ant to maven then we don't need to change
the maven configurations and processing anymore.

Let's not forget that this is just an experiment and that if, later, the maven
layout is estimated to be a good thing then it would make sense to move the
sources to the corresponding modules and the svn:externals would not be needed
anymore.

OMHO it makes sense to experiment using this approach as it is cleaner from a
maven point of vue and it seems easyier to implement the build on the maven
side. 

So my proposal is to go one with this approach. If the feedback we get from the
community is that the svn update is too slow, then we can always optimize this
in a second step, but at the moment I think it is more important to get a maven
build running. As soon as the svn:externals definitions are committed I will be
able to test the svn updates and maybe I quickly come to your point of vue that
this is too slow ;-)

-- 
You are receiving this mail because:
You are the assignee for the bug.

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



buildbot failure in ASF Buildbot on tomcat-trunk

2014-10-01 Thread buildbot
The Buildbot has detected a new failure on builder tomcat-trunk while building 
ASF Buildbot.
Full details are available at:
 http://ci.apache.org/builders/tomcat-trunk/builds/503

Buildbot URL: http://ci.apache.org/

Buildslave for this Build: bb-vm_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch tomcat/trunk] 1628670
Blamelist: markt

BUILD FAILED: failed compile_1

sincerely,
 -The Buildbot




-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1628700 - in /tomcat/trunk/test/org/apache/tomcat/util/http: TestCookieProcessorGeneration.java TestSetCookieSupport.java

2014-10-01 Thread markt
Author: markt
Date: Wed Oct  1 13:34:44 2014
New Revision: 1628700

URL: http://svn.apache.org/r1628700
Log:
Refactor version 1 cookie generation tests to test both CookieProcessor 
implementations.

Removed:
tomcat/trunk/test/org/apache/tomcat/util/http/TestSetCookieSupport.java
Modified:

tomcat/trunk/test/org/apache/tomcat/util/http/TestCookieProcessorGeneration.java

Modified: 
tomcat/trunk/test/org/apache/tomcat/util/http/TestCookieProcessorGeneration.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/util/http/TestCookieProcessorGeneration.java?rev=1628700&r1=1628699&r2=1628700&view=diff
==
--- 
tomcat/trunk/test/org/apache/tomcat/util/http/TestCookieProcessorGeneration.java
 (original)
+++ 
tomcat/trunk/test/org/apache/tomcat/util/http/TestCookieProcessorGeneration.java
 Wed Oct  1 13:34:44 2014
@@ -84,7 +84,84 @@ public class TestCookieProcessorGenerati
 doTest(new Cookie("foo", "a\"b\\c"), "foo=\"a\\\"bc\"; Version=1", 
null);
 }
 
+@Test
+public void v1simpleCookie() {
+Cookie cookie = new Cookie("foo", "bar");
+cookie.setVersion(1);
+doTest(cookie, "foo=bar; Version=1", "foo=bar");
+}
+
+@Test
+public void v1NullValue() {
+Cookie cookie = new Cookie("foo", null);
+cookie.setVersion(1);
+// should this throw an IAE?
+doTest(cookie, "foo=\"\"; Version=1", "foo=");
+}
+
+@Test
+public void v1QuotedValue() {
+Cookie cookie = new Cookie("foo", "\"bar\"");
+cookie.setVersion(1);
+doTest(cookie, "foo=\"bar\"; Version=1", "foo=\"bar\"");
+}
+
+@Test
+public void v1ValueContainsSemicolon() {
+Cookie cookie = new Cookie("foo", "a;b");
+cookie.setVersion(1);
+doTest(cookie, "foo=\"a;b\"; Version=1", null);
+}
+
+@Test
+public void v1ValueContainsComma() {
+Cookie cookie = new Cookie("foo", "a,b");
+cookie.setVersion(1);
+doTest(cookie, "foo=\"a,b\"; Version=1", null);
+}
+
+@Test
+public void v1ValueContainsSpace() {
+Cookie cookie = new Cookie("foo", "a b");
+cookie.setVersion(1);
+doTest(cookie, "foo=\"a b\"; Version=1", null);
+}
 
+@Test
+public void v1ValueContainsEquals() {
+Cookie cookie = new Cookie("foo", "a=b");
+cookie.setVersion(1);
+doTest(cookie, "foo=\"a=b\"; Version=1", "foo=a=b");
+}
+
+@Test
+public void v1ValueContainsQuote() {
+Cookie cookie = new Cookie("foo", "a\"b");
+cookie.setVersion(1);
+doTest(cookie, "foo=\"a\\\"b\"; Version=1", null);
+}
+
+@Test
+public void v1ValueContainsNonV0Separator() {
+Cookie cookie = new Cookie("foo", "a()<>@,;:\\\"/[]?={}b");
+cookie.setVersion(1);
+doTest(cookie, "foo=\"a()<>@,;:\\\"/[]?={}b\"; Version=1", null);
+}
+
+@Test
+public void v1ValueContainsBackslash() {
+Cookie cookie = new Cookie("foo", "a\\b");
+cookie.setVersion(1);
+doTest(cookie, "foo=\"ab\"; Version=1", null);
+}
+
+
+@Test
+public void v1ValueContainsBackslashAndQuote() {
+Cookie cookie = new Cookie("foo", "a\"b\\c");
+cookie.setVersion(1);
+doTest(cookie, "foo=\"a\\\"bc\"; Version=1", null);
+}
 
 private void doTest(Cookie cookie, String expected) {
 doTest(cookie, expected, expected);



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Improving the documentation

2014-10-01 Thread Mark Thomas
I've had improving the documentation at the back of my mind for some
time. One of the things that bugs me is the duplication - particularly
between the configuration documentation and the Javadoc. With this in
mind I have been mulling over the follow idea. Feedback welcome.

Remove the bulk of the configuration section of the JavaDoc, replacing
it with a graphical overview of Tomcat's internal structure linked to
the relevant JavaDoc for each component.

The general description of a component would move to the interface
Javadoc as would the information on the common attributes.

Implementation specific information would move to the implementation
Javadoc.

There are some special cases. The ones that come immediately to mind are:
- className attribute. Never appears in Javadoc. Document it and other
  information about standard implementations etc. in the appropriate
  class level Javadoc
- attributes set by reflection and setProperty. Document them, with
  links to the Javadoc for where they are really set in the appropriate
  class level Javadoc

I am sure there are others. I am confident suitable approaches can be
found for each.

I'd also like to review the various How To documents and move as much as
possible to Javadoc - probably as package level documentation.


A major issue is that we don't install Javadoc buy default. My proposal
for this is to leave the links as local links but write a Servlet (or
maybe a JSP) to handle all requests for local Javadoc as follows:
- if local Javadoc is installed, use it
- if local Javadoc is not installed and the user has not previously
  given permission to redirect to the Tomcat website request permission
  to redirect the request to the Javadoc hosted on the Tomcat web site
- if local Javadoc is not installed and the user has previously
  expressed a preference regarding redirection in that session, abide
  by that preference

Thoughts?

Mark

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1628694 - in /tomcat/trunk/test/org/apache/tomcat/util/http: TestCookieProcessorGeneration.java TestSetCookieSupport.java

2014-10-01 Thread markt
Author: markt
Date: Wed Oct  1 12:59:00 2014
New Revision: 1628694

URL: http://svn.apache.org/r1628694
Log:
Refactor version 0 cookie generation tests to test both CookieProcessor 
implementations.

Added:

tomcat/trunk/test/org/apache/tomcat/util/http/TestCookieProcessorGeneration.java
   (with props)
Modified:
tomcat/trunk/test/org/apache/tomcat/util/http/TestSetCookieSupport.java

Added: 
tomcat/trunk/test/org/apache/tomcat/util/http/TestCookieProcessorGeneration.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/util/http/TestCookieProcessorGeneration.java?rev=1628694&view=auto
==
--- 
tomcat/trunk/test/org/apache/tomcat/util/http/TestCookieProcessorGeneration.java
 (added)
+++ 
tomcat/trunk/test/org/apache/tomcat/util/http/TestCookieProcessorGeneration.java
 Wed Oct  1 12:59:00 2014
@@ -0,0 +1,135 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.tomcat.util.http;
+
+import javax.servlet.http.Cookie;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+public class TestCookieProcessorGeneration {
+
+@Test
+public void v0SimpleCookie() {
+doTest(new Cookie("foo", "bar"), "foo=bar");
+}
+
+@Test
+public void v0NullValue() {
+doTest(new Cookie("foo", null), "foo=\"\"", "foo=");
+}
+
+@Test
+public void v0QuotedValue() {
+doTest(new Cookie("foo", "\"bar\""), "foo=\"bar\"");
+}
+
+@Test
+public void v0ValueContainsSemicolon() {
+doTest(new Cookie("foo", "a;b"), "foo=\"a;b\"; Version=1", null);
+}
+
+@Test
+public void v0ValueContainsComma() {
+doTest(new Cookie("foo", "a,b"), "foo=\"a,b\"; Version=1", null);
+}
+
+@Test
+public void v0ValueContainsSpace() {
+doTest(new Cookie("foo", "a b"), "foo=\"a b\"; Version=1", null);
+}
+
+@Test
+public void v0ValueContainsEquals() {
+doTest(new Cookie("foo", "a=b"),"foo=\"a=b\"; Version=1", "foo=a=b");
+}
+
+@Test
+public void v0ValueContainsQuote() {
+doTest(new Cookie("foo", "a\"b"),"foo=\"a\\\"b\"; Version=1", null);
+}
+
+@Test
+public void v0ValueContainsNonV0Separator() {
+doTest(new Cookie("foo", "a()<>@:\\\"/[]?={}b"),
+"foo=\"a()<>@:\\\"/[]?={}b\"; Version=1", null);
+}
+
+@Test
+public void v0ValueContainsBackslash() {
+doTest(new Cookie("foo", "a\\b"), "foo=\"ab\"; Version=1", null);
+}
+
+@Test
+public void v0ValueContainsBackslashAtEnd() {
+doTest(new Cookie("foo", "a\\"), "foo=\"a\"; Version=1", null);
+}
+
+@Test
+public void v0ValueContainsBackslashAndQuote() {
+doTest(new Cookie("foo", "a\"b\\c"), "foo=\"a\\\"bc\"; Version=1", 
null);
+}
+
+
+
+private void doTest(Cookie cookie, String expected) {
+doTest(cookie, expected, expected);
+}
+
+
+private void doTest(Cookie cookie,
+String expectedLegacy, String expectedRfc6265) {
+doTestDefaults(cookie, expectedLegacy, expectedRfc6265);
+doTestAllowSeparators(cookie, expectedLegacy, expectedRfc6265);
+}
+
+
+private void doTestDefaults(Cookie cookie,
+String expectedLegacy, String expectedRfc6265) {
+CookieProcessor legacy = new LegacyCookieProcessor();
+CookieProcessor rfc6265 = new Rfc6265CookieProcessor();
+doTest(cookie, legacy, expectedLegacy, rfc6265, expectedRfc6265);
+}
+
+
+private void doTestAllowSeparators(Cookie cookie,
+String expectedLegacy, String expectedRfc6265) {
+LegacyCookieProcessor legacy = new LegacyCookieProcessor();
+legacy.setAllowHttpSepsInV0(true);
+legacy.setForwardSlashIsSeparator(true);
+CookieProcessor rfc6265 = new Rfc6265CookieProcessor();
+doTest(cookie, legacy, expectedLegacy, rfc6265, expectedRfc6265);
+}
+
+
+private void doTest(Cookie cookie,
+CookieProcessor legacy, String expectedLegacy,
+CookieProcessor rfc6265, String expectedRfc6265) {
+Assert.assertEquals(expectedLegacy, legacy.generateHeader(cookie));
+if (exp

svn commit: r1628693 - /tomcat/trunk/java/org/apache/tomcat/util/http/Rfc6265CookieProcessor.java

2014-10-01 Thread markt
Author: markt
Date: Wed Oct  1 12:58:41 2014
New Revision: 1628693

URL: http://svn.apache.org/r1628693
Log:
Add validation of cookie values.

Modified:
tomcat/trunk/java/org/apache/tomcat/util/http/Rfc6265CookieProcessor.java

Modified: 
tomcat/trunk/java/org/apache/tomcat/util/http/Rfc6265CookieProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/Rfc6265CookieProcessor.java?rev=1628693&r1=1628692&r2=1628693&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/http/Rfc6265CookieProcessor.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/http/Rfc6265CookieProcessor.java 
Wed Oct  1 12:58:41 2014
@@ -81,12 +81,37 @@ public class Rfc6265CookieProcessor impl
 //   generation.
 header.append(cookie.getName());
 header.append('=');
-// TODO: Value also needs validation that varies depending on the spec
-//   being used. This is currently delayed until the header is
-//   generated.
-header.append(cookie.getValue());
+String value = cookie.getValue();
+if (value != null) {
+validateCookieValue(value);
+header.append(value);
+}
 
 // TODO add support for the attributes.
 return header.toString();
 }
+
+
+private void validateCookieValue(String value) {
+if (value == null || value.length() == 0) {
+return;
+}
+
+int start = 0;
+int end = value.length();
+
+if (end > 1 && value.charAt(0) == '"' && value.charAt(end - 1) == '"') 
{
+start = 1;
+end--;
+}
+
+char[] chars = value.toCharArray();
+for (int i = start; i < end; i++) {
+char c = chars[i];
+if (c < 0x21 || c == 0x22 || c == 0x2c || c == 0x3b || c == 0x5c 
|| c == 0x7f) {
+// TODO i18n
+throw new IllegalArgumentException();
+}
+}
+}
 }



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1628686 - in /tomcat/site/trunk: docs/doap_Tomcat.rdf xdocs/doap_Tomcat.rdf

2014-10-01 Thread kkolinko
Author: kkolinko
Date: Wed Oct  1 12:10:24 2014
New Revision: 1628686

URL: http://svn.apache.org/r1628686
Log:
Followup to r1628644: update DOAP file for release of Tomcat 8.0.14.

Modified:
tomcat/site/trunk/docs/doap_Tomcat.rdf
tomcat/site/trunk/xdocs/doap_Tomcat.rdf

Modified: tomcat/site/trunk/docs/doap_Tomcat.rdf
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/docs/doap_Tomcat.rdf?rev=1628686&r1=1628685&r2=1628686&view=diff
==
--- tomcat/site/trunk/docs/doap_Tomcat.rdf (original)
+++ tomcat/site/trunk/docs/doap_Tomcat.rdf Wed Oct  1 12:10:24 2014
@@ -57,8 +57,8 @@
 
   
 Latest 8.0.x Release
-2014-06-24
-8.0.9
+2014-09-29
+8.0.14
   
 
 

Modified: tomcat/site/trunk/xdocs/doap_Tomcat.rdf
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/xdocs/doap_Tomcat.rdf?rev=1628686&r1=1628685&r2=1628686&view=diff
==
--- tomcat/site/trunk/xdocs/doap_Tomcat.rdf (original)
+++ tomcat/site/trunk/xdocs/doap_Tomcat.rdf Wed Oct  1 12:10:24 2014
@@ -57,8 +57,8 @@
 
   
 Latest 8.0.x Release
-2014-06-24
-8.0.9
+2014-09-29
+8.0.14
   
 
 



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: svn commit: r1628592 - in /tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run: AbstractRunMojo.java RunMojo.java

2014-10-01 Thread Konstantin Kolinko
2014-10-01 8:02 GMT+04:00  :
> Author: olamy
> Date: Wed Oct  1 04:02:59 2014
> New Revision: 1628592
>
> URL: http://svn.apache.org/r1628592
> Log:
> minot formatting
>
> Modified:
> 
> tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/AbstractRunMojo.java
> 
> tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/RunMojo.java
>
> Modified: 
> tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/AbstractRunMojo.java
> URL: 
> http://svn.apache.org/viewvc/tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/AbstractRunMojo.java?rev=1628592&r1=1628591&r2=1628592&view=diff
> ==
> --- 
> tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/AbstractRunMojo.java
>  (original)
> +++ 
> tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/AbstractRunMojo.java
>  Wed Oct  1 04:02:59 2014
> @@ -734,7 +734,7 @@ public abstract class AbstractRunMojo
>  // normally this one only but just in case ...
>  if ( jarScanner instanceof StandardJarScanner )
>  {
> -( (StandardJarScanner) jarScanner ).setScanAllDirectories( 
> jarScanAllDirectories );
> +( StandardJarScanner.class.cast( jarScanner ) 
> ).setScanAllDirectories( jarScanAllDirectories );
>  }


Is there any profit in changing

 ( (StandardJarScanner) jarScanner )

to

 StandardJarScanner.class.cast( jarScanner )
?

1) The former is an operation, the latter is a method call. I think an
operation executes more efficiently.

2) The latter is longer text.

3) I have seen compilers to spot errors in class-cast operations (such
as "unnecessary class-cast" and "illegal class-cast" errors).

I suspect that it would be harder to them to spot such errors in
method calls, though I do not have experience here.


Best regards,
Konstantin Kolinko

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: svn commit: r1628603 - in /tomcat/maven-plugin/branches/tc8.x: ./ common-tomcat-maven-plugin/ tomcat-maven-archetype/ tomcat-maven-plugin-it/ tomcat6-maven-plugin/ tomcat7-maven-plugin/ tomcat7-wa

2014-10-01 Thread Konstantin Kolinko
2014-10-01 9:31 GMT+04:00  :
> Author: olamy
> Date: Wed Oct  1 05:31:10 2014
> New Revision: 1628603
>
> URL: http://svn.apache.org/r1628603
> Log:
> bump version to 3.0-SNAPSHOT
>
> Modified:
> tomcat/maven-plugin/branches/tc8.x/common-tomcat-maven-plugin/pom.xml
> tomcat/maven-plugin/branches/tc8.x/pom.xml
> tomcat/maven-plugin/branches/tc8.x/tomcat-maven-archetype/pom.xml
> tomcat/maven-plugin/branches/tc8.x/tomcat-maven-plugin-it/pom.xml
> tomcat/maven-plugin/branches/tc8.x/tomcat6-maven-plugin/pom.xml
> tomcat/maven-plugin/branches/tc8.x/tomcat7-maven-plugin/pom.xml
> tomcat/maven-plugin/branches/tc8.x/tomcat7-war-runner/pom.xml
> tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/pom.xml
> 
> tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/RunMojo.java

A change to RunMojo.java has crawled in. It is unrelated to version
bumps in pom.xml files.

My concern is that it is a non-trivial change that is not mentioned in
commit message.

> tomcat/maven-plugin/branches/tc8.x/tomcat8-war-runner/pom.xml
>
> Modified: 
> tomcat/maven-plugin/branches/tc8.x/common-tomcat-maven-plugin/pom.xml
> URL: 
> http://svn.apache.org/viewvc/tomcat/maven-plugin/branches/tc8.x/common-tomcat-maven-plugin/pom.xml?rev=1628603&r1=1628602&r2=1628603&view=diff
> ==
> --- tomcat/maven-plugin/branches/tc8.x/common-tomcat-maven-plugin/pom.xml 
> (original)
> +++ tomcat/maven-plugin/branches/tc8.x/common-tomcat-maven-plugin/pom.xml Wed 
> Oct  1 05:31:10 2014
> @@ -24,7 +24,7 @@
>
>  tomcat-maven-plugin
>  org.apache.tomcat.maven
> -2.3-SNAPSHOT
> +3.0-SNAPSHOT
>
>common-tomcat-maven-plugin
>Apache Tomcat Maven Plugin :: Common API

(...)

> Modified: 
> tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/RunMojo.java
> URL: 
> http://svn.apache.org/viewvc/tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/RunMojo.java?rev=1628603&r1=1628602&r2=1628603&view=diff
> ==
> --- 
> tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/RunMojo.java
>  (original)
> +++ 
> tomcat/maven-plugin/branches/tc8.x/tomcat8-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat8/run/RunMojo.java
>  Wed Oct  1 05:31:10 2014
> @@ -20,6 +20,7 @@ package org.apache.tomcat.maven.plugin.t
>
>  import org.apache.catalina.Context;
>  import org.apache.catalina.WebResource;
> +import org.apache.catalina.WebResourceRoot;
>  import org.apache.catalina.WebResourceSet;
>  import org.apache.catalina.loader.WebappLoader;
>  import org.apache.catalina.webresources.EmptyResource;
> @@ -339,10 +340,13 @@ public class RunMojo
>
>  getLog().debug( "classLoaderEntriesCalculator urls: " + urls );
>
> -final URLClassLoader urlClassLoader = new URLClassLoader( 
> urls.toArray( new URL[urls.size()] ) );
> +final URLClassLoader urlClassLoader = new URLClassLoader( 
> urls.toArray( new URL[urls.size()] ), //
> +  
> Thread.currentThread().getContextClassLoader() );
>
>  final ClassRealm pluginRealm = getTomcatClassLoader();
>
> +final WebResourceRoot previous = context.getResources();
> +
>  context.setResources(
>  new MyDirContext( new File( 
> project.getBuild().getOutputDirectory() ).getAbsolutePath(), //
>getPath(), //
> @@ -351,6 +355,13 @@ public class RunMojo
>  @Override
>  public WebResource getClassLoaderResource( String path )
>  {
> +
> +if (previous.getState().isAvailable())
> +{
> +WebResource webResource = 
> previous.getClassLoaderResource( path );
> +log.debug( "foo" );
> +}
> +
>  log.debug( "RunMojo#getClassLoaderResource: " + path 
> );
>  URL url = urlClassLoader.getResource( 
> StringUtils.removeStart( path, "/" ) );
>  // search in parent (plugin) classloader
>

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1628670 - in /tomcat/trunk/java/org/apache: catalina/connector/Response.java tomcat/util/http/CookieProcessor.java tomcat/util/http/LegacyCookieProcessor.java tomcat/util/http/Rfc6265Cook

2014-10-01 Thread markt
Author: markt
Date: Wed Oct  1 10:18:19 2014
New Revision: 1628670

URL: http://svn.apache.org/r1628670
Log:
Add Cookie generation to the CookieProcessor interface
Re-plumb the current Cookie generation to use the new interface
Provide an initial (and very incomplete) RFC6265 cookie generation 
implementation

Modified:
tomcat/trunk/java/org/apache/catalina/connector/Response.java
tomcat/trunk/java/org/apache/tomcat/util/http/CookieProcessor.java
tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java
tomcat/trunk/java/org/apache/tomcat/util/http/Rfc6265CookieProcessor.java

Modified: tomcat/trunk/java/org/apache/catalina/connector/Response.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Response.java?rev=1628670&r1=1628669&r2=1628670&view=diff
==
--- tomcat/trunk/java/org/apache/catalina/connector/Response.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/Response.java Wed Oct  1 
10:18:19 2014
@@ -51,7 +51,6 @@ import org.apache.tomcat.util.buf.CharCh
 import org.apache.tomcat.util.buf.UEncoder;
 import org.apache.tomcat.util.http.FastHttpDateFormat;
 import org.apache.tomcat.util.http.MimeHeaders;
-import org.apache.tomcat.util.http.SetCookieSupport;
 import org.apache.tomcat.util.http.parser.MediaTypeCache;
 import org.apache.tomcat.util.net.URL;
 import org.apache.tomcat.util.res.StringManager;
@@ -945,17 +944,17 @@ public class Response
 }
 
 public String generateCookieString(final Cookie cookie) {
-//web application code can receive a IllegalArgumentException
-//from the appendCookieValue invocation
+// Web application code can receive a IllegalArgumentException
+// from the generateHeader() invocation
 if (SecurityUtil.isPackageProtectionEnabled()) {
 return AccessController.doPrivileged(new 
PrivilegedAction() {
 @Override
 public String run(){
-return SetCookieSupport.generateHeader(cookie);
+return 
getContext().getCookieProcessor().generateHeader(cookie);
 }
 });
 } else {
-return SetCookieSupport.generateHeader(cookie);
+return getContext().getCookieProcessor().generateHeader(cookie);
 }
 }
 

Modified: tomcat/trunk/java/org/apache/tomcat/util/http/CookieProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/CookieProcessor.java?rev=1628670&r1=1628669&r2=1628670&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/http/CookieProcessor.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/http/CookieProcessor.java Wed Oct  
1 10:18:19 2014
@@ -18,6 +18,8 @@ package org.apache.tomcat.util.http;
 
 import java.nio.charset.Charset;
 
+import javax.servlet.http.Cookie;
+
 public interface CookieProcessor {
 
 /**
@@ -26,8 +28,13 @@ public interface CookieProcessor {
 void parseCookieHeader(MimeHeaders headers, ServerCookies serverCookies);
 
 /**
- * The character set that is to be used to turn the bytes provided in the
- * cookie header into characters for the cookie value.
+ * Generate the HTTP header value for the given Cookie.
+ */
+String generateHeader(Cookie cookie);
+
+/**
+ * The character set that will be used when converting between bytes and
+ * characters when parsing and/or generating HTTP headers for cookies.
  */
 Charset getCharset();
 }

Modified: 
tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java?rev=1628670&r1=1628669&r2=1628670&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/http/LegacyCookieProcessor.java 
Wed Oct  1 10:18:19 2014
@@ -185,6 +185,12 @@ public final class LegacyCookieProcessor
 }
 
 
+@Override
+public String generateHeader(javax.servlet.http.Cookie cookie) {
+return SetCookieSupport.generateHeader(cookie);
+}
+
+
 /**
  * Parses a cookie header after the initial "Cookie:"
  * [WS][$]token[WS]=[WS](token|QV)[;|,]

Modified: 
tomcat/trunk/java/org/apache/tomcat/util/http/Rfc6265CookieProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/Rfc6265CookieProcessor.java?rev=1628670&r1=1628669&r2=1628670&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/http/Rfc6265CookieProcessor.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/http/Rfc6265CookieProcesso

[Bug 56393] Implement RFC6265 for Cookie parsing

2014-10-01 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56393
Bug 56393 depends on bug 56394, which changed state.

Bug 56394 Summary: Allow cookie-parsing to be pluggable
https://issues.apache.org/bugzilla/show_bug.cgi?id=56394

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

-- 
You are receiving this mail because:
You are the assignee for the bug.

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 56394] Allow cookie-parsing to be pluggable

2014-10-01 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56394

Mark Thomas  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #1 from Mark Thomas  ---
CookieProcessor has been introduced for 8.0.15 onwards.

-- 
You are receiving this mail because:
You are the assignee for the bug.

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1628656 - /tomcat/trunk/webapps/docs/changelog.xml

2014-10-01 Thread markt
Author: markt
Date: Wed Oct  1 09:17:33 2014
New Revision: 1628656

URL: http://svn.apache.org/r1628656
Log:
Add a bug reference

Modified:
tomcat/trunk/webapps/docs/changelog.xml

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1628656&r1=1628655&r2=1628656&view=diff
==
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Wed Oct  1 09:17:33 2014
@@ -47,6 +47,14 @@
 
   
 
+  
+56394: Introduce new configuration element CookieProcessor 
in
+Context to allow context-specific configuration of cookie processing
+options. Attributes of Context element that were added in Tomcat 8.0.13
+to allow configuration of a new experimental RFC6265 based cookie 
parser
+(useRfc6265 and cookieEncoding) are
+replaced by this new configuration element. (markt)
+  
   
 Improve the previous fix for 56401. Avoid logging version
 information in the constructor since it then gets logged at undesirable
@@ -57,14 +65,6 @@
 remove sessions from the store when persisting them. (markt)
   
   
-Introduce new configuration element CookieProcessor in Context to allow
-context-specific configuration of cookie processing options. Attributes
-of Context element that were added in Tomcat 8.0.13 to allow
-configuration of a new experimental RFC6265 based cookie parser
-(useRfc6265 and cookieEncoding) are
-replaced by this new configuration element. (markt)
-  
-  
 Deprecate the use of system proprties to control cookie parsing and
 replace them with attributes on the new CookieProcessor
 that may be configured on a per context basis. (markt)



-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 56397] Establish parallel Maven-based build process

2014-10-01 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56397

--- Comment #22 from Mark Thomas  ---
Comment on attachment 32072
  --> https://issues.apache.org/bugzilla/attachment.cgi?id=32072
Patch for tomcat-maven-layout created with "svn diff -x -u"

I do not believe that your current approach is viable. Calling svn up on an
external is a relatively slow process. One external per module is just about
OK. 30-40 externals per module is not.

-- 
You are receiving this mail because:
You are the assignee for the bug.

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[ANN] Apache Tomcat 8.0.14 available

2014-10-01 Thread Mark Thomas
The Apache Tomcat team announces the immediate availability of Apache
Tomcat 8.0.14.

Apache Tomcat 8 is an open source software implementation of the Java
Servlet, JavaServer Pages, Java Unified Expression Language and Java
WebSocket technologies.

Apache Tomcat 8.0.14 includes numerous fixes for issues identified
in 8.0.12 as well as a number of other enhancements and changes. The
notable changes since 8.0.12 include:

- Update the Java WebSocket support to version 1.1 of the Java WebSocket
  specification.

- The Windows installer, the Windows service and the Windows service
  management application are all digitally signed.

- Experimental support for Cookie parsing using RFC 6265. Note that the
  configuration options associated with this feature are not stable and
  *will* change in the next release.

- Performance improvements to annotation scanning on web application
  start.

Please refer to the change log for the complete list of changes:
http://tomcat.apache.org/tomcat-8.0-doc/changelog.html


Downloads:
http://tomcat.apache.org/download-80.cgi

Migration guides from Apache Tomcat 5.5.x, 6.0.x and 7.0.x:
http://tomcat.apache.org/migration.html

Enjoy!

- The Apache Tomcat team

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



svn commit: r1628644 - in /tomcat/site/trunk: ./ docs/ xdocs/

2014-10-01 Thread markt
Author: markt
Date: Wed Oct  1 08:48:01 2014
New Revision: 1628644

URL: http://svn.apache.org/r1628644
Log:
UPdate for 8.0.14 release

Modified:
tomcat/site/trunk/build.properties.default
tomcat/site/trunk/docs/download-80.html
tomcat/site/trunk/docs/index.html
tomcat/site/trunk/docs/migration-8.html
tomcat/site/trunk/docs/oldnews.html
tomcat/site/trunk/docs/whichversion.html
tomcat/site/trunk/xdocs/download-80.xml
tomcat/site/trunk/xdocs/index.xml
tomcat/site/trunk/xdocs/migration-8.xml
tomcat/site/trunk/xdocs/oldnews.xml
tomcat/site/trunk/xdocs/whichversion.xml

Modified: tomcat/site/trunk/build.properties.default
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/build.properties.default?rev=1628644&r1=1628643&r2=1628644&view=diff
==
--- tomcat/site/trunk/build.properties.default (original)
+++ tomcat/site/trunk/build.properties.default Wed Oct  1 08:48:01 2014
@@ -38,7 +38,7 @@ tomcat.loc=http://www.apache.org/dist/to
 # - Tomcat versions -
 tomcat60=6.0.41
 tomcat70=7.0.55
-tomcat80=8.0.12
+tomcat80=8.0.14
 
 
 # - Download destination -

Modified: tomcat/site/trunk/docs/download-80.html
URL: 
http://svn.apache.org/viewvc/tomcat/site/trunk/docs/download-80.html?rev=1628644&r1=1628643&r2=1628644&view=diff
==
--- tomcat/site/trunk/docs/download-80.html (original)
+++ tomcat/site/trunk/docs/download-80.html Wed Oct  1 08:48:01 2014
@@ -204,8 +204,8 @@
 
 
 https://www.apache.org/dist/tomcat/tomcat-8/KEYS";>KEYS |
-8.0.12 |
-Browse 
|
+8.0.14 |
+Browse 
|
 http://archive.apache.org/dist/tomcat/tomcat-8";>Archives
   
 
@@ -251,12 +251,12 @@

   
 
-8.0.12
+8.0.14
 
   
 
   Please see the 
-  README
+  README
   file for packaging information.  It explains what every distribution 
contains.
   
 
@@ -272,44 +272,44 @@
   
 
 
-zip 
-(https://www.apache.org/dist/tomcat/tomcat-8/v8.0.12/bin/apache-tomcat-8.0.12.zip.asc";>pgp,
 
-https://www.apache.org/dist/tomcat/tomcat-8/v8.0.12/bin/apache-tomcat-8.0.12.zip.md5";>md5)
+zip 
+(https://www.apache.org/dist/tomcat/tomcat-8/v8.0.14/bin/apache-tomcat-8.0.14.zip.asc";>pgp,
 
+https://www.apache.org/dist/tomcat/tomcat-8/v8.0.14/bin/apache-tomcat-8.0.14.zip.md5";>md5)
   
   
 
 
-tar.gz 
-(https://www.apache.org/dist/tomcat/tomcat-8/v8.0.12/bin/apache-tomcat-8.0.12.tar.gz.asc";>pgp,
 
-https://www.apache.org/dist/tomcat/tomcat-8/v8.0.12/bin/apache-tomcat-8.0.12.tar.gz.md5";>md5)
+tar.gz 
+(https://www.apache.org/dist/tomcat/tomcat-8/v8.0.14/bin/apache-tomcat-8.0.14.tar.gz.asc";>pgp,
 
+https://www.apache.org/dist/tomcat/tomcat-8/v8.0.14/bin/apache-tomcat-8.0.14.tar.gz.md5";>md5)
   
   
 
 
-32-bit Windows zip 
-(https://www.apache.org/dist/tomcat/tomcat-8/v8.0.12/bin/apache-tomcat-8.0.12-windows-x86.zip.asc";>pgp,
 
-https://www.apache.org/dist/tomcat/tomcat-8/v8.0.12/bin/apache-tomcat-8.0.12-windows-x86.zip.md5";>md5)
+32-bit Windows zip 
+(https://www.apache.org/dist/tomcat/tomcat-8/v8.0.14/bin/apache-tomcat-8.0.14-windows-x86.zip.asc";>pgp,
 
+https://www.apache.org/dist/tomcat/tomcat-8/v8.0.14/bin/apache-tomcat-8.0.14-windows-x86.zip.md5";>md5)
   
   
 
 
-64-bit Windows zip 
-(https://www.apache.org/dist/tomcat/tomcat-8/v8.0.12/bin/apache-tomcat-8.0.12-windows-x64.zip.asc";>pgp,
 
-https://www.apache.org/dist/tomcat/tomcat-8/v8.0.12/bin/apache-tomcat-8.0.12-windows-x64.zip.md5";>md5)
+64-bit Windows zip 
+(https://www.apache.org/dist/tomcat/tomcat-8/v8.0.14/bin/apache-tomcat-8.0.14-windows-x64.zip.asc";>pgp,
 
+https://www.apache.org/dist/tomcat/tomcat-8/v8.0.14/bin/apache-tomcat-8.0.14-windows-x64.zip.md5";>md5)
   
   
 
 
-64-bit Itanium Windows zip 
-(https://www.apache.org/dist/tomcat/tomcat-8/v8.0.12/bin/apache-tomcat-8.0.12-windows-i64.zip.asc";>pgp,
 
-https://www.apache.org/dist/tomcat/tomcat-8/v8.0.12/bin/apache-tomcat-8.0.12-windows-i64.zip.md5";>md5)
+64-bit Itanium Windows zip 
+(https://www.apache.org/dist/tomcat/tomcat-8/v8.0.14/bin/apache-tomcat-8.0.14-windows-i64.zip.asc";>pgp,
 
+https://www.apache.org/dist/tomcat/tomcat-8/v8.0.14/bin/apache-tomcat-8.0.14-windows-i64.zip.md5";>md5)
   
   
 
 
-32-bit/64-bit Windows Service Installer 
-(https://www.apache.org/dist/tomcat/tomcat-8/v8.0.12/bin/apache-tomcat-8.0.12.exe.asc";>pgp,
 
-https://www.apache.org/dist/tomcat/tomcat-8/v8.0.12/bin/apache-tomcat-8.0.12.exe.md5";>md5)
+32-bit/64-bit

svn commit: r1628642 - in /tomcat/site/trunk/docs/tomcat-8.0-doc: ./ api/ api/org/apache/catalina/ api/org/apache/catalina/ant/ api/org/apache/catalina/ant/jmx/ api/org/apache/catalina/authenticator/

2014-10-01 Thread markt
Author: markt
Date: Wed Oct  1 08:42:33 2014
New Revision: 1628642

URL: http://svn.apache.org/r1628642
Log:
Update for 8.0.14 release


[This commit notification would consist of 82 parts, 
which exceeds the limit of 50 ones, so it was shortened to the summary.]

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org