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

2014-06-11 Thread kkolinko
Author: kkolinko
Date: Wed Jun 11 09:28:23 2014
New Revision: 1601839

URL: http://svn.apache.org/r1601839
Log:
votes

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=1601839r1=1601838r2=1601839view=diff
==
--- tomcat/tc6.0.x/trunk/STATUS.txt (original)
+++ tomcat/tc6.0.x/trunk/STATUS.txt Wed Jun 11 09:28:23 2014
@@ -54,13 +54,13 @@ PATCHES PROPOSED TO BACKPORT:
 * Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56606
   User new attribute name for username
   http://people.apache.org/~markt/patches/2014-06-10-user-username-tc6-v1.patch
-  +1: markt
+  +1: markt, kkolinko
   -1:
 
 * Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56612
   Correct parse {'\'\''} in JSPs
   http://people.apache.org/~markt/patches/2014-06-11-bug56612-tc6-v1.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



[Bug 56518] NIO async servlet limit latch leak

2014-06-11 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56518

--- Comment #14 from Mark Thomas ma...@apache.org ---
I've done some testing and it looks like the call to
Thread.currentThread().isInterrupted() is nice and quick. I'm going to go ahead
and make some changes here.

I've been thinking about this some more and I am leaning towards closing the
connection if Tomcat detects an interrupt since that is what would happen if
the thread was allowed to continue. This adds weight to the view that the
application should clear the interrupt.

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

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



Re: svn commit: r1601796 - in /tomcat/trunk: java/org/apache/catalina/connector/Request.java webapps/docs/changelog.xml

