svn commit: r1476930 - in /tomcat/tc6.0.x/trunk: STATUS.txt java/org/apache/catalina/security/SecurityUtil.java

2013-04-29 Thread jfclere
Author: jfclere
Date: Mon Apr 29 09:07:33 2013
New Revision: 1476930

URL: http://svn.apache.org/r1476930
Log:
commit accepted patch.

Modified:
tomcat/tc6.0.x/trunk/STATUS.txt
tomcat/tc6.0.x/trunk/java/org/apache/catalina/security/SecurityUtil.java

Modified: tomcat/tc6.0.x/trunk/STATUS.txt
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1476930&r1=1476929&r2=1476930&view=diff
==
--- tomcat/tc6.0.x/trunk/STATUS.txt (original)
+++ tomcat/tc6.0.x/trunk/STATUS.txt Mon Apr 29 09:07:33 2013
@@ -31,13 +31,6 @@ PATCHES ACCEPTED TO BACKPORT:
 PATCHES PROPOSED TO BACKPORT:
   [ New proposals should be added at the end of the list ]
 
-* Improve method cache handling in SecurityUtil class.
-  Add caching for Comet methods and simplify cache lookup code.
-  It is backport of r728776 (BZ 46304) and r1429360
-  
http://people.apache.org/~kkolinko/patches/2013-01-05_tc6_46304_SecurityUtil.patch
-  +1: kkolinko, schultz, markt
-  -1:
-
 * Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=54615
   Update to Eclipse JDT Compiler 4.2.2
   http://people.apache.org/~kkolinko/patches/2013-03-26_tc6_eclipse422.patch

