[Tomcat Wiki] Trivial Update of BrittneyY by BrittneyY

2013-03-20 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on Tomcat Wiki for change 
notification.

The BrittneyY page has been changed by BrittneyY:
http://wiki.apache.org/tomcat/BrittneyY

New page:
Nothing to write about me at all.BR
Feels good to be a part of this community.BR
I just wish Im useful at allBR
BR
Take a look at my page; [[http://www.youtube.com/user/shamballabracelet|cheap 
shamballa bracelet]]

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



[Tomcat Wiki] Trivial Update of Reva6518 by Reva6518

2013-03-20 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on Tomcat Wiki for change 
notification.

The Reva6518 page has been changed by Reva6518:
http://wiki.apache.org/tomcat/Reva6518

New page:
Dorene is the title I like to be named with and I experience cozy when folks 
use the entire name.BR
North Carolina is in which I have constantly been dwelling and my household 
enjoys it. The matter I adore most undertaking aerobics and I've been doing it 
for rather a though. Because I was 18 I've been working as an details officer 
and I am carrying out quite fantastic economically.BR
BR
BR
My web-site - [[http://do-follow.info/News/nice-khao-lak-hotels-photos-2/|Look 
At This]]

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



Typo

2013-03-20 Thread Ognjen Blagojevic

Hi,

http://tomcat.apache.org/tomcat-7.0-doc/config/http.html

restrictedUserAgents - The value is a regular expression (using 
java.util.regex) *matching matching* ...


-Ognjen

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



svn commit: r1458694 - /tomcat/trunk/webapps/docs/config/http.xml

2013-03-20 Thread violetagg
Author: violetagg
Date: Wed Mar 20 09:10:49 2013
New Revision: 1458694

URL: http://svn.apache.org/r1458694
Log:
Correct typo reported via mailing list

Modified:
tomcat/trunk/webapps/docs/config/http.xml

Modified: tomcat/trunk/webapps/docs/config/http.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/config/http.xml?rev=1458694r1=1458693r2=1458694view=diff
==
--- tomcat/trunk/webapps/docs/config/http.xml (original)
+++ tomcat/trunk/webapps/docs/config/http.xml Wed Mar 20 09:10:49 2013
@@ -454,7 +454,7 @@
 /attribute
 
 attribute name=restrictedUserAgents required=false
-  pThe value is a regular expression (using 
codejava.util.regex/code) matching
+  pThe value is a regular expression (using codejava.util.regex/code)
   matching the codeuser-agent/code header of HTTP clients for which
   HTTP/1.1 or HTTP/1.0 keep alive should not be used, even if the clients
   advertise support for these features.



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



svn commit: r1458699 - in /tomcat/tc7.0.x/trunk: ./ webapps/docs/config/http.xml

2013-03-20 Thread violetagg
Author: violetagg
Date: Wed Mar 20 09:22:41 2013
New Revision: 1458699

URL: http://svn.apache.org/r1458699
Log:
Merged revision 1458694 from tomcat/trunk:
Correct typo reported via mailing list

Modified:
tomcat/tc7.0.x/trunk/   (props changed)
tomcat/tc7.0.x/trunk/webapps/docs/config/http.xml

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

Modified: tomcat/tc7.0.x/trunk/webapps/docs/config/http.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/config/http.xml?rev=1458699r1=1458698r2=1458699view=diff
==
--- tomcat/tc7.0.x/trunk/webapps/docs/config/http.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/config/http.xml Wed Mar 20 09:22:41 2013
@@ -454,7 +454,7 @@
 /attribute
 
 attribute name=restrictedUserAgents required=false
-  pThe value is a regular expression (using 
codejava.util.regex/code) matching
+  pThe value is a regular expression (using codejava.util.regex/code)
   matching the codeuser-agent/code header of HTTP clients for which
   HTTP/1.1 or HTTP/1.0 keep alive should not be used, even if the clients
   advertise support for these features.



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



Re: Typo

2013-03-20 Thread Violeta Georgieva
2013/3/20 Ognjen Blagojevic wrote:
 Hi,

 http://tomcat.apache.org/tomcat-7.0-doc/config/http.html

 restrictedUserAgents - The value is a regular expression (using
 java.util.regex) *matching matching* ...

Thank you for the report.
The fixed documentation will be available with the next release of
Tomcat 7 (7.0.39)

Regards
Violeta

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



svn commit: r1458709 - /tomcat/trunk/java/org/apache/catalina/websocket/

2013-03-20 Thread markt
Author: markt
Date: Wed Mar 20 09:56:29 2013
New Revision: 1458709

URL: http://svn.apache.org/r1458709
Log:
Drop the non-JSR356 WebSocket implementation

Removed:
tomcat/trunk/java/org/apache/catalina/websocket/


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



svn commit: r1458710 - in /tomcat/trunk: java/javax/servlet/http/ java/org/apache/catalina/connector/ java/org/apache/coyote/ java/org/apache/tomcat/websocket/server/ test/org/apache/coyote/http11/upg

2013-03-20 Thread markt
Author: markt
Date: Wed Mar 20 09:58:07 2013
New Revision: 1458710

URL: http://svn.apache.org/r1458710
Log:
Align implementation with new name in spec WsProtocolHandler - 
WsHttpUpgradeHanlder
Align implementation with new HttpServletRequest.upgrade() method

Added:

tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java
  - copied, changed from r1458695, 
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsProtocolHandler.java
Removed:
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsProtocolHandler.java
Modified:
tomcat/trunk/java/javax/servlet/http/HttpServletRequest.java
tomcat/trunk/java/javax/servlet/http/HttpServletRequestWrapper.java
tomcat/trunk/java/javax/servlet/http/HttpUpgradeHandler.java
tomcat/trunk/java/org/apache/catalina/connector/Request.java
tomcat/trunk/java/org/apache/catalina/connector/RequestFacade.java
tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java
tomcat/trunk/java/org/apache/tomcat/websocket/server/LocalStrings.properties

tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java
tomcat/trunk/java/org/apache/tomcat/websocket/server/WsServlet.java
tomcat/trunk/test/org/apache/coyote/http11/upgrade/TestUpgrade.java

Modified: tomcat/trunk/java/javax/servlet/http/HttpServletRequest.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/http/HttpServletRequest.java?rev=1458710r1=1458709r2=1458710view=diff
==
--- tomcat/trunk/java/javax/servlet/http/HttpServletRequest.java (original)
+++ tomcat/trunk/java/javax/servlet/http/HttpServletRequest.java Wed Mar 20 
09:58:07 2013
@@ -512,5 +512,6 @@ public interface HttpServletRequest exte
  *
  * @since Servlet 3.1
  */
-public void upgrade(HttpUpgradeHandler handler) throws java.io.IOException;
+public T extends HttpUpgradeHandler T upgrade(
+ClassT httpUpgradeHandlerClass) throws java.io.IOException;
 }

Modified: tomcat/trunk/java/javax/servlet/http/HttpServletRequestWrapper.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/http/HttpServletRequestWrapper.java?rev=1458710r1=1458709r2=1458710view=diff
==
--- tomcat/trunk/java/javax/servlet/http/HttpServletRequestWrapper.java 
(original)
+++ tomcat/trunk/java/javax/servlet/http/HttpServletRequestWrapper.java Wed Mar 
20 09:58:07 2013
@@ -364,13 +364,13 @@ public class HttpServletRequestWrapper e
  * {@inheritDoc}
  * p
  * The default behavior of this method is to return
