[GUMP@vmgump]: Project tomcat-taglibs-standard (in module tomcat-taglibs) failed
To whom it may engage... This is an automated request, but not an unsolicited one. For more information please visit http://gump.apache.org/nagged.html, and/or contact the folk at gene...@gump.apache.org. Project tomcat-taglibs-standard has an issue affecting its community integration. This issue affects 2 projects, and has been outstanding for 43 runs. The current state of this project is 'Failed', with reason 'Build Failed'. For reference only, the following projects are affected by this: - tomcat-taglibs-standard : Standard Taglib - tomcat-taglibs-standard-install : JSP Taglibs Full details are available at: http://vmgump.apache.org/gump/public/tomcat-taglibs/tomcat-taglibs-standard/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -INFO- Optional dependency httpunit failed with reason build failed -DEBUG- (Apache Gump generated) Apache Maven Settings in: /srv/gump/public/workspace/tomcat-taglibs/standard/gump_mvn_settings.xml -INFO- Failed with reason build failed -DEBUG- Maven POM in: /srv/gump/public/workspace/tomcat-taglibs/standard/pom.xml -INFO- Failed to extract fallback artifacts from Gump Repository The following work was performed: http://vmgump.apache.org/gump/public/tomcat-taglibs/tomcat-taglibs-standard/gump_work/build_tomcat-taglibs_tomcat-taglibs-standard.html Work Name: build_tomcat-taglibs_tomcat-taglibs-standard (Type: Build) Work ended in a state of : Failed Elapsed: 28 secs Command Line: /opt/maven2/bin/mvn --batch-mode -DskipTests=true --settings /srv/gump/public/workspace/tomcat-taglibs/standard/gump_mvn_settings.xml install [Working Directory: /srv/gump/public/workspace/tomcat-taglibs/standard] M2_HOME: /opt/maven2 - [INFO] [compiler:compile {execution: default-compile}] [INFO] Nothing to compile - all classes are up to date [debug] execute contextualize [INFO] [resources:testResources {execution: default-testResources}] [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] skip non existing resourceDirectory /srv/gump/public/workspace/tomcat-taglibs/standard/spec/src/test/resources [INFO] Copying 3 resources [INFO] [compiler:testCompile {execution: default-testCompile}] [INFO] No sources to compile [INFO] [surefire:test {execution: default-test}] [INFO] Tests are skipped. [INFO] [bundle:bundle {execution: default-bundle}] [INFO] [install:install {execution: default-install}] [INFO] Installing /srv/gump/public/workspace/tomcat-taglibs/standard/spec/target/taglibs-standard-spec-1.2-SNAPSHOT.jar to /srv/gump/public/workspace/mvnlocalrepo/shared/org/apache/taglibs/taglibs-standard-spec/1.2-SNAPSHOT/taglibs-standard-spec-1.2-SNAPSHOT.jar [INFO] [bundle:install {execution: default-install}] [INFO] Parsing file:/srv/gump/public/workspace/mvnlocalrepo/shared/repository.xml [INFO] Installing org/apache/taglibs/taglibs-standard-spec/1.2-SNAPSHOT/taglibs-standard-spec-1.2-SNAPSHOT.jar [INFO] Writing OBR metadata [INFO] [INFO] Building JSTL Implementation [INFO]task-segment: [install] [INFO] [INFO] [remote-resources:process {execution: default}] [INFO] snapshot org.apache.taglibs:taglibs-standard-spec:1.2-SNAPSHOT: checking for updates from apache.snapshots [debug] execute contextualize [INFO] [resources:resources {execution: default-resources}] [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 14 resources [INFO] Copying 3 resources [INFO] [compiler:compile {execution: default-compile}] [INFO] Compiling 96 source files to /srv/gump/public/workspace/tomcat-taglibs/standard/impl/target/classes [INFO] - [ERROR] COMPILATION ERROR : [INFO] - [ERROR] /srv/gump/public/workspace/tomcat-taglibs/standard/impl/src/main/java/org/apache/taglibs/standard/tag/common/sql/DataSourceWrapper.java:[38,7] error: DataSourceWrapper is not abstract and does not override abstract method getParentLogger() in CommonDataSource [INFO] 1 error [INFO] - [INFO] [ERROR] BUILD FAILURE [INFO] [INFO] Compilation failure /srv/gump/public/workspace/tomcat-taglibs/standard/impl/src/main/java/org/apache/taglibs/standard/tag/common/sql/DataSourceWrapper.java:[38,7] error: DataSourceWrapper is not abstract and does not override abstract method getParentLogger() in CommonDataSource [INFO] [INFO] For more information, run Maven with the -e switch [INFO] ---
[Bug 53712] localvariabletable length error reintroduced?
https://issues.apache.org/bugzilla/show_bug.cgi?id=53712 --- Comment #6 from Mark Thomas --- (In reply to comment #5) > Thanks for the snarky rtfm comment, Not snarky, just based on the limited information provided. You did say the JSP was large. > but (1) there is no method larger than 64k, unless an entire jsp is compiled > to one java method, Depending on what is in the JSP that is possible although unlikely given the widespread use of tags etc (tags result in extra methods being generated). > and (2) even if there is, I did not change my code one bit, just upgraded to > the latest > stable tomcat 5.5 build. It was working before. But at at a point in the > distant past--a few versions ago--it didn't work. Tomcat sometimes changes how java classes are generated from JSPs. It is possible for a method that was just below the 64k limit on one Tomcat version to be just above it on another. Until such time as you provide a test JSP that demonstrates the issue that does not result in a class file with a method >64k, this issue is going to remain in the invalid state. -- 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 53801] New: Nondeterministic behaviour of security constraints
https://issues.apache.org/bugzilla/show_bug.cgi?id=53801 Priority: P2 Bug ID: 53801 Assignee: dev@tomcat.apache.org Summary: Nondeterministic behaviour of security constraints Severity: normal Classification: Unclassified Reporter: matteo.maria.casal...@sap.com Hardware: PC Status: NEW Version: 7.0.29 Component: Servlet & JSP API Product: Tomcat 7 Created attachment 29303 --> https://issues.apache.org/bugzilla/attachment.cgi?id=29303&action=edit test web application that reproduces the issue I'm experiencing a weird behaviour with certain combinations of security constraints having the following pattern: (i) one security constraint applies to (at least) two overlapping URL patterns ending in /*, where one is more specific than the other (e.g., /a/* and /a/b/*) (ii) a second security constraint applies only to the less specific URL pattern (e.g. /a/*), and (iii) the two security constraints apply to different (possibly overlapping) sets of methods. One such example is as follows: test /* BASIC test /a/* /a/b/* POST /a/* GET The problem occurs for HTTP requests matching to the most specific URL pattern (in the above example, /a/b, /a/b/c, etc.), but on methods other than the ones mentioned in the first security constraint (in the above example, GET). For instance, each time I deploy a web application with the above-mentioned deployment descriptor in Tomcat, or each time I redeploy it or restart the server in case it is already deployed, I get randomly either of the two following behaviours: 1) "GET /a/b" requests are allowed, i.e. no authentication is required 2) "GET /a/b" requests are denied, i.e. the response requires authentication (HTTP 401) Notice that the behaviour remains then constant until I restart the server or re-deploy the application. Also, adding arbitrary roles in either of the two auth-constraints, does not seem to change the result. According to the Java Servlet Specification, 1) is the correct behaviour. In fact, such requests shall be allowed to any (possibly unauthenticated) users, because the constraint with the most specific pattern (the first one) matches to the request, but it does not mention the method of the request (GET). I tested several different combinations of security constraints, but this issue seems to occur only with those of this kind. Please find attached a WAR that produces the above behaviour. Here are some HTTP requests I tested together with the expected and actual results: HTTP Request Expected HTTP ResponseObserved Behaviour GET /test/a 403 Always correct GET /test/b 200 Always correct GET /test/a/b 200 Sometimes incorrect (401 is given) GET /test/a/b/200 Sometimes incorrect (401 is given) GET /test/a/b/c 200 Sometimes incorrect (401 is given) -- 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: r1378868 - /tomcat/trunk/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java
Author: markt Date: Thu Aug 30 09:22:42 2012 New Revision: 1378868 URL: http://svn.apache.org/viewvc?rev=1378868&view=rev Log: No need to return a boolean here Modified: tomcat/trunk/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java Modified: tomcat/trunk/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java?rev=1378868&r1=1378867&r2=1378868&view=diff == --- tomcat/trunk/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java Thu Aug 30 09:22:42 2012 @@ -352,7 +352,8 @@ public class ChunkedInputFilter implemen */ @Deprecated protected boolean parseCRLF() throws IOException { -return parseCRLF(false); +parseCRLF(false); +return true; } /** @@ -362,7 +363,7 @@ public class ChunkedInputFilter implemen * is recommended (RFC2616, section 19.3) for message * headers. */ -protected boolean parseCRLF(boolean tolerant) throws IOException { +protected void parseCRLF(boolean tolerant) throws IOException { boolean eol = false; boolean crfound = false; @@ -389,9 +390,6 @@ public class ChunkedInputFilter implemen pos++; } - -return true; - } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1378869 - /tomcat/trunk/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java
Author: markt Date: Thu Aug 30 09:24:36 2012 New Revision: 1378869 URL: http://svn.apache.org/viewvc?rev=1378869&view=rev Log: No need to return a boolean here Modified: tomcat/trunk/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java Modified: tomcat/trunk/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java?rev=1378869&r1=1378868&r2=1378869&view=diff == --- tomcat/trunk/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java Thu Aug 30 09:24:36 2012 @@ -348,16 +348,6 @@ public class ChunkedInputFilter implemen /** * Parse CRLF at end of chunk. - * @deprecated Use {@link #parseCRLF(boolean)} - */ -@Deprecated -protected boolean parseCRLF() throws IOException { -parseCRLF(false); -return true; -} - -/** - * Parse CRLF at end of chunk. * * @param tolerantShould tolerant parsing (LF and CRLF) be used? This * is recommended (RFC2616, section 19.3) for message - 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-7-trunk
The Buildbot has detected a new failure on builder tomcat-7-trunk while building ASF Buildbot. Full details are available at: http://ci.apache.org/builders/tomcat-7-trunk/builds/803 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-vm_ubuntu Build Reason: scheduler Build Source Stamp: [branch tomcat/tc7.0.x/trunk] 1377511 Blamelist: BUILD FAILED: failed compile_1 sincerely, -The Buildbot
buildbot success in ASF Buildbot on tomcat-7-trunk
The Buildbot has detected a restored build on builder tomcat-7-trunk while building ASF Buildbot. Full details are available at: http://ci.apache.org/builders/tomcat-7-trunk/builds/805 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-vm_ubuntu Build Reason: scheduler Build Source Stamp: [branch tomcat/tc7.0.x/trunk] 1377539 Blamelist: Build succeeded! sincerely, -The Buildbot
Re: buildbot failure in ASF Buildbot on tomcat-7-trunk
build...@apache.org wrote: >The Buildbot has detected a new failure on builder tomcat-7-trunk while >building ASF Buildbot. >Full details are available at: > http://ci.apache.org/builders/tomcat-7-trunk/builds/803 > >Buildbot URL: http://ci.apache.org/ > >Buildslave for this Build: bb-vm_ubuntu > >Build Reason: scheduler >Build Source Stamp: [branch tomcat/tc7.0.x/trunk] 1377511 >Blamelist: > >BUILD FAILED: failed compile_1 > >sincerely, > -The Buildbot I thought this would be my new chucked input tests - I am seeing intermittent failures in Eclipse - but it looks wider than that. I'll take a look later today. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: buildbot failure in ASF Buildbot on tomcat-7-trunk
2012/8/30 Mark Thomas : > build...@apache.org wrote: > >>The Buildbot has detected a new failure on builder tomcat-7-trunk while >>building ASF Buildbot. >>Full details are available at: >> http://ci.apache.org/builders/tomcat-7-trunk/builds/803 >> >>Buildbot URL: http://ci.apache.org/ >> >>Buildslave for this Build: bb-vm_ubuntu >> >>Build Reason: scheduler >>Build Source Stamp: [branch tomcat/tc7.0.x/trunk] 1377511 >>Blamelist: >> >>BUILD FAILED: failed compile_1 >> > > I thought this would be my new chucked input tests - I am seeing intermittent > failures in Eclipse - but it looks wider than that. I'll take a look later > today. The revision number (1377511) is seriously in the past. See "Pending build requests" list at http://ci.apache.org/builders/tomcat-7-trunk/ There is quite a number of "pending requests" in that list. If it really would try to build all those one-by-one (x 30 minutes each), that would be a bit silly. Best regards, Konstantin Kolinko - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 53762] JK status manager: mass nodes handling doesn't works
https://issues.apache.org/bugzilla/show_bug.cgi?id=53762 --- Comment #2 from s...@blinkenlights.nl --- This (In reply to comment #1) > Can you please check version 1.2.37 plus the following patch: > > http://svn.apache.org/viewvc?view=revision&revision=1354021 > > Please report back whether the problem is fixed with this. > > Regards, > > Rainer This patch resolves jk-manager activation issues for me. Please merge. -- 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
Re: buildbot failure in ASF Buildbot on tomcat-7-trunk
On 30/08/2012 12:47, Konstantin Kolinko wrote: > 2012/8/30 Mark Thomas : >> build...@apache.org wrote: >> >>> The Buildbot has detected a new failure on builder tomcat-7-trunk while >>> building ASF Buildbot. >>> Full details are available at: >>> http://ci.apache.org/builders/tomcat-7-trunk/builds/803 >>> >>> Buildbot URL: http://ci.apache.org/ >>> >>> Buildslave for this Build: bb-vm_ubuntu >>> >>> Build Reason: scheduler >>> Build Source Stamp: [branch tomcat/tc7.0.x/trunk] 1377511 >>> Blamelist: >>> >>> BUILD FAILED: failed compile_1 >>> >> >> I thought this would be my new chucked input tests - I am seeing >> intermittent failures in Eclipse - but it looks wider than that. I'll take a >> look later today. > > > The revision number (1377511) is seriously in the past. > > See "Pending build requests" list at > http://ci.apache.org/builders/tomcat-7-trunk/ > > There is quite a number of "pending requests" in that list. > If it really would try to build all those one-by-one (x 30 minutes > each), that would be a bit silly. Ah. That explains it. I missed that as I was looking at it on my phone. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 53792] EL: AstValue.getTarget() mistakes a method invocation for a property access
https://issues.apache.org/bugzilla/show_bug.cgi?id=53792 Adrian Moos changed: What|Removed |Added Status|RESOLVED|REOPENED Resolution|WORKSFORME |--- --- Comment #3 from Adrian Moos --- That because you have not quite tested the same thing :-) Yes, #{beanA.setBean(beanB)} works as intended, because its "target" is #{beanA}, which doesn't contain a method invocation expression. That's why I wrote: > but in this expression there is an additional method invocation expression > before that ... Anyway, here is your test case (to be included in TestMethodExpressionImpl.java): @Test public void testBug53792c() { MethodExpression me = factory.createMethodExpression(context, "#{beanA.sayHello().length()}", null, new Class[] {}); me.invoke(context, null); } which currently throws: javax.el.PropertyNotFoundException: Property 'sayHello' not found on type org.apache.el.TesterBeanA at javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:237) at javax.el.BeanELResolver$BeanProperties.access$1(BeanELResolver.java:234) at javax.el.BeanELResolver.property(BeanELResolver.java:325) at javax.el.BeanELResolver.getValue(BeanELResolver.java:85) at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:67) at org.apache.el.parser.AstValue.getTarget(AstValue.java:121) at org.apache.el.parser.AstValue.invoke(AstValue.java:245) at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278) at org.apache.el.TestMethodExpressionImpl.testBug53792c(TestMethodExpressionImpl.java:473) -- 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: r1378918 - in /tomcat/trunk: java/org/apache/coyote/http11/filters/ChunkedInputFilter.java test/org/apache/catalina/startup/SimpleHttpClient.java test/org/apache/coyote/http11/filters/Test
Author: markt Date: Thu Aug 30 13:08:35 2012 New Revision: 1378918 URL: http://svn.apache.org/viewvc?rev=1378918&view=rev Log: More chunked encoding improvements - Expand unit tests for chunked encoding - Fix a parsing error at eol when multiple headers are present (regression in r1378699) - Make parsing of terminating CRLF non-tolerant (RFC2616 only suggests to be tolerant of LF at the end of headers) - Revert previous unnecessary change to SimpleHttpClient Modified: tomcat/trunk/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java tomcat/trunk/test/org/apache/catalina/startup/SimpleHttpClient.java tomcat/trunk/test/org/apache/coyote/http11/filters/TestChunkedInputFilter.java Modified: tomcat/trunk/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java?rev=1378918&r1=1378917&r2=1378918&view=diff == --- tomcat/trunk/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java Thu Aug 30 13:08:35 2012 @@ -411,7 +411,7 @@ public class ChunkedInputFilter implemen // CRLF terminates the request if (chr == Constants.CR || chr == Constants.LF) { -parseCRLF(true); +parseCRLF(false); return false; } @@ -502,8 +502,9 @@ public class ChunkedInputFilter implemen lastSignificantChar = trailingHeaders.getEnd(); } -pos++; - +if (!eol) { +pos++; +} } // Checking the first character of the new line. If the character Modified: tomcat/trunk/test/org/apache/catalina/startup/SimpleHttpClient.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/startup/SimpleHttpClient.java?rev=1378918&r1=1378917&r2=1378918&view=diff == --- tomcat/trunk/test/org/apache/catalina/startup/SimpleHttpClient.java (original) +++ tomcat/trunk/test/org/apache/catalina/startup/SimpleHttpClient.java Thu Aug 30 13:08:35 2012 @@ -201,13 +201,7 @@ public abstract class SimpleHttpClient { line = readLine(); while (line != null) { builder.append(line); -try { -line = readLine(); -} catch (IOException ioe) { -// The server probably closed the connection due to an -// error -line = null; -} +line = readLine(); } } } Modified: tomcat/trunk/test/org/apache/coyote/http11/filters/TestChunkedInputFilter.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/coyote/http11/filters/TestChunkedInputFilter.java?rev=1378918&r1=1378917&r2=1378918&view=diff == --- tomcat/trunk/test/org/apache/coyote/http11/filters/TestChunkedInputFilter.java (original) +++ tomcat/trunk/test/org/apache/coyote/http11/filters/TestChunkedInputFilter.java Thu Aug 30 13:08:35 2012 @@ -42,47 +42,58 @@ public class TestChunkedInputFilter exte @Test public void testChunkHeaderCRLF() throws Exception { -doTestChunkingCRLF(true, true, true, true, true); +doTestChunkingCRLF(true, true, true, true, true, true); } @Test public void testChunkHeaderLF() throws Exception { -doTestChunkingCRLF(false, true, true, true, false); +doTestChunkingCRLF(false, true, true, true, true, false); } @Test public void testChunkCRLF() throws Exception { -doTestChunkingCRLF(true, true, true, true, true); +doTestChunkingCRLF(true, true, true, true, true, true); } @Test public void testChunkLF() throws Exception { -doTestChunkingCRLF(true, false, true, true, false); +doTestChunkingCRLF(true, false, true, true, true, false); } @Test -public void testTrailingHeadersCRLF() throws Exception { -doTestChunkingCRLF(true, true, true, true, true); +public void testFirstTrailingHeadersCRLF() throws Exception { +doTestChunkingCRLF(true, true, true, true, true, true); } @Test -public void testTrailingHeadersLF() throws Exception { -doTestChunkingCRLF(true, true, false, true, true); +public void testFirstTrailingHeadersLF() throws Exception { +doTestChunkingCRLF(true, true, false, true, true, true); +} + +@Test +public void testSecondTrailingHeadersCRLF() throws Exception { +doTestChunkingCRLF(true, true, true, true, true, true); +} + +@Test +p
svn commit: r1378921 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/coyote/http11/filters/ChunkedInputFilter.java test/org/apache/catalina/startup/SimpleHttpClient.java test/org/apache/coyote/http11/f
Author: markt Date: Thu Aug 30 13:12:13 2012 New Revision: 1378921 URL: http://svn.apache.org/viewvc?rev=1378921&view=rev Log: More chunked encoding improvements - Expand unit tests for chunked encoding - Fix a parsing error at eol when multiple headers are present (regression in r1378702) - Make parsing of terminating CRLF non-tolerant (RFC2616 only suggests to be tolerant of LF at the end of headers) - Revert previous unnecessary change to SimpleHttpClient Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java tomcat/tc7.0.x/trunk/test/org/apache/catalina/startup/SimpleHttpClient.java tomcat/tc7.0.x/trunk/test/org/apache/coyote/http11/filters/TestChunkedInputFilter.java Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1378868,1378918 Modified: tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java?rev=1378921&r1=1378920&r2=1378921&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/filters/ChunkedInputFilter.java Thu Aug 30 13:12:13 2012 @@ -350,7 +350,8 @@ public class ChunkedInputFilter implemen */ @Deprecated protected boolean parseCRLF() throws IOException { -return parseCRLF(false); +parseCRLF(false); +return true; } /** @@ -360,7 +361,7 @@ public class ChunkedInputFilter implemen * is recommended (RFC2616, section 19.3) for message * headers. */ -protected boolean parseCRLF(boolean tolerant) throws IOException { +protected void parseCRLF(boolean tolerant) throws IOException { boolean eol = false; boolean crfound = false; @@ -387,9 +388,6 @@ public class ChunkedInputFilter implemen pos++; } - -return true; - } @@ -421,7 +419,7 @@ public class ChunkedInputFilter implemen // CRLF terminates the request if (chr == Constants.CR || chr == Constants.LF) { -parseCRLF(true); +parseCRLF(false); return false; } @@ -512,8 +510,9 @@ public class ChunkedInputFilter implemen lastSignificantChar = trailingHeaders.getEnd(); } -pos++; - +if (!eol) { +pos++; +} } // Checking the first character of the new line. If the character Modified: tomcat/tc7.0.x/trunk/test/org/apache/catalina/startup/SimpleHttpClient.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/test/org/apache/catalina/startup/SimpleHttpClient.java?rev=1378921&r1=1378920&r2=1378921&view=diff == --- tomcat/tc7.0.x/trunk/test/org/apache/catalina/startup/SimpleHttpClient.java (original) +++ tomcat/tc7.0.x/trunk/test/org/apache/catalina/startup/SimpleHttpClient.java Thu Aug 30 13:12:13 2012 @@ -201,13 +201,7 @@ public abstract class SimpleHttpClient { line = readLine(); while (line != null) { builder.append(line); -try { -line = readLine(); -} catch (IOException ioe) { -// The server probably closed the connection due to an -// error -line = null; -} +line = readLine(); } } } Modified: tomcat/tc7.0.x/trunk/test/org/apache/coyote/http11/filters/TestChunkedInputFilter.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/test/org/apache/coyote/http11/filters/TestChunkedInputFilter.java?rev=1378921&r1=1378920&r2=1378921&view=diff == --- tomcat/tc7.0.x/trunk/test/org/apache/coyote/http11/filters/TestChunkedInputFilter.java (original) +++ tomcat/tc7.0.x/trunk/test/org/apache/coyote/http11/filters/TestChunkedInputFilter.java Thu Aug 30 13:12:13 2012 @@ -42,47 +42,58 @@ public class TestChunkedInputFilter exte @Test public void testChunkHeaderCRLF() throws Exception { -doTestChunkingCRLF(true, true, true, true, true); +doTestChunkingCRLF(true, true, true, true, true, true); } @Test public void testChunkHeaderLF() throws Exception { -doTestChunkingCRLF(false, true, true, true, false); +doTestChunkingCRLF(false, true, true, true, true, false);
[Bug 53460] Use error handling when TooManyActiveSessionsException happens in JSP
https://issues.apache.org/bugzilla/show_bug.cgi?id=53460 --- Comment #3 from patc...@portaildulibre.fr --- Hi, Can you backport this patch to 6.0 ? Bug 53230 was backport in 6.0.36 but it fix only servlet access, not jsp access as described in this bug. Regards, -- 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 53460] Use error handling when TooManyActiveSessionsException happens in JSP
https://issues.apache.org/bugzilla/show_bug.cgi?id=53460 patc...@portaildulibre.fr changed: What|Removed |Added CC||patc...@portaildulibre.fr -- 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
Re: svn commit: r1378921 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/coyote/http11/filters/ChunkedInputFilter.java test/org/apache/catalina/startup/SimpleHttpClient.java test/org/apache/coyote/http
On 30/08/2012 14:12, ma...@apache.org wrote: > Author: markt > Date: Thu Aug 30 13:12:13 2012 > New Revision: 1378921 > > URL: http://svn.apache.org/viewvc?rev=1378921&view=rev > Log: > More chunked encoding improvements With this change I get consistent test failures on Windows for 7.0.x and intermittent failures for trunk. I haven't see issues on Linux. My best guess is that the loop-back adaptor implementation on Windows is clearing the TCP buffers and closing the socket before the client has a chance to read all the data. Adding a short sleep just before the socket close fixes the problem. Adding one after the close does not. My plan is to refactor the unit tests to not rely on receiving a 500 response in error conditions. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1379047 - /tomcat/trunk/test/org/apache/coyote/http11/filters/TestChunkedInputFilter.java
Author: markt Date: Thu Aug 30 18:32:17 2012 New Revision: 1379047 URL: http://svn.apache.org/viewvc?rev=1379047&view=rev Log: Implement fall-back for checking for failure when socket is closed before client can read response. Fixes intermittent issue on Windows. Modified: tomcat/trunk/test/org/apache/coyote/http11/filters/TestChunkedInputFilter.java Modified: tomcat/trunk/test/org/apache/coyote/http11/filters/TestChunkedInputFilter.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/coyote/http11/filters/TestChunkedInputFilter.java?rev=1379047&r1=1379046&r2=1379047&view=diff == --- tomcat/trunk/test/org/apache/coyote/http11/filters/TestChunkedInputFilter.java (original) +++ tomcat/trunk/test/org/apache/coyote/http11/filters/TestChunkedInputFilter.java Thu Aug 30 18:32:17 2012 @@ -27,6 +27,8 @@ import javax.servlet.http.HttpServletReq import javax.servlet.http.HttpServletResponse; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import org.junit.Test; @@ -102,7 +104,8 @@ public class TestChunkedInputFilter exte Context ctx = tomcat.addContext("", System.getProperty("java.io.tmpdir")); -Tomcat.addServlet(ctx, "servlet", new EchoHeaderServlet()); +EchoHeaderServlet servlet = new EchoHeaderServlet(); +Tomcat.addServlet(ctx, "servlet", servlet); ctx.addServletMapping("/", "servlet"); tomcat.start(); @@ -131,14 +134,28 @@ public class TestChunkedInputFilter exte client.setRequest(request); client.connect(); -client.processRequest(); +Exception processException = null; +try { +client.processRequest(); +} catch (Exception e) { +// Socket was probably closed before client had a chance to read +// response +processException = e; +} if (expectPass) { assertTrue(client.isResponse200()); assertEquals("nullnull7TestValue1TestValue2", client.getResponseBody()); +assertNull(processException); +assertFalse(servlet.getExceptionDuringRead()); } else { -assertTrue(client.getResponseLine(), client.isResponse500()); +if (processException == null) { +assertTrue(client.getResponseLine(), client.isResponse500()); +} else { +// Use fall-back for checking the error occurred +assertTrue(servlet.getExceptionDuringRead()); +} } } @@ -226,6 +243,8 @@ public class TestChunkedInputFilter exte private static class EchoHeaderServlet extends HttpServlet { private static final long serialVersionUID = 1L; +private boolean exceptionDuringRead = false; + @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { @@ -238,8 +257,13 @@ public class TestChunkedInputFilter exte // Read the body - quick and dirty InputStream is = req.getInputStream(); int count = 0; -while (is.read() > -1) { -count++; +try { +while (is.read() > -1) { +count++; +} +} catch (IOException ioe) { +exceptionDuringRead = true; +throw ioe; } pw.write(Integer.valueOf(count).toString()); @@ -249,6 +273,10 @@ public class TestChunkedInputFilter exte dumpHeader("x-trailer2", req, pw); } +public boolean getExceptionDuringRead() { +return exceptionDuringRead; +} + private void dumpHeader(String headerName, HttpServletRequest req, PrintWriter pw) { String value = req.getHeader(headerName); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1379050 - in /tomcat/tc7.0.x/trunk: ./ test/org/apache/coyote/http11/filters/TestChunkedInputFilter.java
Author: markt Date: Thu Aug 30 18:37:18 2012 New Revision: 1379050 URL: http://svn.apache.org/viewvc?rev=1379050&view=rev Log: Implement fall-back for checking for failure when socket is closed before client can read response. Fixes intermittent issue on Windows. Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/test/org/apache/coyote/http11/filters/TestChunkedInputFilter.java Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1379047 Modified: tomcat/tc7.0.x/trunk/test/org/apache/coyote/http11/filters/TestChunkedInputFilter.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/test/org/apache/coyote/http11/filters/TestChunkedInputFilter.java?rev=1379050&r1=1379049&r2=1379050&view=diff == --- tomcat/tc7.0.x/trunk/test/org/apache/coyote/http11/filters/TestChunkedInputFilter.java (original) +++ tomcat/tc7.0.x/trunk/test/org/apache/coyote/http11/filters/TestChunkedInputFilter.java Thu Aug 30 18:37:18 2012 @@ -27,6 +27,8 @@ import javax.servlet.http.HttpServletReq import javax.servlet.http.HttpServletResponse; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import org.junit.Test; @@ -102,7 +104,8 @@ public class TestChunkedInputFilter exte Context ctx = tomcat.addContext("", System.getProperty("java.io.tmpdir")); -Tomcat.addServlet(ctx, "servlet", new EchoHeaderServlet()); +EchoHeaderServlet servlet = new EchoHeaderServlet(); +Tomcat.addServlet(ctx, "servlet", servlet); ctx.addServletMapping("/", "servlet"); tomcat.start(); @@ -131,14 +134,28 @@ public class TestChunkedInputFilter exte client.setRequest(request); client.connect(); -client.processRequest(); +Exception processException = null; +try { +client.processRequest(); +} catch (Exception e) { +// Socket was probably closed before client had a chance to read +// response +processException = e; +} if (expectPass) { assertTrue(client.isResponse200()); assertEquals("nullnull7TestValue1TestValue2", client.getResponseBody()); +assertNull(processException); +assertFalse(servlet.getExceptionDuringRead()); } else { -assertTrue(client.getResponseLine(), client.isResponse500()); +if (processException == null) { +assertTrue(client.getResponseLine(), client.isResponse500()); +} else { +// Use fall-back for checking the error occurred +assertTrue(servlet.getExceptionDuringRead()); +} } } @@ -226,6 +243,8 @@ public class TestChunkedInputFilter exte private static class EchoHeaderServlet extends HttpServlet { private static final long serialVersionUID = 1L; +private boolean exceptionDuringRead = false; + @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { @@ -238,8 +257,13 @@ public class TestChunkedInputFilter exte // Read the body - quick and dirty InputStream is = req.getInputStream(); int count = 0; -while (is.read() > -1) { -count++; +try { +while (is.read() > -1) { +count++; +} +} catch (IOException ioe) { +exceptionDuringRead = true; +throw ioe; } pw.write(Integer.valueOf(count).toString()); @@ -249,6 +273,10 @@ public class TestChunkedInputFilter exte dumpHeader("x-trailer2", req, pw); } +public boolean getExceptionDuringRead() { +return exceptionDuringRead; +} + private void dumpHeader(String headerName, HttpServletRequest req, PrintWriter pw) { String value = req.getHeader(headerName); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 53792] EL: AstValue.getTarget() mistakes a method invocation for a property access
https://issues.apache.org/bugzilla/show_bug.cgi?id=53792 --- Comment #4 from Mark Thomas --- #{beanA.sayHello().length()} There is no sayHello() method on beanA - it is on beanB. Looking into the failure with that fix in place... -- 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: r1379090 - in /tomcat/trunk: java/org/apache/el/parser/AstValue.java test/org/apache/el/TestMethodExpressionImpl.java
Author: markt Date: Thu Aug 30 19:43:26 2012 New Revision: 1379090 URL: http://svn.apache.org/viewvc?rev=1379090&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=53792 Support method expressions that include a method call that is not at the end of the expression Modified: tomcat/trunk/java/org/apache/el/parser/AstValue.java tomcat/trunk/test/org/apache/el/TestMethodExpressionImpl.java Modified: tomcat/trunk/java/org/apache/el/parser/AstValue.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/el/parser/AstValue.java?rev=1379090&r1=1379089&r2=1379090&view=diff == --- tomcat/trunk/java/org/apache/el/parser/AstValue.java (original) +++ tomcat/trunk/java/org/apache/el/parser/AstValue.java Thu Aug 30 19:43:26 2012 @@ -103,39 +103,52 @@ public final class AstValue extends Simp Object property = null; int propCount = this.jjtGetNumChildren(); -if (propCount > 2 && -this.jjtGetChild(propCount - 1) instanceof AstMethodParameters) { -// Method call with paramaters. -propCount-=2; -} else { -propCount--; -} int i = 1; - -// evaluate any properties before our target +// Evaluate any properties or methods before our target ELResolver resolver = ctx.getELResolver(); -if (propCount > 1) { -while (base != null && i < propCount) { -property = this.children[i].getValue(ctx); +while (i < propCount) { +if (i + 2 < propCount && +this.children[i + 1] instanceof AstMethodParameters) { +// Method call not at end of expression +base = resolver.invoke(ctx, base, +this.children[i].getValue(ctx), null, +((AstMethodParameters) +this.children[i + 1]).getParameters(ctx)); +i += 2; +} else if (i + 2 == propCount && +this.children[i + 1] instanceof AstMethodParameters) { +// Method call at end of expression ctx.setPropertyResolved(false); +property = this.children[i].getValue(ctx); +i += 2; + +if (property == null) { +throw new PropertyNotFoundException(MessageFactory.get( +"error.unreachable.property", property)); +} +} else if (i + 1 < propCount) { +// Object with property not at end of expression +property = this.children[i].getValue(ctx); base = resolver.getValue(ctx, base, property); i++; + +} else { +// Object with property at end of expression +ctx.setPropertyResolved(false); +property = this.children[i].getValue(ctx); +i++; + +if (property == null) { +throw new PropertyNotFoundException(MessageFactory.get( +"error.unreachable.property", property)); +} } -// if we are in this block, we have more properties to resolve, -// but our base was null -if (base == null || property == null) { +if (base == null) { throw new PropertyNotFoundException(MessageFactory.get( "error.unreachable.property", property)); } } -property = this.children[i].getValue(ctx); - -if (property == null) { -throw new PropertyNotFoundException(MessageFactory.get( -"error.unreachable.property", this.children[i])); -} - Target t = new Target(); t.base = base; t.property = property; Modified: tomcat/trunk/test/org/apache/el/TestMethodExpressionImpl.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/el/TestMethodExpressionImpl.java?rev=1379090&r1=1379089&r2=1379090&view=diff == --- tomcat/trunk/test/org/apache/el/TestMethodExpressionImpl.java (original) +++ tomcat/trunk/test/org/apache/el/TestMethodExpressionImpl.java Thu Aug 30 19:43:26 2012 @@ -38,6 +38,7 @@ public class TestMethodExpressionImpl { private ExpressionFactory factory; private ELContext context; +private TesterBeanB beanB; @Before public void setUp() { @@ -59,7 +60,7 @@ public class TestMethodExpressionImpl { context.getVariableMapper().setVariable("beanAAA", factory.createValueExpression(beanAAA, TesterBeanAAA.class)); -TesterBeanB beanB = new TesterBeanB(); +beanB = new TesterBeanB(); beanB.setName("B"); context.getVariableMapper().setVariable("beanB",
svn commit: r1379091 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/el/parser/AstValue.java test/org/apache/el/TestMethodExpressionImpl.java
Author: markt Date: Thu Aug 30 19:44:46 2012 New Revision: 1379091 URL: http://svn.apache.org/viewvc?rev=1379091&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=53792 Support method expressions that include a method call that is not at the end of the expression Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/el/parser/AstValue.java tomcat/tc7.0.x/trunk/test/org/apache/el/TestMethodExpressionImpl.java Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1379090 Modified: tomcat/tc7.0.x/trunk/java/org/apache/el/parser/AstValue.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/el/parser/AstValue.java?rev=1379091&r1=1379090&r2=1379091&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/el/parser/AstValue.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/el/parser/AstValue.java Thu Aug 30 19:44:46 2012 @@ -103,39 +103,52 @@ public final class AstValue extends Simp Object property = null; int propCount = this.jjtGetNumChildren(); -if (propCount > 2 && -this.jjtGetChild(propCount - 1) instanceof AstMethodParameters) { -// Method call with paramaters. -propCount-=2; -} else { -propCount--; -} int i = 1; - -// evaluate any properties before our target +// Evaluate any properties or methods before our target ELResolver resolver = ctx.getELResolver(); -if (propCount > 1) { -while (base != null && i < propCount) { -property = this.children[i].getValue(ctx); +while (i < propCount) { +if (i + 2 < propCount && +this.children[i + 1] instanceof AstMethodParameters) { +// Method call not at end of expression +base = resolver.invoke(ctx, base, +this.children[i].getValue(ctx), null, +((AstMethodParameters) +this.children[i + 1]).getParameters(ctx)); +i += 2; +} else if (i + 2 == propCount && +this.children[i + 1] instanceof AstMethodParameters) { +// Method call at end of expression ctx.setPropertyResolved(false); +property = this.children[i].getValue(ctx); +i += 2; + +if (property == null) { +throw new PropertyNotFoundException(MessageFactory.get( +"error.unreachable.property", property)); +} +} else if (i + 1 < propCount) { +// Object with property not at end of expression +property = this.children[i].getValue(ctx); base = resolver.getValue(ctx, base, property); i++; + +} else { +// Object with property at end of expression +ctx.setPropertyResolved(false); +property = this.children[i].getValue(ctx); +i++; + +if (property == null) { +throw new PropertyNotFoundException(MessageFactory.get( +"error.unreachable.property", property)); +} } -// if we are in this block, we have more properties to resolve, -// but our base was null -if (base == null || property == null) { +if (base == null) { throw new PropertyNotFoundException(MessageFactory.get( "error.unreachable.property", property)); } } -property = this.children[i].getValue(ctx); - -if (property == null) { -throw new PropertyNotFoundException(MessageFactory.get( -"error.unreachable.property", this.children[i])); -} - Target t = new Target(); t.base = base; t.property = property; Modified: tomcat/tc7.0.x/trunk/test/org/apache/el/TestMethodExpressionImpl.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/test/org/apache/el/TestMethodExpressionImpl.java?rev=1379091&r1=1379090&r2=1379091&view=diff == --- tomcat/tc7.0.x/trunk/test/org/apache/el/TestMethodExpressionImpl.java (original) +++ tomcat/tc7.0.x/trunk/test/org/apache/el/TestMethodExpressionImpl.java Thu Aug 30 19:44:46 2012 @@ -38,6 +38,7 @@ public class TestMethodExpressionImpl { private ExpressionFactory factory; private ELContext context; +private TesterBeanB beanB; @Before public void setUp() { @@ -59,7 +60,7 @@ public class TestMethodExpressionImpl { context.getVariableMapper().s
[Bug 53792] EL: AstValue.getTarget() mistakes a method invocation for a property access
https://issues.apache.org/bugzilla/show_bug.cgi?id=53792 Mark Thomas changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution|--- |FIXED --- Comment #5 from Mark Thomas --- Fixed. Thanks for the report and test case. The fix was a little more extensive than the original suggestion. Fixed in trunk and 7.0.x and will be included in 7.0.30 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: r1379178 - in /tomcat/trunk: java/org/apache/coyote/http11/ test/org/apache/coyote/http11/
Author: markt Date: Thu Aug 30 21:57:15 2012 New Revision: 1379178 URL: http://svn.apache.org/viewvc?rev=1379178&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=53677 Ensure a 500 response of the HTTP headers exceed the size limit Added: tomcat/trunk/java/org/apache/coyote/http11/HeadersTooLargeException.java (with props) Modified: tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java tomcat/trunk/java/org/apache/coyote/http11/AbstractOutputBuffer.java tomcat/trunk/test/org/apache/coyote/http11/TestAbstractHttp11Processor.java Modified: tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java?rev=1379178&r1=1379177&r2=1379178&view=diff == --- tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java Thu Aug 30 21:57:15 2012 @@ -761,12 +761,21 @@ public abstract class AbstractHttp11Proc // Validate and write response headers try { -prepareResponse(); +//try { +prepareResponse(); +//} catch (IllegalStateException e) { +// Headers too big. Likely too late to do anything about it +//response.reset(); +//response.setStatus(500); +//response.setHeader("Connection", "close"); +//response.sendHeaders(); +//} getOutputBuffer().commit(); } catch (IOException e) { // Set error flag error = true; } + } else if (actionCode == ActionCode.ACK) { // Acknowledge request // Send a 100 status back if it makes sense (response not committed @@ -1009,6 +1018,15 @@ public abstract class AbstractHttp11Proc setCometTimeouts(socketWrapper); } catch (InterruptedIOException e) { error = true; +} catch (HeadersTooLargeException e) { +error = true; +// The response should not have been committed but check it +// anyway to be safe +if (!response.isCommitted()) { +response.reset(); +response.setStatus(500); +response.setHeader("Connection", "close"); +} } catch (Throwable t) { ExceptionUtils.handleThrowable(t); getLog().error(sm.getString( Modified: tomcat/trunk/java/org/apache/coyote/http11/AbstractOutputBuffer.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/AbstractOutputBuffer.java?rev=1379178&r1=1379177&r2=1379178&view=diff == --- tomcat/trunk/java/org/apache/coyote/http11/AbstractOutputBuffer.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/AbstractOutputBuffer.java Thu Aug 30 21:57:15 2012 @@ -250,7 +250,10 @@ public abstract class AbstractOutputBuff // Recycle Request object response.recycle(); - +// These will need to be reset if the reset was triggered by the error +// handling if the headers were too large +pos = 0; +byteCount = 0; } /** @@ -538,10 +541,9 @@ public abstract class AbstractOutputBuff * Checks to see if there is enough space in the buffer to write the * requested number of bytes. */ -private void checkLengthBeforeWrite(int length) -throws IllegalStateException { +private void checkLengthBeforeWrite(int length) { if (pos + length > buf.length) { -throw new IllegalStateException( +throw new HeadersTooLargeException( sm.getString("iob.responseheadertoolarge.error")); } } Added: tomcat/trunk/java/org/apache/coyote/http11/HeadersTooLargeException.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/HeadersTooLargeException.java?rev=1379178&view=auto == --- tomcat/trunk/java/org/apache/coyote/http11/HeadersTooLargeException.java (added) +++ tomcat/trunk/java/org/apache/coyote/http11/HeadersTooLargeException.java Thu Aug 30 21:57:15 2012 @@ -0,0 +1,42 @@ +/* + * 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.
svn commit: r1379180 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/coyote/http11/ test/org/apache/coyote/http11/
Author: markt Date: Thu Aug 30 21:58:25 2012 New Revision: 1379180 URL: http://svn.apache.org/viewvc?rev=1379180&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=53677 Ensure a 500 response of the HTTP headers exceed the size limit Added: tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/HeadersTooLargeException.java - copied unchanged from r1379178, tomcat/trunk/java/org/apache/coyote/http11/HeadersTooLargeException.java Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractOutputBuffer.java tomcat/tc7.0.x/trunk/test/org/apache/coyote/http11/TestAbstractHttp11Processor.java Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1379178 Modified: tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java?rev=1379180&r1=1379179&r2=1379180&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java Thu Aug 30 21:58:25 2012 @@ -761,12 +761,21 @@ public abstract class AbstractHttp11Proc // Validate and write response headers try { -prepareResponse(); +//try { +prepareResponse(); +//} catch (IllegalStateException e) { +// Headers too big. Likely too late to do anything about it +//response.reset(); +//response.setStatus(500); +//response.setHeader("Connection", "close"); +//response.sendHeaders(); +//} getOutputBuffer().commit(); } catch (IOException e) { // Set error flag error = true; } + } else if (actionCode == ActionCode.ACK) { // Acknowledge request // Send a 100 status back if it makes sense (response not committed @@ -1012,6 +1021,15 @@ public abstract class AbstractHttp11Proc setCometTimeouts(socketWrapper); } catch (InterruptedIOException e) { error = true; +} catch (HeadersTooLargeException e) { +error = true; +// The response should not have been committed but check it +// anyway to be safe +if (!response.isCommitted()) { +response.reset(); +response.setStatus(500); +response.setHeader("Connection", "close"); +} } catch (Throwable t) { ExceptionUtils.handleThrowable(t); getLog().error(sm.getString( Modified: tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractOutputBuffer.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractOutputBuffer.java?rev=1379180&r1=1379179&r2=1379180&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractOutputBuffer.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractOutputBuffer.java Thu Aug 30 21:58:25 2012 @@ -250,7 +250,10 @@ public abstract class AbstractOutputBuff // Recycle Request object response.recycle(); - +// These will need to be reset if the reset was triggered by the error +// handling if the headers were too large +pos = 0; +byteCount = 0; } /** @@ -538,10 +541,9 @@ public abstract class AbstractOutputBuff * Checks to see if there is enough space in the buffer to write the * requested number of bytes. */ -private void checkLengthBeforeWrite(int length) -throws IllegalStateException { +private void checkLengthBeforeWrite(int length) { if (pos + length > buf.length) { -throw new IllegalStateException( +throw new HeadersTooLargeException( sm.getString("iob.responseheadertoolarge.error")); } } Modified: tomcat/tc7.0.x/trunk/test/org/apache/coyote/http11/TestAbstractHttp11Processor.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/test/org/apache/coyote/http11/TestAbstractHttp11Processor.java?rev=1379180&r1=1379179&r2=1379180&view=diff == --- tomcat/tc7.0.x/trunk/test/org/apache/coyote/http11/TestA
[Bug 53677] ArrayIndexOutOfBoundsException when response header exceeds maxHttpHeaderSize
https://issues.apache.org/bugzilla/show_bug.cgi?id=53677 --- Comment #1 from Mark Thomas --- Fixed in trunk and 7.0.x and will be included in 7.0.30 onwards. It has not yet been proposed for back-port as due to the connector refactoring, a 6.0.x specific patch will be required. -- 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: r1379206 - /tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java
Author: markt Date: Thu Aug 30 22:55:20 2012 New Revision: 1379206 URL: http://svn.apache.org/viewvc?rev=1379206&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=53801 Overlapping URL patterns were sometimes merged incorrectly in security constraints leading to incorrect 401 responses. Note: it was possible for access to be denied when it should have been granted but it was not possible for access to be granted when it should have been denied. Modified: tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java Modified: tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java?rev=1379206&r1=1379205&r2=1379206&view=diff == --- tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java (original) +++ tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java Thu Aug 30 22:55:20 2012 @@ -629,14 +629,15 @@ public abstract class RealmBase extends } } if(matched) { -found = true; if(length > longest) { +found = false; if(results != null) { results.clear(); } longest = length; } if(collection[j].findMethod(method)) { +found = true; if(results == null) { results = new ArrayList<>(); } @@ -760,7 +761,7 @@ public abstract class RealmBase extends */ private SecurityConstraint [] resultsToArray( ArrayList results) { -if(results == null) { +if(results == null || results.size() == 0) { return null; } SecurityConstraint [] array = new SecurityConstraint[results.size()]; - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1379208 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/realm/RealmBase.java webapps/docs/changelog.xml
Author: markt Date: Thu Aug 30 22:59:07 2012 New Revision: 1379208 URL: http://svn.apache.org/viewvc?rev=1379208&view=rev Log: Overlapping URL patterns were sometimes merged incorrectly in security constraints leading to incorrect 401 responses. Note: it was possible for access to be denied when it should have been granted but it was not possible for access to be granted when it should have been denied. Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/catalina/realm/RealmBase.java tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1379206 Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/realm/RealmBase.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/realm/RealmBase.java?rev=1379208&r1=1379207&r2=1379208&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/realm/RealmBase.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/realm/RealmBase.java Thu Aug 30 22:59:07 2012 @@ -659,14 +659,15 @@ public abstract class RealmBase extends } } if(matched) { -found = true; if(length > longest) { +found = false; if(results != null) { results.clear(); } longest = length; } if(collection[j].findMethod(method)) { +found = true; if(results == null) { results = new ArrayList(); } @@ -790,7 +791,7 @@ public abstract class RealmBase extends */ private SecurityConstraint [] resultsToArray( ArrayList results) { -if(results == null) { +if(results == null || results.size() == 0) { return null; } SecurityConstraint [] array = new SecurityConstraint[results.size()]; Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1379208&r1=1379207&r2=1379208&view=diff == --- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Thu Aug 30 22:59:07 2012 @@ -190,6 +190,13 @@ correct paths for subdirectories. Patch provided by Kevin Wooten. (kkolinko) + +53801: Overlapping URL patterns were sometimes merged +incorrectly in security constraints leading to incorrect 401 responses. +Note: it was possible for access to be denied when it should have been +granted but it was not possible for access to be granted when it should +have been denied. (markt) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1379211 - /tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
Author: markt Date: Thu Aug 30 23:04:02 2012 New Revision: 1379211 URL: http://svn.apache.org/viewvc?rev=1379211&view=rev Log: Add missing entries Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1379211&r1=1379210&r2=1379211&view=diff == --- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Thu Aug 30 23:04:02 2012 @@ -140,6 +140,10 @@ the error set a content length header. (markt) +53677: Ensure that a 500 response rather than no response is +returned if the HTTP headers exceed the size limit. (markt) + + 53702: When merging web.xml fragments, allow forelements having multiple elements. (markt) @@ -242,6 +246,10 @@ 53654: Support file:// URLs for JSP dependencies. Patch provided by Viola Lu. (markt) + +53792: Support MethodExpressions that include a +method invocation that is not at the end of the expression. (markt) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 53801] Nondeterministic behaviour of security constraints
https://issues.apache.org/bugzilla/show_bug.cgi?id=53801 Mark Thomas changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED OS||All --- Comment #1 from Mark Thomas --- Thanks for the report. The issue has been fixed in trunk and 7.0.x and will be included in 7.0.30 onwards. The reason for the intermittent nature was that it depended on the order the security constraints were processed which in turn depended on the order the constraints were returned from a HashSet which varied. -- 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
Re: Tagging 7.0.30
On 28/08/2012 02:24, Konstantin Kolinko wrote: > 2012/8/27 Mark Thomas : >> Hi, >> >> I have all the open bugs fixed for 7.0.x with the exception of BZ53469 >> that is pending input from the Servlet EG before a final fix (if any) is >> applied. >> >> I have a few other bits and pieces I want to do before I tag 7.0.30 but >> (assuming no more bugs are opened) I anticipate tagging in the next few >> days. If you have anything you would like to see in 7.0.30 now is the >> time to commit :) >> > > FYI: All the unit tests do pass for current 7.0 (@ r1377910), > > except one memory leak protection test that failed once (it > happens/expected, nothing new here), > TestWebappClassLoaderExecutorMemoryLeak#testTimerThreadLeak > > Tested BIOxNIOxAPR (native 1.1.24) with JDK 6u34 32-bit on WinXP Thanks for that confirmation. I believe we are now good to tag 7.0.30. I'll run the TCKs before I tag. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1379213 - in /tomcat/trunk/java/org/apache: catalina/util/ConcurrentMessageDigest.java el/MethodExpressionImpl.java el/ValueExpressionImpl.java
Author: markt Date: Thu Aug 30 23:12:58 2012 New Revision: 1379213 URL: http://svn.apache.org/viewvc?rev=1379213&view=rev Log: Javadoc fixes Modified: tomcat/trunk/java/org/apache/catalina/util/ConcurrentMessageDigest.java tomcat/trunk/java/org/apache/el/MethodExpressionImpl.java tomcat/trunk/java/org/apache/el/ValueExpressionImpl.java Modified: tomcat/trunk/java/org/apache/catalina/util/ConcurrentMessageDigest.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/util/ConcurrentMessageDigest.java?rev=1379213&r1=1379212&r2=1379213&view=diff == --- tomcat/trunk/java/org/apache/catalina/util/ConcurrentMessageDigest.java (original) +++ tomcat/trunk/java/org/apache/catalina/util/ConcurrentMessageDigest.java Thu Aug 30 23:12:58 2012 @@ -80,11 +80,9 @@ public class ConcurrentMessageDigest { /** - * Ensures that {@link #digest(String, byte[])} and - * {@link #digestAsHex(String, byte[])} will support the specified + * Ensures that {@link #digest(String, byte[])} will support the specified * algorithm. This method must be called and return successfully - * before using {@link #digest(String, byte[])} or - * {@link #digestAsHex(String, byte[])}. + * before using {@link #digest(String, byte[])}. * * @param algorithm The message digest algorithm to be supported * Modified: tomcat/trunk/java/org/apache/el/MethodExpressionImpl.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/el/MethodExpressionImpl.java?rev=1379213&r1=1379212&r2=1379213&view=diff == --- tomcat/trunk/java/org/apache/el/MethodExpressionImpl.java (original) +++ tomcat/trunk/java/org/apache/el/MethodExpressionImpl.java Thu Aug 30 23:12:58 2012 @@ -206,10 +206,6 @@ public final class MethodExpressionImpl return n.getMethodInfo(ctx, this.paramTypes); } -/** - * @return - * @throws ELException - */ private Node getNode() throws ELException { if (this.node == null) { this.node = ExpressionBuilder.createNode(this.expr); Modified: tomcat/trunk/java/org/apache/el/ValueExpressionImpl.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/el/ValueExpressionImpl.java?rev=1379213&r1=1379212&r2=1379213&view=diff == --- tomcat/trunk/java/org/apache/el/ValueExpressionImpl.java (original) +++ tomcat/trunk/java/org/apache/el/ValueExpressionImpl.java Thu Aug 30 23:12:58 2012 @@ -152,10 +152,6 @@ public final class ValueExpressionImpl e return this.expr; } -/** - * @return - * @throws ELException - */ private Node getNode() throws ELException { if (this.node == null) { this.node = ExpressionBuilder.createNode(this.expr); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1379214 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/manager/ java/org/apache/catalina/tribes/group/ java/org/apache/catalina/util/ java/org/apache/el/
Author: markt Date: Thu Aug 30 23:13:32 2012 New Revision: 1379214 URL: http://svn.apache.org/viewvc?rev=1379214&view=rev Log: Javadoc fixes Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/java/org/apache/catalina/manager/ManagerServlet.java tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/group/RpcChannel.java tomcat/tc7.0.x/trunk/java/org/apache/catalina/util/ConcurrentMessageDigest.java tomcat/tc7.0.x/trunk/java/org/apache/el/MethodExpressionImpl.java tomcat/tc7.0.x/trunk/java/org/apache/el/ValueExpressionImpl.java Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1379213 Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/manager/ManagerServlet.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/manager/ManagerServlet.java?rev=1379214&r1=1379213&r2=1379214&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/manager/ManagerServlet.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/manager/ManagerServlet.java Thu Aug 30 23:13:32 2012 @@ -1197,7 +1197,7 @@ public class ManagerServlet extends Http * @param cn Name of the application to list session information for * * @deprecated Use {@link #sessions(PrintWriter, ContextName, int, - * StringManager) + * StringManager)} */ @Deprecated protected void sessions(PrintWriter writer, ContextName cn, Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/group/RpcChannel.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/group/RpcChannel.java?rev=1379214&r1=1379213&r2=1379214&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/group/RpcChannel.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/group/RpcChannel.java Thu Aug 30 23:13:32 2012 @@ -237,7 +237,7 @@ public class RpcChannel implements Chann public long timeout; /** - * @deprecated Use {@link RpcCollector#RpcCollector(RpcCollectorKey, + * @deprecated Use {@link RpcCollector(RpcCollectorKey, * int, int)} */ @Deprecated Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/util/ConcurrentMessageDigest.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/util/ConcurrentMessageDigest.java?rev=1379214&r1=1379213&r2=1379214&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/util/ConcurrentMessageDigest.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/util/ConcurrentMessageDigest.java Thu Aug 30 23:13:32 2012 @@ -80,11 +80,9 @@ public class ConcurrentMessageDigest { /** - * Ensures that {@link #digest(String, byte[])} and - * {@link #digestAsHex(String, byte[])} will support the specified + * Ensures that {@link #digest(String, byte[])} will support the specified * algorithm. This method must be called and return successfully - * before using {@link #digest(String, byte[])} or - * {@link #digestAsHex(String, byte[])}. + * before using {@link #digest(String, byte[])}. * * @param algorithm The message digest algorithm to be supported * Modified: tomcat/tc7.0.x/trunk/java/org/apache/el/MethodExpressionImpl.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/el/MethodExpressionImpl.java?rev=1379214&r1=1379213&r2=1379214&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/el/MethodExpressionImpl.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/el/MethodExpressionImpl.java Thu Aug 30 23:13:32 2012 @@ -206,10 +206,6 @@ public final class MethodExpressionImpl return n.getMethodInfo(ctx, this.paramTypes); } -/** - * @return - * @throws ELException - */ private Node getNode() throws ELException { if (this.node == null) { this.node = ExpressionBuilder.createNode(this.expr); Modified: tomcat/tc7.0.x/trunk/java/org/apache/el/ValueExpressionImpl.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/el/ValueExpressionImpl.java?rev=1379214&r1=1379213&r2=1379214&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/el/ValueExpressionImpl.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/el/ValueExpressionImpl.java Thu Aug 30 23:13:32 2012 @@ -152,10 +152,6 @@ public final class ValueExpressionImpl e return this.expr; } -/** - * @return -
svn commit: r1379228 - /tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/group/RpcChannel.java
Author: markt Date: Thu Aug 30 23:39:05 2012 New Revision: 1379228 URL: http://svn.apache.org/viewvc?rev=1379228&view=rev Log: Javadoc fixes. Inner classes. Grr. Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/group/RpcChannel.java Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/group/RpcChannel.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/group/RpcChannel.java?rev=1379228&r1=1379227&r2=1379228&view=diff == --- tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/group/RpcChannel.java (original) +++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/tribes/group/RpcChannel.java Thu Aug 30 23:39:05 2012 @@ -237,8 +237,9 @@ public class RpcChannel implements Chann public long timeout; /** - * @deprecated Use {@link RpcCollector(RpcCollectorKey, - * int, int)} + * @deprecated Use {@link + * RpcChannel.RpcCollector#RpcChannel.RpcCollector( + * RpcChannel.RpcCollectorKey, int, int)} */ @Deprecated public RpcCollector(RpcCollectorKey key, int options, int destcnt, @@ -327,4 +328,4 @@ public class RpcChannel implements Chann } -} \ No newline at end of file +} - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1379316 - /tomcat/maven-plugin/trunk/src/site/site.xml
Author: olamy Date: Fri Aug 31 06:54:29 2012 New Revision: 1379316 URL: http://svn.apache.org/viewvc?rev=1379316&view=rev Log: use fluido released version Modified: tomcat/maven-plugin/trunk/src/site/site.xml Modified: tomcat/maven-plugin/trunk/src/site/site.xml URL: http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/src/site/site.xml?rev=1379316&r1=1379315&r2=1379316&view=diff == --- tomcat/maven-plugin/trunk/src/site/site.xml (original) +++ tomcat/maven-plugin/trunk/src/site/site.xml Fri Aug 31 06:54:29 2012 @@ -30,7 +30,7 @@ org.apache.maven.skins maven-fluido-skin -1.3.0-SNAPSHOT +1.3.0 - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org