2014-06-11 Thread Mark Thomas
On 11/06/2014 02:49, violet...@apache.org wrote:
 Author: violetagg
 Date: Wed Jun 11 01:49:21 2014
 New Revision: 1601796
 
 URL: http://svn.apache.org/r1601796
 Log:
 Provide a better error message when asynchronous operations are not supported 
 by a filter or servlet. Patch provided by Romain Manni-Bucau. Issue was 
 reported via users at tomcat.a.o.
 
 Modified:
 tomcat/trunk/java/org/apache/catalina/connector/Request.java
 tomcat/trunk/webapps/docs/changelog.xml
 
 Modified: tomcat/trunk/java/org/apache/catalina/connector/Request.java
 URL: 
 http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Request.java?rev=1601796r1=1601795r2=1601796view=diff
 ==
 --- tomcat/trunk/java/org/apache/catalina/connector/Request.java (original)
 +++ tomcat/trunk/java/org/apache/catalina/connector/Request.java Wed Jun 11 
 01:49:21 2014
 @@ -1601,7 +1601,8 @@ public class Request
  public AsyncContext startAsync(ServletRequest request,
  ServletResponse response) {
  if (!isAsyncSupported()) {
 -throw new IllegalStateException(Not supported.);
 +throw new IllegalStateException(
 +A filter or servlet of the current chain does not 
 support asynchronous operations.);
  }
  
  if (asyncContext == null) {

i18n? There is a StringManager available.

Mark


 
 Modified: tomcat/trunk/webapps/docs/changelog.xml
 URL: 
 http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1601796r1=1601795r2=1601796view=diff
 ==
 --- tomcat/trunk/webapps/docs/changelog.xml (original)
 +++ tomcat/trunk/webapps/docs/changelog.xml Wed Jun 11 01:49:21 2014
 @@ -130,6 +130,11 @@
  bug56600/bug: In WebdavServlet: Do not waste time generating
  response for broken PROPFIND request. (kkolinko)
/fix
 +  fix
 +Provide a better error message when asynchronous operations are not
 +supported by a filter or servlet. Patch provided by Romain 
 Manni-Bucau.
 +(violetagg)
 +  /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
 


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



[Bug 56606] Tomcat Installer: old attribute generated in tomcat-users.xml instead of the new one

2014-06-11 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56606

--- Comment #2 from Konstantin Kolinko knst.koli...@gmail.com ---
For a record:
There are several components that read tomcat-users.xml.

org.apache.catalina.users.MemoryUserDatabase
(- .open() - o.a.c.users.MemoryUserCreationFactory)
prefers username.

org.apache.catalina.realm.MemoryRealm
(- .startInternal() - o.a.c.realm.MemoryRuleSet)
org.apache.catalina.realm.JAASMemoryLoginModule
(- .load() - o.a.c.realm.MemoryRuleSet)
prefer name.

I agree that username is the preferred name, as MemoryUserDatabase.save() (-
MemoryUser.toXml()) uses it when saving the file. The other implementations are
not able to write the file.

(In reply to Sandro Martini from comment #0)
 
 Last (using the same installation procedure, using the exe), if I don't set
 a password for the admin, the line in the tomcat-users.xml won't be generated


Enabling an administrative user shall be a conscious decision. It is also
recommended to configure a RemoteAddrValve on the manager application.
There exists malware that targets installations that have users named manager
with absent (or weak) passwords.

1. Search for CVE-2009-3548
2.
http://tomcat.apache.org/tomcat-8.0-doc/security-howto.html#Securing_Management_Applications

-- 
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 56518] NIO async servlet limit latch leak

2014-06-11 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56518

--- Comment #15 from Konstantin Kolinko knst.koli...@gmail.com ---
(In reply to Mark Thomas from comment #14)
 
 I am leaning towards closing the
 connection if Tomcat detects an interrupt since that is what would happen if
 the thread was allowed to continue.

+1.

I have not followed this discussion, but I can add that starting with
8.0.9/7.0.55 an interruption may also be performed by
o.a.c.valves.StuckThreadDetectionValve, if it is configured to do so. (r1595331
bug 56526).

-- 
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: r1601850 - in /tomcat/trunk/java/org/apache/catalina/connector: LocalStrings.properties Request.java

2014-06-11 Thread violetagg
Author: violetagg
Date: Wed Jun 11 11:09:38 2014
New Revision: 1601850

URL: http://svn.apache.org/r1601850
Log:
Use StringManager for the async not supported message.

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

Modified: 
tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties?rev=1601850r1=1601849r2=1601850view=diff
==
--- tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties 
(original)
+++ tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties Wed 
Jun 11 11:09:38 2014
@@ -63,6 +63,8 @@ coyoteResponse.setBufferSize.ise=Cannot 
 
 inputBuffer.streamClosed=Stream closed
 
+request.asyncNotSupported=A filter or servlet of the current chain does not 
support asynchronous operations.
+
 requestFacade.nullRequest=The request object has been recycled and is no 
longer associated with this facade
 
 responseFacade.nullResponse=The response object has been recycled and is no 
longer associated with this facade

Modified: tomcat/trunk/java/org/apache/catalina/connector/Request.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Request.java?rev=1601850r1=1601849r2=1601850view=diff
==
--- tomcat/trunk/java/org/apache/catalina/connector/Request.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/Request.java Wed Jun 11 
11:09:38 2014
@@ -1601,8 +1601,7 @@ public class Request
 public AsyncContext startAsync(ServletRequest request,
 ServletResponse response) {
 if (!isAsyncSupported()) {
-throw new IllegalStateException(
-A filter or servlet of the current chain does not support 
asynchronous operations.);
+throw new 
IllegalStateException(sm.getString(request.asyncNotSupported));
 }
 
 if (asyncContext == null) {



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



svn commit: r1601852 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/connector/LocalStrings.properties java/org/apache/catalina/connector/Request.java

2014-06-11 Thread violetagg
Author: violetagg
Date: Wed Jun 11 11:13:35 2014
New Revision: 1601852

URL: http://svn.apache.org/r1601852
Log:
Merged revision 1601850 from tomcat/trunk:
Use StringManager for the async not supported message.

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

tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/LocalStrings.properties
tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/Request.java

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

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/LocalStrings.properties
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/LocalStrings.properties?rev=1601852r1=1601851r2=1601852view=diff
==
--- 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/LocalStrings.properties 
(original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/LocalStrings.properties 
Wed Jun 11 11:13:35 2014
@@ -74,6 +74,8 @@ coyoteRequest.sessionEndAccessFail=Excep
 coyoteRequest.sendfileNotCanonical=Unable to determine canonical name of file 
[{0}] specified for use with sendfile
 coyoteRequest.maxPostSizeExceeded=The multi-part request contained parameter 
data (excluding uploaded files) that exceeded the limit for maxPostSize set on 
the associated connector
 
+request.asyncNotSupported=A filter or servlet of the current chain does not 
support asynchronous operations.
+
 requestFacade.nullRequest=The request object has been recycled and is no 
longer associated with this facade
 
 responseFacade.nullResponse=The response object has been recycled and is no 
longer associated with this facade

Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/Request.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/Request.java?rev=1601852r1=1601851r2=1601852view=diff
==
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/Request.java 
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/connector/Request.java Wed 
Jun 11 11:13:35 2014
@@ -1655,8 +1655,7 @@ public class Request
 public AsyncContext startAsync(ServletRequest request,
 ServletResponse response) {
 if (!isAsyncSupported()) {
-throw new IllegalStateException(
-A filter or servlet of the current chain does not support 
asynchronous operations.);
+throw new 
IllegalStateException(sm.getString(request.asyncNotSupported));
 }
 
 if (asyncContext == null) {



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



Re: svn commit: r1601796 - in /tomcat/trunk: java/org/apache/catalina/connector/Request.java webapps/docs/changelog.xml

2014-06-11 Thread Violeta Georgieva
2014-06-11 13:27 GMT+03:00 Mark Thomas ma...@apache.org:

 On 11/06/2014 02:49, violet...@apache.org wrote:
  Author: violetagg
  Date: Wed Jun 11 01:49:21 2014
  New Revision: 1601796
 
  URL: http://svn.apache.org/r1601796
  Log:
  Provide a better error message when asynchronous operations are not
supported by a filter or servlet. Patch provided by Romain Manni-Bucau.
Issue was reported via users at tomcat.a.o.
 
  Modified:
  tomcat/trunk/java/org/apache/catalina/connector/Request.java
  tomcat/trunk/webapps/docs/changelog.xml
 
  Modified: tomcat/trunk/java/org/apache/catalina/connector/Request.java
  URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Request.java?rev=1601796r1=1601795r2=1601796view=diff
 
==
  --- tomcat/trunk/java/org/apache/catalina/connector/Request.java
(original)
  +++ tomcat/trunk/java/org/apache/catalina/connector/Request.java Wed
Jun 11 01:49:21 2014
  @@ -1601,7 +1601,8 @@ public class Request
   public AsyncContext startAsync(ServletRequest request,
   ServletResponse response) {
   if (!isAsyncSupported()) {
  -throw new IllegalStateException(Not supported.);
  +throw new IllegalStateException(
  +A filter or servlet of the current chain does not
support asynchronous operations.);
   }
 
   if (asyncContext == null) {

 i18n? There is a StringManager available.

Fixed
Thanks


 Mark


 
  Modified: tomcat/trunk/webapps/docs/changelog.xml
  URL:
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1601796r1=1601795r2=1601796view=diff
 
==
  --- tomcat/trunk/webapps/docs/changelog.xml (original)
  +++ tomcat/trunk/webapps/docs/changelog.xml Wed Jun 11 01:49:21 2014
  @@ -130,6 +130,11 @@
   bug56600/bug: In WebdavServlet: Do not waste time
generating
   response for broken PROPFIND request. (kkolinko)
 /fix
  +  fix
  +Provide a better error message when asynchronous operations
are not
  +supported by a filter or servlet. Patch provided by Romain
Manni-Bucau.
  +(violetagg)
  +  /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
 


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



svn commit: r1601855 - /tomcat/trunk/java/org/apache/catalina/realm/package.html

2014-06-11 Thread kkolinko
Author: kkolinko
Date: Wed Jun 11 11:19:45 2014
New Revision: 1601855

URL: http://svn.apache.org/r1601855
Log:
Remove obsolete documentation from realm package javadoc.
The text is something very old that talks about debug attribute and that 
there are two standard realms, JDBCRealm and MemoryRealm.
The up-to-date documentation is maintained in docs/config/realm.html

Modified:
tomcat/trunk/java/org/apache/catalina/realm/package.html

Modified: tomcat/trunk/java/org/apache/catalina/realm/package.html
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/package.html?rev=1601855r1=1601854r2=1601855view=diff
==
--- tomcat/trunk/java/org/apache/catalina/realm/package.html (original)
+++ tomcat/trunk/java/org/apache/catalina/realm/package.html Wed Jun 11 
11:19:45 2014
@@ -25,56 +25,6 @@ questions when a web application uses co
 in the Servlet API Specification./p
 
 pThe implementations share a common base class that supports basic
-functionality for all of the standard codeRealm/code implementations,
-and can be configured by setting the following properties (default values
-are in square brackets):/p
-ul
-libdebug/b - Debugging detail level for this component. [0]/li
-/ul
-
-pThe standard codeRealm/code implementations that are currently
-available include the following (with additional configuration properties
-as specified):/p
-ul
-libJDBCRealm/b - Implementation of codeRealm/code that operates
-from data stored in a relational database that is accessed via a JDBC
-driver.  The name of the driver, database connection information, and
-the names of the relevant tables and columns are configured with the
-following additional properties:
-ul
-libconnectionURL/b - The URL to use when connecting to this database.
-[REQUIRED - NO DEFAULT]/li
-libdriverName/b - Fully qualified Java class name of the JDBC driver
-to be used.  [REQUIRED - NO DEFAULT]/li
-libroleNameCol/b - Name of the database column that contains role
-names.  [REQUIRED - NO DEFAULT]/li
-libuserCredCol/b - Name of the database column that contains the
-user's credentials (i.e. password) in cleartext.  [REQUIRED -
-NO DEFAULT]/li
-libuserNameCol/b - Name of the database column that contains the
-user's logon username.  [REQUIRED - NO DEFAULT]/li
-libuserRoleTable/b - Name of the database table containing user
-role information.  This table must include the columns specified by
-the codeuserNameCol/code and coderoleNameCol/code properties.
-[REQUIRED - NO DEFAULT]/li
-libuserTable/b - Name of the database table containing user
-information.  This table must include the columns specified by the
-codeuserNameCol/code and codeuserCredCol/code properties.
-[REQUIRED - NO DEFAULT]/li
-/ul
-/li
-libMemoryRealm/b - Implementation of codeRealm/code that uses the
-contents of a simple XML file (codeconf/tomcat-users.xml/code) as the
-list of valid users and their roles.  This implementation is primarily to
-demonstrate that the authentication technology functions correctly, and is
-not anticipated as adequate for general purpose use.  This component
-supports the following additional properties:
-ul
-libpathname/b - Pathname of the XML file containing our user and
-role information.  If a relative pathname is specified, it is resolved
-against the pathname specified by the catalina.home system property.
-[conf/tomcat-users.xml]/li
-/ul
-/ul
+functionality for all of the standard codeRealm/code implementations./p
 
 /body



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



svn commit: r1601856 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/realm/package.html

2014-06-11 Thread kkolinko
Author: kkolinko
Date: Wed Jun 11 11:22:38 2014
New Revision: 1601856

URL: http://svn.apache.org/r1601856
Log:
Remove obsolete documentation from realm package javadoc.
The text is something very old that talks about debug attribute and that 
there are two standard realms, JDBCRealm and MemoryRealm.
The up-to-date documentation is maintained in docs/config/realm.html
Merged r1601855 from tomcat/trunk.

Modified:
tomcat/tc7.0.x/trunk/   (props changed)
tomcat/tc7.0.x/trunk/java/org/apache/catalina/realm/package.html

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

Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/realm/package.html
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/realm/package.html?rev=1601856r1=1601855r2=1601856view=diff
==
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/realm/package.html (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/realm/package.html Wed Jun 11 
11:22:38 2014
@@ -25,56 +25,6 @@ questions when a web application uses co
 in the Servlet API Specification, version 2.2./p
 
 pThe implementations share a common base class that supports basic
-functionality for all of the standard codeRealm/code implementations,
-and can be configured by setting the following properties (default values
-are in square brackets):/p
-ul
-libdebug/b - Debugging detail level for this component. [0]/li
-/ul
-
-pThe standard codeRealm/code implementations that are currently
-available include the following (with additional configuration properties
-as specified):/p
-ul
-libJDBCRealm/b - Implementation of codeRealm/code that operates
-from data stored in a relational database that is accessed via a JDBC
-driver.  The name of the driver, database connection information, and
-the names of the relevant tables and columns are configured with the
-following additional properties:
-ul
-libconnectionURL/b - The URL to use when connecting to this database.
-[REQUIRED - NO DEFAULT]/li
-libdriverName/b - Fully qualified Java class name of the JDBC driver
-to be used.  [REQUIRED - NO DEFAULT]/li
-libroleNameCol/b - Name of the database column that contains role
-names.  [REQUIRED - NO DEFAULT]/li
-libuserCredCol/b - Name of the database column that contains the
-user's credentials (i.e. password) in cleartext.  [REQUIRED -
-NO DEFAULT]/li
-libuserNameCol/b - Name of the database column that contains the
-user's logon username.  [REQUIRED - NO DEFAULT]/li
-libuserRoleTable/b - Name of the database table containing user
-role information.  This table must include the columns specified by
-the codeuserNameCol/code and coderoleNameCol/code properties.
-[REQUIRED - NO DEFAULT]/li
-libuserTable/b - Name of the database table containing user
-information.  This table must include the columns specified by the
-codeuserNameCol/code and codeuserCredCol/code properties.
-[REQUIRED - NO DEFAULT]/li
-/ul
-/li
-libMemoryRealm/b - Implementation of codeRealm/code that uses the
-contents of a simple XML file (codeconf/tomcat-users.xml/code) as the
-list of valid users and their roles.  This implementation is primarily to
-demonstrate that the authentication technology functions correctly, and is
-not anticipated as adequate for general purpose use.  This component
-supports the following additional properties:
-ul
-libpathname/b - Pathname of the XML file containing our user and
-role information.  If a relative pathname is specified, it is resolved
-against the pathname specified by the catalina.home system property.
-[conf/tomcat-users.xml]/li
-/ul
-/ul
+functionality for all of the standard codeRealm/code implementations./p
 
 /body



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



svn commit: r1601857 - in /tomcat/tc6.0.x/trunk: ./ java/org/apache/catalina/realm/package.html

2014-06-11 Thread kkolinko
Author: kkolinko
Date: Wed Jun 11 11:24:41 2014
New Revision: 1601857

URL: http://svn.apache.org/r1601857
Log:
CTR: docs
Remove obsolete documentation from realm package javadoc.
The text is something very old that talks about debug attribute and that 
there are two standard realms, JDBCRealm and MemoryRealm.
The up-to-date documentation is maintained in docs/config/realm.html
Merged r1601856 from tomcat/tc7.0.x/trunk.

Modified:
tomcat/tc6.0.x/trunk/   (props changed)
tomcat/tc6.0.x/trunk/java/org/apache/catalina/realm/package.html

Propchange: tomcat/tc6.0.x/trunk/
--
  Merged /tomcat/trunk:r1601855
  Merged /tomcat/tc7.0.x/trunk:r1601856

Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/realm/package.html
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/realm/package.html?rev=1601857r1=1601856r2=1601857view=diff
==
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/realm/package.html (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/realm/package.html Wed Jun 11 
11:24:41 2014
@@ -25,56 +25,6 @@ questions when a web application uses co
 in the Servlet API Specification, version 2.2./p
 
 pThe implementations share a common base class that supports basic
-functionality for all of the standard codeRealm/code implementations,
-and can be configured by setting the following properties (default values
-are in square brackets):/p
-ul
-libdebug/b - Debugging detail level for this component. [0]/li
-/ul
-
-pThe standard codeRealm/code implementations that are currently
-available include the following (with additional configuration properties
-as specified):/p
-ul
-libJDBCRealm/b - Implementation of codeRealm/code that operates
-from data stored in a relational database that is accessed via a JDBC
-driver.  The name of the driver, database connection information, and
-the names of the relevant tables and columns are configured with the
-following additional properties:
-ul
-libconnectionURL/b - The URL to use when connecting to this database.
-[REQUIRED - NO DEFAULT]/li
-libdriverName/b - Fully qualified Java class name of the JDBC driver
-to be used.  [REQUIRED - NO DEFAULT]/li
-libroleNameCol/b - Name of the database column that contains role
-names.  [REQUIRED - NO DEFAULT]/li
-libuserCredCol/b - Name of the database column that contains the
-user's credentials (i.e. password) in cleartext.  [REQUIRED -
-NO DEFAULT]/li
-libuserNameCol/b - Name of the database column that contains the
-user's logon username.  [REQUIRED - NO DEFAULT]/li
-libuserRoleTable/b - Name of the database table containing user
-role information.  This table must include the columns specified by
-the codeuserNameCol/code and coderoleNameCol/code properties.
-[REQUIRED - NO DEFAULT]/li
-libuserTable/b - Name of the database table containing user
-information.  This table must include the columns specified by the
-codeuserNameCol/code and codeuserCredCol/code properties.
-[REQUIRED - NO DEFAULT]/li
-/ul
-/li
-libMemoryRealm/b - Implementation of codeRealm/code that uses the
-contents of a simple XML file (codeconf/tomcat-users.xml/code) as the
-list of valid users and their roles.  This implementation is primarily to
-demonstrate that the authentication technology functions correctly, and is
-not anticipated as adequate for general purpose use.  This component
-supports the following additional properties:
-ul
-libpathname/b - Pathname of the XML file containing our user and
-role information.  If a relative pathname is specified, it is resolved
-against the pathname specified by the catalina.home system property.
-[conf/tomcat-users.xml]/li
-/ul
-/ul
+functionality for all of the standard codeRealm/code implementations./p
 
 /body



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



svn commit: r1601886 - in /tomcat/trunk: java/org/apache/catalina/realm/MemoryRuleSet.java webapps/docs/changelog.xml webapps/docs/config/realm.xml

2014-06-11 Thread kkolinko
Author: kkolinko
Date: Wed Jun 11 13:23:18 2014
New Revision: 1601886

URL: http://svn.apache.org/r1601886
Log:
Further fix for https://issues.apache.org/bugzilla/show_bug.cgi?id=56606
Update documentation for MemoryRealm.
Align MemoryUserRule class (in MemoryRuleSet.java) with 
MemoryUserCreationFactory class (in MemoryUserDatabase.java) so that username 
attribute is read first.

Modified:
tomcat/trunk/java/org/apache/catalina/realm/MemoryRuleSet.java
tomcat/trunk/webapps/docs/changelog.xml
tomcat/trunk/webapps/docs/config/realm.xml

Modified: tomcat/trunk/java/org/apache/catalina/realm/MemoryRuleSet.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/MemoryRuleSet.java?rev=1601886r1=1601885r2=1601886view=diff
==
--- tomcat/trunk/java/org/apache/catalina/realm/MemoryRuleSet.java (original)
+++ tomcat/trunk/java/org/apache/catalina/realm/MemoryRuleSet.java Wed Jun 11 
13:23:18 2014
@@ -119,9 +119,9 @@ final class MemoryUserRule extends Rule 
 public void begin(String namespace, String name, Attributes attributes)
 throws Exception {
 
-String username = attributes.getValue(name);
+String username = attributes.getValue(username);
 if (username == null) {
-username = attributes.getValue(username);
+username = attributes.getValue(name);
 }
 String password = attributes.getValue(password);
 String roles = attributes.getValue(roles);

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1601886r1=1601885r2=1601886view=diff
==
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Wed Jun 11 13:23:18 2014
@@ -135,6 +135,13 @@
 supported by a filter or servlet. Patch provided by Romain Manni-Bucau.
 (violetagg)
   /fix
+  fix
+bug56606/bug: User entries in codetomcat-users.xml/code file
+are recommended to use username attribute rather than legacy name
+attribute. Fix inconsistencies in Windows installer, examples. Update
+digester rules and documentation for codeMemoryRealm/code.
+(markt/kkolinko)
+  /fix
 /changelog
   /subsection
   subsection name=Coyote
@@ -233,16 +240,6 @@
   /fix
 /changelog
   /subsection
-  subsection name=Web applications
-changelog
-  fix
-bug56606/bug: Ensure that the new attribute name
-codeusername/code is used in the codetomcat-users.xml/code
-examples rather than the old attribute name of codeuser/code.
-(markt)
-  /fix
-/changelog
-  /subsection
   subsection name=Other
 changelog
   update

Modified: tomcat/trunk/webapps/docs/config/realm.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/config/realm.xml?rev=1601886r1=1601885r2=1601886view=diff
==
--- tomcat/trunk/webapps/docs/config/realm.xml (original)
+++ tomcat/trunk/webapps/docs/config/realm.xml Wed Jun 11 13:23:18 2014
@@ -798,8 +798,10 @@
 liEach codelt;usergt;/code element must have the following
 attributes:
 ul
-listrongname/strong - Username of this user (must be unique
-within this file)./li
+listrongusername/strong - Username of this user (must be unique
+within this file).br/
+For compatibility, it is allowed to use strongname/strong as an
+alternative name for this attribute./li
 listrongpassword/strong - Password of this user (in
 clear text)./li
 listrongroles/strong - Comma-delimited list of the role names



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



svn commit: r1601887 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/realm/MemoryRuleSet.java webapps/docs/changelog.xml webapps/docs/config/realm.xml

2014-06-11 Thread kkolinko
Author: kkolinko
Date: Wed Jun 11 13:26:32 2014
New Revision: 1601887

URL: http://svn.apache.org/r1601887
Log:
Further fix for https://issues.apache.org/bugzilla/show_bug.cgi?id=56606
Update documentation for MemoryRealm.
Align MemoryUserRule class (in MemoryRuleSet.java) with 
MemoryUserCreationFactory class (in MemoryUserDatabase.java) so that username 
attribute is read first.
Merged r1601886 from tomcat/trunk.

Modified:
tomcat/tc7.0.x/trunk/   (props changed)
tomcat/tc7.0.x/trunk/java/org/apache/catalina/realm/MemoryRuleSet.java
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
tomcat/tc7.0.x/trunk/webapps/docs/config/realm.xml

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

Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/realm/MemoryRuleSet.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/realm/MemoryRuleSet.java?rev=1601887r1=1601886r2=1601887view=diff
==
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/realm/MemoryRuleSet.java 
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/realm/MemoryRuleSet.java Wed 
Jun 11 13:26:32 2014
@@ -119,9 +119,9 @@ final class MemoryUserRule extends Rule 
 public void begin(String namespace, String name, Attributes attributes)
 throws Exception {
 
-String username = attributes.getValue(name);
+String username = attributes.getValue(username);
 if (username == null) {
-username = attributes.getValue(username);
+username = attributes.getValue(name);
 }
 String password = attributes.getValue(password);
 String roles = attributes.getValue(roles);

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=1601887r1=1601886r2=1601887view=diff
==
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Wed Jun 11 13:26:32 2014
@@ -94,6 +94,13 @@
 supported by a filter or servlet. Patch provided by Romain Manni-Bucau.
 (violetagg)
   /fix
+  fix
+bug56606/bug: User entries in codetomcat-users.xml/code file
+are recommended to use username attribute rather than legacy name
+attribute. Fix inconsistencies in Windows installer, examples. Update
+digester rules and documentation for codeMemoryRealm/code.
+(markt/kkolinko)
+  /fix
 /changelog
   /subsection
   subsection name=Coyote
@@ -131,16 +138,6 @@
   /fix
 /changelog
   /subsection
-  subsection name=Web applications
-changelog
-  fix
-bug56606/bug: Ensure that the new attribute name
-codeusername/code is used in the codetomcat-users.xml/code
-examples rather than the old attribute name of codeuser/code.
-(markt)
-  /fix
-/changelog
-  /subsection
 /section
 section name=Tomcat 7.0.54 (violetagg) rtext=released 2014-05-22
   subsection name=Catalina

Modified: tomcat/tc7.0.x/trunk/webapps/docs/config/realm.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/config/realm.xml?rev=1601887r1=1601886r2=1601887view=diff
==
--- tomcat/tc7.0.x/trunk/webapps/docs/config/realm.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/config/realm.xml Wed Jun 11 13:26:32 2014
@@ -798,8 +798,10 @@
 liEach codelt;usergt;/code element must have the following
 attributes:
 ul
-listrongname/strong - Username of this user (must be unique
-within this file)./li
+listrongusername/strong - Username of this user (must be unique
+within this file).br/
+For compatibility, it is allowed to use strongname/strong as an
+alternative name for this attribute./li
 listrongpassword/strong - Password of this user (in
 clear text)./li
 listrongroles/strong - Comma-delimited list of the role names



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



svn commit: r1601892 - /tomcat/tc6.0.x/trunk/webapps/docs/config/realm.xml

2014-06-11 Thread kkolinko
Author: kkolinko
Date: Wed Jun 11 13:35:31 2014
New Revision: 1601892

URL: http://svn.apache.org/r1601892
Log:
CTR: docs.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56606
Update documentation for MemoryRealm to recommend the username attribute.
It is partial backport of r1601886 from tomcat/trunk.

Modified:
tomcat/tc6.0.x/trunk/webapps/docs/config/realm.xml

Modified: tomcat/tc6.0.x/trunk/webapps/docs/config/realm.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/config/realm.xml?rev=1601892r1=1601891r2=1601892view=diff
==
--- tomcat/tc6.0.x/trunk/webapps/docs/config/realm.xml (original)
+++ tomcat/tc6.0.x/trunk/webapps/docs/config/realm.xml Wed Jun 11 13:35:31 2014
@@ -683,8 +683,10 @@
 liEach codelt;usergt;/code element must have the following
 attributes:
 ul
-listrongname/strong - Username of this user (must be unique
-within this file)./li
+listrongusername/strong - Username of this user (must be unique
+within this file).br/
+For compatibility, it is allowed to use strongname/strong as an
+alternative name for this attribute./li
 listrongpassword/strong - Password of this user (in
 clear text)./li
 listrongroles/strong - Comma-delimited list of the role names



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



[Bug 56606] Tomcat Installer: old attribute generated in tomcat-users.xml instead of the new one

2014-06-11 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56606

--- Comment #3 from Konstantin Kolinko knst.koli...@gmail.com ---
(In reply to Konstantin Kolinko from comment #2)
 
 I agree that username is the preferred name, as MemoryUserDatabase.save()
 (- MemoryUser.toXml()) uses it when saving the file. The other
 implementations are not able to write the file.
 

I updated MemoryRuleSet (used by MemoryRealm, JAASMemoryLoginModule) to prefer
the username attribute and updated MemoryRealm documentation. It will be in
8.0.9, 7.0.55. (r1601886 r1601887)
Only documentation changes were backported to 6.0 (r1601892).

-- 
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 propchange: r1601785 - svn:log

2014-06-11 Thread kkolinko
Author: kkolinko
Revision: 1601785
Modified property: svn:log

Modified: svn:log at Wed Jun 11 13:54:15 2014
--
--- svn:log (original)
+++ svn:log Wed Jun 11 13:54:15 2014
@@ -1,3 +1,4 @@
+Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56612
 Correctly parse two consecutive escaped single quotes when used in UEL 
 expression in a JSP.
 Includes various unit tests that check the parsing of ${'\'\''}


-
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-06-11 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/108

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

BUILD FAILED: failed compile_1

sincerely,
 -The Buildbot




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



svn commit: r1601909 - /tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/Parser.java

2014-06-11 Thread kkolinko
Author: kkolinko
Date: Wed Jun 11 14:24:10 2014
New Revision: 1601909

URL: http://svn.apache.org/r1601909
Log:
Code cleanup: use if/elseif for alternative branches.

Discussed in Re:r1601787 thread. It is partial backport of r1543356.

Modified:
tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/Parser.java

Modified: tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/Parser.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/Parser.java?rev=1601909r1=1601908r2=1601909view=diff
==
--- tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/Parser.java (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/Parser.java Wed Jun 11 
14:24:10 2014
@@ -752,10 +752,11 @@ class Parser implements TagConstants {
 }
 if (currentChar == -1)
 err.jspError(start, jsp.error.unterminated, type + {);
-if (currentChar == ''  !singleQuoted)
+if (currentChar == ''  !singleQuoted) {
 doubleQuoted = !doubleQuoted;
-if (currentChar == '\''  !doubleQuoted)
+} else if (currentChar == '\''  !doubleQuoted) {
 singleQuoted = !singleQuoted;
+}
 } while (currentChar != '}' || (singleQuoted || doubleQuoted));
 
 new Node.ELExpression(type, reader.getText(start, last), start, 
parent);



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



buildbot success in ASF Buildbot on tomcat-7-trunk

2014-06-11 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/109

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

Build succeeded!

sincerely,
 -The Buildbot




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



svn commit: r1601924 - in /tomcat/trunk: java/org/apache/jasper/compiler/JspReader.java java/org/apache/jasper/compiler/Parser.java webapps/docs/changelog.xml

2014-06-11 Thread kkolinko
Author: kkolinko
Date: Wed Jun 11 15:23:25 2014
New Revision: 1601924

URL: http://svn.apache.org/r1601924
Log:
Move code that parses EL expressions within JSP template text from Parser to 
JspReader class.
This is done to get access to JspReader.nextChar(mark) to avoid calling 
reader.mark() in a loop, as that method allocates new Mark object on each call.

Also removed duplicate start = reader.mark(); call, as parseELExpression() 
does update 'start'.

Modified:
tomcat/trunk/java/org/apache/jasper/compiler/JspReader.java
tomcat/trunk/java/org/apache/jasper/compiler/Parser.java
tomcat/trunk/webapps/docs/changelog.xml

Modified: tomcat/trunk/java/org/apache/jasper/compiler/JspReader.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/JspReader.java?rev=1601924r1=1601923r2=1601924view=diff
==
--- tomcat/trunk/java/org/apache/jasper/compiler/JspReader.java (original)
+++ tomcat/trunk/java/org/apache/jasper/compiler/JspReader.java Wed Jun 11 
15:23:25 2014
@@ -484,6 +484,58 @@ class JspReader {
 return ret;
 }
 
+/**
+ * Parse ELExpressionBody that is a body of ${} or #{} expression. Initial
+ * reader position is expected to be just after '${' or '#{' characters.
+ * p
+ * In case of success, this method returns codeMark/code for the last
+ * character before the terminating '}' and reader is positioned just after
+ * the '}' character. If no terminating '}' is encountered, this method
+ * returns codenull/code.
+ * p
+ * Starting with EL 3.0, nested paired {}s are supported.
+ *
+ * @return Mark for the last character of EL expression or 
codenull/code
+ */
+Mark skipELExpression() throws JasperException {
+// ELExpressionBody.
+//  Starts with #{ or ${.  Ends with }.
+//  May contain quoted {, }, '{', or '}' and nested {...}
+Mark last = mark();
+boolean singleQuoted = false;
+boolean doubleQuoted = false;
+int nesting = 0;
+int currentChar;
+do {
+currentChar = nextChar(last);
+while (currentChar == '\\'  (singleQuoted || doubleQuoted)) {
+// skip character following '\' within quotes
+// No need to update 'last', as neither of these characters
+// can be the closing '}'.
+nextChar();
+currentChar = nextChar();
+}
+if (currentChar == -1) {
+return null;
+}
+if (currentChar == ''  !singleQuoted) {
+doubleQuoted = !doubleQuoted;
+} else if (currentChar == '\''  !doubleQuoted) {
+singleQuoted = !singleQuoted;
+} else if (currentChar == '{'  !doubleQuoted  !singleQuoted) {
+nesting++;
+} else if (currentChar =='}'  !doubleQuoted  !singleQuoted) {
+// Note: This also matches the terminating '}' at which point
+//   nesting will be set to -1 - hence the test for
+//   while (currentChar != '}' || nesting  -1 ||...) below
+//   to continue the loop until the final '}' is detected
+nesting--;
+}
+} while (currentChar != '}' || singleQuoted || doubleQuoted || nesting 
 -1);
+
+return last;
+}
+
 final boolean isSpace() throws JasperException {
 // Note: If this logic changes, also update Node.TemplateText.rtrim()
 return peekChar() = ' ';

Modified: tomcat/trunk/java/org/apache/jasper/compiler/Parser.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/Parser.java?rev=1601924r1=1601923r2=1601924view=diff
==
--- tomcat/trunk/java/org/apache/jasper/compiler/Parser.java (original)
+++ tomcat/trunk/java/org/apache/jasper/compiler/Parser.java Wed Jun 11 
15:23:25 2014
@@ -736,46 +736,20 @@ class Parser implements TagConstants {
 }
 
 /*
- * ELExpressionBody. Starts with #{ or ${.  Ends with }.May contain
- *   quoted {, }, '{', or '}' and nested {...}
+ * ELExpressionBody. Starts with #{ or ${.  Ends with }.
+ * See JspReader.skipELExpression().
  */
 private void parseELExpression(Node parent, char type)
 throws JasperException {
 start = reader.mark();
-Mark last = null;
-boolean singleQuoted = false;
-boolean doubleQuoted = false;
-int nesting = 0;
-int currentChar;
-do {
-// XXX could move this logic to JspReader
-last = reader.mark(); // XXX somewhat wasteful
-currentChar = reader.nextChar();
-while (currentChar == '\\'  (singleQuoted || doubleQuoted)) {
-// skip character following '\' 

svn commit: r1601934 - in /tomcat/tc7.0.x/trunk: java/org/apache/jasper/compiler/JspReader.java java/org/apache/jasper/compiler/Parser.java webapps/docs/changelog.xml

2014-06-11 Thread kkolinko
Author: kkolinko
Date: Wed Jun 11 15:48:17 2014
New Revision: 1601934

URL: http://svn.apache.org/r1601934
Log:
Move code that parses EL expressions within JSP template text from Parser to 
JspReader class.
This is done to get access to JspReader.nextChar(mark) to avoid calling 
reader.mark() in a loop, as that method allocates new Mark object on each call.

Also removed duplicate start = reader.mark(); call, as parseELExpression() 
does update 'start'.
It is backport of r1601924.

Modified:
tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/JspReader.java
tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/Parser.java
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

Modified: tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/JspReader.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/JspReader.java?rev=1601934r1=1601933r2=1601934view=diff
==
--- tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/JspReader.java 
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/JspReader.java Wed Jun 
11 15:48:17 2014
@@ -493,6 +493,46 @@ class JspReader {
 return ret;
 }
 
+/**
+ * Parse ELExpressionBody that is a body of ${} or #{} expression. Initial
+ * reader position is expected to be just after '${' or '#{' characters.
+ * p
+ * In case of success, this method returns codeMark/code for the last
+ * character before the terminating '}' and reader is positioned just after
+ * the '}' character. If no terminating '}' is encountered, this method
+ * returns codenull/code.
+ *
+ * @return Mark for the last character of EL expression or 
codenull/code
+ */
+Mark skipELExpression() throws JasperException {
+// ELExpressionBody.
+//  Starts with #{ or ${.  Ends with }.
+//  May contain quoted {, }, '{', or '}'.
+Mark last = mark();
+boolean singleQuoted = false, doubleQuoted = false;
+int currentChar;
+do {
+currentChar = nextChar(last);
+while (currentChar == '\\'  (singleQuoted || doubleQuoted)) {
+// skip character following '\' within quotes
+// No need to update 'last', as neither of these characters
+// can be the closing '}'.
+nextChar();
+currentChar = nextChar();
+}
+if (currentChar == -1) {
+return null;
+}
+if (currentChar == ''  !singleQuoted) {
+doubleQuoted = !doubleQuoted;
+} else if (currentChar == '\''  !doubleQuoted) {
+singleQuoted = !singleQuoted;
+}
+} while (currentChar != '}' || (singleQuoted || doubleQuoted));
+
+return last;
+}
+
 final boolean isSpace() throws JasperException {
 // Note: If this logic changes, also update Node.TemplateText.rtrim()
 return peekChar() = ' ';

Modified: tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/Parser.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/Parser.java?rev=1601934r1=1601933r2=1601934view=diff
==
--- tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/Parser.java (original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/jasper/compiler/Parser.java Wed Jun 11 
15:48:17 2014
@@ -732,32 +732,15 @@ class Parser implements TagConstants {
 }
 
 /*
- * ELExpressionBody (following ${ to first unquoted }) // XXX add 
formal
- * production and confirm implementation against it, // once it's decided
+ * ELExpressionBody (following ${ to first unquoted })
  */
 private void parseELExpression(Node parent, char type)
 throws JasperException {
 start = reader.mark();
-Mark last = null;
-boolean singleQuoted = false, doubleQuoted = false;
-int currentChar;
-do {
-// XXX could move this logic to JspReader
-last = reader.mark(); // XXX somewhat wasteful
-currentChar = reader.nextChar();
-while (currentChar == '\\'  (singleQuoted || doubleQuoted)) {
-// skip character following '\' within quotes
-reader.nextChar();
-currentChar = reader.nextChar();
-}
-if (currentChar == -1)
-err.jspError(start, jsp.error.unterminated, type + {);
-if (currentChar == ''  !singleQuoted) {
-doubleQuoted = !doubleQuoted;
-} else if (currentChar == '\''  !doubleQuoted) {
-singleQuoted = !singleQuoted;
-}
-} while (currentChar != '}' || (singleQuoted || doubleQuoted));
+Mark last = reader.skipELExpression();
+if (last == null) {
+

buildbot failure in ASF Buildbot on tomcat-trunk

2014-06-11 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/164

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

Buildslave for this Build: bb-vm_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch tomcat/trunk] 1601850
Blamelist: violetagg

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



buildbot failure in ASF Buildbot on tomcat-7-trunk

2014-06-11 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/110

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

BUILD FAILED: failed compile_1

sincerely,
 -The Buildbot




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



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

2014-06-11 Thread kkolinko
Author: kkolinko
Date: Wed Jun 11 16:53:03 2014
New Revision: 1601951

URL: http://svn.apache.org/r1601951
Log:
Propose additional patch.

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=1601951r1=1601950r2=1601951view=diff
==
--- tomcat/tc6.0.x/trunk/STATUS.txt (original)
+++ tomcat/tc6.0.x/trunk/STATUS.txt Wed Jun 11 16:53:03 2014
@@ -63,6 +63,11 @@ PATCHES PROPOSED TO BACKPORT:
   +1: markt, kkolinko
   -1:
 
+  http://svn.apache.org/r1601909
+  Use if/elseif for alternative branches.
+  +1: kkolinko
+  -1:
+
 
 PATCHES/ISSUES THAT ARE STALLED:
 



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



svn commit: r1601968 - in /tomcat/tc6.0.x/trunk: ./ STATUS.txt java/org/apache/catalina/servlets/WebdavServlet.java webapps/docs/changelog.xml

2014-06-11 Thread kkolinko
Author: kkolinko
Date: Wed Jun 11 17:35:36 2014
New Revision: 1601968

URL: http://svn.apache.org/r1601968
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56600
Fix missing return; statements after sendError():
do not waste time generating response for PROPFIND requests that contain broken 
XML document.

Merged r1600956 from tomcat/tc7.0.x/trunk.

Modified:
tomcat/tc6.0.x/trunk/   (props changed)
tomcat/tc6.0.x/trunk/STATUS.txt
tomcat/tc6.0.x/trunk/java/org/apache/catalina/servlets/WebdavServlet.java
tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml

Propchange: tomcat/tc6.0.x/trunk/
--
  Merged /tomcat/trunk:r1600955
  Merged /tomcat/tc7.0.x/trunk:r1600956

Modified: tomcat/tc6.0.x/trunk/STATUS.txt
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1601968r1=1601967r2=1601968view=diff
==
--- tomcat/tc6.0.x/trunk/STATUS.txt (original)
+++ tomcat/tc6.0.x/trunk/STATUS.txt Wed Jun 11 17:35:36 2014
@@ -36,12 +36,6 @@ PATCHES PROPOSED TO BACKPORT:
   +1: markt, kkolinko, schultz
   -1:
 
-* http://issues.apache.org/bugzilla/show_bug.cgi?id=56600
-  In WebdavServlet: Do not waste time generating response for broken PROPFIND 
request.
-  http://svn.apache.org/r1600956
-  +1: kkolinko, markt, schultz
-  -1:
-
 * Improvements to ChunkedInputFilter
   - Clean-up
   - i18n for ChunkedInputFilter error message

Modified: 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/servlets/WebdavServlet.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/servlets/WebdavServlet.java?rev=1601968r1=1601967r2=1601968view=diff
==
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/servlets/WebdavServlet.java 
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/servlets/WebdavServlet.java 
Wed Jun 11 17:35:36 2014
@@ -555,9 +555,11 @@ public class WebdavServlet
 } catch (SAXException e) {
 // Something went wrong - bad request
 resp.sendError(WebdavStatus.SC_BAD_REQUEST);
+return;
 } catch (IOException e) {
 // Something went wrong - bad request
 resp.sendError(WebdavStatus.SC_BAD_REQUEST);
+return;
 }
 }
 

Modified: tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml?rev=1601968r1=1601967r2=1601968view=diff
==
--- tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Wed Jun 11 17:35:36 2014
@@ -44,6 +44,14 @@
  General, Catalina, Coyote, Jasper, Cluster, Web applications, Other
 --
 section name=Tomcat 6.0.42 (markt)
+  subsection name=Catalina
+changelog
+  fix
+bug56600/bug: In WebdavServlet: Do not waste time generating
+response for broken PROPFIND request. (kkolinko)
+  /fix
+/changelog
+  /subsection
   subsection name=Jasper
 changelog
   fix



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



[Bug 56600] Missing return statements in WebdavServlet.doPropfind()

2014-06-11 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56600

--- Comment #2 from Konstantin Kolinko knst.koli...@gmail.com ---
Fixed in Tomcat 6 (r1601968), will be in 6.0.42 onwards.

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

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



svn commit: r1601977 - /tomcat/trunk/java/org/apache/coyote/Adapter.java

2014-06-11 Thread markt
Author: markt
Date: Wed Jun 11 18:18:08 2014
New Revision: 1601977

URL: http://svn.apache.org/r1601977
Log:
Fix comment typo and other clean-up

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

Modified: tomcat/trunk/java/org/apache/coyote/Adapter.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/Adapter.java?rev=1601977r1=1601976r2=1601977view=diff
==
--- tomcat/trunk/java/org/apache/coyote/Adapter.java (original)
+++ tomcat/trunk/java/org/apache/coyote/Adapter.java Wed Jun 11 18:18:08 2014
@@ -14,12 +14,10 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-
 package org.apache.coyote;
 
 import org.apache.tomcat.util.net.SocketStatus;
 
-
 /**
  * Adapter. This represents the entry point in a coyote-based servlet 
container.
  *
@@ -69,7 +67,7 @@ public interface Adapter {
 public void checkRecycled(Request req, Response res);
 
 /**
- * Provide the name of the domain to use to register MBeans for conponents
+ * Provide the name of the domain to use to register MBeans for components
  * associated with the connector.
  *
  * @return  The MBean domain name



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



svn commit: r1602018 - in /tomcat/tc6.0.x/trunk: STATUS.txt bin/catalina-tasks.xml webapps/docs/changelog.xml

2014-06-11 Thread kkolinko
Author: kkolinko
Date: Wed Jun 11 21:22:06 2014
New Revision: 1602018

URL: http://svn.apache.org/r1602018
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56560
Fix NoClassDefFoundError when using Jasper Ant task.
Patch provided by M.Gemmell.

Modified:
tomcat/tc6.0.x/trunk/STATUS.txt
tomcat/tc6.0.x/trunk/bin/catalina-tasks.xml
tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml

Modified: tomcat/tc6.0.x/trunk/STATUS.txt
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1602018r1=1602017r2=1602018view=diff
==
--- tomcat/tc6.0.x/trunk/STATUS.txt (original)
+++ tomcat/tc6.0.x/trunk/STATUS.txt Wed Jun 11 21:22:06 2014
@@ -28,14 +28,6 @@ None
 PATCHES PROPOSED TO BACKPORT:
   [ New proposals should be added at the end of the list ]
 
-* https://issues.apache.org/bugzilla/show_bug.cgi?id=56560
-  Fix NoClassDefFoundError when using Ant
-  Fix the Jasper Ant task
-  Patch provided by  M Gemmell
-  https://issues.apache.org/bugzilla/attachment.cgi?id=31659action=diff
-  +1: markt, kkolinko, schultz
-  -1:
-
 * Improvements to ChunkedInputFilter
   - Clean-up
   - i18n for ChunkedInputFilter error message

Modified: tomcat/tc6.0.x/trunk/bin/catalina-tasks.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/bin/catalina-tasks.xml?rev=1602018r1=1602017r2=1602018view=diff
==
--- tomcat/tc6.0.x/trunk/bin/catalina-tasks.xml (original)
+++ tomcat/tc6.0.x/trunk/bin/catalina-tasks.xml Wed Jun 11 21:22:06 2014
@@ -34,6 +34,7 @@
   fileset file=${catalina.home}/lib/jsp-api.jar/
   fileset file=${catalina.home}/lib/servlet-api.jar/
   fileset file=${catalina.home}/lib/catalina-ant.jar/
+  fileset file=${catalina.home}/lib/tomcat-coyote.jar/
 /classpath
   /taskdef
   taskdef resource=org/apache/catalina/ant/jmx/jmxaccessor.tasks

Modified: tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml?rev=1602018r1=1602017r2=1602018view=diff
==
--- tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Wed Jun 11 21:22:06 2014
@@ -55,6 +55,11 @@
   subsection name=Jasper
 changelog
   fix
+bug56560/bug: Fix NoClassDefFoundError when using Jasper Ant task
+defined by codecatalina-tasks.xml/code file. Patch provided by
+M Gemmell. (kkolinko)
+  /fix
+  fix
 bug56561/bug: Avoid codeNoSuchElementException/code while
 handling attributes with empty string value. (violetagg)
   /fix



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



[Bug 56560] Jasper ant task fails with java.lang.NoClassDefFoundError: org.apache.tomcat.util.descriptor.LocalResolver

2014-06-11 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56560

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

   What|Removed |Added

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

--- Comment #3 from Konstantin Kolinko knst.koli...@gmail.com ---
Patch was applied and will be in 6.0.42 onwards.
Thank you.

-- 
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: r1602027 - in /tomcat/trunk/test/org/apache/jasper: TestJspCompilationContext.java TestJspCpompilationContext.java

2014-06-11 Thread kkolinko
Author: kkolinko
Date: Wed Jun 11 21:47:03 2014
New Revision: 1602027

URL: http://svn.apache.org/r1602027
Log:
Correct typo in the name of a test class

Added:
tomcat/trunk/test/org/apache/jasper/TestJspCompilationContext.java
  - copied, changed from r1601960, 
tomcat/trunk/test/org/apache/jasper/TestJspCpompilationContext.java
Removed:
tomcat/trunk/test/org/apache/jasper/TestJspCpompilationContext.java

Copied: tomcat/trunk/test/org/apache/jasper/TestJspCompilationContext.java 
(from r1601960, 
tomcat/trunk/test/org/apache/jasper/TestJspCpompilationContext.java)
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/jasper/TestJspCompilationContext.java?p2=tomcat/trunk/test/org/apache/jasper/TestJspCompilationContext.javap1=tomcat/trunk/test/org/apache/jasper/TestJspCpompilationContext.javar1=1601960r2=1602027rev=1602027view=diff
==
--- tomcat/trunk/test/org/apache/jasper/TestJspCpompilationContext.java 
(original)
+++ tomcat/trunk/test/org/apache/jasper/TestJspCompilationContext.java Wed Jun 
11 21:47:03 2014
@@ -27,7 +27,7 @@ import org.apache.catalina.startup.Tomca
 import org.apache.catalina.startup.TomcatBaseTest;
 import org.apache.tomcat.util.buf.ByteChunk;
 
-public class TestJspCpompilationContext extends TomcatBaseTest {
+public class TestJspCompilationContext extends TomcatBaseTest {
 
 @Test
 public void testTagFileInJar() throws Exception {



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



buildbot success in ASF Buildbot on tomcat-trunk

2014-06-11 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/166

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

Buildslave for this Build: bb-vm_ubuntu

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

Build succeeded!

sincerely,
 -The Buildbot




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



svn commit: r1602046 - in /tomcat/trunk/test: org/apache/jasper/compiler/TestGenerator.java webapp/bug5nnnn/bug56581.jsp

2014-06-11 Thread kkolinko
Author: kkolinko
Date: Wed Jun 11 22:55:01 2014
New Revision: 1602046

URL: http://svn.apache.org/r1602046
Log:
https://issues.apache.org/bugzilla/show_bug.cgi?id=56581
Add test case for bug 56581.
It tests exception handling for committed responses.

Added:
tomcat/trunk/test/webapp/bug5/bug56581.jsp   (with props)
Modified:
tomcat/trunk/test/org/apache/jasper/compiler/TestGenerator.java

Modified: tomcat/trunk/test/org/apache/jasper/compiler/TestGenerator.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/jasper/compiler/TestGenerator.java?rev=1602046r1=1602045r2=1602046view=diff
==
--- tomcat/trunk/test/org/apache/jasper/compiler/TestGenerator.java (original)
+++ tomcat/trunk/test/org/apache/jasper/compiler/TestGenerator.java Wed Jun 11 
22:55:01 2014
@@ -37,6 +37,7 @@ import static org.junit.Assert.assertTru
 import org.junit.Assert;
 import org.junit.Test;
 
+import org.apache.catalina.LifecycleException;
 import org.apache.catalina.WebResourceRoot;
 import org.apache.catalina.core.StandardContext;
 import org.apache.catalina.startup.Tomcat;
@@ -317,4 +318,32 @@ public class TestGenerator extends Tomca
 }
 
 }
+
+@Test
+public void testBug56581() throws LifecycleException {
+Tomcat tomcat = getTomcatInstance();
+
+File appDir =
+new File(test/webapp);
+// app dir is relative to server home
+tomcat.addWebapp(null, /test, appDir.getAbsolutePath());
+
+tomcat.start();
+
+ByteChunk res = new ByteChunk();
+try {
+getUrl(http://localhost:; + getPort()
++ /test/bug5/bug56581.jsp, res, null);
+Assert.fail(An IOException was expected.);
+} catch (IOException expected) {
+// ErrorReportValve in Tomcat 8.0.9+ flushes and aborts the
+// connection when an unexpected error is encountered and response
+// has already been committed. It results in an exception here:
+// java.io.IOException: Premature EOF
+}
+
+String result = res.toString();
+assertTrue(result.startsWith(0 Hello world!\n));
+assertTrue(result.endsWith(999 Hello world!\n));
+}
 }

Added: tomcat/trunk/test/webapp/bug5/bug56581.jsp
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/webapp/bug5/bug56581.jsp?rev=1602046view=auto
==
--- tomcat/trunk/test/webapp/bug5/bug56581.jsp (added)
+++ tomcat/trunk/test/webapp/bug5/bug56581.jsp Wed Jun 11 22:55:01 2014
@@ -0,0 +1,27 @@
+%--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the License); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an AS IS BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+
+--%%@page contentType=text/plain;charset=ISO-8859-1
+%% for (int i=0; i1000; i++) {
+  out.print(i);
+  out.print( Hello world!\n);
+}
+if (true) throw new RuntimeException(Oops. Testing exception handling.);
+for (int i=0; i1000; i++) {
+  out.print(i);
+  out.print( Footer);
+}
+%
\ No newline at end of file

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



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



[Bug 56613] New: JSP COMPILATION ERROR ON TOMCAT 6 7 with JDK VERSION 1.8.0_20-ea

2014-06-11 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=56613

Bug ID: 56613
   Summary: JSP COMPILATION ERROR ON TOMCAT 6  7 with JDK VERSION
1.8.0_20-ea
   Product: Tomcat 7
   Version: unspecified
  Hardware: PC
Status: NEW
  Severity: normal
  Priority: P2
 Component: Jasper
  Assignee: dev@tomcat.apache.org
  Reporter: shu.c...@oracle.com

With Java 1.8.0_20-ea
(http://jre.us.oracle.com/java/re/jdk/8u20/promoted/all/b15/bundles/windows-i586/jdk-8u20-ea-windows-i586.exe),
we got a JSP compilation error as below.

Tomcat 6  7 both have compilation error when trying to interpret the following
code in JSP: 
 str = str.replace(', @ \\').replace(\,\\\); 
(str is a string here)
 . 
 Below is the error message: 
  SEVERE: Compilation error 
 org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException 
 at 
 org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.init(ClassFileRea 
 der.java:342) 
 at 
 org.apache.jasper.compiler.JDTCompiler$1.findType(JDTCompiler.java:206) 
 at 
 org.apache.jasper.compiler.JDTCompiler$1.findType(JDTCompiler.java:163) 
 at 
 org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEn 
 vironment.java:96) 
 at 
 org.eclipse.jdt.internal.compiler.lookup.UnresolvedReferenceBinding.resolve(Un 
 resolvedReferenceBinding.java:49) 
 at 
 org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.resolveType(BinaryT 
 ypeBinding.java:131) 
 at 
 org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.resolveTypesFor(Bin 
 aryTypeBinding.java:903) 
 at 
 org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.getExactMethod(Bina 
 ryTypeBinding.java:705) 
 at 
 org.eclipse.jdt.internal.compiler.lookup.Scope.findExactMethod(Scope.java:763) 
 . 
 at 
 org.eclipse.jdt.internal.compiler.lookup.Scope.getMethod(Scope.java:2057) 
 at 
 org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java 
 :417) 
 at 
 org.eclipse.jdt.internal.compiler.ast.MessageSend.resolveType(MessageSend.java 
 :334) 
 at 
 org.eclipse.jdt.internal.compiler.ast.Assignment.resolveType(Assignment.java:1 
 84) 
 at 
 org.eclipse.jdt.internal.compiler.ast.Expression.resolve(Expression.java:906) 
 at 
 org.eclipse.jdt.internal.compiler.ast.Block.resolve(Block.java:101) 
 at 
 org.eclipse.jdt.internal.compiler.ast.IfStatement.resolve(IfStatement.java:233 
 ) 
 at 
 org.eclipse.jdt.internal.compiler.ast.Block.resolve(Block.java:101) 
 at 
 org.eclipse.jdt.internal.compiler.ast.IfStatement.resolve(IfStatement.java:233 
 ) 
 at 
 org.eclipse.jdt.internal.compiler.ast.Block.resolveUsing(Block.java:115) 
 at 
 org.eclipse.jdt.internal.compiler.ast.TryStatement.resolve(TryStatement.java:7 
 99) 
 at 
 org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolveStateme 
 nts(AbstractMethodDeclaration.java:429) 
 at 
 org.eclipse.jdt.internal.compiler.ast.MethodDeclaration.resolveStatements(Meth 
 odDeclaration.java:196) 
 at 
 org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.resolve(Abstra 
 ctMethodDeclaration.java:400) 
 at 
 org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration. 
 java:1085) 
 at 
 org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.resolve(TypeDeclaration. 
 java:1164) 
 at 
 org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.resolve(Compi 
 lationUnitDeclaration.java:366) 
 at 
 org.eclipse.jdt.internal.compiler.Compiler.process(Compiler.java:623) 
 at 
 org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:392) 
 at 
 org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:429) 
 at org.apache.jasper.compiler.Compiler.compile(Compiler.java:349) 
 at org.apache.jasper.compiler.Compiler.compile(Compiler.java:327) 
 at org.apache.jasper.compiler.Compiler.compile(Compiler.java:314) 
 at 
 org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592 
 ) 
 at 
 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:326 
 ) 
 at 
 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) 
 at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) 
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
 at 
 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFi 
 lterChain.java:290) 
 at 
 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChai 
 n.java:206) 
 at 
 com.demantra.common.servlets.ServerStartupFilter.doFilter(ServerStartupFilter. 
 java:52) 
 at