- * {@link HttpServletRequest#upgrade(HttpUpgradeHandler)}
- * on the wrapped request object.
+ * {@link HttpServletRequest#upgrade(Class)} on the wrapped request object.
  *
  * @since Servlet 3.1
  */
 @Override
-public void upgrade(HttpUpgradeHandler handler) throws java.io.IOException 
{
-this._getHttpServletRequest().upgrade(handler);
+public T extends HttpUpgradeHandler T upgrade(
+ClassT httpUpgradeHandlerClass) throws IOException {
+return this._getHttpServletRequest().upgrade(httpUpgradeHandlerClass);
 }
 }

Modified: tomcat/trunk/java/javax/servlet/http/HttpUpgradeHandler.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/http/HttpUpgradeHandler.java?rev=1458710r1=1458709r2=1458710view=diff
==
--- tomcat/trunk/java/javax/servlet/http/HttpUpgradeHandler.java (original)
+++ tomcat/trunk/java/javax/servlet/http/HttpUpgradeHandler.java Wed Mar 20 
09:58:07 2013
@@ -25,13 +25,18 @@ public interface HttpUpgradeHandler {
 
 /**
  * This method is called once the request/response pair where
- * {@link HttpServletRequest#upgrade(HttpUpgradeHandler)} is called has
- * completed processing and is the point where control of the connection
- * passes from the container to the {@link HttpUpgradeHandler}.
+ * {@link HttpServletRequest#upgrade(Class)} is called has completed
+ * processing and is the point where control of the connection passes from
+ * the container to the {@link HttpUpgradeHandler}.
  *
  * @param connectionThe connection that has been upgraded
  *
  * @since Servlet 3.1
  */
 void init(WebConnection connection);
+
+/**
+ * This method is called after the upgraded connection has been closed.
+ */
+void destroy();
 }

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=1458710r1=1458709r2=1458710view=diff
==
--- tomcat/trunk/java/org/apache/catalina/connector/Request.java (original)
+++ 

[Bug 54728] HttpServletRequest#upgrade() and other interfaces don't match spec; change may be impossible to implement

2013-03-20 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54728

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

   What|Removed |Added

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

--- Comment #2 from Mark Thomas ma...@apache.org ---
This has been fixed in trunk.

Your first patch isn't far off. I dropped o.a.catalina.websocket as the old
implementation needed to be dropped at some point and now was a good a time as
any.

The other differences were:
- leave init() as is
- move most of the constructor to preInit() (similar to your doAfterUpgrade())
- call preInit() from the Servlet immediately after calling
HttpServletRequest.upgrade()

The actual upgrade is performed by the container once the Servlet.service()
method exits. The upgrade() call doesn't trigger the upgrade it just tells the
container which object is to handler the connection once the current HTTP
request completes.

-- 
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 54729] new HttpParser.parseAuthorizationBasic method

2013-03-20 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54729

--- Comment #1 from Mark Thomas ma...@apache.org ---
Regarding your points:

1. Clarity vs efficiency is always a trade off. It depends how much efficiency
has been lost. Do you have any performance numbers?

2. I don't see a test case either. I'd rather get any bugs in the decoder fixed
than put sticking plasters over other bits of code.

3. I'd prefer to do this first. That code is only still in the code base
because it support ByteChunk / CharChunk which should allow a more efficient
interface with the rest of the Tomcat code base. It is probably time that that
assumption is tested.

4. It is very unlikely we will be adding Commons Codec as a dependency to
Tomcat. We may do an svn copy and rename much like we have done for FileUpload
but the usefulness of that depends on the ByteChunk/CharChunk issues in 3. For
FileUpload I am looking at replacing the decoder with the JVM implementation.

-- 
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: r1458726 - in /tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/mime: Base64Decoder.java MimeUtility.java

2013-03-20 Thread markt
Author: markt
Date: Wed Mar 20 10:30:46 2013
New Revision: 1458726

URL: http://svn.apache.org/r1458726
Log:
The JRE (since Java 6) ships with a perfectly good Base64 Encoder/Decoder. Use 
it.

Removed:

tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/mime/Base64Decoder.java
Modified:

tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/mime/MimeUtility.java

Modified: 
tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/mime/MimeUtility.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/mime/MimeUtility.java?rev=1458726r1=1458725r2=1458726view=diff
==
--- 
tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/mime/MimeUtility.java
 (original)
+++ 
tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/mime/MimeUtility.java
 Wed Mar 20 10:30:46 2013
@@ -23,6 +23,8 @@ import java.util.HashMap;
 import java.util.Locale;
 import java.util.Map;
 
+import javax.xml.bind.DatatypeConverter;
+
 /**
  * Utility class to decode MIME texts.
  *
@@ -239,18 +241,18 @@ public final class MimeUtility {
 // the decoder writes directly to an output stream.
 ByteArrayOutputStream out = new 
ByteArrayOutputStream(encodedText.length());
 
-byte[] encodedData = encodedText.getBytes(US_ASCII_CHARSET);
-
+byte[] decodedData;
 // Base64 encoded?
 if (encoding.equals(BASE64_ENCODING_MARKER)) {
-Base64Decoder.decode(encodedData, out);
+decodedData = DatatypeConverter.parseBase64Binary(encodedText);
 } else if (encoding.equals(QUOTEDPRINTABLE_ENCODING_MARKER)) { // 
maybe quoted printable.
+byte[] encodedData = encodedText.getBytes(US_ASCII_CHARSET);
 QuotedPrintableDecoder.decode(encodedData, out);
+decodedData = out.toByteArray();
 } else {
 throw new UnsupportedEncodingException(Unknown RFC 2047 
encoding:  + encoding);
 }
-// get the decoded byte data and convert into a string.
-byte[] decodedData = out.toByteArray();
+// Convert decoded byte data into a string.
 return new String(decodedData, javaCharset(charset));
 } catch (IOException e) {
 throw new UnsupportedEncodingException(Invalid RFC 2047 
encoding);



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



svn commit: r1458738 - in /tomcat/trunk: java/org/apache/catalina/ant/ java/org/apache/catalina/authenticator/ java/org/apache/catalina/realm/ java/org/apache/catalina/util/ test/org/apache/catalina/a

2013-03-20 Thread markt
Author: markt
Date: Wed Mar 20 10:38:43 2013
New Revision: 1458738

URL: http://svn.apache.org/r1458738
Log:
Replace Tomcat's own base64 encoder with the one from the JRE.

Modified:
tomcat/trunk/java/org/apache/catalina/ant/AbstractCatalinaTask.java
tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java
tomcat/trunk/java/org/apache/catalina/realm/JNDIRealm.java
tomcat/trunk/java/org/apache/catalina/util/Base64.java

tomcat/trunk/test/org/apache/catalina/authenticator/TestNonLoginAndBasicAuthenticator.java

tomcat/trunk/test/org/apache/catalina/authenticator/TestSSOnonLoginAndBasicAuthenticator.java

Modified: tomcat/trunk/java/org/apache/catalina/ant/AbstractCatalinaTask.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ant/AbstractCatalinaTask.java?rev=1458738r1=1458737r2=1458738view=diff
==
--- tomcat/trunk/java/org/apache/catalina/ant/AbstractCatalinaTask.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/ant/AbstractCatalinaTask.java Wed Mar 
20 10:38:43 2013
@@ -27,7 +27,8 @@ import java.net.HttpURLConnection;
 import java.net.URL;
 import java.net.URLConnection;
 
-import org.apache.catalina.util.Base64;
+import javax.xml.bind.DatatypeConverter;
+
 import org.apache.tomcat.util.buf.B2CConverter;
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.Project;
@@ -201,8 +202,8 @@ public abstract class AbstractCatalinaTa
 
 // Set up an authorization header with our credentials
 String input = username + : + password;
-String output =
-Base64.encode(input.getBytes(B2CConverter.ISO_8859_1));
+String output = DatatypeConverter.printBase64Binary(
+input.getBytes(B2CConverter.ISO_8859_1));
 hconn.setRequestProperty(Authorization,
  Basic  + output);
 

Modified: 
tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java?rev=1458738r1=1458737r2=1458738view=diff
==
--- 
tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java 
(original)
+++ 
tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java 
Wed Mar 20 10:38:43 2013
@@ -27,6 +27,7 @@ import javax.security.auth.Subject;
 import javax.security.auth.login.LoginContext;
 import javax.security.auth.login.LoginException;
 import javax.servlet.http.HttpServletResponse;
+import javax.xml.bind.DatatypeConverter;
 
 import org.apache.catalina.LifecycleException;
 import org.apache.catalina.connector.Request;
@@ -279,7 +280,7 @@ public class SpnegoAuthenticator extends
 
 // Send response token on success and failure
 response.setHeader(WWW-Authenticate, Negotiate 
-+ Base64.encode(outToken));
++ DatatypeConverter.printBase64Binary(outToken));
 
 if (principal != null) {
 register(request, response, principal, Constants.SPNEGO_METHOD,

Modified: tomcat/trunk/java/org/apache/catalina/realm/JNDIRealm.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/JNDIRealm.java?rev=1458738r1=1458737r2=1458738view=diff
==
--- tomcat/trunk/java/org/apache/catalina/realm/JNDIRealm.java (original)
+++ tomcat/trunk/java/org/apache/catalina/realm/JNDIRealm.java Wed Mar 20 
10:38:43 2013
@@ -51,6 +51,7 @@ import javax.naming.directory.DirContext
 import javax.naming.directory.InitialDirContext;
 import javax.naming.directory.SearchControls;
 import javax.naming.directory.SearchResult;
+import javax.xml.bind.DatatypeConverter;
 
 import org.apache.catalina.LifecycleException;
 import org.apache.catalina.util.Base64;
@@ -1556,7 +1557,8 @@ public class JNDIRealm extends RealmBase
 password = password.substring(5);
 md.reset();
 md.update(credentials.getBytes(B2CConverter.ISO_8859_1));
-String digestedPassword = Base64.encode(md.digest());
+String digestedPassword =
+DatatypeConverter.printBase64Binary(md.digest());
 validated = password.equals(digestedPassword);
 }
 } else if (password.startsWith({SSHA})) {

Modified: tomcat/trunk/java/org/apache/catalina/util/Base64.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/util/Base64.java?rev=1458738r1=1458737r2=1458738view=diff
==
--- tomcat/trunk/java/org/apache/catalina/util/Base64.java (original)
+++ 

svn commit: r1458739 - /tomcat/trunk/java/org/apache/catalina/util/Base64.java

2013-03-20 Thread markt
Author: markt
Date: Wed Mar 20 10:39:12 2013
New Revision: 1458739

URL: http://svn.apache.org/r1458739
Log:
Add note on removal

Modified:
tomcat/trunk/java/org/apache/catalina/util/Base64.java

Modified: tomcat/trunk/java/org/apache/catalina/util/Base64.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/util/Base64.java?rev=1458739r1=1458738r2=1458739view=diff
==
--- tomcat/trunk/java/org/apache/catalina/util/Base64.java (original)
+++ tomcat/trunk/java/org/apache/catalina/util/Base64.java Wed Mar 20 10:39:12 
2013
@@ -82,7 +82,8 @@ public final class  Base64
  * @param binaryData Array containing binary data to encode.
  * @return Base64-encoded data.
  *
- * @deprecated  Use {@link DatatypeConverter#printBase64Binary(byte[])}
+ * @deprecated  Use {@link DatatypeConverter#printBase64Binary(byte[])}.
+ *  This method will be removed in Tomcat 8.0.x.
  */
 @Deprecated
 public static String encode(byte[] binaryData) {



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



svn commit: r1458740 - /tomcat/trunk/java/org/apache/catalina/util/Base64.java

2013-03-20 Thread markt
Author: markt
Date: Wed Mar 20 10:39:41 2013
New Revision: 1458740

URL: http://svn.apache.org/r1458740
Log:
Remove deprecated code

Modified:
tomcat/trunk/java/org/apache/catalina/util/Base64.java

Modified: tomcat/trunk/java/org/apache/catalina/util/Base64.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/util/Base64.java?rev=1458740r1=1458739r2=1458740view=diff
==
--- tomcat/trunk/java/org/apache/catalina/util/Base64.java (original)
+++ tomcat/trunk/java/org/apache/catalina/util/Base64.java Wed Mar 20 10:39:41 
2013
@@ -17,8 +17,6 @@
 
 package org.apache.catalina.util;
 
-import javax.xml.bind.DatatypeConverter;
-
 import org.apache.tomcat.util.buf.ByteChunk;
 import org.apache.tomcat.util.buf.CharChunk;
 
@@ -77,20 +75,6 @@ public final class  Base64
 }
 
 /**
- * Encodes hex octets into Base64.
- *
- * @param binaryData Array containing binary data to encode.
- * @return Base64-encoded data.
- *
- * @deprecated  Use {@link DatatypeConverter#printBase64Binary(byte[])}.
- *  This method will be removed in Tomcat 8.0.x.
- */
-@Deprecated
-public static String encode(byte[] binaryData) {
-return DatatypeConverter.printBase64Binary(binaryData);
-}
-
-/**
  * Decodes Base64 data into octets
  *
  * @param base64DataBC Byte array containing Base64 data



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



svn commit: r1458742 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/tomcat/util/http/fileupload/ java/org/apache/tomcat/util/http/fileupload/util/mime/Base64Decoder.java java/org/apache/tomcat/util/ht

2013-03-20 Thread markt
Author: markt
Date: Wed Mar 20 10:40:37 2013
New Revision: 1458742

URL: http://svn.apache.org/r1458742
Log:
The JRE (since Java 6) ships with a perfectly good Base64 Encoder/Decoder. Use 
it.

Removed:

tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/fileupload/util/mime/Base64Decoder.java
Modified:
tomcat/tc7.0.x/trunk/   (props changed)
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/fileupload/   (props 
changed)

tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/fileupload/util/mime/MimeUtility.java

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

Propchange: tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/fileupload/
--
  Merged /tomcat/trunk/java/org/apache/tomcat/util/http/fileupload:r1458726

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/fileupload/util/mime/MimeUtility.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/fileupload/util/mime/MimeUtility.java?rev=1458742r1=1458741r2=1458742view=diff
==
--- 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/fileupload/util/mime/MimeUtility.java
 (original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/tomcat/util/http/fileupload/util/mime/MimeUtility.java
 Wed Mar 20 10:40:37 2013
@@ -23,6 +23,8 @@ import java.util.HashMap;
 import java.util.Locale;
 import java.util.Map;
 
+import javax.xml.bind.DatatypeConverter;
+
 /**
  * Utility class to decode MIME texts.
  *
@@ -240,18 +242,18 @@ public final class MimeUtility {
 // the decoder writes directly to an output stream.
 ByteArrayOutputStream out = new 
ByteArrayOutputStream(encodedText.length());
 
-byte[] encodedData = encodedText.getBytes(US_ASCII_CHARSET);
-
+byte[] decodedData;
 // Base64 encoded?
 if (encoding.equals(BASE64_ENCODING_MARKER)) {
-Base64Decoder.decode(encodedData, out);
+decodedData = DatatypeConverter.parseBase64Binary(encodedText);
 } else if (encoding.equals(QUOTEDPRINTABLE_ENCODING_MARKER)) { // 
maybe quoted printable.
+byte[] encodedData = encodedText.getBytes(US_ASCII_CHARSET);
 QuotedPrintableDecoder.decode(encodedData, out);
+decodedData = out.toByteArray();
 } else {
 throw new UnsupportedEncodingException(Unknown RFC 2047 
encoding:  + encoding);
 }
-// get the decoded byte data and convert into a string.
-byte[] decodedData = out.toByteArray();
+// Convert decoded byte data into a string.
 return new String(decodedData, javaCharset(charset));
 } catch (IOException e) {
 throw new UnsupportedEncodingException(Invalid RFC 2047 
encoding);



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



svn commit: r1458748 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/ant/ java/org/apache/catalina/authenticator/ java/org/apache/catalina/realm/ java/org/apache/catalina/util/ test/org/apache

2013-03-20 Thread markt
Author: markt
Date: Wed Mar 20 10:43:46 2013
New Revision: 1458748

URL: http://svn.apache.org/r1458748
Log:
Replace Tomcat's own base64 encoder with the one from the JRE.
Deprecate Tomcat's encoder which will be removed in Tomcat 8.

Modified:
tomcat/tc7.0.x/trunk/   (props changed)
tomcat/tc7.0.x/trunk/java/org/apache/catalina/ant/AbstractCatalinaTask.java

tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java
tomcat/tc7.0.x/trunk/java/org/apache/catalina/realm/JNDIRealm.java
tomcat/tc7.0.x/trunk/java/org/apache/catalina/util/Base64.java

tomcat/tc7.0.x/trunk/test/org/apache/catalina/authenticator/TestNonLoginAndBasicAuthenticator.java

tomcat/tc7.0.x/trunk/test/org/apache/catalina/authenticator/TestSSOnonLoginAndBasicAuthenticator.java

Propchange: tomcat/tc7.0.x/trunk/
--
  Merged /tomcat/trunk:r1458738-1458739

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/ant/AbstractCatalinaTask.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/ant/AbstractCatalinaTask.java?rev=1458748r1=1458747r2=1458748view=diff
==
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/ant/AbstractCatalinaTask.java 
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/ant/AbstractCatalinaTask.java 
Wed Mar 20 10:43:46 2013
@@ -26,9 +26,10 @@ import java.io.InputStreamReader;
 import java.net.HttpURLConnection;
 import java.net.URL;
 import java.net.URLConnection;
-import java.nio.charset.Charset;
 
-import org.apache.catalina.util.Base64;
+import javax.xml.bind.DatatypeConverter;
+
+import org.apache.tomcat.util.buf.B2CConverter;
 import org.apache.tools.ant.BuildException;
 import org.apache.tools.ant.Project;
 
@@ -201,8 +202,8 @@ public abstract class AbstractCatalinaTa
 
 // Set up an authorization header with our credentials
 String input = username + : + password;
-String output =
-Base64.encode(input.getBytes(Charset.defaultCharset()));
+String output = DatatypeConverter.printBase64Binary(
+input.getBytes(B2CConverter.ISO_8859_1));
 hconn.setRequestProperty(Authorization,
  Basic  + output);
 

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java?rev=1458748r1=1458747r2=1458748view=diff
==
--- 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java
 (original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java
 Wed Mar 20 10:43:46 2013
@@ -27,6 +27,7 @@ import javax.security.auth.Subject;
 import javax.security.auth.login.LoginContext;
 import javax.security.auth.login.LoginException;
 import javax.servlet.http.HttpServletResponse;
+import javax.xml.bind.DatatypeConverter;
 
 import org.apache.catalina.LifecycleException;
 import org.apache.catalina.connector.Request;
@@ -283,7 +284,7 @@ public class SpnegoAuthenticator extends
 
 // Send response token on success and failure
 response.setHeader(WWW-Authenticate, Negotiate 
-+ Base64.encode(outToken));
++ DatatypeConverter.printBase64Binary(outToken));
 
 if (principal != null) {
 register(request, response, principal, Constants.SPNEGO_METHOD,

Modified: tomcat/tc7.0.x/trunk/java/org/apache/catalina/realm/JNDIRealm.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/realm/JNDIRealm.java?rev=1458748r1=1458747r2=1458748view=diff
==
--- tomcat/tc7.0.x/trunk/java/org/apache/catalina/realm/JNDIRealm.java 
(original)
+++ tomcat/tc7.0.x/trunk/java/org/apache/catalina/realm/JNDIRealm.java Wed Mar 
20 10:43:46 2013
@@ -52,6 +52,7 @@ import javax.naming.directory.DirContext
 import javax.naming.directory.InitialDirContext;
 import javax.naming.directory.SearchControls;
 import javax.naming.directory.SearchResult;
+import javax.xml.bind.DatatypeConverter;
 
 import org.apache.catalina.LifecycleException;
 import org.apache.catalina.util.Base64;
@@ -1575,7 +1576,8 @@ public class JNDIRealm extends RealmBase
 password = password.substring(5);
 md.reset();
 md.update(credentials.getBytes(Charset.defaultCharset()));
-String digestedPassword = Base64.encode(md.digest());
+String digestedPassword =
+DatatypeConverter.printBase64Binary(md.digest());
 validated = 

[Tomcat Wiki] Trivial Update of HelaineVJ by HelaineVJ

2013-03-20 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on Tomcat Wiki for change 
notification.

The HelaineVJ page has been changed by HelaineVJ:
http://wiki.apache.org/tomcat/HelaineVJ

New page:
Hilaria Altizer is the name individuals use to call me and as well I feel 
comfortable when everyday people use the full name.BR
I've always cherished living in Illinois. To should really start computers is 
the only leisure pursuit my husband doesn't approve . Hiring possesses been my 
profession for some kind of time but I've always yearned for my own business. 
See what's new on several other website here: 
http://red-raspberry-ketones.BR
BR
com/buy-raspberry-ketones/

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



[Bug 45661] NioBlockingSelector uses all CPU after a socket connection is killed

2013-03-20 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=45661

--- Comment #5 from Sergio Garcia sergio.gar...@m-centric.com ---
Hi,
I still reproduce this error with these conditions :

- Tomcat 7.0.14
- Linux 2.6
- java version 1.6.0_37

I don't think this issue must be closed with the status RESOLVED WORKSFORME


Greetings,
Sergio

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



[Tomcat Wiki] Update of AdminGroup by KonstantinKolinko

2013-03-20 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on Tomcat Wiki for change 
notification.

The AdminGroup page has been changed by KonstantinKolinko:
http://wiki.apache.org/tomcat/AdminGroup?action=diffrev1=4rev2=5

Comment:
Remove anonymous read access to this page

- #acl AdminGroup:read,write,admin,revert,delete All:read
+ #acl AdminGroup:read,write,admin,revert,delete -All:read
  
  This is a list of people who can do editing of the LocalBadContent page:
   * ChristopherSchultz

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



[Tomcat Wiki] Update of LocalBadContent by KonstantinKolinko

2013-03-20 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on Tomcat Wiki for change 
notification.

The LocalBadContent page has been changed by KonstantinKolinko:
http://wiki.apache.org/tomcat/LocalBadContent?action=diffrev1=91rev2=92

  #acl LeoSimons:read,write,admin,delete,revert AdminGroup:read,write All:read
  #format plain
  #
- # This page is pulled from the general wiki. To add spam terms for the entire 
wiki farm,
- # edit http://wiki.apache.org/general/LocalBadContent.
- #
  # This page can contain additional items not in the BadContent database.
- # But please only add terms here if they apply to the entire Apache wiki farm.
  #
  # About: http://moinmo.in/AntiSpamFeatures
  # Regex syntax: http://docs.python.org/2/library/re.html#re-syntax
@@ -59, +55 @@

  computerrental\.biz
  copdregionalnetwork\.org
  directorysubmitlist\.com
+ do-follow\.info
  dragonseo
  dreamstation\.com
  dublinbet
@@ -145, +142 @@

  profi-fachuebersetzungen\.de
  profischnell\.com
  racket-racquets\.co\.uk
+ raspberry-ketones
  robesoireebal\.fr
  russianaccent\.net
  sanfranciscodentistdds\.com
@@ -202, +200 @@

  zjeyu\.com
  zx\.slave\.ca
  zyseo\.com
+ # Temporary measures
  (my)[\s]+(name)
+ youtube\.com
  ##--Apache/LocalBadContent
  

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



[Bug 45661] NioBlockingSelector uses all CPU after a socket connection is killed

2013-03-20 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=45661

--- Comment #6 from Konstantin Kolinko knst.koli...@gmail.com ---
No,
1. you are reproducing a different error on a different OS.
2. your report is irrelevant, there have been many fixes since 7.0.14.
The current version of Tomcat 7 is 7.0.37.

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



[Tomcat Wiki] Trivial Update of Alfonzo37 by Alfonzo37

2013-03-20 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on Tomcat Wiki for change 
notification.

The Alfonzo37 page has been changed by Alfonzo37:
http://wiki.apache.org/tomcat/Alfonzo37

New page:
Long is what his wife likes to call him but he doesn't like when people use his 
full name. His wife and him live in Connecticut but he needs to cart because of 
his family. Supervising is how he makes money. As a man what he really likes is 
fixing computers and now he is wanting to earn money with understand it. Go to 
his website to find out more: http://friends-hood.com/alicetrip/all

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



[Tomcat Wiki] Update of LocalBadContent by KonstantinKolinko

2013-03-20 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on Tomcat Wiki for change 
notification.

The LocalBadContent page has been changed by KonstantinKolinko:
http://wiki.apache.org/tomcat/LocalBadContent?action=diffrev1=92rev2=93

  freecities\.com
  freewebpages\.org
  freewebsitehosting\.com
+ friends-hood\.com
  g0g\.net
  getminecraftfree\.info
  google-seo-top\.com

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



Wiki (was: Update of LocalBadContent)

2013-03-20 Thread Konstantin Kolinko
2013/3/19 Mark Thomas ma...@apache.org:
 On 18/03/2013 21:46, Apache Wiki wrote:
 Dear Wiki user,

 You have subscribed to a wiki page or wiki category on Tomcat Wiki for 
 change notification.

 The LocalBadContent page has been changed by ChuckCaldarale:

 I've raised it before and folks weren't interested but I think it is
 time to consider [1] again.

 I'll note that while the spammers entries to the wiki get removed pretty
 quickly (thanks Chunk) their content is in our mail archive which is
 indexed all over the place so their aim has already been achieved even
 if we remove the content from the Wiki. I'd really like to put a stop to
 this abuse of our Wiki.


 [1]
 http://wiki.apache.org/general/OurWikiFarm#per_wiki_access_control_-_tighten_your_wiki_just_a_little.2C_benefit_just_a_lot


Previous discussions:
[2] (Jun 2011) http://tomcat.markmail.org/thread/nndyb3elaee6nduv
[3] (Dec 2011) http://tomcat.markmail.org/thread/llawwzb4jxgwbt6z

+0. It is a bit of a pity, but I would not oppose the change.

I'd say that if we go this tight security way, then I think we should
remove most of Powered by page (maybe all besides articles) and do
not bother maintaining it.

The last time [3] people were saying that that page is needed.


If mailing list is the target, maybe configure a separate mailing list
for wiki edit notifications, which is not so widely mirrored as the
dev one?

Best regards,
Konstantin Kolinko

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



RE: Wiki (was: Update of LocalBadContent)

2013-03-20 Thread Caldarale, Charles R
 From: Konstantin Kolinko [mailto:knst.koli...@gmail.com] 
 Subject: Wiki (was: Update of LocalBadContent)

 I'd say that if we go this tight security way, then I think we should
 remove most of Powered by page (maybe all besides articles) and do
 not bother maintaining it.

I'd like to keep the Powered by page, if for no other reason than it gives 
potential Tomcat users some sense of security about using the product.  Also, 
it is getting updated with fair regularity and little to no spam.

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its 
attachments from all computers.


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



Re: Wiki (was: Update of LocalBadContent)

2013-03-20 Thread Tim Funk
+1 for the lock down. [with sadness] If someone would like to add content
it can be done via bug report. [Component  =  Wiki? ] Then if a few are
filed by the same person escalate their access as trusted. I can try to
keep an eye on these types of bugs flowing through.

+1 To removing the powered by page too.

Otherwise - you guys have been awesome in keeping the spam out.

-Tim

On Wed, Mar 20, 2013 at 8:36 AM, Konstantin Kolinko
knst.koli...@gmail.comwrote:

 2013/3/19 Mark Thomas ma...@apache.org:
  On 18/03/2013 21:46, Apache Wiki wrote:

 Previous discussions:
 [2] (Jun 2011) http://tomcat.markmail.org/thread/nndyb3elaee6nduv
 [3] (Dec 2011) http://tomcat.markmail.org/thread/llawwzb4jxgwbt6z

 +0. It is a bit of a pity, but I would not oppose the change.

 I'd say that if we go this tight security way, then I think we should
 remove most of Powered by page (maybe all besides articles) and do
 not bother maintaining it.




Re: Wiki (was: Update of LocalBadContent)

2013-03-20 Thread Konstantin Kolinko
2013/3/20 Caldarale, Charles R chuck.caldar...@unisys.com:
 From: Konstantin Kolinko [mailto:knst.koli...@gmail.com]
 Subject: Wiki (was: Update of LocalBadContent)

 I'd say that if we go this tight security way, then I think we should
 remove most of Powered by page (maybe all besides articles) and do
 not bother maintaining it.

 I'd like to keep the Powered by page, if for no other reason than it gives 
 potential Tomcat users some sense of security about using the product.  Also, 
 it is getting updated with fair regularity and little to no spam.

I think at least 30% of sites listed there are spam.
For many of them I do not see any JSP technologies being used (*.jsp,
*.do etc., JSESSIONID cookies) and X-PoweredBy says PHP.

The Tomcat hosting offerings list may be useful, though I think one
can just google for Tomcat hosting.

Hosting providers behave as spammers sometimes. E.g. trying to put
their ads into articles section or not following alphabetic order. (It
is easy to recognize and remove those).

Best regards,
Konstantin Kolinko

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



Question for the loader used in o.a.t.util.scan.StandardJarScanner

2013-03-20 Thread Violeta Georgieva
Hi,

I have a question for the loader that is used in
o.a.t.util.scan.StandardJarScanner.scan(ServletContext, ClassLoader,
JarScannerCallback, SetString) (7.0.x trunk).

Why don't we use the loader that is provided as a method parameter,
but instead of this we are using the thread context class loader?

row 196 ClassLoader loader =
row 197Thread.currentThread().getContextClassLoader();

And why don't we start scanning from its parent, but instead of this
we start with it directly?

I can see that in tomcat/trunk we are using the provided loader and we
start scanning from its parent.

Thanks
Violeta

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



[Tomcat Wiki] Trivial Update of WillieSla by WillieSla

2013-03-20 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on Tomcat Wiki for change 
notification.

The WillieSla page has been changed by WillieSla:
http://wiki.apache.org/tomcat/WillieSla

New page:
Not much to write about me really.BR
Feels good to be a member of this community.BR
I really hope Im useful in some way here.BR
BR
my blog :: 
[[HTTP://bricodgeasirgesalia.Blogbaker.com/2013/02/14/cheapestcar-insurance-guaranteed|Cheap
 car Insurance Uk under 25]]

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



[Tomcat Wiki] Update of LocalBadContent by ChuckCaldarale

2013-03-20 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on Tomcat Wiki for change 
notification.

The LocalBadContent page has been changed by ChuckCaldarale:
http://wiki.apache.org/tomcat/LocalBadContent?action=diffrev1=93rev2=94

  bodybuilding
  bravepages\.com
  breathefreshecigs\.com
+ bricodgeasirgesalia\.blogbaker\.com
  buchete\.ro
  buyyourall\.com
  buymaternitymaxidresses\.iwannayou\.com

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



[Bug 54728] HttpServletRequest#upgrade() and other interfaces don't match spec; change may be impossible to implement

2013-03-20 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54728

--- Comment #3 from Nick Williams nicho...@nicholaswilliams.net ---
Okay, I see where my mistake was. Wow. *rubs eyes*

I think I need to go back to bed. Lol.

Thanks.

-- 
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 54732] New: StatementCache interceptor does not forward calls to Statement.close() which causes memory leaks

2013-03-20 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54732

Bug ID: 54732
   Summary: StatementCache interceptor does not forward calls to
Statement.close() which causes memory leaks
   Product: Tomcat 7
   Version: 7.0.34
  Hardware: PC
Status: NEW
  Severity: major
  Priority: P2
 Component: Catalina
  Assignee: dev@tomcat.apache.org
  Reporter: ber...@step.polymtl.ca
Classification: Unclassified

ML ref:
http://mail-archives.apache.org/mod_mbox/tomcat-users/201303.mbox/browser

When using Tomcat's jdbc-pool with the StatementCache interceptor (the default
for TomEE 1.5.1), the actual java.sql.Statement.close() method is not called on
the Statements. This causes severe memory leaks, at least with the MySQL
driver.

I see what could be a bug in StatementCache#closeInvoked() which is called by
the above method. Here is the code with my own comments added:
@Override
public void closeInvoked() {
boolean shouldClose = true;
if (cacheSize.get()  maxCacheSize) {
// omitted for brievety
}
closed = true;
// [1] I think delegate = null is done too soon
delegate = null;
if (shouldClose) {
// check its body below
super.closeInvoked();
}
}

// This is super.closeInvoked()
public void closeInvoked() {
if (getDelegate()!=null) {
// never true when coming from
// StatementCache#closeInvoked()
// because of [1]
try {
getDelegate().close();
}catch (SQLException ignore) {
}
}
closed = true;
delegate = null;
}

To test this, step into org.apache.tomcat.jdbc.test.TestStatementCache tests
testPreparedStatementCache and testPreparedStatementCache2. The calls to
Statement.close() are intercepted but never forwarded to the actual Statement.
Perhaps some kind of mock could be used to make sure Statement.close() is
called on each created Statement.

-- 
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 54732] StatementCache interceptor does not forward calls to Statement.close() which causes memory leaks

2013-03-20 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54732

ber...@step.polymtl.ca changed:

   What|Removed |Added

 CC||ber...@step.polymtl.ca
 OS||All

-- 
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 54729] new HttpParser.parseAuthorizationBasic method

2013-03-20 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54729

--- Comment #2 from Mark Thomas ma...@apache.org ---
I've done some additional testing.

On a warmed up system the JRE and Tomcat Base64 decoding implementations are
comparable. Tomcat does warm up faster. Without warm up on 100 iterations
(different inputs) Tomcat was approx. 3x faster but at a total of 200ms vs
600ms for 100 tests I'm not too worried by even that difference.

I intend to proceed and remove Tomcat's internal base64 encoder in 8 and
deprecate it in 7.0.x, In both cases I intend to replace the current uses of
Tomcat's internal decoder with the JRE's.

-- 
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 54732] StatementCache interceptor does not forward calls to Statement.close() which causes memory leaks

2013-03-20 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54732

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

   What|Removed |Added

  Component|Catalina|jdbc-pool
Version|7.0.34  |unspecified
Product|Tomcat 7|Tomcat Modules

-- 
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 54734] New: Tomcat Servlet 3.1 API needs to be synchronized with Proposed Final Draft

2013-03-20 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54734

Bug ID: 54734
   Summary: Tomcat Servlet 3.1 API needs to be synchronized with
Proposed Final Draft
   Product: Tomcat 8
   Version: trunk
  Hardware: All
OS: All
Status: NEW
  Severity: major
  Priority: P2
 Component: Specification APIs
  Assignee: dev@tomcat.apache.org
  Reporter: nicho...@nicholaswilliams.net
Classification: Unclassified

Created attachment 30084
  -- https://issues.apache.org/bugzilla/attachment.cgi?id=30084action=edit
Patch to bring Tomcat in line with latest Servlet 3.1 spec

Tomcat's javax.servlet.http.WebConnection interface should extend
AutoCloseable, but it does not.

In Tomcat's javax.servlet.ReadListener interface, onDataAvailable() and
onAllDataRead() should throw IOException, but they do not.

In Tomcat's javax.servlet.WriteListener interface, onWritePossible() should
throw IOException, but it does not.

Tomcat's javax.servlet.ServletContext class is missing the following method:
  public String getVirtualServerName();

Patch attached for the above issues.

Tomcat's javax.servlet.http.NoBodyResponse implementation is interesting.
First, it Servlet 2.5 the void setContentLength() method was as follows:

void setContentLength();
  Code:
 0: aload_0   
 1: getfield  #6  // Field didSetContentLength:Z
 4: ifne  23
 7: aload_0   
 8: getfield  #2  // Field
resp:Ljavax/servlet/http/HttpServletResponse;
11: aload_0   
12: getfield  #5  // Field
noBody:Ljavax/servlet/http/NoBodyOutputStream;
15: invokevirtual #7  // Method
javax/servlet/http/NoBodyOutputStream.getContentLength:()I
18: invokeinterface #8,  2// InterfaceMethod
javax/servlet/http/HttpServletResponse.setContentLength:(I)V
23: return 


Which is equivalent to:

void setContentLength() {
if (!didSetContentLength)
  resp.setContentLength(noBody.getContentLength());
}

It changed in Servlet 3.0 (and remained the same in Servlet 3.1) and is now:

  void setContentLength();
Code:
   0: aload_0   
   1: getfield  #5  // Field didSetContentLength:Z
   4: ifne  32
   7: aload_0   
   8: getfield  #6  // Field
writer:Ljava/io/PrintWriter;
  11: ifnull21
  14: aload_0   
  15: getfield  #6  // Field
writer:Ljava/io/PrintWriter;
  18: invokevirtual #7  // Method
java/io/PrintWriter.flush:()V
  21: aload_0   
  22: aload_0   
  23: getfield  #4  // Field
noBody:Ljavax/servlet/http/NoBodyOutputStream;
  26: invokevirtual #8  // Method
javax/servlet/http/NoBodyOutputStream.getContentLength:()I
  29: invokevirtual #9  // Method setContentLength:(I)V
  32: return

This is roughly equivalent to:

void setContentLength() {
if (!didSetContentLength) {
if (writer != null)
writer.flush();
super.setContentLength(noBody.getContentLength());
}
}

However, Tomcat's implementation is still:

void setContentLength() {
if (!didSetContentLength)
  super.setContentLength(noBody.getContentLength());
}

The spec implementation is correct, and the Tomcat implementation could report
incorrect content length if the writer has not been flushed. I will attach a
separate patch in the following comment that fixes this.

Finally, I noticed that Tomcat's javax.servlet.http.NoBodyResponse class has
the following methods that are not in the spec:

  public void setContentLengthLong(long);
  public void setHeader(String, String);
  public void addHeader(String, String);
  public void setIntHeader(String, int);
  public void addIntHeader(String, int);

However, I do not believe this is a problem in Tomcat. The last four were added
as part of https://issues.apache.org/bugzilla/show_bug.cgi?id=53454 and the
setContentLengthLong() was added by Mark to correspond with that new method in
Servlet 3.1. I believe this is a problem with the Oracle implementation, and
these methods should be in that. Tomcat's implementation clearly adheres to the
spirit of the spec. The spec JAR does not. I'm going to file an issue about
this in the servlet spec JIRA.

-- 
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 54734] Tomcat Servlet 3.1 API needs to be synchronized with Proposed Final Draft

2013-03-20 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54734

--- Comment #1 from Nick Williams nicho...@nicholaswilliams.net ---
Created attachment 30085
  -- https://issues.apache.org/bugzilla/attachment.cgi?id=30085action=edit
Patch to fix NoBodyResponse#setContentLength()

-- 
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 54734] Tomcat Servlet 3.1 API needs to be synchronized with Proposed Final Draft

2013-03-20 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54734

Nick Williams nicho...@nicholaswilliams.net changed:

   What|Removed |Added

  Attachment #30084|0   |1
   is patch||
  Attachment #30084|application/octet-stream|text/plain
  mime type||

-- 
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 54734] Tomcat Servlet 3.1 API needs to be synchronized with Proposed Final Draft

2013-03-20 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54734

--- Comment #2 from Nick Williams nicho...@nicholaswilliams.net ---
I recommend that the patch to fix NoBodyResponse#setContentLength() get
back-ported to Tomcat 7.0, since it should have behaved this way in Servlet
3.0.

-- 
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 54734] Tomcat Servlet 3.1 API needs to be synchronized with Proposed Final Draft

2013-03-20 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54734

--- Comment #3 from Nick Williams nicho...@nicholaswilliams.net ---
For reference, here is the Servlet Spec bug I filed about missing methods in
NoBodyResponse:

http://java.net/jira/browse/SERVLET_SPEC-69

-- 
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: Question for the loader used in o.a.t.util.scan.StandardJarScanner

2013-03-20 Thread Mark Thomas
On 20/03/2013 13:55, Violeta Georgieva wrote:
 Hi,
 
 I have a question for the loader that is used in
 o.a.t.util.scan.StandardJarScanner.scan(ServletContext, ClassLoader,
 JarScannerCallback, SetString) (7.0.x trunk).
 
 Why don't we use the loader that is provided as a method parameter,
 but instead of this we are using the thread context class loader?

It looks like a left over from when the code was first refactored to
create the StandardJarScanner. I agree, we should use the passed in
class loader.

 row 196 ClassLoader loader =
 row 197Thread.currentThread().getContextClassLoader();
 
 And why don't we start scanning from its parent, but instead of this
 we start with it directly?

Because of the possibility of external repositories having been
configured. There are other ways this could be handled but the current
code works. In Tomcat 8 the new resources implementation makes all this
a lot simpler.

 I can see that in tomcat/trunk we are using the provided loader and we
 start scanning from its parent.

The Javadoc needs correcting as well.

Mark

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



svn commit: r1459010 - /tomcat/trunk/test/org/apache/catalina/util/TesterBase64Performance.java

2013-03-20 Thread markt
Author: markt
Date: Wed Mar 20 19:27:44 2013
New Revision: 1459010

URL: http://svn.apache.org/r1459010
Log:
Add test case used to investigate Base64 decoder performance

Added:
tomcat/trunk/test/org/apache/catalina/util/TesterBase64Performance.java   
(with props)

Added: tomcat/trunk/test/org/apache/catalina/util/TesterBase64Performance.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/util/TesterBase64Performance.java?rev=1459010view=auto
==
--- tomcat/trunk/test/org/apache/catalina/util/TesterBase64Performance.java 
(added)
+++ tomcat/trunk/test/org/apache/catalina/util/TesterBase64Performance.java Wed 
Mar 20 19:27:44 2013
@@ -0,0 +1,113 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the License); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.catalina.util;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.bind.DatatypeConverter;
+
+import org.junit.Test;
+
+import org.apache.tomcat.util.buf.B2CConverter;
+import org.apache.tomcat.util.buf.ByteChunk;
+import org.apache.tomcat.util.buf.CharChunk;
+
+public class TesterBase64Performance {
+
+private static final int SIZE = 100;
+
+@Test
+public void testDecode() throws Exception {
+
+ListByteChunk inputs = new ArrayList(SIZE);
+ListByteChunk warmups = new ArrayList(SIZE);
+ListString results = new ArrayList(SIZE);
+
+for (int i = 0; i  SIZE; i++) {
+String decodedString = abc + Integer.valueOf(i) +
+:abc + Integer.valueOf(i);
+byte[] decodedBytes =
+decodedString.getBytes(B2CConverter.ISO_8859_1);
+String encodedString =
+DatatypeConverter.printBase64Binary(decodedBytes);
+byte[] encodedBytes =
+encodedString.getBytes(B2CConverter.ISO_8859_1);
+
+ByteChunk bc = new ByteChunk(encodedBytes.length);
+bc.append(encodedBytes, 0, encodedBytes.length);
+
+inputs.add(bc);
+}
+
+
+for (int i = 0; i  SIZE; i++) {
+String decodedString = zyx + Integer.valueOf(i) +
+:zyx + Integer.valueOf(i);
+byte[] decodedBytes =
+decodedString.getBytes(B2CConverter.ISO_8859_1);
+String encodedString =
+DatatypeConverter.printBase64Binary(decodedBytes);
+byte[] encodedBytes =
+encodedString.getBytes(B2CConverter.ISO_8859_1);
+
+ByteChunk bc = new ByteChunk(encodedBytes.length);
+bc.append(encodedBytes, 0, encodedBytes.length);
+
+warmups.add(bc);
+}
+
+//Warm up
+for (ByteChunk bc : warmups) {
+CharChunk cc = new CharChunk(bc.getLength());
+Base64.decode(bc, cc);
+results.add(cc.toString());
+}
+results.clear();
+
+for (ByteChunk bc : warmups) {
+byte[] decodedBytes =
+DatatypeConverter.parseBase64Binary(bc.toString());
+String decodedString =
+new String(decodedBytes, B2CConverter.ISO_8859_1);
+results.add(decodedString);
+}
+results.clear();
+
+long startTomcat = System.currentTimeMillis();
+for (ByteChunk bc : inputs) {
+CharChunk cc = new CharChunk(bc.getLength());
+Base64.decode(bc, cc);
+results.add(cc.toString());
+}
+long stopTomcat =  System.currentTimeMillis();
+System.out.println(Tomcat:  + (stopTomcat - startTomcat) +  ms);
+
+results.clear();
+
+long startJre = System.currentTimeMillis();
+for (ByteChunk bc : inputs) {
+byte[] decodedBytes =
+DatatypeConverter.parseBase64Binary(bc.toString());
+String decodedString =
+new String(decodedBytes, B2CConverter.ISO_8859_1);
+results.add(decodedString);
+}
+long stopJre =  System.currentTimeMillis();
+System.out.println(JRE:  + (stopJre - startJre) +  ms);
+}
+}

Propchange: 

[Bug 54693] Add a validationQueryTimeout property

2013-03-20 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54693

--- Comment #3 from Daniel Mikusa dmik...@vmware.com ---
Comments inline below...

Only one comment: since a value of 0 disabled query timeout (it will wait 
forever), why not make the default 0 instead of -1?

I implemented it the same way as DBCP to try and make it as compatible as
possible.  

In my implementation (same as DBCP), the value must be greater than 0 or the
connection pool code won't call setQueryTimeout, which means that by default
the connection pool won't call setQueryTimeout.  

I like this approach because it won't change anything by default.  In other
words, the query timeout value would default to what is specified by the JDBC
driver or perhaps by a driver specific setting.

I'm open to other suggestions though.


Also, you mention that QueryTimeoutInterceptor will modify the query timeouts 
of all queries... how does it interact with this patch?

Sorry, I was under the impression based on some comments I read on a previous
bug that the QueryTimeoutInterceptor would set the query timeout for a
validation query.  I tested this a bit and it turns out to not be true.  In my
tests, I saw that the validation query is executed against the underlying
Connection, not the ProxyConnection.  Because it runs against the underlying
Connection, this means that the interceptors are not executed against it.


Will QueryTimeoutInterceptor set the query timeout and then your code re-sets 
the query timeout (presumably to a different value)? If that's the case, what 
happens when validationQueryTimeout=0 and you are using the 
QueryTimeoutInterceptor? A reasonable user might expect that the validation 
query would /never/ time out, but the QueryTimeoutInterceptor would affect it.

As I mentioned above, the QueryTimeoutInterceptor and validationQueryTimeout
should not affect each other.  Just to be sure, I added a test case to check
this.  Attaching new patch with that test case added.

Dan

-- 
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 54693] Add a validationQueryTimeout property

2013-03-20 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54693

--- Comment #4 from Daniel Mikusa dmik...@vmware.com ---
Created attachment 30086
  -- https://issues.apache.org/bugzilla/attachment.cgi?id=30086action=edit
Second patch

Added patch with additional testcase.

-- 
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: r1459028 - in /tomcat/trunk/java/org/apache: catalina/Context.java catalina/connector/Request.java catalina/core/ApplicationContext.java catalina/core/DefaultInstanceManager.java catalina/

2013-03-20 Thread remm
Author: remm
Date: Wed Mar 20 20:10:41 2013
New Revision: 1459028

URL: http://svn.apache.org/r1459028
Log:
- I am pretty sure the point of the upgrade(Class) method is to be able to 
inject, so the instance manager has to be used.
- Add InstanceManager on Context, and also add newInstance(Class) - not really 
needed, but it probably doesn't hurt.

Modified:
tomcat/trunk/java/org/apache/catalina/Context.java
tomcat/trunk/java/org/apache/catalina/connector/Request.java
tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java
tomcat/trunk/java/org/apache/catalina/core/DefaultInstanceManager.java
tomcat/trunk/java/org/apache/catalina/startup/FailedContext.java
tomcat/trunk/java/org/apache/tomcat/InstanceManager.java

Modified: tomcat/trunk/java/org/apache/catalina/Context.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/Context.java?rev=1459028r1=1459027r2=1459028view=diff
==
--- tomcat/trunk/java/org/apache/catalina/Context.java (original)
+++ tomcat/trunk/java/org/apache/catalina/Context.java Wed Mar 20 20:10:41 2013
@@ -35,6 +35,7 @@ import org.apache.catalina.deploy.Filter
 import org.apache.catalina.deploy.LoginConfig;
 import org.apache.catalina.deploy.NamingResources;
 import org.apache.catalina.deploy.SecurityConstraint;
+import org.apache.tomcat.InstanceManager;
 import org.apache.tomcat.JarScanner;
 
 /**
@@ -661,6 +662,16 @@ public interface Context extends Contain
  */
 public boolean getLogEffectiveWebXml();
 
+/**
+ * Get the instance manager associated with this context.
+ */
+public InstanceManager getInstanceManager();
+
+/**
+ * Set the instance manager associated with this context.
+ */
+public void setInstanceManager(InstanceManager instanceManager);
+
 // - Public Methods
 
 

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=1459028r1=1459027r2=1459028view=diff
==
--- tomcat/trunk/java/org/apache/catalina/connector/Request.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/Request.java Wed Mar 20 
20:10:41 2013
@@ -22,6 +22,7 @@ import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.UnsupportedEncodingException;
+import java.lang.reflect.InvocationTargetException;
 import java.nio.charset.Charset;
 import java.security.Principal;
 import java.text.SimpleDateFormat;
@@ -40,6 +41,7 @@ import java.util.TimeZone;
 import java.util.TreeMap;
 import java.util.concurrent.atomic.AtomicBoolean;
 
+import javax.naming.NamingException;
 import javax.security.auth.Subject;
 import javax.servlet.AsyncContext;
 import javax.servlet.DispatcherType;
@@ -1884,14 +1886,15 @@ public class Request
  *
  * @since Servlet 3.1
  */
+@SuppressWarnings(unchecked)
 @Override
 public T extends HttpUpgradeHandler T upgrade(
 ClassT httpUpgradeHandlerClass) throws java.io.IOException {
 
 T handler;
 try {
-handler = httpUpgradeHandlerClass.newInstance();
-} catch (InstantiationException | IllegalAccessException e) {
+handler = (T) 
context.getInstanceManager().newInstance(httpUpgradeHandlerClass);
+} catch (InstantiationException | IllegalAccessException | 
InvocationTargetException | NamingException e) {
 throw new IOException(e);
 }
 

Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java?rev=1459028r1=1459027r2=1459028view=diff
==
--- tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java Wed Mar 
20 20:10:41 2013
@@ -1315,7 +1315,7 @@ public class ApplicationContext
 throws ServletException {
 try {
 T listener =
-(T) context.getInstanceManager().newInstance(c.getName());
+(T) context.getInstanceManager().newInstance(c);
 if (listener instanceof ServletContextListener ||
 listener instanceof ServletContextAttributeListener ||
 listener instanceof ServletRequestListener ||
@@ -1337,9 +1337,8 @@ public class ApplicationContext
 throw new ServletException(e);
 } catch (InstantiationException e) {
 throw new ServletException(e);
-} catch (ClassNotFoundException e) {
-throw new ServletException(e);
-}}
+}
+}
 
 
 @Override

Modified: 

svn commit: r1459031 - in /tomcat/trunk/java/org/apache/catalina: authenticator/BasicAuthenticator.java authenticator/SpnegoAuthenticator.java realm/JNDIRealm.java util/Base64.java

2013-03-20 Thread markt
Author: markt
Date: Wed Mar 20 20:22:42 2013
New Revision: 1459031

URL: http://svn.apache.org/r1459031
Log:
Deprecate Base64 and switch to DatatypeConverter

Modified:
tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java
tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java
tomcat/trunk/java/org/apache/catalina/realm/JNDIRealm.java
tomcat/trunk/java/org/apache/catalina/util/Base64.java

Modified: 
tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java?rev=1459031r1=1459030r2=1459031view=diff
==
--- tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java 
Wed Mar 20 20:22:42 2013
@@ -24,13 +24,13 @@ import java.security.Principal;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import javax.xml.bind.DatatypeConverter;
 
 import org.apache.catalina.connector.Request;
-import org.apache.catalina.util.Base64;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
+import org.apache.tomcat.util.buf.B2CConverter;
 import org.apache.tomcat.util.buf.ByteChunk;
-import org.apache.tomcat.util.buf.CharChunk;
 import org.apache.tomcat.util.buf.MessageBytes;
 
 
@@ -113,18 +113,28 @@ public class BasicAuthenticator
 // FIXME: Add trimming
 // authorizationBC.trim();
 
-CharChunk authorizationCC = authorization.getCharChunk();
-Base64.decode(authorizationBC, authorizationCC);
+// Use the StringCache as these will be the same between
+// requests
+String encoded = authorizationBC.toString();
+byte[] decoded = DatatypeConverter.parseBase64Binary(encoded);
 
 // Get username and password
-int colon = authorizationCC.indexOf(':');
+int colon = -1;
+for (int i = 0; i  decoded.length; i++) {
+if (decoded[i] == ':') {
+colon = i;
+break;
+}
+}
+
 if (colon  0) {
-username = authorizationCC.toString();
+username = new String(decoded, B2CConverter.ISO_8859_1);
 } else {
-char[] buf = authorizationCC.getBuffer();
-username = new String(buf, 0, colon);
-password = new String(buf, colon + 1,
-authorizationCC.getEnd() - colon - 1);
+username = new String(
+decoded, 0, colon, B2CConverter.ISO_8859_1);
+password = new String(
+decoded, colon + 1, decoded.length - colon - 1,
+B2CConverter.ISO_8859_1);
 }
 
 authorizationBC.setOffset(authorizationBC.getOffset() - 6);

Modified: 
tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java?rev=1459031r1=1459030r2=1459031view=diff
==
--- 
tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java 
(original)
+++ 
tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java 
Wed Mar 20 20:22:42 2013
@@ -31,9 +31,9 @@ import javax.xml.bind.DatatypeConverter;
 
 import org.apache.catalina.LifecycleException;
 import org.apache.catalina.connector.Request;
-import org.apache.catalina.util.Base64;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
+import org.apache.tomcat.util.buf.B2CConverter;
 import org.apache.tomcat.util.buf.ByteChunk;
 import org.apache.tomcat.util.buf.MessageBytes;
 import org.ietf.jgss.GSSContext;
@@ -190,10 +190,15 @@ public class SpnegoAuthenticator extends
 // FIXME: Add trimming
 // authorizationBC.trim();
 
-ByteChunk decoded = new ByteChunk();
-Base64.decode(authorizationBC, decoded);
+// Create the String directly as this will change on each request and 
we
+// don't want to use the StringCache
+String encoded = new String(authorizationBC.getBuffer(),
+authorizationBC.getOffset(),
+authorizationBC.getLength(), B2CConverter.ISO_8859_1);
 
-if (decoded.getLength() == 0) {
+byte[] decoded = DatatypeConverter.parseBase64Binary(encoded);
+
+if (decoded.length == 0) {
 if (log.isDebugEnabled()) {
 

svn commit: r1459032 - in /tomcat/trunk: java/org/apache/catalina/util/Base64.java test/org/apache/catalina/util/TesterBase64Performance.java

2013-03-20 Thread markt
Author: markt
Date: Wed Mar 20 20:23:34 2013
New Revision: 1459032

URL: http://svn.apache.org/r1459032
Log:
Remove Base64 and the associated test case

Removed:
tomcat/trunk/java/org/apache/catalina/util/Base64.java
tomcat/trunk/test/org/apache/catalina/util/TesterBase64Performance.java


-
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

2013-03-20 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/4138

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

Buildslave for this Build: bb-vm_ubuntu

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

Build succeeded!

sincerely,
 -The Buildbot





svn commit: r1459036 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/authenticator/ java/org/apache/catalina/realm/ java/org/apache/catalina/util/ test/org/apache/catalina/util/ webapps/docs/

2013-03-20 Thread markt
Author: markt
Date: Wed Mar 20 20:37:59 2013
New Revision: 1459036

URL: http://svn.apache.org/r1459036
Log: (empty)

Added:

tomcat/tc7.0.x/trunk/test/org/apache/catalina/util/TesterBase64Performance.java
  - copied, changed from r1459010, 
tomcat/trunk/test/org/apache/catalina/util/TesterBase64Performance.java
Modified:
tomcat/tc7.0.x/trunk/   (props changed)

tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java

tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java
tomcat/tc7.0.x/trunk/java/org/apache/catalina/realm/JNDIRealm.java
tomcat/tc7.0.x/trunk/java/org/apache/catalina/util/Base64.java
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

Propchange: tomcat/tc7.0.x/trunk/
--
  Merged /tomcat/trunk:r1459010,1459031

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java?rev=1459036r1=1459035r2=1459036view=diff
==
--- 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java
 (original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java
 Wed Mar 20 20:37:59 2013
@@ -24,14 +24,14 @@ import java.security.Principal;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+import javax.xml.bind.DatatypeConverter;
 
 import org.apache.catalina.connector.Request;
 import org.apache.catalina.deploy.LoginConfig;
-import org.apache.catalina.util.Base64;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
+import org.apache.tomcat.util.buf.B2CConverter;
 import org.apache.tomcat.util.buf.ByteChunk;
-import org.apache.tomcat.util.buf.CharChunk;
 import org.apache.tomcat.util.buf.MessageBytes;
 
 
@@ -138,18 +138,28 @@ public class BasicAuthenticator
 // FIXME: Add trimming
 // authorizationBC.trim();
 
-CharChunk authorizationCC = authorization.getCharChunk();
-Base64.decode(authorizationBC, authorizationCC);
+// Use the StringCache as these will be the same between
+// requests
+String encoded = authorizationBC.toString();
+byte[] decoded = DatatypeConverter.parseBase64Binary(encoded);
 
 // Get username and password
-int colon = authorizationCC.indexOf(':');
+int colon = -1;
+for (int i = 0; i  decoded.length; i++) {
+if (decoded[i] == ':') {
+colon = i;
+break;
+}
+}
+
 if (colon  0) {
-username = authorizationCC.toString();
+username = new String(decoded, B2CConverter.ISO_8859_1);
 } else {
-char[] buf = authorizationCC.getBuffer();
-username = new String(buf, 0, colon);
-password = new String(buf, colon + 1, 
-authorizationCC.getEnd() - colon - 1);
+username = new String(
+decoded, 0, colon, B2CConverter.ISO_8859_1);
+password = new String(
+decoded, colon + 1, decoded.length - colon - 1,
+B2CConverter.ISO_8859_1);
 }
 
 authorizationBC.setOffset(authorizationBC.getOffset() - 6);

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java?rev=1459036r1=1459035r2=1459036view=diff
==
--- 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java
 (original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java
 Wed Mar 20 20:37:59 2013
@@ -33,9 +33,9 @@ import org.apache.catalina.LifecycleExce
 import org.apache.catalina.connector.Request;
 import org.apache.catalina.deploy.LoginConfig;
 import org.apache.catalina.startup.Bootstrap;
-import org.apache.catalina.util.Base64;
 import org.apache.juli.logging.Log;
 import org.apache.juli.logging.LogFactory;
+import org.apache.tomcat.util.buf.B2CConverter;
 import org.apache.tomcat.util.buf.ByteChunk;
 import org.apache.tomcat.util.buf.MessageBytes;
 import org.ietf.jgss.GSSContext;
@@ -194,10 +194,15 @@ public class SpnegoAuthenticator extends
 // FIXME: Add trimming
 // 

buildbot failure in ASF Buildbot on tomcat-trunk

2013-03-20 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/4139

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

Buildslave for this Build: bb-vm_ubuntu

Build Reason: scheduler
Build Source Stamp: [branch tomcat/trunk] 1459032
Blamelist: 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



svn commit: r1459043 - /tomcat/trunk/test/org/apache/catalina/core/TesterContext.java

2013-03-20 Thread markt
Author: markt
Date: Wed Mar 20 20:46:04 2013
New Revision: 1459043

URL: http://svn.apache.org/r1459043
Log:
Add new methods

Modified:
tomcat/trunk/test/org/apache/catalina/core/TesterContext.java

Modified: tomcat/trunk/test/org/apache/catalina/core/TesterContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/core/TesterContext.java?rev=1459043r1=1459042r2=1459043view=diff
==
--- tomcat/trunk/test/org/apache/catalina/core/TesterContext.java (original)
+++ tomcat/trunk/test/org/apache/catalina/core/TesterContext.java Wed Mar 20 
20:46:04 2013
@@ -56,6 +56,7 @@ import org.apache.catalina.deploy.LoginC
 import org.apache.catalina.deploy.NamingResources;
 import org.apache.catalina.deploy.SecurityConstraint;
 import org.apache.juli.logging.Log;
+import org.apache.tomcat.InstanceManager;
 import org.apache.tomcat.JarScanner;
 
 /**
@@ -1153,4 +1154,14 @@ public class TesterContext implements Co
 public MapString,String findPreDestroyMethods() {
 return null;
 }
+
+@Override
+public InstanceManager getInstanceManager() {
+return null;
+}
+
+@Override
+public void setInstanceManager(InstanceManager instanceManager) {
+// NO-OP
+}
 }



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



Re: svn commit: r1459036 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/authenticator/ java/org/apache/catalina/realm/ java/org/apache/catalina/util/ test/org/apache/catalina/util/ webapps/do

2013-03-20 Thread Konstantin Kolinko
2013/3/21  ma...@apache.org:
 Author: markt
 Date: Wed Mar 20 20:37:59 2013
 New Revision: 1459036

 URL: http://svn.apache.org/r1459036
 Log: (empty)

Log message?


 Added:
 
 tomcat/tc7.0.x/trunk/test/org/apache/catalina/util/TesterBase64Performance.java
   - copied, changed from r1459010, 
 tomcat/trunk/test/org/apache/catalina/util/TesterBase64Performance.java
 Modified:
 tomcat/tc7.0.x/trunk/   (props changed)
 
 tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java
 
 tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java
 tomcat/tc7.0.x/trunk/java/org/apache/catalina/realm/JNDIRealm.java
 tomcat/tc7.0.x/trunk/java/org/apache/catalina/util/Base64.java
 tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

 Propchange: tomcat/tc7.0.x/trunk/
 --
   Merged /tomcat/trunk:r1459010,1459031


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



[Tomcat Wiki] Trivial Update of GarlandWi by GarlandWi

2013-03-20 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on Tomcat Wiki for change 
notification.

The GarlandWi page has been changed by GarlandWi:
http://wiki.apache.org/tomcat/GarlandWi

New page:
buy a car with bad creditare available in secured as well as different 
prices.BR
In most cases, it is always ideal to first try to sell your existing trade 
yourself.BR
BR
Feel free to visit my homepage [[http://yuyu.vn/OQNAdalbe/info/|buying a car 
with bad credit tips]]

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



svn commit: r1459045 - in /tomcat/trunk/java/org/apache/catalina: connector/Request.java core/StandardContext.java

2013-03-20 Thread markt
Author: markt
Date: Wed Mar 20 20:46:47 2013
New Revision: 1459045

URL: http://svn.apache.org/r1459045
Log:
Fix some Eclipse nags

Modified:
tomcat/trunk/java/org/apache/catalina/connector/Request.java
tomcat/trunk/java/org/apache/catalina/core/StandardContext.java

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=1459045r1=1459044r2=1459045view=diff
==
--- tomcat/trunk/java/org/apache/catalina/connector/Request.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/Request.java Wed Mar 20 
20:46:47 2013
@@ -1886,7 +1886,6 @@ public class Request
  *
  * @since Servlet 3.1
  */
-@SuppressWarnings(unchecked)
 @Override
 public T extends HttpUpgradeHandler T upgrade(
 ClassT httpUpgradeHandlerClass) throws java.io.IOException {

Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContext.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardContext.java?rev=1459045r1=1459044r2=1459045view=diff
==
--- tomcat/trunk/java/org/apache/catalina/core/StandardContext.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/StandardContext.java Wed Mar 20 
20:46:47 2013
@@ -1000,11 +1000,13 @@ public class StandardContext extends Con
 }
 
 
+@Override
 public InstanceManager getInstanceManager() {
return instanceManager;
 }
 
 
+@Override
 public void setInstanceManager(InstanceManager instanceManager) {
this.instanceManager = instanceManager;
 }



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



Re: svn commit: r1459036 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/authenticator/ java/org/apache/catalina/realm/ java/org/apache/catalina/util/ test/org/apache/catalina/util/ webapps/do

2013-03-20 Thread Mark Thomas
On 20/03/2013 20:46, Konstantin Kolinko wrote:
 2013/3/21  ma...@apache.org:
 Author: markt
 Date: Wed Mar 20 20:37:59 2013
 New Revision: 1459036

 URL: http://svn.apache.org/r1459036
 Log: (empty)
 
 Log message?

Sorry. Fixed.

Mark

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



svn propchange: r1459036 - svn:log

2013-03-20 Thread markt
Author: markt
Revision: 1459036
Modified property: svn:log

Modified: svn:log at Wed Mar 20 20:48:57 2013
--
--- svn:log (original)
+++ svn:log Wed Mar 20 20:48:57 2013
@@ -0,0 +1 @@
+Deprecate Tomcat's internal Base 64 encoder/decoder and switch to using the 
JRE provided implementation.


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



Re: svn commit: r1459043 - /tomcat/trunk/test/org/apache/catalina/core/TesterContext.java

2013-03-20 Thread Remy Maucherat
On Wed, 2013-03-20 at 20:46 +, ma...@apache.org wrote:
 Author: markt
 Date: Wed Mar 20 20:46:04 2013
 New Revision: 1459043
 
 URL: http://svn.apache.org/r1459043
 Log:
 Add new methods
 
 Modified:
 tomcat/trunk/test/org/apache/catalina/core/TesterContext.java

Sorry about that ...

I'm not sure this is a very good idea, but OTOH I'm quite sure this is
meant to be injected, so I added the get/set.

Rémy



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



Re: svn commit: r1459043 - /tomcat/trunk/test/org/apache/catalina/core/TesterContext.java

2013-03-20 Thread Mark Thomas
On 20/03/2013 20:50, Remy Maucherat wrote:
 On Wed, 2013-03-20 at 20:46 +, ma...@apache.org wrote:
 Author: markt
 Date: Wed Mar 20 20:46:04 2013
 New Revision: 1459043

 URL: http://svn.apache.org/r1459043
 Log:
 Add new methods

 Modified:
 tomcat/trunk/test/org/apache/catalina/core/TesterContext.java
 
 Sorry about that ...

No problem.

 I'm not sure this is a very good idea, but OTOH I'm quite sure this is
 meant to be injected, so I added the get/set.

I agree injection is required and I don't see an alternative way to do
it. Thanks for catching this.

Mark


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



Time for 7.0.39

2013-03-20 Thread Mark Thomas
I plan to get the most recent FileUpload changes (if any), run the unit
tests, run the TCKs and then tag 7.0.39 so that should happen some time
early tomorrow if all goes well.

Mark

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



[Bug 54693] Add a validationQueryTimeout property

2013-03-20 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54693

--- Comment #5 from Daniel Mikusa dmik...@vmware.com ---
Sorry, found an issue with my second patch.  Getting an NPE with testOnConnect
set to true.  Need to revisit and see what is happening.

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



[Tomcat Wiki] Update of LocalBadContent by ChuckCaldarale

2013-03-20 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on Tomcat Wiki for change 
notification.

The LocalBadContent page has been changed by ChuckCaldarale:
http://wiki.apache.org/tomcat/LocalBadContent?action=diffrev1=94rev2=95

  xn--lnakuten-9za\.se
  yehuo\.cn
  yesbo\.de
+ yuyu\.vn
  zetaclearx
  zjeyu\.com
  zx\.slave\.ca

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



Re: Time for 7.0.39

2013-03-20 Thread Nick Williams

On Mar 20, 2013, at 3:55 PM, Mark Thomas wrote:

 I plan to get the most recent FileUpload changes (if any), run the unit
 tests, run the TCKs and then tag 7.0.39 so that should happen some time
 early tomorrow if all goes well.
 
 Mark

In 54734 I propose a patch that needs to also be back-ported to 7.0 (problem 
with Servlet 3.0 javax.servlet class). It's pretty minor. Don't know whether 
you would want to get it in or not, but it's worth taking a look at.
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: svn commit: r1459031 - in /tomcat/trunk/java/org/apache/catalina: authenticator/BasicAuthenticator.java authenticator/SpnegoAuthenticator.java realm/JNDIRealm.java util/Base64.java

2013-03-20 Thread Konstantin Kolinko
1. I do not like that you need to convert chunks to Strings to call that API.

Though in this particular case the strings should be short enough for
it to do not matter.

2. I think we should not blindly cache authentication strings, even if
it costs some performance.
I think such things should not be kept in memory longer than necessary.

3. Looking into implementation of this JAXB DatatypeConverter class,
it serves as a facade, delegating all calls to an instance of
converter class.

The converter class can be changed via
DatatypeConverter.setDatatypeConverter(...).

It should not be a security issue though, as otherwise all JAXB were
compromised.

(In my understanding, the converter can be replaced only in Java 7.
The 7u17 implementation of setDatatypeConverter() does check necessary
permissions via security manager.
The 6u43 one is strange and in my understanding it is noop, as
theConverter == null condition there is always false).


2013/3/21  ma...@apache.org:
 Author: markt
 Date: Wed Mar 20 20:22:42 2013
 New Revision: 1459031

 URL: http://svn.apache.org/r1459031
 Log:
 Deprecate Base64 and switch to DatatypeConverter

 Modified:
 
 tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java
 
 tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java
 tomcat/trunk/java/org/apache/catalina/realm/JNDIRealm.java
 tomcat/trunk/java/org/apache/catalina/util/Base64.java

 Modified: 
 tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java
 URL: 
 http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java?rev=1459031r1=1459030r2=1459031view=diff
 ==
 --- 
 tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java 
 (original)
 +++ 
 tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java 
 Wed Mar 20 20:22:42 2013
 @@ -24,13 +24,13 @@ import java.security.Principal;

  import javax.servlet.http.HttpServletRequest;
  import javax.servlet.http.HttpServletResponse;
 +import javax.xml.bind.DatatypeConverter;

  import org.apache.catalina.connector.Request;
 -import org.apache.catalina.util.Base64;
  import org.apache.juli.logging.Log;
  import org.apache.juli.logging.LogFactory;
 +import org.apache.tomcat.util.buf.B2CConverter;
  import org.apache.tomcat.util.buf.ByteChunk;
 -import org.apache.tomcat.util.buf.CharChunk;
  import org.apache.tomcat.util.buf.MessageBytes;


 @@ -113,18 +113,28 @@ public class BasicAuthenticator
  // FIXME: Add trimming
  // authorizationBC.trim();

 -CharChunk authorizationCC = authorization.getCharChunk();
 -Base64.decode(authorizationBC, authorizationCC);
 +// Use the StringCache as these will be the same between
 +// requests
 +String encoded = authorizationBC.toString();
 +byte[] decoded = 
 DatatypeConverter.parseBase64Binary(encoded);

  // Get username and password
 -int colon = authorizationCC.indexOf(':');
 +int colon = -1;
 +for (int i = 0; i  decoded.length; i++) {
 +if (decoded[i] == ':') {
 +colon = i;
 +break;
 +}
 +}
 +
  if (colon  0) {
 -username = authorizationCC.toString();
 +username = new String(decoded, B2CConverter.ISO_8859_1);
  } else {
 -char[] buf = authorizationCC.getBuffer();
 -username = new String(buf, 0, colon);
 -password = new String(buf, colon + 1,
 -authorizationCC.getEnd() - colon - 1);
 +username = new String(
 +decoded, 0, colon, B2CConverter.ISO_8859_1);
 +password = new String(
 +decoded, colon + 1, decoded.length - colon - 1,
 +B2CConverter.ISO_8859_1);
  }

  authorizationBC.setOffset(authorizationBC.getOffset() - 6);

 Modified: 
 tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java
 URL: 
 http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java?rev=1459031r1=1459030r2=1459031view=diff
 ==
 --- 
 tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java 
 (original)
 +++ 
 tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java 
 Wed Mar 20 20:22:42 2013
 @@ -31,9 +31,9 @@ import javax.xml.bind.DatatypeConverter;

  import org.apache.catalina.LifecycleException;
  import org.apache.catalina.connector.Request;
 -import 

svn commit: r1459061 - in /tomcat/trunk: java/org/apache/catalina/authenticator/BasicAuthenticator.java java/org/apache/catalina/authenticator/SpnegoAuthenticator.java test/org/apache/catalina/authent

2013-03-20 Thread markt
Author: markt
Date: Wed Mar 20 21:17:48 2013
New Revision: 1459061

URL: http://svn.apache.org/r1459061
Log:
Switching to the new Decoder has fixed a couple of TODOs. Update the comments 
and tests accordingly.

Modified:
tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java
tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java

tomcat/trunk/test/org/apache/catalina/authenticator/TestNonLoginAndBasicAuthenticator.java

Modified: 
tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java?rev=1459061r1=1459060r2=1459061view=diff
==
--- tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java 
Wed Mar 20 21:17:48 2013
@@ -110,8 +110,6 @@ public class BasicAuthenticator
 ByteChunk authorizationBC = authorization.getByteChunk();
 if (authorizationBC.startsWithIgnoreCase(basic , 0)) {
 authorizationBC.setOffset(authorizationBC.getOffset() + 6);
-// FIXME: Add trimming
-// authorizationBC.trim();
 
 // Use the StringCache as these will be the same between
 // requests

Modified: 
tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java?rev=1459061r1=1459060r2=1459061view=diff
==
--- 
tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java 
(original)
+++ 
tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java 
Wed Mar 20 21:17:48 2013
@@ -187,8 +187,6 @@ public class SpnegoAuthenticator extends
 }
 
 authorizationBC.setOffset(authorizationBC.getOffset() + 10);
-// FIXME: Add trimming
-// authorizationBC.trim();
 
 // Create the String directly as this will change on each request and 
we
 // don't want to use the StringCache

Modified: 
tomcat/trunk/test/org/apache/catalina/authenticator/TestNonLoginAndBasicAuthenticator.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/authenticator/TestNonLoginAndBasicAuthenticator.java?rev=1459061r1=1459060r2=1459061view=diff
==
--- 
tomcat/trunk/test/org/apache/catalina/authenticator/TestNonLoginAndBasicAuthenticator.java
 (original)
+++ 
tomcat/trunk/test/org/apache/catalina/authenticator/TestNonLoginAndBasicAuthenticator.java
 Wed Mar 20 21:17:48 2013
@@ -197,18 +197,20 @@ public class TestNonLoginAndBasicAuthent
  * This is the same as testAcceptProtectedBasic (above), except
  * using excess white space after the authentication method.
  *
- * The request is rejected with 401 SC_UNAUTHORIZED status.
+ * The access will be challenged with 401 SC_UNAUTHORIZED, and then be
+ * permitted once authenticated.
  *
- * TODO: RFC2617 does not define the separation syntax between the
- *   auth-scheme and basic-credentials tokens. Tomcat should tolerate
- *   any reasonable amount of white space and return SC_OK.
+ * RFC2617 does not define the separation syntax between the auth-scheme 
and
+ * basic-credentials tokens. Tomcat tolerates any amount of white space
+ * (within the limits of HTTP header sizes) and returns SC_OK.
  */
 @Test
 public void testAuthMethodExtraSpace() throws Exception {
 doTestBasic(CONTEXT_PATH_LOGIN + URI_PROTECTED, NO_CREDENTIALS,
 NO_COOKIES, HttpServletResponse.SC_UNAUTHORIZED);
 doTestBasic(CONTEXT_PATH_LOGIN + URI_PROTECTED, SPACED_BASE64,
-NO_COOKIES, HttpServletResponse.SC_UNAUTHORIZED);
+NO_COOKIES, HttpServletResponse.SC_OK);
+
 }
 
 /*



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



svn commit: r1459062 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/authenticator/ test/org/apache/catalina/authenticator/

2013-03-20 Thread markt
Author: markt
Date: Wed Mar 20 21:18:27 2013
New Revision: 1459062

URL: http://svn.apache.org/r1459062
Log:
Switching to the new Decoder has fixed a couple of TODOs. Update the comments 
and tests accordingly.

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

tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java

tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java

tomcat/tc7.0.x/trunk/test/org/apache/catalina/authenticator/TestNonLoginAndBasicAuthenticator.java

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

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java?rev=1459062r1=1459061r2=1459062view=diff
==
--- 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java
 (original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java
 Wed Mar 20 21:18:27 2013
@@ -135,8 +135,6 @@ public class BasicAuthenticator
 ByteChunk authorizationBC = authorization.getByteChunk();
 if (authorizationBC.startsWithIgnoreCase(basic , 0)) {
 authorizationBC.setOffset(authorizationBC.getOffset() + 6);
-// FIXME: Add trimming
-// authorizationBC.trim();
 
 // Use the StringCache as these will be the same between
 // requests

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java?rev=1459062r1=1459061r2=1459062view=diff
==
--- 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java
 (original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java
 Wed Mar 20 21:18:27 2013
@@ -191,8 +191,6 @@ public class SpnegoAuthenticator extends
 }
 
 authorizationBC.setOffset(authorizationBC.getOffset() + 10);
-// FIXME: Add trimming
-// authorizationBC.trim();
 
 // Create the String directly as this will change on each request and 
we
 // don't want to use the StringCache

Modified: 
tomcat/tc7.0.x/trunk/test/org/apache/catalina/authenticator/TestNonLoginAndBasicAuthenticator.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/test/org/apache/catalina/authenticator/TestNonLoginAndBasicAuthenticator.java?rev=1459062r1=1459061r2=1459062view=diff
==
--- 
tomcat/tc7.0.x/trunk/test/org/apache/catalina/authenticator/TestNonLoginAndBasicAuthenticator.java
 (original)
+++ 
tomcat/tc7.0.x/trunk/test/org/apache/catalina/authenticator/TestNonLoginAndBasicAuthenticator.java
 Wed Mar 20 21:18:27 2013
@@ -197,18 +197,20 @@ public class TestNonLoginAndBasicAuthent
  * This is the same as testAcceptProtectedBasic (above), except
  * using excess white space after the authentication method.
  *
- * The request is rejected with 401 SC_UNAUTHORIZED status.
+ * The access will be challenged with 401 SC_UNAUTHORIZED, and then be
+ * permitted once authenticated.
  *
- * TODO: RFC2617 does not define the separation syntax between the
- *   auth-scheme and basic-credentials tokens. Tomcat should tolerate
- *   any reasonable amount of white space and return SC_OK.
+ * RFC2617 does not define the separation syntax between the auth-scheme 
and
+ * basic-credentials tokens. Tomcat tolerates any amount of white space
+ * (within the limits of HTTP header sizes) and returns SC_OK.
  */
 @Test
 public void testAuthMethodExtraSpace() throws Exception {
 doTestBasic(CONTEXT_PATH_LOGIN + URI_PROTECTED, NO_CREDENTIALS,
 NO_COOKIES, HttpServletResponse.SC_UNAUTHORIZED);
 doTestBasic(CONTEXT_PATH_LOGIN + URI_PROTECTED, SPACED_BASE64,
-NO_COOKIES, HttpServletResponse.SC_UNAUTHORIZED);
+NO_COOKIES, HttpServletResponse.SC_OK);
+
 }
 
 /*



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



Re: Time for 7.0.39

2013-03-20 Thread Konstantin Kolinko
2013/3/21 Mark Thomas ma...@apache.org:
 I plan to get the most recent FileUpload changes (if any), run the unit
 tests, run the TCKs and then tag 7.0.39 so that should happen some time
 early tomorrow if all goes well.

1. There are some jdbc-pool bugs that are worth looking at
https://issues.apache.org/bugzilla/show_bug.cgi?id=54599
https://issues.apache.org/bugzilla/show_bug.cgi?id=54732

2. (in Re: r1459031)
I think authorizationBC.toString(); should not be cached.
It means s/toString()/toStringInternal()/

BTW,
the buildbot for TC7 is all red due to TestMapper.testPerformance
consistently running 4sec.
It is unusual (we usually have around 1sec), but it looks like an
issue with buildbot itself.
It started with build #1131 and the only changes vs. #1130 are documentation.
http://ci.apache.org/builders/tomcat-7-trunk/


It is past midnight here. Nothing more from me tonight.

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: r1459043 - /tomcat/trunk/test/org/apache/catalina/core/TesterContext.java

2013-03-20 Thread Nick Williams

On Mar 20, 2013, at 3:53 PM, Mark Thomas wrote:

 On 20/03/2013 20:50, Remy Maucherat wrote:
 On Wed, 2013-03-20 at 20:46 +, ma...@apache.org wrote:
 Author: markt
 Date: Wed Mar 20 20:46:04 2013
 New Revision: 1459043
 
 URL: http://svn.apache.org/r1459043
 Log:
 Add new methods
 
 Modified:
tomcat/trunk/test/org/apache/catalina/core/TesterContext.java
 
 Sorry about that ...
 
 No problem.
 
 I'm not sure this is a very good idea, but OTOH I'm quite sure this is
 meant to be injected, so I added the get/set.
 
 I agree injection is required and I don't see an alternative way to do
 it. Thanks for catching this.
 
 Mark

Also agreed. However, r1459028 introduces some unnecessary casting. This is 
easily solved:

Index: java/org/apache/catalina/connector/Request.java
===
--- java/org/apache/catalina/connector/Request.java (revision 1459047)
+++ java/org/apache/catalina/connector/Request.java (working copy)
@@ -1892,7 +1892,7 @@
 
 T handler;
 try {
-handler = (T) 
context.getInstanceManager().newInstance(httpUpgradeHandlerClass);
+handler = 
context.getInstanceManager().newInstance(httpUpgradeHandlerClass);
 } catch (InstantiationException | IllegalAccessException | 
InvocationTargetException | NamingException e) {
 throw new IOException(e);
 }
Index: java/org/apache/catalina/core/ApplicationContext.java
===
--- java/org/apache/catalina/core/ApplicationContext.java   (revision 
1459047)
+++ java/org/apache/catalina/core/ApplicationContext.java   (working copy)
@@ -1314,8 +1314,7 @@
 public T extends EventListener T createListener(ClassT c)
 throws ServletException {
 try {
-T listener =
-(T) context.getInstanceManager().newInstance(c);
+T listener = context.getInstanceManager().newInstance(c);
 if (listener instanceof ServletContextListener ||
 listener instanceof ServletContextAttributeListener ||
 listener instanceof ServletRequestListener ||
Index: java/org/apache/catalina/core/DefaultInstanceManager.java
===
--- java/org/apache/catalina/core/DefaultInstanceManager.java   (revision 
1459047)
+++ java/org/apache/catalina/core/DefaultInstanceManager.java   (working copy)
@@ -132,7 +132,7 @@
 }
 
 @Override
-public Object newInstance(Class? clazz) throws IllegalAccessException, 
InvocationTargetException, NamingException, InstantiationException {
+public T T newInstance(ClassT clazz) throws IllegalAccessException, 
InvocationTargetException, NamingException, InstantiationException {
 return newInstance(clazz.newInstance(), clazz);
 }
 
@@ -154,7 +154,7 @@
 newInstance(o, o.getClass());
 }
 
-private Object newInstance(Object instance, Class? clazz) throws 
IllegalAccessException, InvocationTargetException, NamingException {
+private T T newInstance(T instance, Class? extends T clazz) throws 
IllegalAccessException, InvocationTargetException, NamingException {
 if (!ignoreAnnotations) {
 MapString, String injections = 
assembleInjectionsFromClassHierarchy(clazz);
 populateAnnotationsCache(clazz, injections);
Index: java/org/apache/tomcat/InstanceManager.java
===
--- java/org/apache/tomcat/InstanceManager.java (revision 1459047)
+++ java/org/apache/tomcat/InstanceManager.java (working copy)
@@ -25,7 +25,7 @@
  */
 public interface InstanceManager {
 
-public Object newInstance(Class? clazz)
+public T T newInstance(ClassT clazz)
 throws IllegalAccessException, InvocationTargetException, 
NamingException,
 InstantiationException;
 


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



svn commit: r1459074 - /tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java

2013-03-20 Thread markt
Author: markt
Date: Wed Mar 20 22:00:43 2013
New Revision: 1459074

URL: http://svn.apache.org/r1459074
Log:
Keep auth headers out of the StringCache

Modified:
tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java

Modified: 
tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java?rev=1459074r1=1459073r2=1459074view=diff
==
--- tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java 
Wed Mar 20 22:00:43 2013
@@ -113,7 +113,7 @@ public class BasicAuthenticator
 
 // Use the StringCache as these will be the same between
 // requests
-String encoded = authorizationBC.toString();
+String encoded = authorizationBC.toStringInternal();
 byte[] decoded = DatatypeConverter.parseBase64Binary(encoded);
 
 // Get username and password



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



svn commit: r1459075 - /tomcat/trunk/test/org/apache/catalina/mapper/TestMapper.java

2013-03-20 Thread markt
Author: markt
Date: Wed Mar 20 22:04:18 2013
New Revision: 1459075

URL: http://svn.apache.org/r1459075
Log:
Buidlbot needs a little longer

Modified:
tomcat/trunk/test/org/apache/catalina/mapper/TestMapper.java

Modified: tomcat/trunk/test/org/apache/catalina/mapper/TestMapper.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/mapper/TestMapper.java?rev=1459075r1=1459074r2=1459075view=diff
==
--- tomcat/trunk/test/org/apache/catalina/mapper/TestMapper.java (original)
+++ tomcat/trunk/test/org/apache/catalina/mapper/TestMapper.java Wed Mar 20 
22:04:18 2013
@@ -198,10 +198,10 @@ public class TestMapper extends LoggingB
 
 @Test
 public void testPerformance() throws Exception {
-// Takes ~1s on markt's laptop. If this takes more than 4s something
+// Takes ~1s on markt's laptop. If this takes more than 5s something
 // probably needs looking at. If this fails repeatedly then we may need
 // to increase this limit.
-final long maxTime = 4000;
+final long maxTime = 5000;
 long time = testPerformanceImpl();
 if (time = maxTime) {
 // Rerun to reject occasional failures, e.g. because of gc



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



Re: Time for 7.0.39

2013-03-20 Thread Mark Thomas
On 20/03/2013 21:31, Konstantin Kolinko wrote:
 2013/3/21 Mark Thomas ma...@apache.org:
 I plan to get the most recent FileUpload changes (if any), run the unit
 tests, run the TCKs and then tag 7.0.39 so that should happen some time
 early tomorrow if all goes well.
 
 1. There are some jdbc-pool bugs that are worth looking at
 https://issues.apache.org/bugzilla/show_bug.cgi?id=54599
 https://issues.apache.org/bugzilla/show_bug.cgi?id=54732

I'm unlikely to get to those before the tag.

 2. (in Re: r1459031)
 I think authorizationBC.toString(); should not be cached.
 It means s/toString()/toStringInternal()/

Fair point. Done.

 BTW,
 the buildbot for TC7 is all red due to TestMapper.testPerformance
 consistently running 4sec.
 It is unusual (we usually have around 1sec), but it looks like an
 issue with buildbot itself.
 It started with build #1131 and the only changes vs. #1130 are documentation.
 http://ci.apache.org/builders/tomcat-7-trunk/

I've given BuildBot another second.Lets see if that helps.

Mark


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



svn commit: r1459076 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/catalina/authenticator/BasicAuthenticator.java

2013-03-20 Thread markt
Author: markt
Date: Wed Mar 20 22:05:46 2013
New Revision: 1459076

URL: http://svn.apache.org/r1459076
Log:
Keep auth headers out of the StringCache

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

tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java

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

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java?rev=1459076r1=1459075r2=1459076view=diff
==
--- 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java
 (original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java
 Wed Mar 20 22:05:46 2013
@@ -138,7 +138,7 @@ public class BasicAuthenticator
 
 // Use the StringCache as these will be the same between
 // requests
-String encoded = authorizationBC.toString();
+String encoded = authorizationBC.toStringInternal();
 byte[] decoded = DatatypeConverter.parseBase64Binary(encoded);
 
 // Get username and password



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



svn commit: r1459077 - in /tomcat/tc7.0.x/trunk: ./ test/org/apache/tomcat/util/http/mapper/TestMapper.java

2013-03-20 Thread markt
Author: markt
Date: Wed Mar 20 22:08:08 2013
New Revision: 1459077

URL: http://svn.apache.org/r1459077
Log:
Buidlbot needs a little longer

Modified:
tomcat/tc7.0.x/trunk/   (props changed)
tomcat/tc7.0.x/trunk/test/org/apache/tomcat/util/http/mapper/TestMapper.java

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

Modified: 
tomcat/tc7.0.x/trunk/test/org/apache/tomcat/util/http/mapper/TestMapper.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/test/org/apache/tomcat/util/http/mapper/TestMapper.java?rev=1459077r1=1459076r2=1459077view=diff
==
--- 
tomcat/tc7.0.x/trunk/test/org/apache/tomcat/util/http/mapper/TestMapper.java 
(original)
+++ 
tomcat/tc7.0.x/trunk/test/org/apache/tomcat/util/http/mapper/TestMapper.java 
Wed Mar 20 22:08:08 2013
@@ -165,10 +165,10 @@ public class TestMapper extends LoggingB
 
 @Test
 public void testPerformance() throws Exception {
-// Takes ~1s on markt's laptop. If this takes more than 4s something
+// Takes ~1s on markt's laptop. If this takes more than 5s something
 // probably needs looking at. If this fails repeatedly then we may need
 // to increase this limit.
-final long maxTime = 4000;
+final long maxTime = 5000;
 long time = testPerformanceImpl();
 if (time = maxTime) {
 // Rerun to reject occasional failures, e.g. because of gc



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



WebServlets and HttpSessions (again) ... How to update last accessed time?

2013-03-20 Thread Nick Williams
Reading through the expert mailing list for the WebSocket spec, I gather that 
the experts did not feel it appropriate to update the last access time for 
HttpSession objects when messages are received. I DO agree with this; there's 
no way to know what the user really wants here, and it could be a security 
vulnerability to arbitrarily update the last accessed time.

However, I CAN imagine many scenarios where a developer DOES want to update the 
HttpSession last access time regularly. Consider a customer support chat 
application, where a user may be chatting with support for many minutes or even 
hours. Or a multiplayer online game, where the user is playing for hours at a 
time. It is very reasonable to expect that the developer may want to update the 
HttpSession's last access time every time a message is received (or at some 
other developer-defined interval) so that the user is not logged out (assuming 
the developer is using HttpSession for login/logout). Since, in my personal 
use, I was already grabbing the HttpSession from the handshake and associating 
it with the Session onOpen, I just decided I'd manually update the 
HttpSession's last access time each time a message came in. Wrong. HttpSession 
doesn't have a way to update the last access time.

My thoughts are that there are two different approaches that could be taken to 
address the inability of the developer to keep the session alive:

1) Update the Servlet spec to add HttpSession#updateLastAccessTime(), which 
would be useful for more than just WebSockets, but it may be (probably is) too 
late to get it in Servlet 3.1 (and thus we'd have to wait another 3 years for 
it).
2) Update the WebSocket spec to add Session#updateHttpSessionLastAccessTime(), 
but then that would be useful only for WebSockets (at that point, you might as 
well also add a Session#getHttpSession() method, which does not exist either 
and so makes getting the HttpSession tricky).

Before I file an improvement JIRA against either of these projects, I wanted to 
get some feedback from the developers here (Mark) on what they thought the 
best/right approach was based on their experience and previous discussions on 
the expert list. Of course, if I'm overlooking some other way to update the 
last access time or otherwise keep the session from expiring, please let me 
know.

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



Re: Time for 7.0.39

2013-03-20 Thread Mark Thomas
On 20/03/2013 20:58, Nick Williams wrote:
 
 On Mar 20, 2013, at 3:55 PM, Mark Thomas wrote:
 
 I plan to get the most recent FileUpload changes (if any), run the unit
 tests, run the TCKs and then tag 7.0.39 so that should happen some time
 early tomorrow if all goes well.

 Mark
 
 In 54734 I propose a patch that needs to also be back-ported to 7.0 (problem 
 with Servlet 3.0 javax.servlet class). It's pretty minor. Don't know whether 
 you would want to get it in or not, but it's worth taking a look at.

Looks reasonable. I'll add that.

Mark


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



svn commit: r1459085 - /tomcat/trunk/java/javax/servlet/http/HttpServlet.java

2013-03-20 Thread markt
Author: markt
Date: Wed Mar 20 22:35:31 2013
New Revision: 1459085

URL: http://svn.apache.org/r1459085
Log:
Ensure HEAD requests return the correct content length when the requested 
resource uses a Writer.
Patch by Nick Williams.

Modified:
tomcat/trunk/java/javax/servlet/http/HttpServlet.java

Modified: tomcat/trunk/java/javax/servlet/http/HttpServlet.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/javax/servlet/http/HttpServlet.java?rev=1459085r1=1459084r2=1459085view=diff
==
--- tomcat/trunk/java/javax/servlet/http/HttpServlet.java (original)
+++ tomcat/trunk/java/javax/servlet/http/HttpServlet.java Wed Mar 20 22:35:31 
2013
@@ -750,8 +750,12 @@ class NoBodyResponse extends HttpServlet
 
 // file private
 void setContentLength() {
-if (!didSetContentLength)
-  super.setContentLength(noBody.getContentLength());
+if (!didSetContentLength) {
+if (writer != null) {
+writer.flush();
+}
+super.setContentLength(noBody.getContentLength());
+}
 }
 
 



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



svn commit: r1459087 - in /tomcat/tc7.0.x/trunk: ./ java/javax/servlet/http/HttpServlet.java webapps/docs/changelog.xml

2013-03-20 Thread markt
Author: markt
Date: Wed Mar 20 22:37:38 2013
New Revision: 1459087

URL: http://svn.apache.org/r1459087
Log:
Ensure HEAD requests return the correct content length when the requested 
resource uses a Writer.
Patch by Nick Williams.

Modified:
tomcat/tc7.0.x/trunk/   (props changed)
tomcat/tc7.0.x/trunk/java/javax/servlet/http/HttpServlet.java
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

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

Modified: tomcat/tc7.0.x/trunk/java/javax/servlet/http/HttpServlet.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/javax/servlet/http/HttpServlet.java?rev=1459087r1=1459086r2=1459087view=diff
==
--- tomcat/tc7.0.x/trunk/java/javax/servlet/http/HttpServlet.java (original)
+++ tomcat/tc7.0.x/trunk/java/javax/servlet/http/HttpServlet.java Wed Mar 20 
22:37:38 2013
@@ -750,8 +750,12 @@ class NoBodyResponse extends HttpServlet
 
 // file private
 void setContentLength() {
-if (!didSetContentLength)
-  super.setContentLength(noBody.getContentLength());
+if (!didSetContentLength) {
+if (writer != null) {
+writer.flush();
+}
+super.setContentLength(noBody.getContentLength());
+}
 }
 
 

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=1459087r1=1459086r2=1459087view=diff
==
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Wed Mar 20 22:37:38 2013
@@ -143,6 +143,10 @@
 which meant that installation of Windows service could fail
 producing incorrect service launch command. (mturk)
   /fix
+  fix
+Ensure HEAD requests return the correct content length when the
+requested resource uses a Writer. Patch by Nick Williams. (markt)
+  /fix
 /changelog
   /subsection
 /section



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



[Bug 54734] Tomcat Servlet 3.1 API needs to be synchronized with Proposed Final Draft

2013-03-20 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54734

--- Comment #4 from Mark Thomas ma...@apache.org ---
(In reply to comment #2)
 I recommend that the patch to fix NoBodyResponse#setContentLength() get
 back-ported to Tomcat 7.0, since it should have behaved this way in Servlet
 3.0.

Applied to trunk and 7.0.x and will be included in 7.0.39 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



[Tomcat Wiki] Trivial Update of PercyCurl by PercyCurl

2013-03-20 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on Tomcat Wiki for change 
notification.

The PercyCurl page has been changed by PercyCurl:
http://wiki.apache.org/tomcat/PercyCurl

New page:
brenterprise restaurant revenue software application, business enterprise 
restaurant sales program, increase restaurant income software, total restaurant 
profits application process, business restaurant product sales software package 
price, best and cheap restaurant gross sales software, affordable price 
restaurant revenue program, greatest restaurant product sales application with 
regard to restaurant, great restaurant product sales software package regarding 
small business, electric restaurant income software, most up-to-date restaurant 
gross sales software, restaurant income program achievable restauranLooking to 
get a restaurant furnishings are no little amount, along with creating new 
customers.BR
But wholesale very hot cooking pot desk selling invest in, a business person 
can conserve a fine money. The most important a business person seeking a 
restaurant household furniture available for purchase look for a efficient and 
also affordable Private home furniture vendor.BR
[[http://www.nsfsales.com/blog/wholesale-restaurant-supplies/|restaurant 
wholesale supplies]] Just how can a true Arabic supper ever be full without a 
treat! Consequently where ever you look from your various : bhapa sandesh, 
rasogolla, mishti doi, payesh in addition to malpua.BR
BR
Attentive support in addition to beneficial (reliable) Hindi meals makes 
certain Oh! Calcutta stands upright amongst alternative eating places in the 
urban center. Of course, for you to Bengalis, meals are akin to religious 
beliefsbrbr 
http://www.nsfsales.com/blog/flatware-baskets-french-fry-cutter/BR
BR
Restaurant equipment differ from standard your kitchen equipments plus it wants 
unique issue to offer shoppers improved. There is various collection of 
restaurant tools that you may possibly not find out plus it must employ a 
number of meals skilled to get managing restaurant small business 
properly.BR
It has to decide suitable specific restaurant devices in which finest ideal to 
help restaurant requirements so enabling to carry out virtually all client 
order. It is better for you to got over the proper on-line places that may make 
an individual along with appropriate details that you're searching for. In 
addition there are the particular restaurant products supplies companies which 
provide all sorts of necessary restaurant tools in addition to kitchen 
appliance. Using restaurant equipment supplier, you can aquire most range of 
tools. Most of these distributors assist in places to eat by offering complete 
range of tools to develop layout along with provide prospects together with 
great company expertise.  [[http://www.tallitalian.com/7-food-drinks|bruschetta 
toppings]]BR
BR
Appear any kind of cricket suit and cricket lovers acquire just simply riveted 
to the Television. This is the time, straight away of your complement to the 
end, of which pizza places to eat witness an enormous development of profit. 
People today subsequently prefer household supply regarding meals. A little 
call or perhaps a handful of clicks the corporate site on the garlic bread 
organization and also the meals grows to you in Half an hour! The house 
shipping with meal services are also the premium assistance for people who are 
internet hosting the get-together or get together or maybe any circumstance. 
The situation which will also come up with regard to house supply associated 
with meals is whenever you feel hungry try not to have time to go to this 
restaurant given that you are saddled with function and also that you do not 
seem like food preparation. BR
BR
learn further concerning  ::BR
http://athertongrace.com/article.php?id=4989BR
http://veggieveins.com/groups/stuffed-pasta-at-olive-garden/BR
BR
My weblog 
[[http://ningen.sakura.ne.jp/wp04/groups/stuffed-pasta-shells-recipe/|restaurant
 food supplies wholesale]]

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



Re: svn commit: r1459043 - /tomcat/trunk/test/org/apache/catalina/core/TesterContext.java

2013-03-20 Thread Mark Thomas
On 20/03/2013 21:35, Nick Williams wrote:
 
 On Mar 20, 2013, at 3:53 PM, Mark Thomas wrote:
 
 On 20/03/2013 20:50, Remy Maucherat wrote:
 On Wed, 2013-03-20 at 20:46 +, ma...@apache.org wrote:
 Author: markt
 Date: Wed Mar 20 20:46:04 2013
 New Revision: 1459043

 URL: http://svn.apache.org/r1459043
 Log:
 Add new methods

 Modified:
tomcat/trunk/test/org/apache/catalina/core/TesterContext.java

 Sorry about that ...

 No problem.

 I'm not sure this is a very good idea, but OTOH I'm quite sure this is
 meant to be injected, so I added the get/set.

 I agree injection is required and I don't see an alternative way to do
 it. Thanks for catching this.

 Mark
 
 Also agreed. However, r1459028 introduces some unnecessary casting. This is 
 easily solved:

Indeed, but Eclipse flags a couple of errors when you do this. The
errors are incorrect but rather a nuisance.

Something to look at after the next update.

Mark


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



Re: svn commit: r1459043 - /tomcat/trunk/test/org/apache/catalina/core/TesterContext.java

2013-03-20 Thread Nick Williams

On Mar 20, 2013, at 5:48 PM, Mark Thomas wrote:

 On 20/03/2013 21:35, Nick Williams wrote:
 
 On Mar 20, 2013, at 3:53 PM, Mark Thomas wrote:
 
 On 20/03/2013 20:50, Remy Maucherat wrote:
 On Wed, 2013-03-20 at 20:46 +, ma...@apache.org wrote:
 Author: markt
 Date: Wed Mar 20 20:46:04 2013
 New Revision: 1459043
 
 URL: http://svn.apache.org/r1459043
 Log:
 Add new methods
 
 Modified:
   tomcat/trunk/test/org/apache/catalina/core/TesterContext.java
 
 Sorry about that ...
 
 No problem.
 
 I'm not sure this is a very good idea, but OTOH I'm quite sure this is
 meant to be injected, so I added the get/set.
 
 I agree injection is required and I don't see an alternative way to do
 it. Thanks for catching this.
 
 Mark
 
 Also agreed. However, r1459028 introduces some unnecessary casting. This is 
 easily solved:
 
 Indeed, but Eclipse flags a couple of errors when you do this. The
 errors are incorrect but rather a nuisance.
 
 Something to look at after the next update.
 
 Mark

That's odd. Those are standard Java 6 language features. Why on earth would 
Eclipse flag them as errors??? *scratches head*

What version of Eclipse are you using?
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Tomcat Wiki] Update of LocalBadContent by ChuckCaldarale

2013-03-20 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on Tomcat Wiki for change 
notification.

The LocalBadContent page has been changed by ChuckCaldarale:
http://wiki.apache.org/tomcat/LocalBadContent?action=diffrev1=95rev2=96

  angosso\.net
  aprendedanzaoriental\.info
  ask\.com
+ athertongrace\.com
  awesomeindiefilms\.doobious\.org
  backlinklist\.org
  bettingpro\.com
@@ -125, +126 @@

  myteethadvisor\.com
  najem-avtodoma\.info
  nekoo\.cn
+ ningen\.sakura\.ne\.jp
  nofaxpayday
  nordenpark\.com
  novolinespielen\.org
+ nsfsales\.com
  o-f\.com
  oa8000\.com\.cn
  oesterreich-online\.info
@@ -162, +165 @@

  social\.yahoo\.com\.np
  sprachstudium\.beeplog\.de
  stickersmurauxgrossiste\.com
+ tallitalian\.com
  technische-uebersetzung\.blogage\.de
  theofficeconnection\.com\.au
  thewashingtonadvocates\.com
@@ -179, +183 @@

  uebersetzung1\.wordpress\.com
  uebersetzungsforum\.forumieren\.eu
  ulcertreatment\.org
+ veggieveins\.com
  vergleich-riester-rente\.net
  wearepsychics\.com
  webcamss\.com

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



Re: svn commit: r1459043 - /tomcat/trunk/test/org/apache/catalina/core/TesterContext.java

2013-03-20 Thread Mark Thomas
On 20/03/2013 22:50, Nick Williams wrote:
 
 On Mar 20, 2013, at 5:48 PM, Mark Thomas wrote:
 
 On 20/03/2013 21:35, Nick Williams wrote:

snip/

 Also agreed. However, r1459028 introduces some unnecessary casting. This is 
 easily solved:

 Indeed, but Eclipse flags a couple of errors when you do this. The
 errors are incorrect but rather a nuisance.

 Something to look at after the next update.

 Mark
 
 That's odd. Those are standard Java 6 language features. Why on earth would 
 Eclipse flag them as errors??? *scratches head*
 
 What version of Eclipse are you using?

Latest stable fully patched. Eclipse appears to have a problem matching
the method call to the correct method.

Having had a little experience with method mapping with the last EL
implementation I appreciate just how tricky the edge cases can be and
generics just makes it an order of magnitude harder.

Mark


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



[Bug 54665] Provide JNDI support for java.net.URL resources

2013-03-20 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54665

--- Comment #3 from Christopher Schultz ch...@christopherschultz.net ---
I'm not sure why String - URL wouldn't be cross-platform.

WRT licenses, LGPL is incompatible with AL2, so you'd have to get the author to
grant the code to the ASF under a different license.

-- 
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 54690] HTTPS BIO/NIO connector does not enable TLS 1.1 and TLS 1.2 by default

2013-03-20 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54690

--- Comment #8 from Tim Whittington t...@apache.org ---
For posterity, the actual situation with JSSE is a bit more complicated than
client vs server.
(The fix and workaround for this issue are correct - this is just to clarify
the landscape in case it's ever come across again).

Testing on Java 7 on OS X/Linux/HP-UX:

There are 3 distinct sets of cipher suites obtainable from the 23! unique
locations in the JSSE API that produce a list of cipher suites.
There are 4 distinct sets of protocol variants obtainable from the 15! unique
locations in the JSSE API that produce a list of protocols.

I've attached a full report, but in summary:

The cipher suites obtained are grouped into 3 distinct sets of ciphers:
1. Default ciphers for client objects (SSLContext and
SSLSocketFactory/SSLSocket) for default and = TLSv1.1 engines
2. Supported ciphers for all engines (i.e. they're all the same)
3. Enabled ciphers from server objects (SSLEngine, SSLServerSocketFactory and
SSLServerSocket) for all engines, and client object defaults for TLSv1.2 engine

The protocol variants are grouped into the following 4 sets:
1. Default for SSLContext and supported/default for SSLSocket in TLSv1.2 engine
2. Default for SSLContext and supported/default for SSLSocket in TLSv1.1 engine
3. Default for SSLContext and supported/default for all engines default and =
TLSv1 engines
4. Supported for SSLContext, supported/defaults for SSLEngine/SSLServerSocket
in all engines


For Java 6 on OS X/Linux/HP-UX, the results are a bit simpler: 
- Cipher suites are split into 2 groups: supported cipher suites, and
default/enabled cipher suites (on all client + server objects).
- For protocol variants, supported == enabled == default in all locations.


For Java 7 on AIX:
- Cipher suites are in 2 groups (supported and default/enabled), with client +
server defaults the same.
- Protocol variants are in 6 groups:
1. Defaults for client objects in Default engine (SSLv3, TLSv1)
2. Supported/default for client objects for TLSv1.2 engine (TLSv1.2 only)
3. Supported/default for client objects for TLSv1.1 engine (TLSv1.1 only)
4. Supported/default for client objects for TLS and TLSv1 engines (TLSv1 only)
5. Supported/default for client objects for SSL and SSLv3 engines (SSLV3 only)
6. Supported protocols for SSLContext, SSLEngine and SSLServerSocket on all
engines, and defaults for SSLServerSocket on default engine (SSLv3+)

(As an aside, all of this points out that in Java 7 switching the engine using
the HTTPS connector protocol attribute will not only change defaults, but
change the supported protocol variants that can be enabled).

Cutting across all this:
- Supported for SSLContext appears to be stable across the versions/platforms
- the only way to reliably detect the 'server' defaults in a JVM appear to be
via an SSLEngine or a SSLServerSocket constructed from an SSLContext.
Thankfully the defaults appear to be independant of the engine (the protocol
argument to SSLContext.getInstance()).

-- 
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 54690] HTTPS BIO/NIO connector does not enable TLS 1.1 and TLS 1.2 by default

2013-03-20 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54690

--- Comment #9 from Tim Whittington t...@apache.org ---
Created attachment 30088
  -- https://issues.apache.org/bugzilla/attachment.cgi?id=30088action=edit
JSSE options on Oracle Java 7

-- 
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 54690] HTTPS BIO/NIO connector does not enable TLS 1.1 and TLS 1.2 by default

2013-03-20 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54690

--- Comment #10 from Tim Whittington t...@apache.org ---
Created attachment 30089
  -- https://issues.apache.org/bugzilla/attachment.cgi?id=30089action=edit
JSSE options on Oracle Java 6

-- 
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 54690] HTTPS BIO/NIO connector does not enable TLS 1.1 and TLS 1.2 by default

2013-03-20 Thread bugzilla
https://issues.apache.org/bugzilla/show_bug.cgi?id=54690

--- Comment #11 from Tim Whittington t...@apache.org ---
Created attachment 30090
  -- https://issues.apache.org/bugzilla/attachment.cgi?id=30090action=edit
JSSE options on AIX Java 7

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



[Tomcat Wiki] Trivial Update of LAJLyndon by LAJLyndon

2013-03-20 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on Tomcat Wiki for change 
notification.

The LAJLyndon page has been changed by LAJLyndon:
http://wiki.apache.org/tomcat/LAJLyndon

New page:
Nothing to write about myself really.BR
Finally a part of this community.BR
I really wish I'm useful in one way .BR
BR
Feel free to surf to my blog post - [[http://buddy-mash.de/|simply click the 
following site]]

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