Re: svn commit: r1560931 - in /tomcat/tc7.0.x/trunk: build.xml java/org/apache/tomcat/util/descriptor/DigesterFactory.java

2014-03-14 Thread Violeta Georgieva
Hi,


2014-03-13 23:12 GMT+02:00 Konstantin Kolinko knst.koli...@gmail.com:

 2014-03-13 16:28 GMT+04:00 Violeta Georgieva miles...@gmail.com:
  Hi,
 
  In OSGi world the functionality is separated in different bundles and
  schemes for servlet API is in one bundle and schemes for JSP API in
  another.
  With that change we pack all schemes in servlet-api.jar. Till this
changed
  one was able to use whatever servlet api bundle compatible with Tomcat
but
  with that change we enforce people to use only the jar provided by
Tomcat
  which is not a bundle also.
 
  Is it possible to return back the check with JSPContext? Something like
  this?
 

  Till this changed
  one was able to use whatever servlet api bundle compatible with Tomcat

 It is container's responsibility to provide the servlet API jar,  and
 I think the said jar can have whatever hard ties with container's
 internals.

 An application can use whatever 3rd party servlet.jar implementation
 at compile time, but at run time it has to use the container-provided
 one.

 For example, Cookie.java relies on certain configuration properties
 defined by Tomcat documentation to provide secure and
 specification-compliant behaviour.  You cannot swap that
 implementation with random other.


That's good to know.
Thanks
Violeta

 Apparently there are a ways to bypass Tomcat's enforcement of
 specification compliance wrt. where servlet-api.jar comes from.  E.g.
 if one places a rogue jar into $CLASSPATH or into ${catalina.base}/lib
 or into endorsed directory, or into JRE. I think it is good that we
 can uncover such broken configurations.

 E.g.
 https://issues.apache.org/bugzilla/show_bug.cgi?id=56236

 If you want to break dependency of DigesterFactory on this specific
 implementation of ServletContext, it is possible to copy schemas into
 the same jar where DigesterFactory.class is. But I see no need for
 that, and I think that such a change would make the things worse.

 Best regards,
 Konstantin Kolinko

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



Re: svn commit: r1560931 - in /tomcat/tc7.0.x/trunk: build.xml java/org/apache/tomcat/util/descriptor/DigesterFactory.java

2014-03-14 Thread Violeta Georgieva
Hi,


2014-03-13 23:33 GMT+02:00 Mark Thomas ma...@apache.org:

 On 13/03/2014 13:41, Violeta Georgieva wrote:
  2014-03-13 15:28 GMT+02:00 Mark Thomas ma...@apache.org:

 snip/

  What exactly is it that we want to cover? I can think of a number of
  requirements.
 
  1. Ensure that Tomcat still works (excluding validation) if using a
  servlet API implementation that does not include the JSP schemas.
 
  2. Ensure that Tomcat can still validate web.xml files if using a
  Servlet API implementation that does not include JSP schemas along with
  a JSP API implementation that does.
 
  Any more?
 
  No. These two cover the scenario.

 I think my recent changes have addressed this. It would be good if you
 could test with 7.0.x trunk and report back.


My basic tests show that it is working.
Thanks
Violeta

 Mark

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



Re: svn commit: r1577328 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/tomcat/util/descriptor/DigesterFactory.java java/org/apache/tomcat/util/descriptor/LocalStrings.properties webapps/docs/changelo

2014-03-14 Thread Violeta Georgieva
2014-03-14 0:43 GMT+02:00 Konstantin Kolinko knst.koli...@gmail.com:

 1. addSelf() is odd, does not match with TC8. Bad merge?
 2. Both add() and addSelf() should display a warning.
 Maybe move log.warn() into locationFor(..) method.
 3. What is the point of putting null values into the maps.
 4. Message:
  digesterFactory.missingSchema=The XML schema [{0}] could not be found.
This is likely to break XML validation if enabled.

 It is ambiguous to what if enabled refers to (what is the subject
 for that verb).

 Overall I do not like motivation behind this change (as I replied in
 Violetta's thread),  but technically it does not change behaviour (in
 the correct case) and provides a warning message instead of ugly NPE.
 Thus it is OK with me.

Thanks for the approval.
Violeta



 2014-03-14 1:33 GMT+04:00  ma...@apache.org:
  Author: markt
  Date: Thu Mar 13 21:33:08 2014
  New Revision: 1577328
 
  URL: http://svn.apache.org/r1577328
  Log:
  Enable Tomcat to work in a OSGI environment with alternative Servlet
and JSP API JARs.
 
  Modified:
  tomcat/tc7.0.x/trunk/   (props changed)
 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/descriptor/DigesterFactory.java
 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/descriptor/LocalStrings.properties
  tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
 
  Propchange: tomcat/tc7.0.x/trunk/
 
--
Merged /tomcat/trunk:r1577315,1577324
 
  Modified:
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/descriptor/DigesterFactory.java
  URL:
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/descriptor/DigesterFactory.java?rev=1577328r1=1577327r2=1577328view=diff
 