Modified: 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/security/SecurityUtil.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/security/SecurityUtil.java?rev=1476930&r1=1476929&r2=1476930&view=diff
==
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/security/SecurityUtil.java 
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/security/SecurityUtil.java 
Mon Apr 29 09:07:33 2013
@@ -39,8 +39,8 @@ import org.apache.catalina.util.StringMa
 /**
  * This utility class associates a Subject to the current 
  * AccessControlContext. When a SecurityManager is
- * used, * the container will always associate the called thread with an 
- * AccessControlContext * containing only the principal of the requested
+ * used, the container will always associate the called thread with an 
+ * AccessControlContext containing only the principal of the requested
  * Servlet/Filter.
  *
  * This class uses reflection to invoke the invoke methods.
@@ -49,16 +49,23 @@ import org.apache.catalina.util.StringMa
  */
 
 public final class SecurityUtil{
-
-private final static int INIT= 0;
-private final static int SERVICE = 1;
-private final static int DOFILTER = 1;
-private final static int DESTROY = 2;
-
-private final static String INIT_METHOD = "init";
-private final static String DOFILTER_METHOD = "doFilter";
-private final static String SERVICE_METHOD = "service";
-private final static String DESTROY_METHOD = "destroy";
+
+// Note that indexes overlap.
+// A Servlet uses "init", "service", "event", "destroy".
+// A Filter uses "doFilter", "doFilterEvent", "destroy".
+private static final int INIT= 0;
+private static final int SERVICE = 1;
+private static final int DOFILTER = 1;
+private static final int EVENT = 2;
+private static final int DOFILTEREVENT = 2;
+private static final int DESTROY = 3;
+
+private static final String INIT_METHOD = "init";
+private static final String DOFILTER_METHOD = "doFilter";
+private static final String SERVICE_METHOD = "service";
+private static final String EVENT_METHOD = "event";
+private static final String DOFILTEREVENT_METHOD = "doFilterEvent";
+private static final String DESTROY_METHOD = "destroy";

 /**
  * Cache every object for which we are creating method on it.
@@ -335,19 +342,19 @@ public final class SecurityUtil{
  */
 private static Method findMethod(Method[] methodsCache,
  String methodName){
-if (methodName.equalsIgnoreCase(INIT_METHOD) 
-&& methodsCache[INIT] != null){
+if (methodName.equals(INIT_METHOD)){
 return methodsCache[INIT];
-} else if (methodName.equalsIgnoreCase(DESTROY_METHOD) 
-&& methodsCache[DESTROY] != null){
-return methodsCache[DESTROY];
-} else if (methodName.equalsIgnoreCase(SERVICE_METHOD) 
-&& methodsCache[SERVICE] != null){
+} else if (methodName.equals(DESTROY_METHOD)){
+return methodsCache[DESTROY];
+} else if (methodName.equals(SERVICE_METHOD)){
 return methodsCache[SERVICE];
-} else if (methodName.equalsIgnoreCase(DOFILTER_METHOD) 
-&& methodsCache[DOFILTER] != null){
-return methodsCache[DOFILTER];  
-} 
+} else if (methodName.equals(DOFILTER_METHOD)){
+return methodsCache[DOFILTER];
+} else if (methodName.equals(EVENT_METHOD)){
+return methodsCache[EVENT];
+} else if (methodName.equals(DOFILTEREVENT_METHOD)){
+   

svn commit: r1476932 - in /tomcat/tc6.0.x/trunk: ./ java/org/apache/catalina/startup/ java/org/apache/jasper/compiler/ res/maven/ webapps/docs/

2013-04-29 Thread jfclere
Author: jfclere
Date: Mon Apr 29 09:19:27 2013
New Revision: 1476932

URL: http://svn.apache.org/r1476932
Log:
commit accepted patch for BZ 54615.

Modified:
tomcat/tc6.0.x/trunk/STATUS.txt
tomcat/tc6.0.x/trunk/build.properties.default
tomcat/tc6.0.x/trunk/eclipse.classpath
tomcat/tc6.0.x/trunk/java/org/apache/catalina/startup/TldConfig.java
tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/JDTCompiler.java
tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java
tomcat/tc6.0.x/trunk/res/maven/jasper.pom
tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml

Modified: tomcat/tc6.0.x/trunk/STATUS.txt
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1476932&r1=1476931&r2=1476932&view=diff
==
--- tomcat/tc6.0.x/trunk/STATUS.txt (original)
+++ tomcat/tc6.0.x/trunk/STATUS.txt Mon Apr 29 09:19:27 2013
@@ -31,12 +31,6 @@ PATCHES ACCEPTED TO BACKPORT:
 PATCHES PROPOSED TO BACKPORT:
   [ New proposals should be added at the end of the list ]
 
-* Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=54615
-  Update to Eclipse JDT Compiler 4.2.2
-  http://people.apache.org/~kkolinko/patches/2013-03-26_tc6_eclipse422.patch
-  +1: kkolinko, rjung, markt
-  -1: 
-
 PATCHES/ISSUES THAT ARE STALLED
 
 * Backport JSP unloading patch (BZ48358).

Modified: tomcat/tc6.0.x/trunk/build.properties.default
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/build.properties.default?rev=1476932&r1=1476931&r2=1476932&view=diff
==
--- tomcat/tc6.0.x/trunk/build.properties.default (original)
+++ tomcat/tc6.0.x/trunk/build.properties.default Mon Apr 29 09:19:27 2013
@@ -107,14 +107,14 @@ wsdl4j-lib.jar=${wsdl4j-lib.home}/wsdl4j
 # - noTldJars in o.a.j.compiler.TldLocationsCache
 # - res/maven/jasper.pom
 # - eclipse.classpath
-jdt.version=3.7.2
-jdt.release=R-3.7.2-201202080800
+jdt.version=4.2.2
+jdt.release=R-4.2.2-201302041200
 jdt.home=${base.path}/ecj-${jdt.version}
 jdt.jar=${jdt.home}/ecj-${jdt.version}.jar
 # The download will be moved to the archive area eventually. We are taking 
care of that in advance.
 # Note older JARs were called ecj.jar. Newer JARs are called 
ecj-${jdt.version}.jar
-jdt.loc.1=http://archive.eclipse.org/eclipse/downloads/drops/${jdt.release}/ecj-${jdt.version}.jar
-jdt.loc.2=http://download.eclipse.org/eclipse/downloads/drops/${jdt.release}/ecj-${jdt.version}.jar
+jdt.loc.1=http://archive.eclipse.org/eclipse/downloads/drops4/${jdt.release}/ecj-${jdt.version}.jar
+jdt.loc.2=http://download.eclipse.org/eclipse/downloads/drops4/${jdt.release}/ecj-${jdt.version}.jar
 
 # - Tomcat native library -
 tomcat-native.version=1.1.27

Modified: tomcat/tc6.0.x/trunk/eclipse.classpath
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/eclipse.classpath?rev=1476932&r1=1476931&r2=1476932&view=diff
==
--- tomcat/tc6.0.x/trunk/eclipse.classpath (original)
+++ tomcat/tc6.0.x/trunk/eclipse.classpath Mon Apr 29 09:19:27 2013
@@ -20,7 +20,7 @@



-   
+   




Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/startup/TldConfig.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/startup/TldConfig.java?rev=1476932&r1=1476931&r2=1476932&view=diff
==
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/startup/TldConfig.java 
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/startup/TldConfig.java Mon 
Apr 29 09:19:27 2013
@@ -89,6 +89,8 @@ public final class TldConfig  implements
 noTldJars.add("ecj-3.7.jar");
 noTldJars.add("ecj-3.7.1.jar");
 noTldJars.add("ecj-3.7.2.jar");
+noTldJars.add("ecj-4.2.1.jar");
+noTldJars.add("ecj-4.2.2.jar");
 noTldJars.add("jsp-api.jar");
 noTldJars.add("servlet-api.jar");
 noTldJars.add("tomcat-coyote.jar");

Modified: tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/JDTCompiler.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/JDTCompiler.java?rev=1476932&r1=1476931&r2=1476932&view=diff
==
--- tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/JDTCompiler.java 
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/jasper/compiler/JDTCompiler.java Mon 
Apr 29 09:19:27 2013
@@ -147,6 +147,10 @@ public class JDTCompiler extends org.apa
 }
 return result;
 }
+
+public boolean ignoreOptionalProblems() {
+return false;
+}
 }
 
 final INameEnvironment env = new INameEnvironment() {

Modified: 
tomcat/tc6.0.x/trunk/java/org/apache/j

svn commit: r1476935 - /tomcat/tc6.0.x/trunk/build.properties.default

2013-04-29 Thread jfclere
Author: jfclere
Date: Mon Apr 29 09:26:13 2013
New Revision: 1476935

URL: http://svn.apache.org/r1476935
Log:
Ready for tag 6.0.37

Modified:
tomcat/tc6.0.x/trunk/build.properties.default

Modified: tomcat/tc6.0.x/trunk/build.properties.default
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/build.properties.default?rev=1476935&r1=1476934&r2=1476935&view=diff
==
--- tomcat/tc6.0.x/trunk/build.properties.default (original)
+++ tomcat/tc6.0.x/trunk/build.properties.default Mon Apr 29 09:26:13 2013
@@ -28,8 +28,9 @@
 version.major=6
 version.minor=0
 version.build=0
-version.patch=0
+version.patch=37
 version.suffix=-dev
+version=6.0.37
 
 # - Default Base Path for Dependent Packages -
 # Please note this path must be absolute, not relative,



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



svn commit: r1476938 - /tomcat/tc6.0.x/tags/TOMCAT_6_0_37/

2013-04-29 Thread jfclere
Author: jfclere
Date: Mon Apr 29 09:32:30 2013
New Revision: 1476938

URL: http://svn.apache.org/r1476938
Log:
tag for 6.0.37

Added:
tomcat/tc6.0.x/tags/TOMCAT_6_0_37/   (props changed)
  - copied from r1476937, tomcat/tc6.0.x/trunk/

Propchange: tomcat/tc6.0.x/tags/TOMCAT_6_0_37/
--
--- svn:ignore (added)
+++ svn:ignore Mon Apr 29 09:32:30 2013
@@ -0,0 +1,7 @@
+.classpath
+.project
+.settings
+output
+build.properties
+work
+logs

Propchange: tomcat/tc6.0.x/tags/TOMCAT_6_0_37/
--
--- svn:mergeinfo (added)
+++ svn:mergeinfo Mon Apr 29 09:32:30 2013
@@ -0,0 +1,4 @@
+/tomcat/tc6.0.x/branches/tomcat6-testing:1408376,1444289
+/tomcat/tc6.0.x/trunk:1224802
+/tomcat/tc7.0.x/trunk:1224802,1243045,1298635,1304471,1311997,1312007,1331772,1333164,1333176,1354866,1371298,1371302,1371620,1402110,1413553,1413557,1413563,1430083,1438415,1447013
+/tomcat/trunk:601180,606992,612607,630314,640888,652744,653247,666232,673796,673820,677910,683969,683982,684001,684081,684234,684269-684270,685177,687503,687645,689402,690781,691392,691805,692748,693378,694992,695053,695311,696780,696782,698012,698227,698236,698613,699427,699634,701355,709294,709811,709816,710063,710066,710125,710205,711126,711600,712461,712467,713953,714002,718360,719119,719124,719602,719626,719628,720046,720069,721040,721286,721708,721886,723404,723738,726052,727303,728032,728768,728947,729057,729567,729569,729571,729681,729809,729815,729934,730250,730590,731651,732859,732863,734734,740675,740684,742677,742697,742714,744160,744238,746321,746384,746425,747834,747863,748344,750258,750291,750921,751286-751287,751289,751295,752323,753039,757335,757774,758249,758365,758596,758616,758664,759074,761601,762868,762929,762936-762937,763166,763183,763193,763228,763262,763298,763302,763325,763599,763611,763654,763681,763706,764985,764997,765662,768335,769979,770716,77
 
0809,770876,772872,776921,776924,776935,776945,777464,777466,777576,777625,778379,778523-778524,781528,781779,782145,782791,783316,783696,783724,783756,783762,783766,783863,783934,784453,784602,784614,785381,785688,785768,785859,786468,786487,786490,786496,786667,787627,787770,787985,789389,790405,791041,791184,791194,791224,791243,791326,791328,791789,792740,793372,793757,793882,793981,794082,794673,794822,795043,795152,795210,795457,795466,797168,797425,797596,797607,802727,802940,804462,804544,804734,805153,809131,809603,810916,810977,812125,812137,812432,813001,813013,813866,814180,814708,814876,815972,816252,817442,817822,819339,819361,820110,820132,820874,820954,821397,828196,828201,828210,828225,828759,830378-830379,830999,831106,831774,831785,831828,831850,831860,832214,832218,833121,833545,834047,835036,835336,836405,881396,881412,883130,883134,883146,883165,883177,883362,883565,884341,885038,885231,885241,885260,885901,885991,886019,888072,889363,889606,889716,8901
 
39,890265,890349-890350,890417,891185-891187,891583,892198,892341,892415,892464,892555,892812,892814,892817,892843,892887,893321,893493,894580,894586,894805,894831,895013,895045,895057,895191,895392,895703,896370,896384,897380-897381,897776,898126,898256,898468,898527,898555,898558,898718,898836,898906,899284,899348,899420,899653,899769-899770,899783,899788,899792,899916,899918-899919,899935,899949,903916,905020,905151,905722,905728,905735,907311,907513,907538,907652,907819,907825,907864,908002,908721,908754,908759,909097,909206,909212,909525,909636,909869,909875,909887,910266,910370,910442,910471,910485,910974,915226,915737,915861,916097,916141,916157,916170,917598,917633,918093,918489,918594,918684,918787,918792,918799,918803,918885,919851,919914,920025,920055,920298,920449,920596,920824,920840,921444,922010,926716,927062,927621,928482,928695,928732,928798,931709,932357,932967,935105,935983,939491,939551,940064,941356,941463,943112,944409,944416,945231,945808,945835,945841
 
,946686,948057,950164,950596,950614,950851,950905,951615,953434,954435,955648,955655,956832,957130,957830,958192,960701,961948,962865,962872,962881,962900,963106,963865,963868,964614,966177-966178,966292,966692,966863,981815,988448,991837,993042,1001955,1002185,1002263,1002274,1002349,1002359,1002362,1002481,1002514,1003461,1003481,1003488,1003556,1003572,1003581,1003861,1004393,1004409,1004415,1004868-1004869,1004912,1005452,1005467,1005647,1005802,1022120,1022134,1022323,1022415,1022606,1022623,1024224,1024251,1026042,1026784,1026912,1026920,1029767,1033415,1033448,1033842,1033897,1037715,1037794,1037887,1037924,1038041,1041892,1042022,1042029,1042447,1042452,1042494,1043983,1044944,1044987,1049264,1050249,1055055,1055236,1055458,1055975,1056264,1056828,1056889,1059881,1060486,1061412,1061442,1061446,1061503,1062398,1064652,1066244,1066772,1067039,1067139,1069824,1070139,1070420,1070609,1072042,1073393,1075458,1076212,1078409,1078412,1079801,1081334,1088179,1088460,1090022
 
,1094069,1094089,1095138,1

[VOTE] Release build 6.0.37

2013-04-29 Thread jean-frederic clere

The candidates binaries are available here:
http://people.apache.org/~jfclere/tomcat-6/v6.0.37/

According to the release process, the 6.0.37 build corresponding to the
tag TOMCAT_6_0_37 is:
[ ] Broken
[ ] Alpha
[ ] Beta
[ ] Stable

Cheers

Jean-Frederic

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



svn commit: r1476959 - /tomcat/trunk/java/org/apache/tomcat/util/Diagnostics.java

2013-04-29 Thread rjung
Author: rjung
Date: Mon Apr 29 10:58:01 2013
New Revision: 1476959

URL: http://svn.apache.org/r1476959
Log:
First draft of Diagnostics class.

Added:
tomcat/trunk/java/org/apache/tomcat/util/Diagnostics.java   (with props)

Added: tomcat/trunk/java/org/apache/tomcat/util/Diagnostics.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/Diagnostics.java?rev=1476959&view=auto
==
--- tomcat/trunk/java/org/apache/tomcat/util/Diagnostics.java (added)
+++ tomcat/trunk/java/org/apache/tomcat/util/Diagnostics.java Mon Apr 29 
10:58:01 2013
@@ -0,0 +1,429 @@
+/*
+ * 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.
+ */
+
+// XXX TODO: Source code line length
+// XXX TODO: StringManager
+// XXX TODO: Sort logger names and system property keys in getVMInfo()
+// XXX TODO: Add memory and GC MBeans to getVMInfo()
+// XXX Optional: Wire setters to the manager:
+//   log level setter, verbose class loading setter,
+//   and threadMXBean setters.
+
+package org.apache.tomcat.util;
+
+import java.lang.management.ClassLoadingMXBean;
+import java.lang.management.CompilationMXBean;
+import java.lang.management.GarbageCollectorMXBean;
+import java.lang.management.LockInfo;
+import java.lang.management.ManagementFactory;
+import java.lang.management.MemoryMXBean;
+import java.lang.management.MemoryManagerMXBean;
+import java.lang.management.MemoryPoolMXBean;
+import java.lang.management.MonitorInfo;
+import java.lang.management.OperatingSystemMXBean;
+import java.lang.management.RuntimeMXBean;
+import java.lang.management.ThreadInfo;
+import java.lang.management.ThreadMXBean;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.logging.LogManager;
+import java.util.logging.LoggingMXBean;
+
+public class Diagnostics {
+
+private static final String INDENT1 = "  ";
+private static final String INDENT2 = "\t";
+private static final String INDENT3 = "   ";
+private static final String CRLF = "\r\n";
+private static final String vminfoSystemProperty = "java.vm.info";
+
+private static final org.apache.juli.logging.Log log=
+org.apache.juli.logging.LogFactory.getLog(Diagnostics.class);
+
+private static final SimpleDateFormat timeformat =
+new SimpleDateFormat("-MM-DD HH:mm:ss.SSS");
+
+/* Some platform MBeans */
+private static final ClassLoadingMXBean classLoadingMXBean =
+ManagementFactory.getClassLoadingMXBean();
+private static final CompilationMXBean compilationMXBean =
+ManagementFactory.getCompilationMXBean();
+private static final OperatingSystemMXBean operatingSystemMXBean =
+ManagementFactory.getOperatingSystemMXBean();
+private static final RuntimeMXBean runtimeMXBean =
+ManagementFactory.getRuntimeMXBean();
+private static final ThreadMXBean threadMXBean =
+ManagementFactory.getThreadMXBean();
+
+// XXX Not sure whether the following MBeans should better
+// be retrieved on demand, i.e. whether they can change
+// dynamically in the MBeanServer.
+private static final LoggingMXBean loggingMXBean =
+LogManager.getLoggingMXBean();
+private static final MemoryMXBean memoryMXBeans =
+ManagementFactory.getMemoryMXBean();
+private static final List garbageCollectorMXBean =
+ManagementFactory.getGarbageCollectorMXBeans();
+private static final List memoryManagerMXBeans =
+ManagementFactory.getMemoryManagerMXBeans();
+private static final List memoryPoolMXBeans =
+ManagementFactory.getMemoryPoolMXBeans();
+
+/**
+ * Check whether thread contention monitoring is enabled.
+ *
+ * @return true if thread contention monitoring is enabled
+ */
+public static boolean isThreadContentionMonitoringEnabled() {
+return threadMXBean.isThreadContentionMonitoringEnabled();
+}
+
+/**
+ * Enable or disable thread contention monitoring via the ThreadMxMXBean.
+ *
+ * @param enable whether to enable thread contention monitoring
+ */
+public static void setThreadConte

svn commit: r1476960 - /tomcat/trunk/java/org/apache/catalina/manager/ManagerServlet.java

2013-04-29 Thread rjung
Author: rjung
Date: Mon Apr 29 10:59:33 2013
New Revision: 1476960

URL: http://svn.apache.org/r1476960
Log:
Wire Diagnostics to manager webapp text interface.
Not yet documented.
Wiring for html interface still missing.

Modified:
tomcat/trunk/java/org/apache/catalina/manager/ManagerServlet.java

Modified: tomcat/trunk/java/org/apache/catalina/manager/ManagerServlet.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/manager/ManagerServlet.java?rev=1476960&r1=1476959&r2=1476960&view=diff
==
--- tomcat/trunk/java/org/apache/catalina/manager/ManagerServlet.java (original)
+++ tomcat/trunk/java/org/apache/catalina/manager/ManagerServlet.java Mon Apr 
29 10:59:33 2013
@@ -57,6 +57,7 @@ import org.apache.catalina.core.Standard
 import org.apache.catalina.util.ContextName;
 import org.apache.catalina.util.RequestUtil;
 import org.apache.catalina.util.ServerInfo;
+import org.apache.tomcat.util.Diagnostics;
 import org.apache.tomcat.util.ExceptionUtils;
 import org.apache.tomcat.util.modeler.Registry;
 import org.apache.tomcat.util.res.StringManager;
@@ -366,6 +367,10 @@ public class ManagerServlet extends Http
 undeploy(writer, cn, smClient);
 } else if (command.equals("/findleaks")) {
 findleaks(statusLine, writer, smClient);
+} else if (command.equals("/vminfo")) {
+vmInfo(writer, smClient);
+} else if (command.equals("/threaddump")) {
+threadDump(writer, smClient);
 } else if (command.equals("/sslConnectorCiphers")) {
 sslConnectorCiphers(writer);
 } else {
@@ -532,6 +537,26 @@ public class ManagerServlet extends Http
 }
 
 
+/**
+ *
+ * Write some VM info
+ *
+ * @param writer
+ */
+protected void vmInfo(PrintWriter writer, StringManager smClient) {
+writer.print(Diagnostics.getVMInfo());
+}
+
+/**
+ *
+ * Write a JVM thread dump
+ *
+ * @param writer
+ */
+protected void threadDump(PrintWriter writer, StringManager smClient) {
+writer.print(Diagnostics.getThreadDump());
+}
+
 protected void sslConnectorCiphers(PrintWriter writer) {
 writer.println("OK - Connector / SSL Cipher information");
 Map> connectorCiphers = getConnectorCiphers();



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



Re: svn commit: r1476761 - in /tomcat/trunk/java/org/apache/catalina/core: LocalStrings.properties StandardWrapper.java

2013-04-29 Thread Rainer Jung
On 28.04.2013 20:05, Mark Thomas wrote:
> On 28/04/2013 15:44, Rainer Jung wrote:
>> On 28.04.2013 15:28, Mark Thomas wrote:

>> I uploaded a class that has a static getDump() method which returns a
>> thread dump formatted very similar to the usual "kipp -QUIT" one:
>>
>> http://people.apache.org/~rjung/ThreadDump.java
>>
>> It retrieves the ThreadMXBean from the platform MBean server, gets the
>> ThreadInfo for each thread and formats the data. HTH.
>>
>> I had to strip down some longer code I had and only did a very quick
>> test but it seemed to work for me. It assumes Java 6 or newer.
> 
> I'm thinking o.a.tomcat.util.Diagnostics and add an option to call it
> from the manager. It is then available to any code that wants to use it.

I cleand it up and added it to trunk. I wired it to the text/script
manager (/text/vminfo and /text/threaddump). Not documented yet and some
XXX Todos in the file.

Regards,

Rainer

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



Re: [VOTE] Release build 6.0.37

2013-04-29 Thread Konstantin Kolinko
2013/4/29 jean-frederic clere :
> The candidates binaries are available here:
> http://people.apache.org/~jfclere/tomcat-6/v6.0.37/
>

Can you prepare and stage Maven artifacts as well?

Best regards,
Konstantin Kolinko

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



Re: [VOTE] Release build 6.0.37

2013-04-29 Thread jean-frederic clere

On 04/29/2013 01:04 PM, Konstantin Kolinko wrote:

2013/4/29 jean-frederic clere :

The candidates binaries are available here:
http://people.apache.org/~jfclere/tomcat-6/v6.0.37/



Can you prepare and stage Maven artifacts as well?


the artifacts should be in the staging repos (it looks OK in nexus).

Cheers

Jean-Frederic

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



svn commit: r1476968 - /tomcat/tc6.0.x/trunk/build.properties.default

2013-04-29 Thread jfclere
Author: jfclere
Date: Mon Apr 29 11:19:39 2013
New Revision: 1476968

URL: http://svn.apache.org/r1476968
Log:
Rollback r1476935 (it is in the tag now).

Modified:
tomcat/tc6.0.x/trunk/build.properties.default

Modified: tomcat/tc6.0.x/trunk/build.properties.default
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/build.properties.default?rev=1476968&r1=1476967&r2=1476968&view=diff
==
--- tomcat/tc6.0.x/trunk/build.properties.default (original)
+++ tomcat/tc6.0.x/trunk/build.properties.default Mon Apr 29 11:19:39 2013
@@ -28,9 +28,8 @@
 version.major=6
 version.minor=0
 version.build=0
-version.patch=37
+version.patch=0
 version.suffix=-dev
-version=6.0.37
 
 # - Default Base Path for Dependent Packages -
 # Please note this path must be absolute, not relative,



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



svn commit: r1476972 - in /tomcat/trunk/java/org/apache/tomcat/util/net: AprEndpoint.java NioEndpoint.java SocketWrapper.java

2013-04-29 Thread markt
Author: markt
Date: Mon Apr 29 11:32:58 2013
New Revision: 1476972

URL: http://svn.apache.org/r1476972
Log:
Explicitly restrict HTTP upgraded connections to a max of one thread for read 
and another for write.

Modified:
tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java
tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapper.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1476972&r1=1476971&r2=1476972&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Mon Apr 29 
11:32:58 2013
@@ -2172,8 +2172,10 @@ public class AprEndpoint extends Abstrac
 // Upgraded connections need to allow multiple threads to access 
the
 // connection at the same time to enable blocking IO to be used 
when
 // Servlet 3.1 NIO has been configured
-if (socket.isUpgraded()) {
-doRun();
+if (socket.isUpgraded() && SocketStatus.OPEN_WRITE == status) {
+synchronized (socket.getWriteThreadLock()) {
+doRun();
+}
 } else {
 synchronized (socket) {
 doRun();

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java?rev=1476972&r1=1476971&r2=1476972&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Mon Apr 29 
11:32:58 2013
@@ -1533,8 +1533,11 @@ public class NioEndpoint extends Abstrac
 // Upgraded connections need to allow multiple threads to access 
the
 // connection at the same time to enable blocking IO to be used 
when
 // NIO has been configured
-if (ka != null && ka.isUpgraded()) {
-doRun(key, ka);
+if (ka != null && ka.isUpgraded() &&
+SocketStatus.OPEN_WRITE == status) {
+synchronized (ka.getWriteThreadLock()) {
+doRun(key, ka);
+}
 } else {
 synchronized (socket) {
 doRun(key, ka);

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapper.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapper.java?rev=1476972&r1=1476971&r2=1476972&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapper.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapper.java Mon Apr 29 
11:32:58 2013
@@ -49,6 +49,16 @@ public class SocketWrapper {
 private final Lock blockingStatusReadLock;
 private final WriteLock blockingStatusWriteLock;
 
+/*
+ * In normal servlet processing only one thread is allowed to access the
+ * socket at a time. That is controlled by a lock on the socket for both
+ * read and writes). When HTTP upgrade is used, one read thread and one
+ * write thread are allowed to access the socket concurrently. In this case
+ * the lock on the socket is used for reads and the lock below is used for
+ * writes.
+ */
+private final Object writeThreadLock = new Object();
+public Object getWriteThreadLock() { return writeThreadLock; }
 
 public SocketWrapper(E socket) {
 this.socket = socket;



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



svn commit: r1476996 - in /tomcat/trunk/java/org/apache/tomcat/websocket: LocalStrings.properties WsFrameBase.java

2013-04-29 Thread markt
Author: markt
Date: Mon Apr 29 12:28:00 2013
New Revision: 1476996

URL: http://svn.apache.org/r1476996
Log:
Fix some ISEs that were appearing in the logs.

Modified:
tomcat/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties
tomcat/trunk/java/org/apache/tomcat/websocket/WsFrameBase.java

Modified: tomcat/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties?rev=1476996&r1=1476995&r2=1476996&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/LocalStrings.properties Mon 
Apr 29 12:28:00 2013
@@ -33,6 +33,7 @@ wsFrame.invalidUtf8Close=A WebSocket clo
 wsFrame.noContinuation=A new message was started when a continuation frame was 
expected
 wsFrame.notMasked=The client frame was not masked but all client frames must 
be masked
 wsFrame.oneByteCloseCode=The client sent a close frame with a single byte 
payload which is not valid
+wsFrame.sessionClosed=The client data can not be processed because the session 
has already been closed
 wsFrame.textMessageTooBig=The decoded text message was too big for the output 
buffer and the endpoint does not support partial messages
 wsFrame.wrongRsv=The client frame set the reserved bits to [{0}] which was not 
supported by this endpoint
 

Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsFrameBase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsFrameBase.java?rev=1476996&r1=1476995&r2=1476996&view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/websocket/WsFrameBase.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/websocket/WsFrameBase.java Mon Apr 29 
12:28:00 2013
@@ -159,25 +159,32 @@ public abstract class WsFrameBase {
 sm.getString("wsFrame.noContinuation")));
 }
 } else {
-if (opCode == Constants.OPCODE_BINARY) {
-// New binary message
-textMessage = false;
-int size = wsSession.getMaxBinaryMessageBufferSize();
-if (size != messageBufferBinary.capacity()) {
-messageBufferBinary = ByteBuffer.allocate(size);
-}
-} else if (opCode == Constants.OPCODE_TEXT) {
-// New text message
-textMessage = true;
-int size = wsSession.getMaxTextMessageBufferSize();
-if (size != messageBufferText.capacity()) {
-messageBufferText = CharBuffer.allocate(size);
+try {
+if (opCode == Constants.OPCODE_BINARY) {
+// New binary message
+textMessage = false;
+int size = wsSession.getMaxBinaryMessageBufferSize();
+if (size != messageBufferBinary.capacity()) {
+messageBufferBinary = ByteBuffer.allocate(size);
+}
+} else if (opCode == Constants.OPCODE_TEXT) {
+// New text message
+textMessage = true;
+int size = wsSession.getMaxTextMessageBufferSize();
+if (size != messageBufferText.capacity()) {
+messageBufferText = CharBuffer.allocate(size);
+}
+} else {
+throw new WsIOException(new CloseReason(
+CloseCodes.PROTOCOL_ERROR,
+sm.getString("wsFrame.invalidOpCode",
+Integer.valueOf(opCode;
 }
-} else {
+} catch (IllegalStateException ise) {
+// Thrown if the session is already closed
 throw new WsIOException(new CloseReason(
 CloseCodes.PROTOCOL_ERROR,
-sm.getString("wsFrame.invalidOpCode",
-Integer.valueOf(opCode;
+sm.getString("wsFrame.sessionClosed")));
 }
 }
 continuationExpected = !fin;



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



Tomcat 8 Autobahn test results

2013-04-29 Thread Mark Thomas
Autobahn has had a release that includes some additional UTF-8 tests. I
have uploaded the results to [1] but the short version is that
everything still passes.

Mark


[1] http://people.apache.org/~markt/dev/autobahn-tomcat-8/r1476972/

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



svn commit: r1477051 - in /tomcat/trunk: java/org/apache/jasper/tagplugins/jstl/core/ForEach.java test/org/apache/jasper/tagplugins/jstl/core/TestForEach.java test/webapp-3.0/bug5nnnn/bug54888.jsp

2013-04-29 Thread markt
Author: markt
Date: Mon Apr 29 13:24:36 2013
New Revision: 1477051

URL: http://svn.apache.org/r1477051
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=54888
Support a csv list with the ForEach tag plugin
Based on a patch provided by Sheldon Shao

Added:
tomcat/trunk/test/webapp-3.0/bug5/bug54888.jsp   (with props)
Modified:
tomcat/trunk/java/org/apache/jasper/tagplugins/jstl/core/ForEach.java
tomcat/trunk/test/org/apache/jasper/tagplugins/jstl/core/TestForEach.java

Modified: tomcat/trunk/java/org/apache/jasper/tagplugins/jstl/core/ForEach.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/tagplugins/jstl/core/ForEach.java?rev=1477051&r1=1477050&r2=1477051&view=diff
==
--- tomcat/trunk/java/org/apache/jasper/tagplugins/jstl/core/ForEach.java 
(original)
+++ tomcat/trunk/java/org/apache/jasper/tagplugins/jstl/core/ForEach.java Mon 
Apr 29 13:24:36 2013
@@ -155,6 +155,10 @@ public final class ForEach implements Ta
 ctxt.generateJavaSource("else if (" + itemsV + " instanceof Map)");
 ctxt.generateJavaSource(iterV + "=((Map)" + itemsV + 
").entrySet().iterator();");
 
+// String
+ctxt.generateJavaSource("else if (" + itemsV + " instanceof String)");
+ctxt.generateJavaSource(iterV + "=toIterator(new 
StringTokenizer((String)" + itemsV + ", \",\"));");
+
 // Not null
 ctxt.generateJavaSource("if (" + iterV + " != null) {");
 

Modified: 
tomcat/trunk/test/org/apache/jasper/tagplugins/jstl/core/TestForEach.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/jasper/tagplugins/jstl/core/TestForEach.java?rev=1477051&r1=1477050&r2=1477051&view=diff
==
--- tomcat/trunk/test/org/apache/jasper/tagplugins/jstl/core/TestForEach.java 
(original)
+++ tomcat/trunk/test/org/apache/jasper/tagplugins/jstl/core/TestForEach.java 
Mon Apr 29 13:24:36 2013
@@ -39,4 +39,19 @@ public class TestForEach extends Abstrac
 Assert.assertTrue(body.contains("OK - 2"));
 Assert.assertFalse(body.contains("FAIL"));
 }
+
+@Test
+public void testBug54888() throws Exception {
+ByteChunk res = new ByteChunk();
+
+int rc = getUrl("http://localhost:"; + getPort() +
+"/test/bug5/bug54888.jsp", res, null);
+
+Assert.assertEquals(HttpServletResponse.SC_OK, rc);
+
+String body = res.toString();
+Assert.assertTrue(body.contains("OK - 1"));
+Assert.assertTrue(body.contains("OK - 2"));
+Assert.assertTrue(body.contains("OK - 3"));
+}
 }

Added: tomcat/trunk/test/webapp-3.0/bug5/bug54888.jsp
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/webapp-3.0/bug5/bug54888.jsp?rev=1477051&view=auto
==
--- tomcat/trunk/test/webapp-3.0/bug5/bug54888.jsp (added)
+++ tomcat/trunk/test/webapp-3.0/bug5/bug54888.jsp Mon Apr 29 13:24:36 2013
@@ -0,0 +1,27 @@
+<%--
+ 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.
+--%>
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
+ pageEncoding="ISO-8859-1" session="true"
+ import="java.io.Reader,java.io.StringReader" %>
+<%@ taglib uri="http://java.sun.com/jsp/jstl/core"; prefix="c" %>
+
+  
+
+  OK - ${foo}
+
+  
+
\ No newline at end of file

Propchange: tomcat/trunk/test/webapp-3.0/bug5/bug54888.jsp
--
svn:eol-style = native



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



svn commit: r1477052 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/jasper/tagplugins/jstl/core/ForEach.java webapps/docs/changelog.xml

2013-04-29 Thread markt
Author: markt
Date: Mon Apr 29 13:27:34 2013
New Revision: 1477052

URL: http://svn.apache.org/r1477052
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=54888
Support a csv list with the ForEach tag plugin
Patch provided by Sheldon Shao.

Modified:
tomcat/tc7.0.x/trunk/   (props changed)

tomcat/tc7.0.x/trunk/java/org/apache/jasper/tagplugins/jstl/core/ForEach.java
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

Propchange: tomcat/tc7.0.x/trunk/
--
  Merged /tomcat/trunk:r1477051

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/jasper/tagplugins/jstl/core/ForEach.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/jasper/tagplugins/jstl/core/ForEach.java?rev=1477052&r1=1477051&r2=1477052&view=diff
==
--- 
tomcat/tc7.0.x/trunk/java/org/apache/jasper/tagplugins/jstl/core/ForEach.java 
(original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/jasper/tagplugins/jstl/core/ForEach.java 
Mon Apr 29 13:27:34 2013
@@ -155,6 +155,10 @@ public final class ForEach implements Ta
 ctxt.generateJavaSource("else if (" + itemsV + " instanceof Map)");
 ctxt.generateJavaSource(iterV + "=((Map)" + itemsV + 
").entrySet().iterator();");
 
+// String
+ctxt.generateJavaSource("else if (" + itemsV + " instanceof String)");
+ctxt.generateJavaSource(iterV + "=toIterator(new 
StringTokenizer((String)" + itemsV + ", \",\"));");
+
 // Not null
 ctxt.generateJavaSource("if (" + iterV + " != null) {");
 

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=1477052&r1=1477051&r2=1477052&view=diff
==
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Mon Apr 29 13:27:34 2013
@@ -110,6 +110,10 @@
 expressions in a JSP document if EL expressions have been disabled.
 (kkolinko/markt)  
   
+  
+54888: Add support for CSV lists with the ForEach tag 
plugin.
+Patch provided by Sheldon Shao. (markt)
+  
 
   
   



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



[Bug 54888] TagPlugin "ForEach" doesn't support CSV items

2013-04-29 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54888

Mark Thomas  changed:

   What|Removed |Added

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

--- Comment #1 from Mark Thomas  ---
Thanks for the patch. Applied as-is to 7.0.x and will be included in 7.0.40
onwards. Applied with an added test case for trunk.

-- 
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 54615] Tomcat 6 doesn't build against ecj 4.x

2013-04-29 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54615

Mark Thomas  changed:

   What|Removed |Added

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

--- Comment #2 from Mark Thomas  ---
Fixed in 6.0.x and will be included in 6.0.37 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



buildbot failure in ASF Buildbot on tomcat-trunk

2013-04-29 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/4248

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

Buildslave for this Build: bb-vm_ubuntu

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

BUILD FAILED: failed compile_1

sincerely,
 -The Buildbot





buildbot failure in ASF Buildbot on tomcat-7-trunk

2013-04-29 Thread buildbot
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/1190

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] 1477052
Blamelist: markt

BUILD FAILED: failed compile_1

sincerely,
 -The Buildbot





buildbot success in ASF Buildbot on tomcat-trunk

2013-04-29 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/4249

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

Buildslave for this Build: bb-vm_ubuntu

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

Build succeeded!

sincerely,
 -The Buildbot





svn commit: r1477197 - /tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java

2013-04-29 Thread markt
Author: markt
Date: Mon Apr 29 16:49:13 2013
New Revision: 1477197

URL: http://svn.apache.org/r1477197
Log:
Clarify the diagram

Modified:
tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java

Modified: tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java?rev=1477197&r1=1477196&r2=1477197&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java Mon Apr 29 
16:49:13 2013
@@ -71,13 +71,13 @@ import org.apache.tomcat.util.res.String
  * |   |  |   |   | | | 
/---| |
  * |   |  |   ^   |dispatch()   | |/   
   |
  * |   |  |   |   | | |   /
   |
- * |   |  |   |  \|//\|/ / 
   |
- * |   |  |   | MUST_DISPATCH  /   STARTED 
   |
- * |   |  |   |   |   //|  \ \ 
   |
- * |   |  |   |   |postProcess() // |   \ \
   |
- * ^   |  ^   |   | /  dispatch()/  |\ \   
   |
- * |   |  |   |   |//   | \ \  
 postProcess() |
- * |   |  |   |   |   |-- / ---/|auto  \ 
\<---|   |
+ * |   |  |   |  \|//\|/ / 
 postProcess() |
+ * |   |  |   | MUST_DISPATCH  /   
STARTED<-<-|   |
+ * |   |  |   |   |   //|  \   
   |   |
+ * |   |  |   |   |postProcess() // |   \  
   |   |
+ * ^   |  ^   |   | /  dispatch()/  |\ 
   |   |
+ * |   |  |   |   |//   | \
   |   |
+ * |   |  |   |   |   |-- / ---/|auto  \   
   |   |
  * |   |  |   |   |   |  /  |   \  
   |   |
  * |   |  |   |   |   |   |-/   |   |  
   |   |
  * |   |  |   | auto \|/ \|/ \|/   \|/  |  
   |   |



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



Re: [VOTE] Release build 6.0.37

2013-04-29 Thread Remy Maucherat
On Mon, 2013-04-29 at 12:17 +0200, jean-frederic clere wrote:
> The candidates binaries are available here:
> http://people.apache.org/~jfclere/tomcat-6/v6.0.37/
> 
> According to the release process, the 6.0.37 build corresponding to the
> tag TOMCAT_6_0_37 is:
> [ ] Broken
> [ ] Alpha
> [ ] Beta
> [X] Stable

Rémy



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



svn commit: r1477275 - in /tomcat/trunk/java/org/apache/coyote: ActionCode.java http11/Http11NioProcessor.java

2013-04-29 Thread markt
Author: markt
Date: Mon Apr 29 19:15:47 2013
New Revision: 1477275

URL: http://svn.apache.org/r1477275
Log:
Remove unused ActionCode

Modified:
tomcat/trunk/java/org/apache/coyote/ActionCode.java
tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java

Modified: tomcat/trunk/java/org/apache/coyote/ActionCode.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ActionCode.java?rev=1477275&r1=1477274&r2=1477275&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/ActionCode.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ActionCode.java Mon Apr 29 19:15:47 2013
@@ -137,13 +137,6 @@ public enum ActionCode {
 ASYNC_DISPATCH,
 
 /**
- * Callback when an async call is
- * {@link javax.servlet.ReadListener#onDataAvailable()} or
- * {@link javax.servlet.WriteListener#onWritePossible()}
- */
-ASYNC_DISPATCH_FOR_OPERATION,
-
-/**
  * Callback to indicate the the actual dispatch has started and that the
  * async state needs change.
  */

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java?rev=1477275&r1=1477274&r2=1477275&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java Mon Apr 
29 19:15:47 2013
@@ -633,8 +633,6 @@ public class Http11NioProcessor extends 
 } else {
 throw new IllegalStateException("Calling canWrite 
asynchronously is illegal.");
 }
-} else if (actionCode == ActionCode.ASYNC_DISPATCH_FOR_OPERATION) {
-asyncStateMachine.asyncOperation();
 }
 }
 



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



[Bug 54906] New: WebappClassLoader.loadedByThisOrChild can throw ConcurrentModificationException

2013-04-29 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54906

Bug ID: 54906
   Summary: WebappClassLoader.loadedByThisOrChild can throw
ConcurrentModificationException
   Product: Tomcat 8
   Version: trunk
  Hardware: PC
OS: Linux
Status: NEW
  Severity: enhancement
  Priority: P2
 Component: Catalina
  Assignee: dev@tomcat.apache.org
  Reporter: apa...@neworld.us
Classification: Unclassified

Created attachment 30240
  --> https://issues.apache.org/bugzilla/attachment.cgi?id=30240&action=edit
Patch to catch ConcurrentModificationException while iterating over a
collection

This is related to bug 54497. A common exception seen in 7.0.33 during stop is
a ConcurrentModification in loadedByThisOrChild.

java.util.concurrent.ExecutionException:
org.apache.catalina.LifecycleException: Failed to stop component
[StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/mobile/login/oauth]]
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252)
at java.util.concurrent.FutureTask.get(FutureTask.java:111)
at
org.apache.catalina.core.ContainerBase.stopInternal(ContainerBase.java:1179)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
at
org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1575)
at
org.apache.catalina.core.ContainerBase$StopChild.call(ContainerBase.java:1564)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
Caused by: org.apache.catalina.LifecycleException: Failed to stop component
[StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/mobile/login/oauth]]
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:236)
... 7 more
Caused by: org.apache.catalina.LifecycleException: Failed to stop component
[WebappLoader[/mobile/login/oauth]]
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:236)
at
org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5521)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
... 7 more
Caused by: java.util.ConcurrentModificationException
at java.util.Vector$Itr.checkForComodification(Vector.java:1156)
at java.util.Vector$Itr.next(Vector.java:1133)
at
org.apache.catalina.loader.WebappClassLoader.loadedByThisOrChild(WebappClassLoader.java:2599)
at
org.apache.catalina.loader.WebappClassLoader.checkThreadLocalMapForLeaks(WebappClassLoader.java:2515)
at
org.apache.catalina.loader.WebappClassLoader.checkThreadLocalsForLeaks(WebappClassLoader.java:2455)
at
org.apache.catalina.loader.WebappClassLoader.clearReferences(WebappClassLoader.java:1996)
at
org.apache.catalina.loader.WebappClassLoader.stop(WebappClassLoader.java:1902)
at
org.apache.catalina.loader.WebappLoader.stopInternal(WebappLoader.java:661)
at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:232)
... 9 more

The fix for 54497 stops the exception from failing the stop but it still fails
the rest of the ThreadLocal leak check. It would be better if
ConcurrentModificationException was caught in loadedByThisOrChild and only that
one check fails.

-- 
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: r1477298 - /tomcat/trunk/java/javax/servlet/ServletInputStream.java

2013-04-29 Thread markt
Author: markt
Date: Mon Apr 29 19:46:59 2013
New Revision: 1477298

URL: http://svn.apache.org/r1477298
Log:
Better Javadoc

Modified:
tomcat/trunk/java/javax/servlet/ServletInputStream.java

Modified: tomcat/trunk/java/javax/servlet/ServletInputStream.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/ServletInputStream.java?rev=1477298&r1=1477297&r2=1477298&view=diff
==
--- tomcat/trunk/java/javax/servlet/ServletInputStream.java (original)
+++ tomcat/trunk/java/javax/servlet/ServletInputStream.java Mon Apr 29 19:46:59 
2013
@@ -97,7 +97,17 @@ public abstract class ServletInputStream
 public abstract boolean isReady();
 
 /**
- * Sets the {@link ReadListener} for this {@link ServletInputStream}.
+ * Sets the {@link ReadListener} for this {@link ServletInputStream} and
+ * thereby switching to non-blocking IO. It is only valid to switch to
+ * non-blocking IO within async processing or HTTP upgrade processing.
+ *
+ * @param listener  The non-blocking IO read listener
+ *
+ * @throws IllegalStateExceptionIf this method is called if neither
+ *  async nor HTTP upgrade is in progress 
or
+ *  if the {@link ReadListener} has already
+ *  been set
+ * @throws NullPointerException If listener is null
  */
 public abstract void setReadListener(ReadListener listener);
 }



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



svn commit: r1477301 - in /tomcat/trunk/java/org/apache: catalina/connector/InputBuffer.java catalina/connector/LocalStrings.properties coyote/ActionCode.java coyote/http11/Http11NioProcessor.java

2013-04-29 Thread markt
Author: markt
Date: Mon Apr 29 19:49:24 2013
New Revision: 1477301

URL: http://svn.apache.org/r1477301
Log:
Remove unnecessary ActionCode.SET_READ_LISTENER
Add missing tests when setting a non-blocking ReadListener and use i18n for all 
exception messages if a test fails

Modified:
tomcat/trunk/java/org/apache/catalina/connector/InputBuffer.java
tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties
tomcat/trunk/java/org/apache/coyote/ActionCode.java
tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java

Modified: tomcat/trunk/java/org/apache/catalina/connector/InputBuffer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/InputBuffer.java?rev=1477301&r1=1477300&r2=1477301&view=diff
==
--- tomcat/trunk/java/org/apache/catalina/connector/InputBuffer.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/InputBuffer.java Mon Apr 29 
19:49:24 2013
@@ -22,6 +22,7 @@ import java.security.AccessController;
 import java.security.PrivilegedActionException;
 import java.security.PrivilegedExceptionAction;
 import java.util.HashMap;
+import java.util.concurrent.atomic.AtomicBoolean;
 
 import javax.servlet.ReadListener;
 
@@ -252,9 +253,25 @@ public class InputBuffer extends Reader
 
 private volatile ReadListener listener;
 public void setReadListener(ReadListener listener) {
-if (getReadListener()!=null) throw new IllegalStateException("Read 
listener already set.");
+if (listener == null) {
+throw new NullPointerException(
+sm.getString("inputBuffer.nullListener"));
+}
+if (getReadListener() != null) {
+throw new IllegalStateException(
+sm.getString("inputBuffer.listenerSet"));
+}
+// Note: This class is not used for HTTP upgrade so only need to test
+//   for async
+AtomicBoolean result = new AtomicBoolean(false);
+coyoteRequest.action(ActionCode.ASYNC_IS_ASYNC, result);
+if (!result.get()) {
+throw new IllegalStateException(
+sm.getString("inputBuffer.notAsync"));
+}
+
 this.listener = listener;
-coyoteRequest.action(ActionCode.SET_READ_LISTENER, listener);
+coyoteRequest.setReadListener(listener);
 }
 
 

Modified: 
tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties?rev=1477301&r1=1477300&r2=1477301&view=diff
==
--- tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties 
(original)
+++ tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties Mon 
Apr 29 19:49:24 2013
@@ -13,10 +13,12 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+cometEvent.nullRequest=The event object has been recycled and is no longer 
associated with a request
+
+coyoteAdapter.parsePathParam=Unable to parse the path parameters using 
encoding [{0}]. The path parameters in the URL will be ignored.
+coyoteAdapter.debug=The variable [{0}] has value [{1}]
+coyoteAdapter.accesslogFail=Exception while attempting to add an entry to the 
access log
 
-#
-# CoyoteConnector
-#
 coyoteConnector.invalidPort=The connector cannot start since the specified 
port value of [{0}] is invalid
 coyoteConnector.protocolHandlerDestroyFailed=Protocol handler destroy failed
 coyoteConnector.protocolHandlerInitializationFailed=Protocol handler 
initialization failed
@@ -27,28 +29,9 @@ coyoteConnector.protocolHandlerPauseFail
 coyoteConnector.protocolHandlerResumeFailed=Protocol handler resume failed
 coyoteConnector.parseBodyMethodNoTrace=TRACE method MUST NOT include an entity 
(see RFC 2616 Section 9.6)
 
-#
-# CoyoteAdapter
-#
-coyoteAdapter.parsePathParam=Unable to parse the path parameters using 
encoding [{0}]. The path parameters in the URL will be ignored.
-coyoteAdapter.debug=The variable [{0}] has value [{1}]
-coyoteAdapter.accesslogFail=Exception while attempting to add an entry to the 
access log
-
-#
-# CoyoteResponse
-#
-coyoteResponse.getOutputStream.ise=getWriter() has already been called for 
this response
-coyoteResponse.getWriter.ise=getOutputStream() has already been called for 
this response
-coyoteResponse.reset.ise=Cannot call reset() after response has been committed
-coyoteResponse.resetBuffer.ise=Cannot reset buffer after response has been 
committed
-coyoteResponse.sendError.ise=Cannot call sendError() after the response has 
been committed
-coyoteResponse.sendRedirect.ise=Cannot call sendRedirect() after the response 
has been committed
-coyoteResponse.sendRedirect.note=Redirecting to {0}
-coyoteResponse.setBufferSize.ise=Cannot change buffer size after d

svn commit: r1477302 - /tomcat/trunk/java/org/apache/catalina/connector/CoyoteInputStream.java

2013-04-29 Thread markt
Author: markt
Date: Mon Apr 29 19:49:42 2013
New Revision: 1477302

URL: http://svn.apache.org/r1477302
Log:
Remove completed TODO

Modified:
tomcat/trunk/java/org/apache/catalina/connector/CoyoteInputStream.java

Modified: tomcat/trunk/java/org/apache/catalina/connector/CoyoteInputStream.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/CoyoteInputStream.java?rev=1477302&r1=1477301&r2=1477302&view=diff
==
--- tomcat/trunk/java/org/apache/catalina/connector/CoyoteInputStream.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/connector/CoyoteInputStream.java Mon 
Apr 29 19:49:42 2013
@@ -254,9 +254,6 @@ public class CoyoteInputStream
 }
 
 
-/**
- * TODO SERVLET 3.1
- */
 @Override
 public void setReadListener(ReadListener listener) {
 ib.setReadListener(listener);



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



svn commit: r1477306 - in /tomcat/trunk/java/org/apache: catalina/connector/CoyoteOutputStream.java catalina/connector/LocalStrings.properties catalina/connector/OutputBuffer.java coyote/http11/Http11

2013-04-29 Thread markt
Author: markt
Date: Mon Apr 29 20:01:59 2013
New Revision: 1477306

URL: http://svn.apache.org/r1477306
Log:
Simplify ActionCode.SET_READ_LISTENER
Add missing tests when setting a non-blocking ReadListener and use i18n for all 
exception messages if a test fails

Modified:
tomcat/trunk/java/org/apache/catalina/connector/CoyoteOutputStream.java
tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties
tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java
tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java

Modified: 
tomcat/trunk/java/org/apache/catalina/connector/CoyoteOutputStream.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/CoyoteOutputStream.java?rev=1477306&r1=1477305&r2=1477306&view=diff
==
--- tomcat/trunk/java/org/apache/catalina/connector/CoyoteOutputStream.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/connector/CoyoteOutputStream.java Mon 
Apr 29 20:01:59 2013
@@ -119,7 +119,5 @@ public class CoyoteOutputStream
 public void setWriteListener(WriteListener listener) {
 ob.setWriteListener(listener);
 }
-
-
 }
 

Modified: 
tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties?rev=1477306&r1=1477305&r2=1477306&view=diff
==
--- tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties 
(original)
+++ tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties Mon 
Apr 29 20:01:59 2013
@@ -62,6 +62,10 @@ inputBuffer.notAsync=It is only valid to
 inputBuffer.nullListener=The listener passed to setReadListener() may not be 
null
 inputBuffer.streamClosed=Stream closed
 
+outputBuffer.listenerSet=The non-blocking write listener has already been set
+outputBuffer.notAsync=It is only valid to switch to non-blocking IO within 
async processing or HTTP upgrade processing
+outputBuffer.nullListener=The listener passed to setWriteListener() may not be 
null
+
 requestFacade.nullRequest=The request object has been recycled and is no 
longer associated with this facade
 
 responseFacade.nullResponse=The response object has been recycled and is no 
longer associated with this facade

Modified: tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java?rev=1477306&r1=1477305&r2=1477306&view=diff
==
--- tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java Mon Apr 
29 20:01:59 2013
@@ -33,6 +33,7 @@ import org.apache.coyote.Response;
 import org.apache.tomcat.util.buf.ByteChunk;
 import org.apache.tomcat.util.buf.C2BConverter;
 import org.apache.tomcat.util.buf.CharChunk;
+import org.apache.tomcat.util.res.StringManager;
 
 
 /**
@@ -46,9 +47,11 @@ import org.apache.tomcat.util.buf.CharCh
 public class OutputBuffer extends Writer
 implements ByteChunk.ByteOutputChannel, CharChunk.CharOutputChannel {
 
+private static final StringManager sm =
+StringManager.getManager(Constants.Package);
 
-// -- Constants
 
+// -- Constants
 
 public static final String DEFAULT_ENCODING =
 org.apache.coyote.Constants.DEFAULT_CHARACTER_ENCODING;
@@ -57,7 +60,6 @@ public class OutputBuffer extends Writer
 
 // - Instance Variables
 
-
 /**
  * The byte buffer.
  */
@@ -664,9 +666,26 @@ public class OutputBuffer extends Writer
 
 private volatile WriteListener listener;
 public void setWriteListener(WriteListener listener) {
-if (getWriteListener()!=null) throw new IllegalStateException("Write 
listener already set.");
+if (listener == null) {
+throw new NullPointerException(
+sm.getString("outputBuffer.nullListener"));
+}
+if (getWriteListener() != null) {
+throw new IllegalStateException(
+sm.getString("outputBuffer.listenerSet"));
+}
+// Note: This class is not used for HTTP upgrade so only need to test
+//   for async
+AtomicBoolean result = new AtomicBoolean(false);
+coyoteResponse.action(ActionCode.ASYNC_IS_ASYNC, result);
+if (!result.get()) {
+throw new IllegalStateException(
+sm.getString("outputBuffer.notAsync"));
+}
+
 this.listener = listener;
-coyoteResponse.action(ActionCode.SET_WRITE_LISTENER, 

svn commit: r1477307 - in /tomcat/trunk/java/javax/servlet: ServletInputStream.java ServletOutputStream.java

2013-04-29 Thread markt
Author: markt
Date: Mon Apr 29 20:02:20 2013
New Revision: 1477307

URL: http://svn.apache.org/r1477307
Log:
Better Javadoc

Modified:
tomcat/trunk/java/javax/servlet/ServletInputStream.java
tomcat/trunk/java/javax/servlet/ServletOutputStream.java

Modified: tomcat/trunk/java/javax/servlet/ServletInputStream.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/ServletInputStream.java?rev=1477307&r1=1477306&r2=1477307&view=diff
==
--- tomcat/trunk/java/javax/servlet/ServletInputStream.java (original)
+++ tomcat/trunk/java/javax/servlet/ServletInputStream.java Mon Apr 29 20:02:20 
2013
@@ -98,7 +98,7 @@ public abstract class ServletInputStream
 
 /**
  * Sets the {@link ReadListener} for this {@link ServletInputStream} and
- * thereby switching to non-blocking IO. It is only valid to switch to
+ * thereby switches to non-blocking IO. It is only valid to switch to
  * non-blocking IO within async processing or HTTP upgrade processing.
  *
  * @param listener  The non-blocking IO read listener

Modified: tomcat/trunk/java/javax/servlet/ServletOutputStream.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/ServletOutputStream.java?rev=1477307&r1=1477306&r2=1477307&view=diff
==
--- tomcat/trunk/java/javax/servlet/ServletOutputStream.java (original)
+++ tomcat/trunk/java/javax/servlet/ServletOutputStream.java Mon Apr 29 
20:02:20 2013
@@ -281,7 +281,17 @@ public abstract class ServletOutputStrea
 public abstract boolean isReady();
 
 /**
- * TODO SERVLET 3.1
+ * Sets the {@link WriteListener} for this {@link ServletOutputStream} and
+ * thereby switches to non-blocking IO. It is only valid to switch to
+ * non-blocking IO within async processing or HTTP upgrade processing.
+ *
+ * @param listener  The non-blocking IO write listener
+ *
+ * @throws IllegalStateExceptionIf this method is called if neither
+ *  async nor HTTP upgrade is in progress 
or
+ *  if the {@link WriteListener} has 
already
+ *  been set
+ * @throws NullPointerException If listener is null
  */
 public abstract void setWriteListener(javax.servlet.WriteListener 
listener);
 }



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



svn commit: r1477322 - in /tomcat/trunk/java/org/apache: catalina/connector/InputBuffer.java catalina/connector/LocalStrings.properties coyote/LocalStrings.properties coyote/Request.java

2013-04-29 Thread markt
Author: markt
Date: Mon Apr 29 20:30:18 2013
New Revision: 1477322

URL: http://svn.apache.org/r1477322
Log:
No need to retain reference to ReadListener in InputBuffer

Modified:
tomcat/trunk/java/org/apache/catalina/connector/InputBuffer.java
tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties
tomcat/trunk/java/org/apache/coyote/LocalStrings.properties
tomcat/trunk/java/org/apache/coyote/Request.java

Modified: tomcat/trunk/java/org/apache/catalina/connector/InputBuffer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/InputBuffer.java?rev=1477322&r1=1477321&r2=1477322&view=diff
==
--- tomcat/trunk/java/org/apache/catalina/connector/InputBuffer.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/InputBuffer.java Mon Apr 29 
20:30:18 2013
@@ -22,7 +22,6 @@ import java.security.AccessController;
 import java.security.PrivilegedActionException;
 import java.security.PrivilegedExceptionAction;
 import java.util.HashMap;
-import java.util.concurrent.atomic.AtomicBoolean;
 
 import javax.servlet.ReadListener;
 
@@ -34,7 +33,6 @@ import org.apache.tomcat.util.buf.ByteCh
 import org.apache.tomcat.util.buf.CharChunk;
 import org.apache.tomcat.util.res.StringManager;
 
-
 /**
  * The buffer used by Tomcat request. This is a derivative of the Tomcat 3.3
  * OutputBuffer, adapted to handle input instead of output. This allows
@@ -211,8 +209,6 @@ public class InputBuffer extends Reader
 
 gotEnc = false;
 enc = null;
-listener = null;
-
 }
 
 
@@ -251,42 +247,20 @@ public class InputBuffer extends Reader
 }
 
 
-private volatile ReadListener listener;
 public void setReadListener(ReadListener listener) {
-if (listener == null) {
-throw new NullPointerException(
-sm.getString("inputBuffer.nullListener"));
-}
-if (getReadListener() != null) {
-throw new IllegalStateException(
-sm.getString("inputBuffer.listenerSet"));
-}
-// Note: This class is not used for HTTP upgrade so only need to test
-//   for async
-AtomicBoolean result = new AtomicBoolean(false);
-coyoteRequest.action(ActionCode.ASYNC_IS_ASYNC, result);
-if (!result.get()) {
-throw new IllegalStateException(
-sm.getString("inputBuffer.notAsync"));
-}
-
-this.listener = listener;
 coyoteRequest.setReadListener(listener);
 }
 
 
-public ReadListener getReadListener() {
-return listener;
-}
-
-
 public boolean isFinished() {
 return available() == 0;
 }
 
 
 public boolean isReady() {
-if (getReadListener()==null) throw new IllegalStateException("not in 
non blocking mode.");
+if (coyoteRequest.getReadListener() == null) {
+throw new IllegalStateException("not in non blocking mode.");
+}
 int available = available();
 boolean result = available > 0;
 if (!result) {

Modified: 
tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties?rev=1477322&r1=1477321&r2=1477322&view=diff
==
--- tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties 
(original)
+++ tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties Mon 
Apr 29 20:30:18 2013
@@ -29,9 +29,6 @@ coyoteConnector.protocolHandlerPauseFail
 coyoteConnector.protocolHandlerResumeFailed=Protocol handler resume failed
 coyoteConnector.parseBodyMethodNoTrace=TRACE method MUST NOT include an entity 
(see RFC 2616 Section 9.6)
 
-inputBuffer.listenerSet=The non-blocking read listener has already been set
-inputBuffer.nullListener=The listener passed to setReadListener() may not be 
null
-
 coyoteRequest.getInputStream.ise=getReader() has already been called for this 
request
 coyoteRequest.getReader.ise=getInputStream() has already been called for this 
request
 coyoteRequest.sessionCreateCommitted=Cannot create a session after the 
response has been committed
@@ -57,9 +54,6 @@ coyoteResponse.sendRedirect.ise=Cannot c
 coyoteResponse.sendRedirect.note=Redirecting to {0}
 coyoteResponse.setBufferSize.ise=Cannot change buffer size after data has been 
written
 
-inputBuffer.listenerSet=The non-blocking read listener has already been set
-inputBuffer.notAsync=It is only valid to switch to non-blocking IO within 
async processing or HTTP upgrade processing
-inputBuffer.nullListener=The listener passed to setReadListener() may not be 
null
 inputBuffer.streamClosed=Stream closed
 
 outputBuffer.listenerSet=The non-blocking write listener has already been set

Modified: tomcat/trunk/java/org/apache/coyote/L

svn commit: r1477327 - /tomcat/tc6.0.x/trunk/dist.xml

2013-04-29 Thread rjung
Author: rjung
Date: Mon Apr 29 20:36:29 2013
New Revision: 1477327

URL: http://svn.apache.org/r1477327
Log:
Add executable permission for new daemon.sh
script in binary tarball.

Addition to r1476543 and r1476574.

Modified:
tomcat/tc6.0.x/trunk/dist.xml

Modified: tomcat/tc6.0.x/trunk/dist.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/dist.xml?rev=1477327&r1=1477326&r2=1477327&view=diff
==
--- tomcat/tc6.0.x/trunk/dist.xml (original)
+++ tomcat/tc6.0.x/trunk/dist.xml Mon Apr 29 20:36:29 2013
@@ -533,6 +533,7 @@
  tarfile="${tomcat.release}/v${version}/bin/${final.name}.tar.gz">
   
 
+
 
 
 
@@ -562,6 +563,7 @@
 
 
 
+
 
 
 



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



svn commit: r1477329 - /tomcat/trunk/java/org/apache/coyote/Request.java

2013-04-29 Thread markt
Author: markt
Date: Mon Apr 29 20:37:13 2013
New Revision: 1477329

URL: http://svn.apache.org/r1477329
Log:
Restore accidentally removed call

Modified:
tomcat/trunk/java/org/apache/coyote/Request.java

Modified: tomcat/trunk/java/org/apache/coyote/Request.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/Request.java?rev=1477329&r1=1477328&r2=1477329&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/Request.java (original)
+++ tomcat/trunk/java/org/apache/coyote/Request.java Mon Apr 29 20:37:13 2013
@@ -166,6 +166,7 @@ public final class Request {
 }
 
 this.listener = listener;
+setBlocking(false);
 }
 
 protected volatile boolean blocking = true;



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



svn commit: r1477331 - in /tomcat/trunk/java/org/apache: catalina/connector/LocalStrings.properties catalina/connector/OutputBuffer.java coyote/LocalStrings.properties coyote/Response.java

2013-04-29 Thread markt
Author: markt
Date: Mon Apr 29 20:38:12 2013
New Revision: 1477331

URL: http://svn.apache.org/r1477331
Log:
No need to retain reference to WriteListener in OutputBuffer

Modified:
tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties
tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java
tomcat/trunk/java/org/apache/coyote/LocalStrings.properties
tomcat/trunk/java/org/apache/coyote/Response.java

Modified: 
tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties?rev=1477331&r1=1477330&r2=1477331&view=diff
==
--- tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties 
(original)
+++ tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties Mon 
Apr 29 20:38:12 2013
@@ -56,10 +56,6 @@ coyoteResponse.setBufferSize.ise=Cannot 
 
 inputBuffer.streamClosed=Stream closed
 
-outputBuffer.listenerSet=The non-blocking write listener has already been set
-outputBuffer.notAsync=It is only valid to switch to non-blocking IO within 
async processing or HTTP upgrade processing
-outputBuffer.nullListener=The listener passed to setWriteListener() may not be 
null
-
 requestFacade.nullRequest=The request object has been recycled and is no 
longer associated with this facade
 
 responseFacade.nullResponse=The response object has been recycled and is no 
longer associated with this facade

Modified: tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java?rev=1477331&r1=1477330&r2=1477331&view=diff
==
--- tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java Mon Apr 
29 20:38:12 2013
@@ -16,7 +16,6 @@
  */
 package org.apache.catalina.connector;
 
-
 import java.io.IOException;
 import java.io.Writer;
 import java.security.AccessController;
@@ -33,8 +32,6 @@ import org.apache.coyote.Response;
 import org.apache.tomcat.util.buf.ByteChunk;
 import org.apache.tomcat.util.buf.C2BConverter;
 import org.apache.tomcat.util.buf.CharChunk;
-import org.apache.tomcat.util.res.StringManager;
-
 
 /**
  * The buffer used by Tomcat response. This is a derivative of the Tomcat 3.3
@@ -47,10 +44,6 @@ import org.apache.tomcat.util.res.String
 public class OutputBuffer extends Writer
 implements ByteChunk.ByteOutputChannel, CharChunk.CharOutputChannel {
 
-private static final StringManager sm =
-StringManager.getManager(Constants.Package);
-
-
 // -- Constants
 
 public static final String DEFAULT_ENCODING =
@@ -249,8 +242,6 @@ public class OutputBuffer extends Writer
 
 gotEnc = false;
 enc = null;
-listener = null;
-
 }
 
 
@@ -656,42 +647,16 @@ public class OutputBuffer extends Writer
 
 
 public boolean canWrite() {
-if (getWriteListener()==null) throw new IllegalStateException("not in 
non blocking mode.");
+if (coyoteResponse.getWriteListener() == null) {
+throw new IllegalStateException("not in non blocking mode.");
+}
 AtomicBoolean canWrite = new AtomicBoolean(true);
 coyoteResponse.action(ActionCode.NB_WRITE_INTEREST, canWrite);
 return canWrite.get();
-}
-
+}
 
 
-private volatile WriteListener listener;
 public void setWriteListener(WriteListener listener) {
-if (listener == null) {
-throw new NullPointerException(
-sm.getString("outputBuffer.nullListener"));
-}
-if (getWriteListener() != null) {
-throw new IllegalStateException(
-sm.getString("outputBuffer.listenerSet"));
-}
-// Note: This class is not used for HTTP upgrade so only need to test
-//   for async
-AtomicBoolean result = new AtomicBoolean(false);
-coyoteResponse.action(ActionCode.ASYNC_IS_ASYNC, result);
-if (!result.get()) {
-throw new IllegalStateException(
-sm.getString("outputBuffer.notAsync"));
-}
-
-this.listener = listener;
 coyoteResponse.setWriteListener(listener);
-coyoteResponse.action(ActionCode.SET_WRITE_LISTENER, null);
-}
-
-public WriteListener getWriteListener() {
-return listener;
 }
-
-
-
 }

Modified: tomcat/trunk/java/org/apache/coyote/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/LocalStrings.properties?rev=1477331&r1=1477330&r2=1477331&view=diff
==
--- tomcat/trunk/java

svn commit: r1477333 - in /tomcat/trunk/java/org/apache/coyote: Request.java Response.java

2013-04-29 Thread markt
Author: markt
Date: Mon Apr 29 20:41:42 2013
New Revision: 1477333

URL: http://svn.apache.org/r1477333
Log:
Remove unused code.
Ensure WriteListener is recycled.

Modified:
tomcat/trunk/java/org/apache/coyote/Request.java
tomcat/trunk/java/org/apache/coyote/Response.java

Modified: tomcat/trunk/java/org/apache/coyote/Request.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/Request.java?rev=1477333&r1=1477332&r2=1477333&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/Request.java (original)
+++ tomcat/trunk/java/org/apache/coyote/Request.java Mon Apr 29 20:41:42 2013
@@ -22,7 +22,6 @@ import java.util.concurrent.atomic.Atomi
 
 import javax.servlet.ReadListener;
 
-import org.apache.coyote.http11.AbstractInputBuffer;
 import org.apache.tomcat.util.buf.ByteChunk;
 import org.apache.tomcat.util.buf.MessageBytes;
 import org.apache.tomcat.util.buf.UDecoder;
@@ -166,21 +165,8 @@ public final class Request {
 }
 
 this.listener = listener;
-setBlocking(false);
 }
 
-protected volatile boolean blocking = true;
-
-public boolean isBlocking() {
-return blocking;
-}
-
-public void setBlocking(boolean blocking) throws IllegalStateException {
-@SuppressWarnings("rawtypes")
-AbstractInputBuffer buf = (AbstractInputBuffer)inputBuffer;
-if (!blocking && !buf.supportsNonBlocking()) throw new 
IllegalStateException();
-this.blocking = blocking;
-}
 // - Properties
 
 
@@ -551,7 +537,6 @@ public final class Request {
 authType.recycle();
 attributes.clear();
 
-blocking = true;
 listener = null;
 
 startTime = -1;

Modified: tomcat/trunk/java/org/apache/coyote/Response.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/Response.java?rev=1477333&r1=1477332&r2=1477333&view=diff
==
--- tomcat/trunk/java/org/apache/coyote/Response.java (original)
+++ tomcat/trunk/java/org/apache/coyote/Response.java Mon Apr 29 20:41:42 2013
@@ -23,7 +23,6 @@ import java.util.concurrent.atomic.Atomi
 
 import javax.servlet.WriteListener;
 
-import org.apache.coyote.http11.AbstractOutputBuffer;
 import org.apache.tomcat.util.buf.ByteChunk;
 import org.apache.tomcat.util.http.MimeHeaders;
 import org.apache.tomcat.util.http.parser.HttpParser;
@@ -525,6 +524,7 @@ public final class Response {
 commited = false;
 errorException = null;
 headers.clear();
+listener = null;
 
 // update counters
 contentWritten=0;
@@ -574,20 +574,6 @@ public final class Response {
 this.listener = listener;
 action(ActionCode.SET_WRITE_LISTENER, null);
 
-setBlocking(false);
 this.listener = listener;
 }
-
-protected volatile boolean blocking = true;
-
-public boolean isBlocking() {
-return blocking;
-}
-
-public void setBlocking(boolean blocking) throws IllegalStateException {
-@SuppressWarnings("rawtypes")
-AbstractOutputBuffer buf = (AbstractOutputBuffer)outputBuffer;
-if (!blocking && !buf.supportsNonBlocking()) throw new 
IllegalStateException();
-this.blocking = blocking;
-}
 }



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



Re: [VOTE] Release build 6.0.37

2013-04-29 Thread Rainer Jung
On 29.04.2013 12:17, jean-frederic clere wrote:
> The candidates binaries are available here:
> http://people.apache.org/~jfclere/tomcat-6/v6.0.37/
> 
> According to the release process, the 6.0.37 build corresponding to the
> tag TOMCAT_6_0_37 is:
> [ ] Broken
> [ ] Alpha
> [ ] Beta
> [X] Stable

+1 to release, three minor problems see below.

- MD5 OK
- signatures OK
- key in KEYS file
- gz and zip for src and bin consistent
- src consistent with svn tag
- builds fine
- build result looks consistent with binaries
- JMX MBean comparison with previous version OK
  - no changes in attribute structure
  - scan tldScanTime maybe a bit lower than before
- Some javadoc warnings as normal for TC6

Build was done using Java 1.6.0_45, OS was Solaris 10 Sparc.

Problem 1: One new javadoc warning:

[javadoc] .../src/java/org/apache/tomcat/jni/SSL.java:350: warning - Tag
@link: can't find SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION in
org.apache.tomcat.jni.SSL.
Not sure, whether the link should be removed or the option should
be added instead.

Problem 2: new script daemon.sh is not executable in binary tarball,
fixed for the future in r1477327.

Problem 3: version.build is "0" instead of "37" in
build.properties.default (src and bin). Not nice but probably not a
showstopper. Maybe something for the release howto.

Regards,

Rainer

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