==
  ---
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/descriptor/DigesterFactory.java
(original)
  +++
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/descriptor/DigesterFactory.java
Thu Mar 13 21:33:08 2014
  @@ -23,8 +23,11 @@ import java.util.Map;
 
   import javax.servlet.ServletContext;
 
  +import org.apache.juli.logging.Log;
  +import org.apache.juli.logging.LogFactory;
   import org.apache.tomcat.util.digester.Digester;
   import org.apache.tomcat.util.digester.RuleSet;
  +import org.apache.tomcat.util.res.StringManager;
   import org.xml.sax.ext.EntityResolver2;
 
   /**
  @@ -33,6 +36,25 @@ import org.xml.sax.ext.EntityResolver2;
*/
   public class DigesterFactory {
 
  +private static final Log log =
LogFactory.getLog(DigesterFactory.class);
  +private static final StringManager sm =
  +StringManager.getManager(Constants.PACKAGE_NAME);
  +
  +private static final ClassServletContext CLASS_SERVLET_CONTEXT;
  +private static final Class? CLASS_JSP_CONTEXT;
  +
  +static {
  +CLASS_SERVLET_CONTEXT = ServletContext.class;
  +Class? jspContext = null;
  +try {
  +jspContext = Class.forName(javax.servlet.jsp.JspContext);
  +} catch (ClassNotFoundException e) {
  +// Ignore - JSP API is not present.
  +}
  +CLASS_JSP_CONTEXT = jspContext;
  +}
  +
  +
   /**
* Mapping of well-known public IDs used by the Servlet API to the
matching
* local resource.
  @@ -50,39 +72,39 @@ public class DigesterFactory {
   MapString, String systemIds = new HashMapString, String();
 
   // W3C
  -publicIds.put(XmlIdentifiers.XSD_10_PUBLIC,
idFor(XMLSchema.dtd));
  -publicIds.put(XmlIdentifiers.DATATYPES_PUBLIC,
idFor(datatypes.dtd));
  -systemIds.put(XmlIdentifiers.XML_2001_XSD, idFor(xml.xsd));
  +add(publicIds, XmlIdentifiers.XSD_10_PUBLIC,
locationFor(XMLSchema.dtd));
  +add(publicIds, XmlIdentifiers.DATATYPES_PUBLIC,
locationFor(datatypes.dtd));
  +add(systemIds, XmlIdentifiers.XML_2001_XSD,
locationFor(xml.xsd));
 
   // from J2EE 1.2
  -publicIds.put(XmlIdentifiers.WEB_22_PUBLIC,
idFor(web-app_2_2.dtd));
  -publicIds.put(XmlIdentifiers.TLD_11_PUBLIC,
idFor(web-jsptaglibrary_1_1.dtd));
  +add(publicIds, XmlIdentifiers.WEB_22_PUBLIC,
locationFor(web-app_2_2.dtd));
  +add(publicIds, XmlIdentifiers.TLD_11_PUBLIC,
locationFor(web-jsptaglibrary_1_1.dtd));
 
   // from J2EE 1.3
  -publicIds.put(XmlIdentifiers.WEB_23_PUBLIC,
idFor(web-app_2_3.dtd));
  -publicIds.put(XmlIdentifiers.TLD_12_PUBLIC,
idFor(web-jsptaglibrary_1_2.dtd));
  +add(publicIds, XmlIdentifiers.WEB_23_PUBLIC,
locationFor(web-app_2_3.dtd));
  +add(publicIds, XmlIdentifiers.TLD_12_PUBLIC,
locationFor(web-jsptaglibrary_1_2.dtd));
 
   // from J2EE 1.4
  -systemIds.put(
http://www.ibm.com/webservices/xsd/j2ee_web_services_1_1.xsd;,
  -idFor(j2ee_web_services_1_1.xsd));
  -systemIds.put(
http://www.ibm.com/webservices/xsd/j2ee_web_services_client_1_1.xsd;,
  - 

Re: svn commit: r1577328 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/tomcat/util/descriptor/DigesterFactory.java java/org/apache/tomcat/util/descriptor/LocalStrings.properties webapps/docs/changelo

2014-03-14 Thread Mark Thomas
On 13/03/2014 22:43, Konstantin Kolinko wrote:
 1. addSelf() is odd, does not match with TC8. Bad merge?

Yes, it was a bad merge. I'll get that fixed.

 2. Both add() and addSelf() should display a warning.
 Maybe move log.warn() into locationFor(..) method.

Good idea. Will do.

 3. What is the point of putting null values into the maps.

There isn't a point. I'll get that fixed too.

 4. Message:
 digesterFactory.missingSchema=The XML schema [{0}] could not be found. This 
 is likely to break XML validation if enabled.
 
 It is ambiguous to what if enabled refers to (what is the subject
 for that verb).

I'll improve the wording.

Mark


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



svn commit: r1577463 - in /tomcat/trunk/java/org/apache/tomcat/util/descriptor: DigesterFactory.java LocalStrings.properties

2014-03-14 Thread markt
Author: markt
Date: Fri Mar 14 09:37:26 2014
New Revision: 1577463

URL: http://svn.apache.org/r1577463
Log:
Review by kkolinko
Avoid adding nulls to the map
Log a warning for problems in addSelf() as well as add()

Modified:
tomcat/trunk/java/org/apache/tomcat/util/descriptor/DigesterFactory.java
tomcat/trunk/java/org/apache/tomcat/util/descriptor/LocalStrings.properties

Modified: 
tomcat/trunk/java/org/apache/tomcat/util/descriptor/DigesterFactory.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/descriptor/DigesterFactory.java?rev=1577463r1=1577462r2=1577463view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/descriptor/DigesterFactory.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/descriptor/DigesterFactory.java 
Fri Mar 14 09:37:26 2014
@@ -125,15 +125,15 @@ public class DigesterFactory {
 }
 
 private static void addSelf(MapString, String ids, String id) {
-String systemId = locationFor(id);
-ids.put(id, systemId);
-ids.put(systemId, systemId);
+String location = locationFor(id);
+if (location != null) {
+ids.put(id, location);
+ids.put(location, location);
+}
 }
 
 private static void add(MapString,String ids, String id, String 
location) {
-if (location == null) {
-log.warn(sm.getString(digesterFactory.missingSchema, id));
-} else {
+if (location != null) {
 ids.put(id, location);
 }
 }
@@ -144,6 +144,7 @@ public class DigesterFactory {
 location = CLASS_JSP_CONTEXT.getResource(resources/ + name);
 }
 if (location == null) {
+log.warn(sm.getString(digesterFactory.missingSchema, name));
 return null;
 }
 return location.toExternalForm();

Modified: 
tomcat/trunk/java/org/apache/tomcat/util/descriptor/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/descriptor/LocalStrings.properties?rev=1577463r1=1577462r2=1577463view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/descriptor/LocalStrings.properties 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/descriptor/LocalStrings.properties 
Fri Mar 14 09:37:26 2014
@@ -13,7 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-digesterFactory.missingSchema=The XML schema [{0}] could not be found. This is 
likely to break XML validation if enabled.
+digesterFactory.missingSchema=The XML schema [{0}] could not be found. This is 
very likely to break XML validation if XML validation is enabled.
 
 localResolver.unresolvedEntity=Could not resolve XML resource [{0}] with 
public ID [{1}], system ID [{2}] and base URI [{3}] to a known, local entity.
 



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



svn commit: r1577464 - /tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/descriptor/DigesterFactory.java

2014-03-14 Thread markt
Author: markt
Date: Fri Mar 14 09:38:14 2014
New Revision: 1577464

URL: http://svn.apache.org/r1577464
Log:
Fix bad merge
Review by kkolinko

Modified:

tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/descriptor/DigesterFactory.java

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/descriptor/DigesterFactory.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/descriptor/DigesterFactory.java?rev=1577464r1=1577463r2=1577464view=diff
==
--- 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/descriptor/DigesterFactory.java
 (original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/descriptor/DigesterFactory.java
 Fri Mar 14 09:38:14 2014
@@ -119,7 +119,6 @@ public class DigesterFactory {
 String systemId = locationFor(id);
 ids.put(id, systemId);
 ids.put(systemId, systemId);
-ids.put(id, systemId);
 }
 
 private static void add(MapString,String ids, String id, String 
location) {



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



svn commit: r1577465 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/tomcat/util/descriptor/DigesterFactory.java java/org/apache/tomcat/util/descriptor/LocalStrings.properties

2014-03-14 Thread markt
Author: markt
Date: Fri Mar 14 09:40:15 2014
New Revision: 1577465

URL: http://svn.apache.org/r1577465
Log:
Review by kkolinko
Avoid adding nulls to the map
Log a warning for problems in addSelf() as well as add()

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

tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/descriptor/DigesterFactory.java

tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/descriptor/LocalStrings.properties

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

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/descriptor/DigesterFactory.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/descriptor/DigesterFactory.java?rev=1577465r1=1577464r2=1577465view=diff
==
--- 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/descriptor/DigesterFactory.java
 (original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/descriptor/DigesterFactory.java
 Fri Mar 14 09:40:15 2014
@@ -116,15 +116,15 @@ public class DigesterFactory {
 }
 
 private static void addSelf(MapString, String ids, String id) {
-String systemId = locationFor(id);
-ids.put(id, systemId);
-ids.put(systemId, systemId);
+String location = locationFor(id);
+if (location != null) {
+ids.put(id, location);
+ids.put(location, location);
+}
 }
 
 private static void add(MapString,String ids, String id, String 
location) {
-if (location == null) {
-log.warn(sm.getString(digesterFactory.missingSchema, id));
-} else {
+if (location != null) {
 ids.put(id, location);
 }
 }
@@ -135,6 +135,7 @@ public class DigesterFactory {
 location = CLASS_JSP_CONTEXT.getResource(resources/ + name);
 }
 if (location == null) {
+log.warn(sm.getString(digesterFactory.missingSchema, name));
 return null;
 }
 return location.toExternalForm();

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/descriptor/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/descriptor/LocalStrings.properties?rev=1577465r1=1577464r2=1577465view=diff
==
--- 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/descriptor/LocalStrings.properties
 (original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/descriptor/LocalStrings.properties
 Fri Mar 14 09:40:15 2014
@@ -13,7 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-digesterFactory.missingSchema=The XML schema [{0}] could not be found. This is 
likely to break XML validation if enabled.
+digesterFactory.missingSchema=The XML schema [{0}] could not be found. This is 
very likely to break XML validation if XML validation is enabled.
 
 localResolver.unresolvedEntity=Could not resolve XML resource [{0}] with 
public ID [{1}], system ID [{2}] and base URI [{3}] to a known, local entity.
 



-
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

2014-03-14 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/1802

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

BUILD FAILED: failed compile_1

sincerely,
 -The Buildbot





[Bug 56236] tomcat cannot startup since version 6.0.39,7.0.52,8.0 on some machines.

2014-03-14 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56236

Konstantin Kolinko knst.koli...@gmail.com changed:

   What|Removed |Added

 Resolution|FIXED   |INVALID
   Severity|blocker |normal

--- Comment #4 from Konstantin Kolinko knst.koli...@gmail.com ---
The behaviour was changed in 8.0.4, 7.0.53 (and proposed for 6.0.x) to log a
warning instead of failing fatally with an NullPointerException.

The text of the warning will be:
 The XML schema [{0}] could not be found. This is very likely to break XML
validation if XML validation is enabled.

Note though that in my opinion any configuration that uses wrong servlet-api
JAR at runtime is a broken one.

Discussion:
http://marc.info/?t=13905590931r=1w=2

[quote]
For example, Cookie.java relies on certain configuration properties
defined by Tomcat documentation to provide secure and
specification-compliant behaviour.  You cannot swap that
implementation with random other.
[/quote]

-- 
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: r1577489 - /tomcat/trunk/webapps/docs/changelog.xml

2014-03-14 Thread kkolinko
Author: kkolinko
Date: Fri Mar 14 11:41:35 2014
New Revision: 1577489

URL: http://svn.apache.org/r1577489
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56236
Add issue number

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

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1577489r1=1577488r2=1577489view=diff
==
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Fri Mar 14 11:41:35 2014
@@ -96,6 +96,12 @@
 effect. (markt)
   /fix
   fix
+bug56236/bug: Enable Tomcat to work with alternative Servlet and
+JSP API JARs that package the XML schemas in such as way as to require
+a dependency on the JSP API before enabling validation for web.xml.
+Tomcat has no such dependency. (markt) 
+  /fix
+  fix
 bug56244/bug: Fix MBeans descriptor for WebappClassLoader MBean.
 (kkolinko)
   /fix
@@ -126,12 +132,6 @@
 tests for this and similar scenarios and fix the additional issues 
those
 unit tests identified. Based on a patch by Larry Isaacs. (markt)
   /fix
-  fix
-Enable Tomcat to work with alternative Servlet and JSP API JARs that
-package the XML schemas in such as way as to require a dependency on 
the
-JSP API before enabling validation for web.xml. Tomcat has no such
-dependency. (markt)
-  /fix
 /changelog
   /subsection
   subsection name=Coyote



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



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

2014-03-14 Thread kkolinko
Author: kkolinko
Date: Fri Mar 14 11:44:47 2014
New Revision: 1577492

URL: http://svn.apache.org/r1577492
Log:
Fix trailing whitespace. Sorry for the noise.

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

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1577492r1=1577491r2=1577492view=diff
==
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Fri Mar 14 11:44:47 2014
@@ -99,7 +99,7 @@
 bug56236/bug: Enable Tomcat to work with alternative Servlet and
 JSP API JARs that package the XML schemas in such as way as to require
 a dependency on the JSP API before enabling validation for web.xml.
-Tomcat has no such dependency. (markt) 
+Tomcat has no such dependency. (markt)
   /fix
   fix
 bug56244/bug: Fix MBeans descriptor for WebappClassLoader MBean.



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



svn commit: r1577493 - /tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

2014-03-14 Thread kkolinko
Author: kkolinko
Date: Fri Mar 14 11:45:12 2014
New Revision: 1577493

URL: http://svn.apache.org/r1577493
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56236
Add issue number

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=1577493r1=1577492r2=1577493view=diff
==
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Fri Mar 14 11:45:12 2014
@@ -79,6 +79,12 @@
 effect. (markt)
   /fix
   fix
+bug56236/bug: Enable Tomcat to work with alternative Servlet and
+JSP API JARs that package the XML schemas in such as way as to require
+a dependency on the JSP API before enabling validation for web.xml.
+Tomcat has no such dependency. (markt)
+  /fix
+  fix
 bug56246/bug: Fix NullPointerException in MemoryRealm when
 authenticating an unknown user. (markt)
   /fix
@@ -90,12 +96,6 @@
 simply undeploy the old version of the application before deploying the
 new version. (markt)
   /fix
-  fix
-Enable Tomcat to work with alternative Servlet and JSP API JARs that
-package the XML schemas in such as way as to require a dependency on 
the
-JSP API before enabling validation for web.xml. Tomcat has no such
-dependency. (markt)
-  /fix
 /changelog
   /subsection
   subsection name=Coyote



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



svn commit: r1577495 - /tomcat/tc6.0.x/trunk/STATUS.txt

2014-03-14 Thread kkolinko
Author: kkolinko
Date: Fri Mar 14 11:46:28 2014
New Revision: 1577495

URL: http://svn.apache.org/r1577495
Log:
Add issue number and vote

Modified:
tomcat/tc6.0.x/trunk/STATUS.txt

Modified: tomcat/tc6.0.x/trunk/STATUS.txt
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1577495r1=1577494r2=1577495view=diff
==
--- tomcat/tc6.0.x/trunk/STATUS.txt (original)
+++ tomcat/tc6.0.x/trunk/STATUS.txt Fri Mar 14 11:46:28 2014
@@ -65,10 +65,11 @@ PATCHES PROPOSED TO BACKPORT:
   +1: kkolinko, markt
   -1:
 
-* Fix issue with Tomcat running in environments (e.g. OSGI) with alternative
+* Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56236
+  Fix issue with Tomcat running in environments (e.g. OSGI) with alternative
   Servlet and JSP API implementations that package the XML schemas differently
   
http://people.apache.org/~markt/patches/2014-03-14-osgi-resources-tc6-v2.patch
-  +1: markt
+  +1: markt, kkolinko
   -1:
 
 



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



svn commit: r1577501 - in /tomcat/trunk/java/org/apache/coyote/http11: InternalNio2InputBuffer.java InternalNio2OutputBuffer.java upgrade/Nio2ServletInputStream.java upgrade/Nio2ServletOutputStream.ja

2014-03-14 Thread remm
Author: remm
Date: Fri Mar 14 12:09:48 2014
New Revision: 1577501

URL: http://svn.apache.org/r1577501
Log:
Start harmonizing exception types (todo: same thing for completion handlers).

Modified:
tomcat/trunk/java/org/apache/coyote/http11/InternalNio2InputBuffer.java
tomcat/trunk/java/org/apache/coyote/http11/InternalNio2OutputBuffer.java

tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2ServletInputStream.java

tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2ServletOutputStream.java

Modified: 
tomcat/trunk/java/org/apache/coyote/http11/InternalNio2InputBuffer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/InternalNio2InputBuffer.java?rev=1577501r1=1577500r2=1577501view=diff
==
--- tomcat/trunk/java/org/apache/coyote/http11/InternalNio2InputBuffer.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http11/InternalNio2InputBuffer.java Fri 
Mar 14 12:09:48 2014
@@ -18,8 +18,8 @@ package org.apache.coyote.http11;
 
 import java.io.EOFException;
 import java.io.IOException;
+import java.net.SocketTimeoutException;
 import java.nio.ByteBuffer;
-import java.nio.channels.ClosedChannelException;
 import java.nio.channels.CompletionHandler;
 import java.nio.channels.ReadPendingException;
 import java.nio.charset.StandardCharsets;
@@ -754,7 +754,7 @@ public class InternalNio2InputBuffer ext
 boolean notify = false;
 synchronized (completionHandler) {
 if (nBytes.intValue()  0) {
-failed(new ClosedChannelException(), attachment);
+failed(new 
EOFException(sm.getString(iib.eof.error)), attachment);
 return;
 }
 readPending = false;
@@ -819,9 +819,10 @@ public class InternalNio2InputBuffer ext
 try {
 nRead = socket.getSocket().read(byteBuffer)
 .get(socket.getTimeout(), 
TimeUnit.MILLISECONDS).intValue();
-} catch (InterruptedException | ExecutionException
-| TimeoutException e) {
-throw new EOFException(sm.getString(iib.eof.error));
+} catch (InterruptedException | ExecutionException e) {
+throw new IOException(e);
+} catch (TimeoutException e) {
+throw new SocketTimeoutException();
 }
 if (nRead  0) {
 if (!flipped) {

Modified: 
tomcat/trunk/java/org/apache/coyote/http11/InternalNio2OutputBuffer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/InternalNio2OutputBuffer.java?rev=1577501r1=1577500r2=1577501view=diff
==
--- tomcat/trunk/java/org/apache/coyote/http11/InternalNio2OutputBuffer.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http11/InternalNio2OutputBuffer.java 
Fri Mar 14 12:09:48 2014
@@ -17,6 +17,7 @@
 
 package org.apache.coyote.http11;
 
+import java.io.EOFException;
 import java.io.IOException;
 import java.net.SocketTimeoutException;
 import java.nio.ByteBuffer;
@@ -116,7 +117,7 @@ public class InternalNio2OutputBuffer ex
 boolean notify = false;
 synchronized (completionHandler) {
 if (nBytes.intValue()  0) {
-failed(new 
IOException(sm.getString(iob.failedwrite)), attachment);
+failed(new 
EOFException(sm.getString(iob.failedwrite)), attachment);
 return;
 }
 if (bufferedWrites.size()  0) {
@@ -163,7 +164,7 @@ public class InternalNio2OutputBuffer ex
 boolean notify = false;
 synchronized (completionHandler) {
 if (nBytes.longValue()  0) {
-failed(new 
IOException(sm.getString(iob.failedwrite)), attachment);
+failed(new 
EOFException(sm.getString(iob.failedwrite)), attachment);
 return;
 }
 if (bufferedWrites.size()  0 || arrayHasData(attachment)) 
{
@@ -381,9 +382,7 @@ public class InternalNio2OutputBuffer ex
 flipped = true;
 }
 
socket.getSocket().write(byteBuffer).get(socket.getTimeout(), 
TimeUnit.MILLISECONDS);
-} catch (InterruptedException e) {
-throw new IOException(e);
-} catch (ExecutionException e) {
+} catch (InterruptedException | ExecutionException e) {
 throw new IOException(e);
 } catch (TimeoutException e) {
 throw new SocketTimeoutException();

Modified: 

buildbot success in ASF Buildbot on tomcat-7-trunk

2014-03-14 Thread buildbot
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/1803

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] 1577493
Blamelist: kkolinko

Build succeeded!

sincerely,
 -The Buildbot





buildbot failure in ASF Buildbot on tomcat-trunk

2014-03-14 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/5594

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

Buildslave for this Build: bb-vm_ubuntu

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

BUILD FAILED: failed compile_1

sincerely,
 -The Buildbot





svn commit: r1577544 - /tomcat/trunk/test/org/apache/jasper/compiler/TestELParser.java

2014-03-14 Thread markt
Author: markt
Date: Fri Mar 14 14:14:29 2014
New Revision: 1577544

URL: http://svn.apache.org/r1577544
Log:
Add a couple more tests based on a report on the users list
(There tests pass, the problem looks to be elsewhere)

Modified:
tomcat/trunk/test/org/apache/jasper/compiler/TestELParser.java

Modified: tomcat/trunk/test/org/apache/jasper/compiler/TestELParser.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/jasper/compiler/TestELParser.java?rev=1577544r1=1577543r2=1577544view=diff
==
--- tomcat/trunk/test/org/apache/jasper/compiler/TestELParser.java (original)
+++ tomcat/trunk/test/org/apache/jasper/compiler/TestELParser.java Fri Mar 14 
14:14:29 2014
@@ -151,6 +151,25 @@ public class TestELParser {
 doTestParser(${my:link(!empty registration ? registration : 
'/test/registration')});
 }
 
+
+@Test
+public void testQuotes01() throws JasperException {
+doTestParser(');
+}
+
+
+@Test
+public void testQuotes02() throws JasperException {
+doTestParser('${foo}');
+}
+
+
+@Test
+public void testQuotes03() throws JasperException {
+doTestParser('${'foo'}');
+}
+
+
 private void doTestParser(String input) throws JasperException {
 Nodes nodes = ELParser.parse(input, false);
 



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



svn commit: r1577546 - /tomcat/trunk/test/org/apache/tomcat/websocket/TestWebSocketFrameClientSSL.java

2014-03-14 Thread remm
Author: remm
Date: Fri Mar 14 14:24:09 2014
New Revision: 1577546

URL: http://svn.apache.org/r1577546
Log:
Experiment some more with this test and NIO2 (sorry for the noise).

Modified:

tomcat/trunk/test/org/apache/tomcat/websocket/TestWebSocketFrameClientSSL.java

Modified: 
tomcat/trunk/test/org/apache/tomcat/websocket/TestWebSocketFrameClientSSL.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/websocket/TestWebSocketFrameClientSSL.java?rev=1577546r1=1577545r2=1577546view=diff
==
--- 
tomcat/trunk/test/org/apache/tomcat/websocket/TestWebSocketFrameClientSSL.java 
(original)
+++ 
tomcat/trunk/test/org/apache/tomcat/websocket/TestWebSocketFrameClientSSL.java 
Fri Mar 14 14:24:09 2014
@@ -50,11 +50,11 @@ public class TestWebSocketFrameClientSSL
 //  the websockets writes, which deadlock until timedout.
 //  Can be reproduced in NIO by adding a Thread.sleep in
 //  writes. Reenable later when investigated and fixed.
-if (getTomcatInstance().getConnector().getProtocol().equals(
+/*if (getTomcatInstance().getConnector().getProtocol().equals(
 org.apache.coyote.http11.Http11Nio2Protocol)) {
 return;
 }
-
+*/
 Tomcat tomcat = getTomcatInstance();
 // Must have a real docBase - just use temp
 Context ctx =
@@ -90,7 +90,7 @@ public class TestWebSocketFrameClientSSL
 
 // Ignore the latch result as the message count test below will tell us
 // if the right number of messages arrived
-handler.getLatch().await(TesterFirehoseServer.WAIT_TIME_MILLIS,
+handler.getLatch().await(TesterFirehoseServer.WAIT_TIME_MILLIS * 4,
 TimeUnit.MILLISECONDS);
 
 QueueString messages = handler.getMessages();



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



[Bug 56239] NullPointerException when finishing response under the Linux traffic control

2014-03-14 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56239

Mark Thomas ma...@apache.org changed:

   What|Removed |Added

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

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

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



svn commit: r1577557 - /tomcat/trunk/test/org/apache/catalina/comet/TestCometProcessor.java

2014-03-14 Thread kkolinko
Author: kkolinko
Date: Fri Mar 14 14:54:13 2014
New Revision: 1577557

URL: http://svn.apache.org/r1577557
Log:
Better reporting for skipped tests.
With org.junit.Assume the tests are clearly reported as 'skipped' in JUnit test 
run summary.

Modified:
tomcat/trunk/test/org/apache/catalina/comet/TestCometProcessor.java

Modified: tomcat/trunk/test/org/apache/catalina/comet/TestCometProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/comet/TestCometProcessor.java?rev=1577557r1=1577556r2=1577557view=diff
==
--- tomcat/trunk/test/org/apache/catalina/comet/TestCometProcessor.java 
(original)
+++ tomcat/trunk/test/org/apache/catalina/comet/TestCometProcessor.java Fri Mar 
14 14:54:13 2014
@@ -33,6 +33,7 @@ import static org.junit.Assert.assertTru
 import static org.junit.Assert.fail;
 
 import org.junit.Assert;
+import org.junit.Assume;
 import org.junit.Test;
 
 import org.apache.catalina.Context;
@@ -50,11 +51,9 @@ public class TestCometProcessor extends 
 
 @Test
 public void testAsyncClose() throws Exception {
-
-if (!isCometSupported()) {
-log.info(This test is skipped, because this connector does not 
support Comet.);
-return;
-}
+Assume.assumeTrue(
+This test is skipped, because this connector does not support 
Comet.,
+isCometSupported());
 
 // Setup Tomcat instance
 Tomcat tomcat = getTomcatInstance();
@@ -119,11 +118,9 @@ public class TestCometProcessor extends 
 
 @Test
 public void testSyncClose() throws Exception {
-
-if (!isCometSupported()) {
-log.info(This test is skipped, because this connector does not 
support Comet.);
-return;
-}
+Assume.assumeTrue(
+This test is skipped, because this connector does not support 
Comet.,
+isCometSupported());
 
 // Setup Tomcat instance
 Tomcat tomcat = getTomcatInstance();
@@ -192,11 +189,9 @@ public class TestCometProcessor extends 
 
 @Test
 public void testConnectionClose() throws Exception {
-
-if (!isCometSupported()) {
-log.info(This test is skipped, because this connector does not 
support Comet.);
-return;
-}
+Assume.assumeTrue(
+This test is skipped, because this connector does not support 
Comet.,
+isCometSupported());
 
 // Setup Tomcat instance
 Tomcat tomcat = getTomcatInstance();
@@ -267,10 +262,9 @@ public class TestCometProcessor extends 
 }
 
 private void doSimpleCometTest(String initParam) throws Exception {
-if (!isCometSupported()) {
-log.info(This test is skipped, because this connector does not 
support Comet.);
-return;
-}
+Assume.assumeTrue(
+This test is skipped, because this connector does not support 
Comet.,
+isCometSupported());
 
 // Setup Tomcat instance
 Tomcat tomcat = getTomcatInstance();
@@ -362,11 +356,9 @@ public class TestCometProcessor extends 
  */
 @Test
 public void testCometConnectorStop() throws Exception {
-
-if (!isCometSupported()) {
-log.info(This test is skipped, because this connector does not 
support Comet.);
-return;
-}
+Assume.assumeTrue(
+This test is skipped, because this connector does not support 
Comet.,
+isCometSupported());
 
 // Setup Tomcat instance
 SimpleCometServlet servlet = new SimpleCometServlet();
@@ -461,11 +453,7 @@ public class TestCometProcessor extends 
 private boolean isCometSupported() {
 String protocol =
 getTomcatInstance().getConnector().getProtocolHandlerClassName();
-if (protocol.indexOf(Nio) == -1  protocol.indexOf(Apr) == -1) {
-return false;
-} else {
-return true;
-}
+return (protocol.contains(Nio) || protocol.contains(Apr));
 }
 
 private static class SimpleCometServlet extends HttpServlet



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



svn commit: r1577561 - /tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java

2014-03-14 Thread remm
Author: remm
Date: Fri Mar 14 15:02:18 2014
New Revision: 1577561

URL: http://svn.apache.org/r1577561
Log:
Improve the FutureWrite logic so that writing starts when creating it, and then 
will recurse on get until the content is actually written.

Modified:
tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java?rev=1577561r1=1577560r2=1577561view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java Fri Mar 
14 15:02:18 2014
@@ -581,6 +581,7 @@ public class SecureNio2Channel extends N
 t = new IOException(Channel is in closing state.);
 return;
 }
+wrap();
 }
 @Override
 public boolean cancel(boolean mayInterruptIfRunning) {
@@ -596,12 +597,12 @@ public class SecureNio2Channel extends N
 }
 @Override
 public Integer get() throws InterruptedException, ExecutionException {
-wrap();
 if (t != null) {
 throw new ExecutionException(t);
 }
 integer.get();
 if (written == 0) {
+wrap();
 return get();
 } else {
 return Integer.valueOf(written);
@@ -611,12 +612,12 @@ public class SecureNio2Channel extends N
 public Integer get(long timeout, TimeUnit unit)
 throws InterruptedException, ExecutionException,
 TimeoutException {
-wrap();
 if (t != null) {
 throw new ExecutionException(t);
 }
 integer.get(timeout, unit);
 if (written == 0) {
+wrap();
 return get(timeout, unit);
 } else {
 return Integer.valueOf(written);



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



svn commit: r1577562 - /tomcat/trunk/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java

2014-03-14 Thread kkolinko
Author: kkolinko
Date: Fri Mar 14 15:02:25 2014
New Revision: 1577562

URL: http://svn.apache.org/r1577562
Log:
Better reporting for skipped tests.
With org.junit.Assume the tests are clearly reported as 'skipped' in JUnit test 
run summary.

Modified:
tomcat/trunk/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java

Modified: 
tomcat/trunk/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java?rev=1577562r1=1577561r2=1577562view=diff
==
--- tomcat/trunk/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java 
(original)
+++ tomcat/trunk/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java 
Fri Mar 14 15:02:25 2014
@@ -41,6 +41,7 @@ import javax.servlet.http.HttpServletReq
 import javax.servlet.http.HttpServletResponse;
 
 import org.junit.Assert;
+import org.junit.Assume;
 import org.junit.Test;
 
 import org.apache.catalina.core.StandardContext;
@@ -91,11 +92,10 @@ public class TestNonBlockingAPI extends 
 public void testNonBlockingReadIgnoreIsReady() throws Exception {
 // TODO Investigate options to get this test to pass with the HTTP BIO
 //  connector.
-if (getTomcatInstance().getConnector().getProtocol().equals(
-org.apache.coyote.http11.Http11Protocol)) {
-throw new IOException(
-Forced failure as this test requires true non-blocking 
IO);
-}
+Assume.assumeFalse(
+Skipping as this test requires true non-blocking IO,
+getTomcatInstance().getConnector().getProtocol()
+.equals(org.apache.coyote.http11.Http11Protocol));
 doTestNonBlockingRead(true);
 }
 



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



[Bug 56256] Multiple cookies and parallel deployment

2014-03-14 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56256

Mark Thomas ma...@apache.org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |INVALID

--- Comment #1 from Mark Thomas ma...@apache.org ---
The call to isRequestedSessionIdValid() checks all versions of the app for a
match.

-- 
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: r1577565 - in /tomcat/trunk/test/org/apache/tomcat/util/net: TestClientCert.java TestCustomSsl.java TestSsl.java

2014-03-14 Thread kkolinko
Author: kkolinko
Date: Fri Mar 14 15:17:27 2014
New Revision: 1577565

URL: http://svn.apache.org/r1577565
Log:
Better reporting for skipped tests.
With org.junit.Assume the tests are clearly reported as 'skipped' in JUnit test 
run summary.

Modified:
tomcat/trunk/test/org/apache/tomcat/util/net/TestClientCert.java
tomcat/trunk/test/org/apache/tomcat/util/net/TestCustomSsl.java
tomcat/trunk/test/org/apache/tomcat/util/net/TestSsl.java

Modified: tomcat/trunk/test/org/apache/tomcat/util/net/TestClientCert.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/util/net/TestClientCert.java?rev=1577565r1=1577564r2=1577565view=diff
==
--- tomcat/trunk/test/org/apache/tomcat/util/net/TestClientCert.java (original)
+++ tomcat/trunk/test/org/apache/tomcat/util/net/TestClientCert.java Fri Mar 14 
15:17:27 2014
@@ -20,6 +20,7 @@ import java.util.Arrays;
 
 import static org.junit.Assert.assertEquals;
 
+import org.junit.Assume;
 import org.junit.Test;
 
 import org.apache.catalina.startup.Tomcat;
@@ -35,9 +36,8 @@ public class TestClientCert extends Tomc
 
 @Test
 public void testClientCertGet() throws Exception {
-if (!TesterSupport.isRenegotiationSupported(getTomcatInstance())) {
-return;
-}
+Assume.assumeTrue(SSL renegotiation have to be supported,
+TesterSupport.isRenegotiationSupported(getTomcatInstance()));
 
 // Unprotected resource
 ByteChunk res =
@@ -72,9 +72,8 @@ public class TestClientCert extends Tomc
 
 private void doTestClientCertPost(int bodySize, boolean 
expectProtectedFail)
 throws Exception {
-if (!TesterSupport.isRenegotiationSupported(getTomcatInstance())) {
-return;
-}
+Assume.assumeTrue(SSL renegotiation have to be supported,
+TesterSupport.isRenegotiationSupported(getTomcatInstance()));
 
 byte[] body = new byte[bodySize];
 Arrays.fill(body, TesterSupport.DATA);

Modified: tomcat/trunk/test/org/apache/tomcat/util/net/TestCustomSsl.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/util/net/TestCustomSsl.java?rev=1577565r1=1577564r2=1577565view=diff
==
--- tomcat/trunk/test/org/apache/tomcat/util/net/TestCustomSsl.java (original)
+++ tomcat/trunk/test/org/apache/tomcat/util/net/TestCustomSsl.java Fri Mar 14 
15:17:27 2014
@@ -25,6 +25,7 @@ import static org.junit.Assert.assertEqu
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
+import org.junit.Assume;
 import org.junit.Test;
 
 import org.apache.catalina.Context;
@@ -52,10 +53,9 @@ public class TestCustomSsl extends Tomca
 
 Tomcat tomcat = getTomcatInstance();
 Connector connector = tomcat.getConnector();
-if (connector.getProtocolHandlerClassName().contains(Apr)) {
-// This test is only for JSSE based SSL connectors
-return;
-}
+
+Assume.assumeFalse(This test is only for JSSE based SSL connectors,
+connector.getProtocolHandlerClassName().contains(Apr));
 
 connector.setProperty(sslImplementationName,
 org.apache.tomcat.util.net.jsse.TesterBug50640SslImpl);
@@ -105,9 +105,8 @@ public class TestCustomSsl extends Tomca
 
 Tomcat tomcat = getTomcatInstance();
 
-if (!TesterSupport.isRenegotiationSupported(getTomcatInstance())) {
-return;
-}
+Assume.assumeTrue(SSL renegotiation have to be supported,
+TesterSupport.isRenegotiationSupported(getTomcatInstance()));
 
 TesterSupport.configureClientCertContext(tomcat);
 

Modified: tomcat/trunk/test/org/apache/tomcat/util/net/TestSsl.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/util/net/TestSsl.java?rev=1577565r1=1577564r2=1577565view=diff
==
--- tomcat/trunk/test/org/apache/tomcat/util/net/TestSsl.java (original)
+++ tomcat/trunk/test/org/apache/tomcat/util/net/TestSsl.java Fri Mar 14 
15:17:27 2014
@@ -34,6 +34,7 @@ import static org.junit.Assert.assertTru
 import static org.junit.Assert.fail;
 
 import org.junit.Assert;
+import org.junit.Assume;
 import org.junit.Test;
 
 import org.apache.catalina.Context;
@@ -165,9 +166,8 @@ public class TestSsl extends TomcatBaseT
 public void testRenegotiateWorks() throws Exception {
 Tomcat tomcat = getTomcatInstance();
 
-if (!TesterSupport.isRenegotiationSupported(tomcat)) {
-return;
-}
+Assume.assumeTrue(SSL renegotiation have to be supported,
+TesterSupport.isRenegotiationSupported(getTomcatInstance()));
 
 File appDir = new File(getBuildDirectory(), webapps/examples);
 // app dir is relative to server 

buildbot success in ASF Buildbot on tomcat-trunk

2014-03-14 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/5595

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

Buildslave for this Build: bb-vm_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch tomcat/trunk] 1577501
Blamelist: kkolinko,remm

Build succeeded!

sincerely,
 -The Buildbot





svn commit: r1577569 - /tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java

2014-03-14 Thread remm
Author: remm
Date: Fri Mar 14 15:21:26 2014
New Revision: 1577569

URL: http://svn.apache.org/r1577569
Log:
Add missing code to retry if no bytes are written (handshake) like for blocking 
IO, and use EOFException instead.

Modified:
tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java?rev=1577569r1=1577568r2=1577569view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java Fri Mar 
14 15:21:26 2014
@@ -20,7 +20,6 @@ import java.io.EOFException;
 import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.nio.channels.AsynchronousSocketChannel;
-import java.nio.channels.ClosedChannelException;
 import java.nio.channels.CompletionHandler;
 import java.nio.channels.WritePendingException;
 import java.util.concurrent.ExecutionException;
@@ -665,7 +664,7 @@ public class SecureNio2Channel extends N
 @Override
 public void completed(Integer nBytes, A attach) {
 if (nBytes.intValue()  0) {
-handler.failed(new ClosedChannelException(), attach);
+handler.failed(new EOFException(), attach);
 return;
 }
 try {
@@ -734,8 +733,8 @@ public class SecureNio2Channel extends N
 }
 
 @Override
-public A void write(final ByteBuffer src, long timeout, TimeUnit unit, 
final A attachment,
-final CompletionHandlerInteger, ? super A handler) {
+public A void write(final ByteBuffer src, final long timeout, final 
TimeUnit unit,
+final A attachment, final CompletionHandlerInteger, ? super A 
handler) {
 //are we closing or closed?
 if (closing || closed) {
 handler.failed(new IOException(Channel is in closing state.), 
attachment);
@@ -746,7 +745,7 @@ public class SecureNio2Channel extends N
 // Prepare the output buffer
 this.netOutBuffer.clear();
 // Wrap the source data into the internal buffer
-SSLEngineResult result = 
sslEngine.wrap(bufHandler.getWriteBuffer(), netOutBuffer);
+SSLEngineResult result = sslEngine.wrap(src, netOutBuffer);
 final int written = result.bytesConsumed();
 netOutBuffer.flip();
 if (result.getStatus() == Status.OK) {
@@ -762,7 +761,9 @@ public class SecureNio2Channel extends N
 @Override
 public void completed(Integer nBytes, A attach) {
 if (nBytes.intValue()  0) {
-handler.failed(new ClosedChannelException(), attach);
+handler.failed(new EOFException(), attach);
+} else if (written == 0) {
+write(src, timeout, unit, attachment, handler);
 } else {
 // Call the handler completed method with the
 // consumed bytes number
@@ -811,7 +812,7 @@ public class SecureNio2Channel extends N
 @Override
 public void completed(Integer nBytes, GatherStateA attachment) {
 if (nBytes.intValue()  0) {
-state.handler.failed(new ClosedChannelException(), 
state.attachment);
+state.handler.failed(new EOFException(), state.attachment);
 } else {
 if (state.pos == state.offset + state.length) {
 state.handler.completed(Long.valueOf(state.writeCount), 
state.attachment);
@@ -822,7 +823,8 @@ public class SecureNio2Channel extends N
 netOutBuffer.clear();
 // Wrap the source data into the internal buffer
 SSLEngineResult result = 
sslEngine.wrap(state.srcs[state.offset], netOutBuffer);
-state.writeCount += result.bytesConsumed();
+int written = result.bytesConsumed();
+state.writeCount += written;
 netOutBuffer.flip();
 if (result.getStatus() == Status.OK) {
 if (result.getHandshakeStatus() == 
HandshakeStatus.NEED_TASK)
@@ -831,7 +833,9 @@ public class SecureNio2Channel extends N
 failed(new IOException(Unable to wrap data, invalid 
engine state:  +result.getStatus()), attachment);
 return;
 }
-state.offset++;
+if (written  0) {
+state.offset++;
+}
 // Write data to the channel
 sc.write(netOutBuffer, state.timeout, state.unit, state, 
this);
 } catch (Throwable exp) {




svn commit: r1577581 - in /tomcat/trunk/test/org/apache/tomcat/util/net: TestClientCert.java TestCustomSsl.java TestSsl.java

2014-03-14 Thread kkolinko
Author: kkolinko
Date: Fri Mar 14 15:43:47 2014
New Revision: 1577581

URL: http://svn.apache.org/r1577581
Log:
Correct typo in the message

Modified:
tomcat/trunk/test/org/apache/tomcat/util/net/TestClientCert.java
tomcat/trunk/test/org/apache/tomcat/util/net/TestCustomSsl.java
tomcat/trunk/test/org/apache/tomcat/util/net/TestSsl.java

Modified: tomcat/trunk/test/org/apache/tomcat/util/net/TestClientCert.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/util/net/TestClientCert.java?rev=1577581r1=1577580r2=1577581view=diff
==
--- tomcat/trunk/test/org/apache/tomcat/util/net/TestClientCert.java (original)
+++ tomcat/trunk/test/org/apache/tomcat/util/net/TestClientCert.java Fri Mar 14 
15:43:47 2014
@@ -36,7 +36,7 @@ public class TestClientCert extends Tomc
 
 @Test
 public void testClientCertGet() throws Exception {
-Assume.assumeTrue(SSL renegotiation have to be supported,
+Assume.assumeTrue(SSL renegotiation has to be supported for this 
test,
 TesterSupport.isRenegotiationSupported(getTomcatInstance()));
 
 // Unprotected resource
@@ -72,7 +72,7 @@ public class TestClientCert extends Tomc
 
 private void doTestClientCertPost(int bodySize, boolean 
expectProtectedFail)
 throws Exception {
-Assume.assumeTrue(SSL renegotiation have to be supported,
+Assume.assumeTrue(SSL renegotiation has to be supported for this 
test,
 TesterSupport.isRenegotiationSupported(getTomcatInstance()));
 
 byte[] body = new byte[bodySize];

Modified: tomcat/trunk/test/org/apache/tomcat/util/net/TestCustomSsl.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/util/net/TestCustomSsl.java?rev=1577581r1=1577580r2=1577581view=diff
==
--- tomcat/trunk/test/org/apache/tomcat/util/net/TestCustomSsl.java (original)
+++ tomcat/trunk/test/org/apache/tomcat/util/net/TestCustomSsl.java Fri Mar 14 
15:43:47 2014
@@ -105,7 +105,7 @@ public class TestCustomSsl extends Tomca
 
 Tomcat tomcat = getTomcatInstance();
 
-Assume.assumeTrue(SSL renegotiation have to be supported,
+Assume.assumeTrue(SSL renegotiation has to be supported for this 
test,
 TesterSupport.isRenegotiationSupported(getTomcatInstance()));
 
 TesterSupport.configureClientCertContext(tomcat);

Modified: tomcat/trunk/test/org/apache/tomcat/util/net/TestSsl.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/util/net/TestSsl.java?rev=1577581r1=1577580r2=1577581view=diff
==
--- tomcat/trunk/test/org/apache/tomcat/util/net/TestSsl.java (original)
+++ tomcat/trunk/test/org/apache/tomcat/util/net/TestSsl.java Fri Mar 14 
15:43:47 2014
@@ -166,7 +166,7 @@ public class TestSsl extends TomcatBaseT
 public void testRenegotiateWorks() throws Exception {
 Tomcat tomcat = getTomcatInstance();
 
-Assume.assumeTrue(SSL renegotiation have to be supported,
+Assume.assumeTrue(SSL renegotiation has to be supported for this 
test,
 TesterSupport.isRenegotiationSupported(getTomcatInstance()));
 
 File appDir = new File(getBuildDirectory(), webapps/examples);



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



svn commit: r1577582 - in /tomcat/tc7.0.x/trunk: ./ test/org/apache/catalina/comet/TestCometProcessor.java test/org/apache/tomcat/util/net/TestClientCert.java test/org/apache/tomcat/util/net/TestCusto

2014-03-14 Thread kkolinko
Author: kkolinko
Date: Fri Mar 14 15:46:45 2014
New Revision: 1577582

URL: http://svn.apache.org/r1577582
Log:
Merged revisions r1577557 r1577565 r1577581 from tomcat/trunk:
Better reporting for skipped tests.
With org.junit.Assume the tests are clearly reported as 'skipped' in JUnit test 
run summary.

Modified:
tomcat/tc7.0.x/trunk/   (props changed)
tomcat/tc7.0.x/trunk/test/org/apache/catalina/comet/TestCometProcessor.java
tomcat/tc7.0.x/trunk/test/org/apache/tomcat/util/net/TestClientCert.java
tomcat/tc7.0.x/trunk/test/org/apache/tomcat/util/net/TestCustomSsl.java
tomcat/tc7.0.x/trunk/test/org/apache/tomcat/util/net/TestSsl.java

Propchange: tomcat/tc7.0.x/trunk/
--
  Merged /tomcat/trunk:r1577557,1577565,1577581

Modified: 
tomcat/tc7.0.x/trunk/test/org/apache/catalina/comet/TestCometProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/test/org/apache/catalina/comet/TestCometProcessor.java?rev=1577582r1=1577581r2=1577582view=diff
==
--- tomcat/tc7.0.x/trunk/test/org/apache/catalina/comet/TestCometProcessor.java 
(original)
+++ tomcat/tc7.0.x/trunk/test/org/apache/catalina/comet/TestCometProcessor.java 
Fri Mar 14 15:46:45 2014
@@ -33,6 +33,7 @@ import static org.junit.Assert.assertTru
 import static org.junit.Assert.fail;
 
 import org.junit.Assert;
+import org.junit.Assume;
 import org.junit.Test;
 
 import org.apache.catalina.Context;
@@ -50,11 +51,9 @@ public class TestCometProcessor extends 
 
 @Test
 public void testAsyncClose() throws Exception {
-
-if (!isCometSupported()) {
-log.info(This test is skipped, because this connector does not 
support Comet.);
-return;
-}
+Assume.assumeTrue(
+This test is skipped, because this connector does not support 
Comet.,
+isCometSupported());
 
 // Setup Tomcat instance
 Tomcat tomcat = getTomcatInstance();
@@ -119,11 +118,9 @@ public class TestCometProcessor extends 
 
 @Test
 public void testSyncClose() throws Exception {
-
-if (!isCometSupported()) {
-log.info(This test is skipped, because this connector does not 
support Comet.);
-return;
-}
+Assume.assumeTrue(
+This test is skipped, because this connector does not support 
Comet.,
+isCometSupported());
 
 // Setup Tomcat instance
 Tomcat tomcat = getTomcatInstance();
@@ -192,11 +189,9 @@ public class TestCometProcessor extends 
 
 @Test
 public void testConnectionClose() throws Exception {
-
-if (!isCometSupported()) {
-log.info(This test is skipped, because this connector does not 
support Comet.);
-return;
-}
+Assume.assumeTrue(
+This test is skipped, because this connector does not support 
Comet.,
+isCometSupported());
 
 // Setup Tomcat instance
 Tomcat tomcat = getTomcatInstance();
@@ -267,10 +262,9 @@ public class TestCometProcessor extends 
 }
 
 private void doSimpleCometTest(String initParam) throws Exception {
-if (!isCometSupported()) {
-log.info(This test is skipped, because this connector does not 
support Comet.);
-return;
-}
+Assume.assumeTrue(
+This test is skipped, because this connector does not support 
Comet.,
+isCometSupported());
 
 // Setup Tomcat instance
 Tomcat tomcat = getTomcatInstance();
@@ -362,11 +356,9 @@ public class TestCometProcessor extends 
  */
 @Test
 public void testCometConnectorStop() throws Exception {
-
-if (!isCometSupported()) {
-log.info(This test is skipped, because this connector does not 
support Comet.);
-return;
-}
+Assume.assumeTrue(
+This test is skipped, because this connector does not support 
Comet.,
+isCometSupported());
 
 // Setup Tomcat instance
 SimpleCometServlet servlet = new SimpleCometServlet();
@@ -461,11 +453,7 @@ public class TestCometProcessor extends 
 private boolean isCometSupported() {
 String protocol =
 getTomcatInstance().getConnector().getProtocolHandlerClassName();
-if (protocol.indexOf(Nio) == -1  protocol.indexOf(Apr) == -1) {
-return false;
-} else {
-return true;
-}
+return (protocol.contains(Nio) || protocol.contains(Apr));
 }
 
 private static class SimpleCometServlet extends HttpServlet

Modified: 
tomcat/tc7.0.x/trunk/test/org/apache/tomcat/util/net/TestClientCert.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/test/org/apache/tomcat/util/net/TestClientCert.java?rev=1577582r1=1577581r2=1577582view=diff

svn commit: r1577598 - /tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java

2014-03-14 Thread remm
Author: remm
Date: Fri Mar 14 16:11:40 2014
New Revision: 1577598

URL: http://svn.apache.org/r1577598
Log:
Make sure the byte buffer passed as a parameter is used in all read/write 
operations (come code is from the NIO1 which forces using the main read/write 
buffers).

Modified:
tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java?rev=1577598r1=1577597r2=1577598view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java Fri Mar 
14 16:11:40 2014
@@ -452,6 +452,10 @@ public class SecureNio2Channel extends N
 }
 
 private class FutureRead implements FutureInteger {
+private ByteBuffer dst;
+public FutureRead(ByteBuffer dst) {
+this.dst = dst;
+}
 @Override
 public boolean cancel(boolean mayInterruptIfRunning) {
 return false;
@@ -490,7 +494,7 @@ public class SecureNio2Channel extends N
 netInBuffer.flip();
 //unwrap the data
 try {
-unwrap = sslEngine.unwrap(netInBuffer, 
bufHandler.getReadBuffer());
+unwrap = sslEngine.unwrap(netInBuffer, dst);
 } catch (SSLException e) {
 throw new ExecutionException(e);
 }
@@ -522,7 +526,8 @@ public class SecureNio2Channel extends N
 
 private class FutureNetRead extends FutureRead {
 private FutureInteger integer;
-protected FutureNetRead() {
+protected FutureNetRead(ByteBuffer dst) {
+super(dst);
 this.integer = sc.read(netInBuffer);
 }
 @Override
@@ -564,22 +569,24 @@ public class SecureNio2Channel extends N
 if (!handshakeComplete)
 throw new IllegalStateException(Handshake incomplete, you must 
complete handshake before reading data.);
 if (netInBuffer.position()  0) {
-return new FutureRead();
+return new FutureRead(dst);
 } else {
-return new FutureNetRead();
+return new FutureNetRead(dst);
 }
 }
 
 private class FutureWrite implements FutureInteger {
+private ByteBuffer src;
 private FutureInteger integer = null;
 private int written = 0;
 private Throwable t = null;
-protected FutureWrite() {
+protected FutureWrite(ByteBuffer src) {
 //are we closing or closed?
 if (closing || closed) {
 t = new IOException(Channel is in closing state.);
 return;
 }
+this.src = src;
 wrap();
 }
 @Override
@@ -626,7 +633,7 @@ public class SecureNio2Channel extends N
 //The data buffer should be empty, we can reuse the entire buffer.
 netOutBuffer.clear();
 try {
-SSLEngineResult result = 
sslEngine.wrap(bufHandler.getWriteBuffer(), netOutBuffer);
+SSLEngineResult result = sslEngine.wrap(src, netOutBuffer);
 written = result.bytesConsumed();
 netOutBuffer.flip();
 if (result.getStatus() == Status.OK) {
@@ -650,7 +657,7 @@ public class SecureNio2Channel extends N
  */
 @Override
 public FutureInteger write(ByteBuffer src) {
-return new FutureWrite();
+return new FutureWrite(src);
 }
 
 private class ReadCompletionHandlerA implements 
CompletionHandlerInteger, A {



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



[Bug 56190] Connection keep-alive not working with asynchronous servlet

2014-03-14 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56190

--- Comment #11 from Francois-Xavier Bonnet f...@apache.org ---
Thanks. I just tested. Everything works as expected now.

-- 
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



[jira] [Created] (MTOMCAT-264) uriEncoding parameter not applied to HTTPS connector

2014-03-14 Thread Andreas Christoforides (JIRA)
Andreas Christoforides created MTOMCAT-264:
--

 Summary: uriEncoding parameter not applied to HTTPS connector
 Key: MTOMCAT-264
 URL: https://issues.apache.org/jira/browse/MTOMCAT-264
 Project: Apache Tomcat Maven Plugin
  Issue Type: Bug
  Components: tomcat6, tomcat7
Affects Versions: 2.2, 2.1
Reporter: Andreas Christoforides
Assignee: Olivier Lamy (*$^¨%`£)


The uriEncoding parameter does not work when using HTTPS. 

Looking at the code 
(http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractRunMojo.java?revision=1558943view=markup),
 the parameter is applied to the non-HTTP connector and the AJP connector but 
not applied to the HTTPS connector.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

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



buildbot failure in ASF Buildbot on tomcat-trunk

2014-03-14 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/5596

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

Buildslave for this Build: bb-vm_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch tomcat/trunk] 1577562
Blamelist: kkolinko,markt,remm

BUILD FAILED: failed compile_1

sincerely,
 -The Buildbot




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



[jira] [Updated] (MTOMCAT-264) uriEncoding parameter not working with HTTPS and run goal

2014-03-14 Thread Andreas Christoforides (JIRA)

 [ 
https://issues.apache.org/jira/browse/MTOMCAT-264?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andreas Christoforides updated MTOMCAT-264:
---

Description: 
The uriEncoding parameter does not work when using HTTPS with the run goal.

Looking at the code 
(http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractRunMojo.java?revision=1558943view=markup),
 the parameter is applied to the non-HTTP connector and the AJP connector but 
not applied to the HTTPS connector.

  was:
The uriEncoding parameter does not work when using HTTPS. 

Looking at the code 
(http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractRunMojo.java?revision=1558943view=markup),
 the parameter is applied to the non-HTTP connector and the AJP connector but 
not applied to the HTTPS connector.

Summary: uriEncoding parameter not working with HTTPS and run goal  
(was: uriEncoding parameter not applied to HTTPS connector)

 uriEncoding parameter not working with HTTPS and run goal
 -

 Key: MTOMCAT-264
 URL: https://issues.apache.org/jira/browse/MTOMCAT-264
 Project: Apache Tomcat Maven Plugin
  Issue Type: Bug
  Components: tomcat6, tomcat7
Affects Versions: 2.1, 2.2
Reporter: Andreas Christoforides
Assignee: Olivier Lamy (*$^¨%`£)

 The uriEncoding parameter does not work when using HTTPS with the run goal.
 Looking at the code 
 (http://svn.apache.org/viewvc/tomcat/maven-plugin/trunk/tomcat7-maven-plugin/src/main/java/org/apache/tomcat/maven/plugin/tomcat7/run/AbstractRunMojo.java?revision=1558943view=markup),
  the parameter is applied to the non-HTTP connector and the AJP connector but 
 not applied to the HTTPS connector.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

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



[jira] [Commented] (MTOMCAT-237) Maven variables not evaluated/resolved inside systemProperties

2014-03-14 Thread Andreas Christoforides (JIRA)

[ 
https://issues.apache.org/jira/browse/MTOMCAT-237?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13935400#comment-13935400
 ] 

Andreas Christoforides commented on MTOMCAT-237:


I was mistaken in my case. We have properties that  were added into the Maven 
model during the install lifecycle. The plugin does invoke the install 
lifecycle because it runs the process-classes phase.However, the actual run 
goal runs in its own lifecycle and therefore those properties are never added. 

The only way I found around that was to use the properties-maven-plugin and add 
the properties I needed as system properties thus allowing the Tomcat maven 
plugin to resolve them,  

 Maven variables not evaluated/resolved inside systemProperties
 --

 Key: MTOMCAT-237
 URL: https://issues.apache.org/jira/browse/MTOMCAT-237
 Project: Apache Tomcat Maven Plugin
  Issue Type: Bug
  Components: tomcat6, tomcat7
Affects Versions: 2.1
Reporter: Andreas Christoforides
Assignee: Olivier Lamy (*$^¨%`£)
 Fix For: moreinfo


 Maven properties/variables are not evaluated/resolved when used inside 
 systemProperties. Instead the string is used as is. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)

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



svn commit: r1577665 - /tomcat/trunk/test/org/apache/jasper/TestJspC.java

2014-03-14 Thread kkolinko
Author: kkolinko
Date: Fri Mar 14 19:16:54 2014
New Revision: 1577665

URL: http://svn.apache.org/r1577665
Log:
1. Do not hardcode the path to output directory. It can be controlled via 
build.properties.
2. Cleanup after the test.

Modified:
tomcat/trunk/test/org/apache/jasper/TestJspC.java

Modified: tomcat/trunk/test/org/apache/jasper/TestJspC.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/jasper/TestJspC.java?rev=1577665r1=1577664r2=1577665view=diff
==
--- tomcat/trunk/test/org/apache/jasper/TestJspC.java (original)
+++ tomcat/trunk/test/org/apache/jasper/TestJspC.java Fri Mar 14 19:16:54 2014
@@ -24,6 +24,7 @@ import java.nio.file.Path;
 import java.nio.file.SimpleFileVisitor;
 import java.nio.file.attribute.BasicFileAttributes;
 
+import org.junit.After;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
@@ -35,8 +36,15 @@ public class TestJspC {
 
 @Before
 public void init() {
+File tempDir = new File(System.getProperty(tomcat.test.temp,
+output/tmp));
+outputDir = new File(tempDir, jspc);
 jspc = new JspC();
-outputDir = new File(output/jspc);
+}
+
+@After
+public void cleanup() throws IOException {
+remove(outputDir);
 }
 
 @Test



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



[Bug 56265] New: Unexpected escaping in the values of dynamic tag attributes containing EL expressions

2014-03-14 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56265

Bug ID: 56265
   Summary: Unexpected escaping in the values of dynamic tag
attributes containing EL expressions
   Product: Tomcat 7
   Version: 7.0.52
  Hardware: PC
Status: NEW
  Severity: normal
  Priority: P2
 Component: Jasper
  Assignee: dev@tomcat.apache.org
  Reporter: knst.koli...@gmail.com

The following was reported on the users list,
double xmlEscape in dynamic attributes in 7.0.52
http://marc.info/?t=13947970987r=1w=2

[quote]
Hi,
I have several custom jspx tags with dynamic attributes that worked well up to
Tomcat 7.0.47, but they do not work properly on Tomcat 7.0.52. Same problems
occur also when using Spring form tags (I suspect that other libraries would
have same problem, but I didn't test them).

sample (data-test[2] is dynamic attribute, onclick is static):
c:set var=world value='World'/c:set
sf:form onclick=window.alert('Hello ${world}!')
data-test=window.alert('Hello ${world}!')
data-test2=window.alert('Hello World!')
tomcat 7.0.47 output:
form onclick=window.alert(#39;Hello #39;World#39;!#39;)
data-test=window.alert(#39;Hello #39;World#39;!#39;)
data-test2=window.alert(#39;Hello World!#39;)
tomcat 7.0.52 output:
form onclick=window.alert(#39;Hello #39;World#39;!#39;)
data-test=window.alert(amp;#039;Hello #39;World#39;!amp;#039;)
data-test2=window.alert(#39;Hello World!#39;)

If there is EL used in dynamic attribute (data-test), non-EL part of that
attribute is escaped twice, EL part is escaped only once. Tomcat 7.0.47 would
escape everything just once.
Everything works as before if static attribute is used (onclick) or there is no
EL in dynamic attribute (data-test2).
[/quote]

-- 
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 56265] Unexpected escaping in the values of dynamic tag attributes containing EL expressions

2014-03-14 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56265

--- Comment #1 from Konstantin Kolinko knst.koli...@gmail.com ---
Created attachment 31388
  -- https://issues.apache.org/bugzilla/attachment.cgi?id=31388action=edit
test.war

A simple web application that reproduces this issue.

Steps to reproduce on 7.0.52:
1. Deploy
2. Access http://localhost:8080/test/
3.
Actual:
---
[data-test]: [window.alert(#039;Hello 'World'!#039;)]
[data-test2]: [window.alert('Hello World!')]
---
Expected:
The following rows, in any order:
---
[data-test]: [window.alert('Hello 'World'!')]
[data-test2]: [window.alert('Hello World!')]
---

Tomcat 7.0.42 does not have this issue, produces the Expected output.

-- 
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 56265] Unexpected escaping in the values of dynamic tag attributes containing EL expressions

2014-03-14 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56265

Konstantin Kolinko knst.koli...@gmail.com changed:

   What|Removed |Added

 OS||All

--- Comment #2 from Konstantin Kolinko knst.koli...@gmail.com ---
In 7.0.52 the text of index_jspx.java contains:

[[[
  private boolean _jspx_meth_my_005fmytag_005f0(javax.servlet.jsp.PageContext
_jspx_page_context)
  throws java.lang.Throwable {
javax.servlet.jsp.PageContext pageContext = _jspx_page_context;
javax.servlet.jsp.JspWriter out = _jspx_page_context.getOut();
//  my:mytag
org.apache.jsp.tag.webmytag_tagx _jspx_th_my_005fmytag_005f0 = (new
org.apache.jsp.tag.webmytag_tagx());
_jsp_instancemanager.newInstance(_jspx_th_my_005fmytag_005f0);
_jspx_th_my_005fmytag_005f0.setJspContext(_jspx_page_context);
// /index.jspx(27,3) null
_jspx_th_my_005fmytag_005f0.setDynamicAttribute(null, data-test2,
window.alert('Hello World!'));
// /index.jspx(27,3) null
_jspx_th_my_005fmytag_005f0.setDynamicAttribute(null, data-test,
(java.lang.Object)
org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(window.alert(#039;Hello
${world}!#039;), java.lang.Object.class,
(javax.servlet.jsp.PageContext)_jspx_page_context, null, false));
_jspx_th_my_005fmytag_005f0.doTag();
_jsp_instancemanager.destroyInstance(_jspx_th_my_005fmytag_005f0);
return false;
  }
]]]

So I wonder why is it window.alert(#039;Hello ${world}!#039;) ,

-- 
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 56266] New: Property location incorrect in build instructions

2014-03-14 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56266

Bug ID: 56266
   Summary: Property location incorrect in build instructions
   Product: Tomcat 7
   Version: 7.0.52
  Hardware: PC
Status: NEW
  Severity: minor
  Priority: P2
 Component: Documentation
  Assignee: dev@tomcat.apache.org
  Reporter: ljty...@gmail.com

BUILDING.txt states that the property 'tomcat.output' is in the
build.properties file.
It isn't; tomcat.output is in build.xml

-- 
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 56266] Property location incorrect in build instructions

2014-03-14 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56266

Konstantin Kolinko knst.koli...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |INVALID
 OS||All

--- Comment #1 from Konstantin Kolinko knst.koli...@gmail.com ---
Of course it is not there, you have to create the build.properties file by
yourselves. The instruction is correct.

[quote]
(3.2) Building

 1. The build is controlled by creating a ${tomcat.source}/build.properties
file.
[/quote]

For reference:
http://ant.apache.org/manual/Tasks/property.html

-- 
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: r1577714 - /tomcat/trunk/test/org/apache/catalina/ha/session/TestSerializablePrincipal.java

2014-03-14 Thread kkolinko
Author: kkolinko
Date: Fri Mar 14 21:15:36 2014
New Revision: 1577714

URL: http://svn.apache.org/r1577714
Log:
Properly delete %TEMP%/ser{number}.tmp temporary file that was used to test 
serialization of a Principal.

On Windows the test could not delete the file, because FileInputStream has not 
been properly closed after reading. Thus rerunning the testsuite left a bunch 
of such files in the %TEMP% directory.

The file is now created in output/tmp instead of the system temporary directory.

Modified:

tomcat/trunk/test/org/apache/catalina/ha/session/TestSerializablePrincipal.java

Modified: 
tomcat/trunk/test/org/apache/catalina/ha/session/TestSerializablePrincipal.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/ha/session/TestSerializablePrincipal.java?rev=1577714r1=1577713r2=1577714view=diff
==
--- 
tomcat/trunk/test/org/apache/catalina/ha/session/TestSerializablePrincipal.java 
(original)
+++ 
tomcat/trunk/test/org/apache/catalina/ha/session/TestSerializablePrincipal.java 
Fri Mar 14 21:15:36 2014
@@ -44,14 +44,10 @@ public class TestSerializablePrincipal  
 @SuppressWarnings(null)
 @Test
 public void testWriteReadPrincipal() {
-// Get a temporary file to use for the serialization test
-File file = null;
-try {
-file = File.createTempFile(ser, null);
-file.deleteOnExit();
-} catch (IOException e) {
-e.printStackTrace();
-fail(ioe creating temporary file);
+
+File tempDir = new File(System.getProperty(tomcat.test.temp, 
output/tmp));
+if (!tempDir.mkdirs()  !tempDir.isDirectory()) {
+fail(Unable to create temporary directory for test);
 }
 
 // Create the Principal to serialize
@@ -62,36 +58,68 @@ public class TestSerializablePrincipal  
 GenericPrincipal gpOriginal =
 new GenericPrincipal(usr, pwd, roles, tpOriginal);
 
-// Do the serialization
+// Get a temporary file to use for the serialization test
+File file = null;
 try {
-FileOutputStream fos = new FileOutputStream(file);
-ObjectOutputStream oos = new ObjectOutputStream(fos);
-SerializablePrincipal.writePrincipal(gpOriginal, oos);
-oos.close();
-fos.close();
-} catch (FileNotFoundException e) {
-e.printStackTrace();
-fail(fnfe creating object output stream);
+file = File.createTempFile(ser, null, tempDir);
 } catch (IOException e) {
 e.printStackTrace();
-fail(ioe serializing principal);
+fail(ioe creating temporary file);
 }
 
-// De-serialize the Principal
 GenericPrincipal gpNew = null;
 try {
-FileInputStream fis = new FileInputStream(file);
-ObjectInputStream ois = new ObjectInputStream(fis);
-gpNew = SerializablePrincipal.readPrincipal(ois);
-} catch (FileNotFoundException e) {
-e.printStackTrace();
-fail(fnfe reading object output stream);
-} catch (IOException e) {
-e.printStackTrace();
-fail(ioe de-serializing principal);
-} catch (ClassNotFoundException e) {
-e.printStackTrace();
-fail(cnfe de-serializing principal);
+// Do the serialization
+FileOutputStream fos = null;
+try {
+fos = new FileOutputStream(file);
+ObjectOutputStream oos = new ObjectOutputStream(fos);
+SerializablePrincipal.writePrincipal(gpOriginal, oos);
+oos.close();
+} catch (FileNotFoundException e) {
+e.printStackTrace();
+fail(fnfe creating object output stream);
+} catch (IOException e) {
+e.printStackTrace();
+fail(ioe serializing principal);
+} finally {
+if (fos != null) {
+try {
+fos.close();
+} catch (IOException ignored) {
+// NO OP
+}
+}
+}
+
+// De-serialize the Principal
+FileInputStream fis = null;
+try {
+fis = new FileInputStream(file);
+ObjectInputStream ois = new ObjectInputStream(fis);
+gpNew = SerializablePrincipal.readPrincipal(ois);
+} catch (FileNotFoundException e) {
+e.printStackTrace();
+fail(fnfe reading object output stream);
+} catch (IOException e) {
+e.printStackTrace();
+fail(ioe de-serializing principal);
+} catch (ClassNotFoundException e) {
+e.printStackTrace();
+fail(cnfe 

svn commit: r1577721 - in /tomcat/tc7.0.x/trunk: ./ test/org/apache/catalina/ha/session/TestSerializablePrincipal.java

2014-03-14 Thread kkolinko
Author: kkolinko
Date: Fri Mar 14 21:21:29 2014
New Revision: 1577721

URL: http://svn.apache.org/r1577721
Log:
Merged r1577714 from tomcat/trunk:
Properly delete %TEMP%/ser{number}.tmp temporary file that was used to test 
serialization of a Principal.

On Windows the test could not delete the file, because FileInputStream has not 
been properly closed after reading. Thus rerunning the testsuite left a bunch 
of such files in the %TEMP% directory.

The file is now created in output/tmp instead of the system temporary directory.

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

tomcat/tc7.0.x/trunk/test/org/apache/catalina/ha/session/TestSerializablePrincipal.java

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

Modified: 
tomcat/tc7.0.x/trunk/test/org/apache/catalina/ha/session/TestSerializablePrincipal.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/test/org/apache/catalina/ha/session/TestSerializablePrincipal.java?rev=1577721r1=1577720r2=1577721view=diff
==
--- 
tomcat/tc7.0.x/trunk/test/org/apache/catalina/ha/session/TestSerializablePrincipal.java
 (original)
+++ 
tomcat/tc7.0.x/trunk/test/org/apache/catalina/ha/session/TestSerializablePrincipal.java
 Fri Mar 14 21:21:29 2014
@@ -44,14 +44,10 @@ public class TestSerializablePrincipal  
 @SuppressWarnings(null)
 @Test
 public void testWriteReadPrincipal() {
-// Get a temporary file to use for the serialization test
-File file = null;
-try {
-file = File.createTempFile(ser, null);
-file.deleteOnExit();
-} catch (IOException e) {
-e.printStackTrace();
-fail(ioe creating temporary file);
+
+File tempDir = new File(System.getProperty(tomcat.test.temp, 
output/tmp));
+if (!tempDir.mkdirs()  !tempDir.isDirectory()) {
+fail(Unable to create temporary directory for test);
 }
 
 // Create the Principal to serialize
@@ -62,36 +58,68 @@ public class TestSerializablePrincipal  
 GenericPrincipal gpOriginal =
 new GenericPrincipal(usr, pwd, roles, tpOriginal);
 
-// Do the serialization
+// Get a temporary file to use for the serialization test
+File file = null;
 try {
-FileOutputStream fos = new FileOutputStream(file);
-ObjectOutputStream oos = new ObjectOutputStream(fos);
-SerializablePrincipal.writePrincipal(gpOriginal, oos);
-oos.close();
-fos.close();
-} catch (FileNotFoundException e) {
-e.printStackTrace();
-fail(fnfe creating object output stream);
+file = File.createTempFile(ser, null, tempDir);
 } catch (IOException e) {
 e.printStackTrace();
-fail(ioe serializing principal);
+fail(ioe creating temporary file);
 }
 
-// De-serialize the Principal
 GenericPrincipal gpNew = null;
 try {
-FileInputStream fis = new FileInputStream(file);
-ObjectInputStream ois = new ObjectInputStream(fis);
-gpNew = SerializablePrincipal.readPrincipal(ois);
-} catch (FileNotFoundException e) {
-e.printStackTrace();
-fail(fnfe reading object output stream);
-} catch (IOException e) {
-e.printStackTrace();
-fail(ioe de-serializing principal);
-} catch (ClassNotFoundException e) {
-e.printStackTrace();
-fail(cnfe de-serializing principal);
+// Do the serialization
+FileOutputStream fos = null;
+try {
+fos = new FileOutputStream(file);
+ObjectOutputStream oos = new ObjectOutputStream(fos);
+SerializablePrincipal.writePrincipal(gpOriginal, oos);
+oos.close();
+} catch (FileNotFoundException e) {
+e.printStackTrace();
+fail(fnfe creating object output stream);
+} catch (IOException e) {
+e.printStackTrace();
+fail(ioe serializing principal);
+} finally {
+if (fos != null) {
+try {
+fos.close();
+} catch (IOException ignored) {
+// NO OP
+}
+}
+}
+
+// De-serialize the Principal
+FileInputStream fis = null;
+try {
+fis = new FileInputStream(file);
+ObjectInputStream ois = new ObjectInputStream(fis);
+gpNew = SerializablePrincipal.readPrincipal(ois);
+} catch (FileNotFoundException e) {
+e.printStackTrace();
+fail(fnfe reading 

svn commit: r1577757 - in /tomcat/trunk/java/org/apache/tomcat/util/net: Nio2Endpoint.java SecureNio2Channel.java

2014-03-14 Thread remm
Author: remm
Date: Fri Mar 14 23:13:00 2014
New Revision: 1577757

URL: http://svn.apache.org/r1577757
Log:
Implement the read/write pending contract in the SSL channel (not doing so 
would likely still trigger the exception, but would add corruption).

Modified:
tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java
tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java?rev=1577757r1=1577756r2=1577757view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java Fri Mar 14 
23:13:00 2014
@@ -479,12 +479,11 @@ public class Nio2Endpoint extends Abstra
 }
 } else {
 channel.setIOChannel(socket);
-if ( channel instanceof SecureNio2Channel ) {
+if (channel instanceof SecureNio2Channel) {
 SSLEngine engine = createSSLEngine();
-((SecureNio2Channel)channel).reset(engine);
-} else {
-channel.reset();
+((SecureNio2Channel) channel).setSSLEngine(engine);
 }
+channel.reset();
 }
 Nio2SocketWrapper socketWrapper = (useCaches) ? 
socketWrapperCache.pop() : null;
 if (socketWrapper == null) {

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java?rev=1577757r1=1577756r2=1577757view=diff
==
--- tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java 
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java Fri Mar 
14 23:13:00 2014
@@ -21,6 +21,7 @@ import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.nio.channels.AsynchronousSocketChannel;
 import java.nio.channels.CompletionHandler;
+import java.nio.channels.ReadPendingException;
 import java.nio.channels.WritePendingException;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
@@ -49,8 +50,8 @@ public class SecureNio2Channel extends N
 
 protected boolean closed = false;
 protected boolean closing = false;
-protected boolean readPending = false;
-protected boolean writePending = false;
+protected volatile boolean readPending = false;
+protected volatile boolean writePending = false;
 
 private CompletionHandlerInteger, SocketWrapperNio2Channel 
handshakeReadCompletionHandler;
 private CompletionHandlerInteger, SocketWrapperNio2Channel 
handshakeWriteCompletionHandler;
@@ -102,9 +103,8 @@ public class SecureNio2Channel extends N
 reset();
 }
 
-public void reset(SSLEngine engine) throws IOException {
+public void setSSLEngine(SSLEngine engine) throws IOException {
 this.sslEngine = engine;
-reset();
 }
 
 @Override
@@ -152,15 +152,23 @@ public class SecureNio2Channel extends N
 @Override
 public Boolean get() throws InterruptedException,
 ExecutionException {
-int result = integer.get().intValue();
-return Boolean.valueOf(result = 0);
+try {
+int result = integer.get().intValue();
+return Boolean.valueOf(result = 0);
+} finally {
+writePending = false;
+}
 }
 @Override
 public Boolean get(long timeout, TimeUnit unit)
 throws InterruptedException, ExecutionException,
 TimeoutException {
-int result = integer.get(timeout, unit).intValue();
-return Boolean.valueOf(result = 0);
+try {
+int result = integer.get(timeout, unit).intValue();
+return Boolean.valueOf(result = 0);
+} finally {
+writePending = false;
+}
 }
 }
 
@@ -174,6 +182,11 @@ public class SecureNio2Channel extends N
 @Override
 public FutureBoolean flush()
 throws IOException {
+if (writePending) {
+throw new WritePendingException();
+} else {
+writePending = true;
+}
 return new FutureFlush(sc.write(netOutBuffer));
 }
 
@@ -470,13 +483,21 @@ public class SecureNio2Channel extends N
 }
 @Override
 public Integer get() throws InterruptedException, ExecutionException {
-return unwrap(netInBuffer.position());
+try {
+return unwrap(netInBuffer.position());
+} finally {
+

[Bug 56265] Unexpected escaping in the values of dynamic tag attributes containing EL expressions

2014-03-14 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56265

--- Comment #3 from Konstantin Kolinko knst.koli...@gmail.com ---
Thus far:

1. It is reproducible with the current trunk

The following line numbers are from debugging the reproducer with current trunk
@1577714.

2. 'setDynamicAttribute(' is written out at
Generator$GenerateVisitor.generateSetters(...) at Generator.java L3098

At this point attrs[i].getValue() is already
window.alert(#039;Hello ${world}!#039;)

3. The escaping happens when creating Node.JspAttribute.
That is in Validator$ValidateVisitor.getJspAttribute(...) at Validator.java
L1379

The code there originates from r1539173

Apparently the goal of r1539173 was to apply xml escaping to attributes in
UninterpretedTag nodes, but it was applied to any tag attributes containing EL
expressions.

-- 
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 56265] Unexpected escaping in the values of dynamic tag attributes containing EL expressions

2014-03-14 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56265

Konstantin Kolinko knst.koli...@gmail.com changed:

   What|Removed |Added

   Severity|normal  |regression

-- 
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 56265] Unexpected escaping in the values of dynamic tag attributes containing EL expressions

2014-03-14 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56265

--- Comment #4 from Konstantin Kolinko knst.koli...@gmail.com ---
Created attachment 31390
  -- https://issues.apache.org/bugzilla/attachment.cgi?id=31390action=edit
2014-03-15_56265_tc8_v1.patch

Patch for this issue.
Essentially it limits the effect of r1539173 to uninterpreted tags only.

There is no JUnit testcase for this issue yet.

-- 
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



[GUMP@vmgump]: Project tomcat-trunk-test-nio2 (in module tomcat-trunk) failed

2014-03-14 Thread Bill Barker
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-trunk-test-nio2 has an issue affecting its community integration.
This issue affects 1 projects.
The current state of this project is 'Failed', with reason 'Build Failed'.
For reference only, the following projects are affected by this:
- tomcat-trunk-test-nio2 :  Tomcat 8.x, a web server implementing the Java 
Servlet 3.1,
...


Full details are available at:

http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-test-nio2/index.html

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were 
provided:
 -DEBUG- Dependency on commons-daemon exists, no need to add for property 
commons-daemon.native.src.tgz.
 -DEBUG- Dependency on commons-daemon exists, no need to add for property 
tomcat-native.tar.gz.
 -DEBUG- Dependency on tomcat-trunk exists, no need to add for property 
tomcat-dbcp.home.
 -INFO- Failed with reason build failed
 -INFO- Project Reports in: 
/srv/gump/public/workspace/tomcat-trunk/output/build/logs



The following work was performed:
http://vmgump.apache.org/gump/public/tomcat-trunk/tomcat-trunk-test-nio2/gump_work/build_tomcat-trunk_tomcat-trunk-test-nio2.html
Work Name: build_tomcat-trunk_tomcat-trunk-test-nio2 (Type: Build)
Work ended in a state of : Failed
Elapsed: 31 mins 28 secs
Command Line: /usr/lib/jvm/java-7-oracle/bin/java -Djava.awt.headless=true 
-Dbuild.sysclasspath=only org.apache.tools.ant.Main 
-Dgump.merge=/srv/gump/public/gump/work/merge.xml 
-Djunit.jar=/srv/gump/public/workspace/junit/target/junit-4.12-SNAPSHOT.jar 
-Dobjenesis.jar=/srv/gump/public/workspace/objenesis/main/target/objenesis-2.2-SNAPSHOT.jar
 
-Dtomcat-native.tar.gz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20140315-native-src.tar.gz
 -Dexamples.sources.skip=true 
-Dtomcat-dbcp.home=/srv/gump/public/workspace/tomcat-trunk/tomcat-deps 
-Djdt.jar=/srv/gump/packages/eclipse/plugins/org.eclipse.jdt.core_3.4.2/jdtcore.jar
 
-Dcommons-daemon.jar=/srv/gump/public/workspace/apache-commons/daemon/dist/commons-daemon-20140315.jar
 
-Dcommons-daemon.native.src.tgz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20140315-native-src.tar.gz
 -Dexecute.test.nio=false -Dtest.accesslog=true 
-Dcommons-pool.home=/srv/gump/public/workspace/apache-co
 mmons/pool -Dcommons-dbcp.home=/srv/gump/public/workspace/apache-commons/dbcp 
-Dexecute.test.nio2=true -Dexecute.test.bio=false 
-Deasymock.jar=/srv/gump/public/workspace/easymock/easymock/target/easymock-3.3-SNAPSHOT.jar
 
-Dhamcrest.jar=/srv/gump/public/workspace/hamcrest/hamcrest-java/build/hamcrest-core-20140315.jar
 -Dcglib.jar=/srv/gump/packages/cglib/cglib-nodep-2.2.jar test 
[Working Directory: /srv/gump/public/workspace/tomcat-trunk]
CLASSPATH: 
/usr/lib/jvm/java-7-oracle/lib/tools.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/webapps/examples/WEB-INF/classes:/srv/gump/public/workspace/tomcat-trunk/output/testclasses:/srv/gump/public/workspace/ant/dist/lib/ant.jar:/srv/gump/public/workspace/ant/dist/lib/ant-launcher.jar:/srv/gump/public/workspace/ant/dist/lib/ant-jmf.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit4.jar:/srv/gump/public/workspace/ant/dist/lib/ant-swing.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-resolver.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-xalan2.jar:/srv/gump/public/workspace/xml-commons/java/build/resolver.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/bin/bootstrap.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/bin/tomcat-juli.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/annotations-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/servle
 
t-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jsp-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/el-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/websocket-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-ant.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-storeconfig.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/tomcat-coyote.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jasper.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/jasper-el.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-tribes.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/catalina-ha.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/tomcat-api.jar:/srv/gump/public/workspace/tomcat-trunk/output/build/lib/tomcat-jni.jar:/srv/gump/public/workspace/tomcat