<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-341</id>
	<title>Nabble - Tomcat - Dev</title>
	<updated>2009-11-09T20:54:34Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/Tomcat---Dev-f341.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Tomcat---Dev-f341.html" />
	<subtitle type="html">&lt;a href=&quot;http://tomcat.apache.org&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Tomcat Home Page&lt;/a&gt;</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26278301</id>
	<title>svn commit: r834340 - /tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java</title>
	<published>2009-11-09T20:54:34Z</published>
	<updated>2009-11-09T20:54:34Z</updated>
	<author>
		<name>Costin Manolache-3</name>
	</author>
	<content type="html">Author: costin
&lt;br&gt;Date: Tue Nov 10 04:54:34 2009
&lt;br&gt;New Revision: 834340
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=834340&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=834340&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;Invalidate the session - so it can't be resumed. 
&lt;br&gt;Not sure what else we can do using this hook - we could switch to SSLEngine, but that's pretty large change. 
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java?rev=834340&amp;r1=834339&amp;r2=834340&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java?rev=834340&amp;r1=834339&amp;r2=834340&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java Tue Nov 10 04:54:34 2009
&lt;br&gt;@@ -178,6 +178,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (completed) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.warn(&amp;quot;SSL renegotiation is disabled, closing connection&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;event.getSession().invalidate();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;event.getSocket().close();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (IOException e) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// ignore
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26278301&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26278301&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r834340----tomcat-trunk-java-org-apache-tomcat-util-net-jsse-JSSESocketFactory.java-tp26278301p26278301.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26278181</id>
	<title>Re: svn commit: r834289 - /tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java</title>
	<published>2009-11-09T20:36:51Z</published>
	<updated>2009-11-09T20:36:51Z</updated>
	<author>
		<name>Costin Manolache-2</name>
	</author>
	<content type="html">Right, need to invalidate as well.
&lt;br&gt;&lt;br&gt;The request will not be executed - how can he continue the attack ?
&lt;br&gt;&lt;br&gt;On Mon, Nov 9, 2009 at 7:49 PM, Bill Barker &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26278181&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;billwbarker@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26278181&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;costin@...&lt;/a&gt;&amp;gt; wrote in message
&lt;br&gt;&amp;gt; news:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26278181&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;20091110010244.4F838238888F@...&lt;/a&gt;...
&lt;br&gt;&amp;gt; &amp;gt; Author: costin
&lt;br&gt;&amp;gt; &amp;gt; Date: Tue Nov 10 01:02:43 2009
&lt;br&gt;&amp;gt; &amp;gt; New Revision: 834289
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=834289&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=834289&amp;view=rev&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt; Log:
&lt;br&gt;&amp;gt; &amp;gt; Fix for the SSL midm - disable client re-negotiation, connection will be
&lt;br&gt;&amp;gt; &amp;gt; closed.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Modified:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Modified:
&lt;br&gt;&amp;gt; &amp;gt; tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java
&lt;br&gt;&amp;gt; &amp;gt; URL:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java?rev=834289&amp;r1=834288&amp;r2=834289&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java?rev=834289&amp;r1=834288&amp;r2=834289&amp;view=diff&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt; &amp;gt; ---
&lt;br&gt;&amp;gt; &amp;gt; tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java
&lt;br&gt;&amp;gt; &amp;gt; (original)
&lt;br&gt;&amp;gt; &amp;gt; +++
&lt;br&gt;&amp;gt; &amp;gt; tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java
&lt;br&gt;&amp;gt; &amp;gt; Tue Nov 10 01:02:43 2009
&lt;br&gt;&amp;gt; &amp;gt; @@ -42,6 +42,8 @@
&lt;br&gt;&amp;gt; &amp;gt; import java.util.Vector;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; import javax.net.ssl.CertPathTrustManagerParameters;
&lt;br&gt;&amp;gt; &amp;gt; +import javax.net.ssl.HandshakeCompletedEvent;
&lt;br&gt;&amp;gt; &amp;gt; +import javax.net.ssl.HandshakeCompletedListener;
&lt;br&gt;&amp;gt; &amp;gt; import javax.net.ssl.KeyManager;
&lt;br&gt;&amp;gt; &amp;gt; import javax.net.ssl.KeyManagerFactory;
&lt;br&gt;&amp;gt; &amp;gt; import javax.net.ssl.ManagerFactoryParameters;
&lt;br&gt;&amp;gt; &amp;gt; @@ -93,6 +95,9 @@
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; private static final int defaultSessionCacheSize = 0;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; private static final int defaultSessionTimeout = 86400;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; + &amp;nbsp; &amp;nbsp;private static final boolean midmMode =
&lt;br&gt;&amp;gt; &amp;gt; +
&lt;br&gt;&amp;gt; &amp;gt; &amp;quot;true&amp;quot;.equals(System.getProperty(&amp;quot;enable_ssl_mitm_vulnerability&amp;quot;));
&lt;br&gt;&amp;gt; &amp;gt; +
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; static org.apache.juli.logging.Log log =
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; org.apache.juli.logging.LogFactory.getLog(JSSESocketFactory.class);
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; @@ -154,12 +159,34 @@
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SSLSocket asock = null;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;asock = (SSLSocket)socket.accept();
&lt;br&gt;&amp;gt; &amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (!midmMode) {
&lt;br&gt;&amp;gt; &amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; asock.addHandshakeCompletedListener(
&lt;br&gt;&amp;gt; &amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; new DisableSslRenegotiation());
&lt;br&gt;&amp;gt; &amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;configureClientAuth(asock);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (SSLException e){
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new SocketException(&amp;quot;SSL handshake error&amp;quot; +
&lt;br&gt;&amp;gt; e.toString());
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return asock;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;gt; +
&lt;br&gt;&amp;gt; &amp;gt; + &amp;nbsp; &amp;nbsp;private static class DisableSslRenegotiation
&lt;br&gt;&amp;gt; &amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;implements HandshakeCompletedListener {
&lt;br&gt;&amp;gt; &amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private volatile boolean completed = false;
&lt;br&gt;&amp;gt; &amp;gt; +
&lt;br&gt;&amp;gt; &amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void handshakeCompleted(HandshakeCompletedEvent event) {
&lt;br&gt;&amp;gt; &amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (completed) {
&lt;br&gt;&amp;gt; &amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;&amp;gt; &amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.warn(&amp;quot;SSL renegotiation is disabled, closing
&lt;br&gt;&amp;gt; &amp;gt; connection&amp;quot;);
&lt;br&gt;&amp;gt; &amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;event.getSocket().close();
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This is just a nuisance. &amp;nbsp;The black-hat can simply reconnect and request to
&lt;br&gt;&amp;gt; resume the session. &amp;nbsp;At the very least, the session would need to be
&lt;br&gt;&amp;gt; invalidated as well. &amp;nbsp;But from what I've read, even this isn't a very
&lt;br&gt;&amp;gt; effective mitigation tactic. &amp;nbsp;Since we are notified after the handshake is
&lt;br&gt;&amp;gt; done, the black-hat already has all the information she needs to continue
&lt;br&gt;&amp;gt; the attack.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (IOException e) {
&lt;br&gt;&amp;gt; &amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// ignore
&lt;br&gt;&amp;gt; &amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;completed = true;
&lt;br&gt;&amp;gt; &amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;gt; +
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; @Override
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; public void handshake(Socket sock) throws IOException {
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26278181&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26278181&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r834289----tomcat-trunk-java-org-apache-tomcat-util-net-jsse-JSSESocketFactory.java-tp26276580p26278181.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26277888</id>
	<title>Re: svn commit: r834289 - /tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java</title>
	<published>2009-11-09T19:49:34Z</published>
	<updated>2009-11-09T19:49:34Z</updated>
	<author>
		<name>Bill Barker</name>
	</author>
	<content type="html">&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26277888&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;costin@...&lt;/a&gt;&amp;gt; wrote in message 
&lt;br&gt;news:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26277888&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;20091110010244.4F838238888F@...&lt;/a&gt;...
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Author: costin
&lt;br&gt;&amp;gt; Date: Tue Nov 10 01:02:43 2009
&lt;br&gt;&amp;gt; New Revision: 834289
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=834289&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=834289&amp;view=rev&lt;/a&gt;&lt;br&gt;&amp;gt; Log:
&lt;br&gt;&amp;gt; Fix for the SSL midm - disable client re-negotiation, connection will be 
&lt;br&gt;&amp;gt; closed.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Modified:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Modified: 
&lt;br&gt;&amp;gt; tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java
&lt;br&gt;&amp;gt; URL: 
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java?rev=834289&amp;r1=834288&amp;r2=834289&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java?rev=834289&amp;r1=834288&amp;r2=834289&amp;view=diff&lt;/a&gt;&lt;br&gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt; --- &amp;nbsp;
&lt;br&gt;&amp;gt; tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java 
&lt;br&gt;&amp;gt; (original)
&lt;br&gt;&amp;gt; +++ 
&lt;br&gt;&amp;gt; tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java 
&lt;br&gt;&amp;gt; Tue Nov 10 01:02:43 2009
&lt;br&gt;&amp;gt; @@ -42,6 +42,8 @@
&lt;br&gt;&amp;gt; import java.util.Vector;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; import javax.net.ssl.CertPathTrustManagerParameters;
&lt;br&gt;&amp;gt; +import javax.net.ssl.HandshakeCompletedEvent;
&lt;br&gt;&amp;gt; +import javax.net.ssl.HandshakeCompletedListener;
&lt;br&gt;&amp;gt; import javax.net.ssl.KeyManager;
&lt;br&gt;&amp;gt; import javax.net.ssl.KeyManagerFactory;
&lt;br&gt;&amp;gt; import javax.net.ssl.ManagerFactoryParameters;
&lt;br&gt;&amp;gt; @@ -93,6 +95,9 @@
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; private static final int defaultSessionCacheSize = 0;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; private static final int defaultSessionTimeout = 86400;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;private static final boolean midmMode =
&lt;br&gt;&amp;gt; + 
&lt;br&gt;&amp;gt; &amp;quot;true&amp;quot;.equals(System.getProperty(&amp;quot;enable_ssl_mitm_vulnerability&amp;quot;));
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; static org.apache.juli.logging.Log log =
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; org.apache.juli.logging.LogFactory.getLog(JSSESocketFactory.class);
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; @@ -154,12 +159,34 @@
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SSLSocket asock = null;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;asock = (SSLSocket)socket.accept();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (!midmMode) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; asock.addHandshakeCompletedListener(
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; new DisableSslRenegotiation());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;configureClientAuth(asock);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (SSLException e){
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throw new SocketException(&amp;quot;SSL handshake error&amp;quot; + e.toString());
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return asock;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;private static class DisableSslRenegotiation
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;implements HandshakeCompletedListener {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private volatile boolean completed = false;
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void handshakeCompleted(HandshakeCompletedEvent event) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (completed) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.warn(&amp;quot;SSL renegotiation is disabled, closing 
&lt;br&gt;&amp;gt; connection&amp;quot;);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;event.getSocket().close();
&lt;/div&gt;&lt;br&gt;This is just a nuisance. &amp;nbsp;The black-hat can simply reconnect and request to 
&lt;br&gt;resume the session. &amp;nbsp;At the very least, the session would need to be 
&lt;br&gt;invalidated as well. &amp;nbsp;But from what I've read, even this isn't a very 
&lt;br&gt;effective mitigation tactic. &amp;nbsp;Since we are notified after the handshake is 
&lt;br&gt;done, the black-hat already has all the information she needs to continue 
&lt;br&gt;the attack.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (IOException e) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// ignore
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;completed = true;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; @Override
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; public void handshake(Socket sock) throws IOException { 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26277888&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26277888&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r834289----tomcat-trunk-java-org-apache-tomcat-util-net-jsse-JSSESocketFactory.java-tp26276580p26277888.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26276596</id>
	<title>svn commit: r834290 - in /tomcat/trunk/test/org/apache/catalina/startup: TestTomcatSSL.java test.keystore</title>
	<published>2009-11-09T17:04:14Z</published>
	<updated>2009-11-09T17:04:14Z</updated>
	<author>
		<name>Costin Manolache-3</name>
	</author>
	<content type="html">Author: costin
&lt;br&gt;Date: Tue Nov 10 01:04:13 2009
&lt;br&gt;New Revision: 834290
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=834290&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=834290&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;Test case for the MITM/ssl re-negotiation, also a unit test for a simple ssl request 
&lt;br&gt;( to check the fix didn't broke anything and ssl still works )
&lt;br&gt;&lt;br&gt;&lt;br&gt;Added:
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/test/org/apache/catalina/startup/TestTomcatSSL.java &amp;nbsp; (with props)
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/test/org/apache/catalina/startup/test.keystore &amp;nbsp; (with props)
&lt;br&gt;&lt;br&gt;Added: tomcat/trunk/test/org/apache/catalina/startup/TestTomcatSSL.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/startup/TestTomcatSSL.java?rev=834290&amp;view=auto&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/startup/TestTomcatSSL.java?rev=834290&amp;view=auto&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/test/org/apache/catalina/startup/TestTomcatSSL.java (added)
&lt;br&gt;+++ tomcat/trunk/test/org/apache/catalina/startup/TestTomcatSSL.java Tue Nov 10 01:04:13 2009
&lt;br&gt;@@ -0,0 +1,153 @@
&lt;br&gt;+/*
&lt;br&gt;+ * Licensed to the Apache Software Foundation (ASF) under one or more
&lt;br&gt;+ * contributor license agreements. &amp;nbsp;See the NOTICE file distributed with
&lt;br&gt;+ * this work for additional information regarding copyright ownership.
&lt;br&gt;+ * The ASF licenses this file to You under the Apache License, Version 2.0
&lt;br&gt;+ * (the &amp;quot;License&amp;quot;); you may not use this file except in compliance with
&lt;br&gt;+ * the License. &amp;nbsp;You may obtain a copy of the License at
&lt;br&gt;+ * 
&lt;br&gt;+ * &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://www.apache.org/licenses/LICENSE-2.0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.apache.org/licenses/LICENSE-2.0&lt;/a&gt;&lt;br&gt;+ * 
&lt;br&gt;+ * Unless required by applicable law or agreed to in writing, software
&lt;br&gt;+ * distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,
&lt;br&gt;+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
&lt;br&gt;+ * See the License for the specific language governing permissions and
&lt;br&gt;+ * limitations under the License.
&lt;br&gt;+ */
&lt;br&gt;+package org.apache.catalina.startup;
&lt;br&gt;+
&lt;br&gt;+import java.io.File;
&lt;br&gt;+import java.io.IOException;
&lt;br&gt;+import java.io.InputStream;
&lt;br&gt;+import java.io.OutputStream;
&lt;br&gt;+
&lt;br&gt;+import javax.net.ssl.HandshakeCompletedEvent;
&lt;br&gt;+import javax.net.ssl.HandshakeCompletedListener;
&lt;br&gt;+import javax.net.ssl.SSLContext;
&lt;br&gt;+import javax.net.ssl.SSLSession;
&lt;br&gt;+import javax.net.ssl.SSLSocket;
&lt;br&gt;+import javax.net.ssl.SSLSocketFactory;
&lt;br&gt;+import javax.net.ssl.TrustManager;
&lt;br&gt;+import javax.net.ssl.X509TrustManager;
&lt;br&gt;+
&lt;br&gt;+import org.apache.tomcat.util.buf.ByteChunk;
&lt;br&gt;+
&lt;br&gt;+/**
&lt;br&gt;+ * Requires test.keystore (checked in), generated with:
&lt;br&gt;+ * &amp;nbsp;keytool -genkey -alias tomcat -keyalg RSA
&lt;br&gt;+ * &amp;nbsp;pass: changeit 
&lt;br&gt;+ * &amp;nbsp;CN: localhost ( for hostname validation )
&lt;br&gt;+ */
&lt;br&gt;+public class TestTomcatSSL extends TomcatBaseTest {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;static TrustManager[] trustAllCerts = new TrustManager[] { 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new X509TrustManager() { 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public java.security.cert.X509Certificate[] getAcceptedIssuers() { 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String authType) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;};
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private void initSsl(Tomcat tomcat) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tomcat.getConnector().setSecure(true);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tomcat.getConnector().setProperty(&amp;quot;SSLEnabled&amp;quot;, &amp;quot;true&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tomcat.getConnector().setProperty(&amp;quot;sslProtocol&amp;quot;,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;tls&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// test runs in output/tmp
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tomcat.getConnector().setAttribute(&amp;quot;keystore&amp;quot;, 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;../../test/org/apache/catalina/startup/test.keystore&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void testSimpleSsl() throws Exception {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// &amp;nbsp;Install the all-trusting trust manager so https:// works 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// with unsigned certs. 
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// TODO: cleanup ? 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SSLContext sc = SSLContext.getInstance(&amp;quot;SSL&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sc.init(null, trustAllCerts, new java.security.SecureRandom());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sc.getSocketFactory());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (Exception e) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;e.printStackTrace();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Tomcat tomcat = getTomcatInstance();
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;File appDir = 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new File(&amp;quot;output/build/webapps/examples&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tomcat.addWebapp(null, &amp;quot;/examples&amp;quot;, appDir.getAbsolutePath());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;initSsl(tomcat);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tomcat.start();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ByteChunk res = getUrl(&amp;quot;&lt;a href=&quot;https://localhost:&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://localhost:&lt;/a&gt;&amp;quot; + getPort() +
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;/examples/servlets/servlet/HelloWorldExample&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;assertTrue(res.toString().indexOf(&amp;quot;&amp;lt;h1&amp;gt;Hello World!&amp;lt;/h1&amp;gt;&amp;quot;) &amp;gt; 0);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;boolean handshakeDone = false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public void testReHandshake() throws Exception {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Tomcat tomcat = getTomcatInstance();
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;File appDir = 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new File(&amp;quot;output/build/webapps/examples&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// app dir is relative to server home
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tomcat.addWebapp(null, &amp;quot;/examples&amp;quot;, appDir.getAbsolutePath());
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;initSsl(tomcat);
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tomcat.start();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SSLContext sslCtx = SSLContext.getInstance(&amp;quot;TLS&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sslCtx.init(null, trustAllCerts, new java.security.SecureRandom());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SSLSocketFactory socketFactory = sslCtx.getSocketFactory();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SSLSocket socket = (SSLSocket) socketFactory.createSocket(&amp;quot;localhost&amp;quot;, getPort());
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;socket.addHandshakeCompletedListener(new HandshakeCompletedListener() {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@Override
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void handshakeCompleted(HandshakeCompletedEvent event) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;handshakeDone = true;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;});
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;OutputStream os = socket.getOutputStream();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;os.write(&amp;quot;GET /examples/servlets/servlet/HelloWorldExample HTTP/1.0\n&amp;quot;.getBytes());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;os.flush();
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;InputStream is = socket.getInputStream();
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Doesn't seem to work..
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;socket.getSession().invalidate();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;socket.startHandshake();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;handshakeDone = false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;byte[] b = new byte[0];
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int maxTries = 60; // 60 * 1000 = example 1 minute time out
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;socket.setSoTimeout(1000);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; maxTries; i++) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;is.read(b);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (IOException e) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// timeout
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (handshakeDone) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SSLSession session = socket.getSession();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;os = socket.getOutputStream();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;os.write(&amp;quot;Host: localhost\n\n&amp;quot;.getBytes());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (IOException ex) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// success - connection closed
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fail(&amp;quot;Re-negotiation worked&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+}
&lt;br&gt;&lt;br&gt;Propchange: tomcat/trunk/test/org/apache/catalina/startup/TestTomcatSSL.java
&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; svn:eol-style = native
&lt;br&gt;&lt;br&gt;Added: tomcat/trunk/test/org/apache/catalina/startup/test.keystore
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/startup/test.keystore?rev=834290&amp;view=auto&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/startup/test.keystore?rev=834290&amp;view=auto&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;Binary file - no diff available.
&lt;br&gt;&lt;br&gt;Propchange: tomcat/trunk/test/org/apache/catalina/startup/test.keystore
&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; svn:mime-type = application/octet-stream
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26276596&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26276596&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r834290---in--tomcat-trunk-test-org-apache-catalina-startup%3A-TestTomcatSSL.java-test.keystore-tp26276596p26276596.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26276580</id>
	<title>svn commit: r834289 - /tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java</title>
	<published>2009-11-09T17:02:44Z</published>
	<updated>2009-11-09T17:02:44Z</updated>
	<author>
		<name>Costin Manolache-3</name>
	</author>
	<content type="html">Author: costin
&lt;br&gt;Date: Tue Nov 10 01:02:43 2009
&lt;br&gt;New Revision: 834289
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=834289&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=834289&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;Fix for the SSL midm - disable client re-negotiation, connection will be closed. 
&lt;br&gt;&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java?rev=834289&amp;r1=834288&amp;r2=834289&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java?rev=834289&amp;r1=834288&amp;r2=834289&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java Tue Nov 10 01:02:43 2009
&lt;br&gt;@@ -42,6 +42,8 @@
&lt;br&gt;&amp;nbsp;import java.util.Vector;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;import javax.net.ssl.CertPathTrustManagerParameters;
&lt;br&gt;+import javax.net.ssl.HandshakeCompletedEvent;
&lt;br&gt;+import javax.net.ssl.HandshakeCompletedListener;
&lt;br&gt;&amp;nbsp;import javax.net.ssl.KeyManager;
&lt;br&gt;&amp;nbsp;import javax.net.ssl.KeyManagerFactory;
&lt;br&gt;&amp;nbsp;import javax.net.ssl.ManagerFactoryParameters;
&lt;br&gt;@@ -93,6 +95,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private static final int defaultSessionCacheSize = 0;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private static final int defaultSessionTimeout = 86400;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final boolean midmMode = 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;true&amp;quot;.equals(System.getProperty(&amp;quot;enable_ssl_mitm_vulnerability&amp;quot;));
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;static org.apache.juli.logging.Log log =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;org.apache.juli.logging.LogFactory.getLog(JSSESocketFactory.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -154,12 +159,34 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SSLSocket asock = null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; asock = (SSLSocket)socket.accept();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (!midmMode) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; asock.addHandshakeCompletedListener(
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; new DisableSslRenegotiation());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; configureClientAuth(asock);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (SSLException e){
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new SocketException(&amp;quot;SSL handshake error&amp;quot; + e.toString());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return asock;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static class DisableSslRenegotiation 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;implements HandshakeCompletedListener {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private volatile boolean completed = false;
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void handshakeCompleted(HandshakeCompletedEvent event) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (completed) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.warn(&amp;quot;SSL renegotiation is disabled, closing connection&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;event.getSocket().close();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (IOException e) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// ignore
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;completed = true;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;@Override
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public void handshake(Socket sock) throws IOException {
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26276580&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26276580&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r834289----tomcat-trunk-java-org-apache-tomcat-util-net-jsse-JSSESocketFactory.java-tp26276580p26276580.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26276307</id>
	<title>svn commit: r834286 - in /tomcat/trunk/java/org/apache/catalina/startup: LocalStrings.properties WebXml.java</title>
	<published>2009-11-09T16:31:25Z</published>
	<updated>2009-11-09T16:31:25Z</updated>
	<author>
		<name>Mark Thomas</name>
	</author>
	<content type="html">Author: markt
&lt;br&gt;Date: Tue Nov 10 00:31:25 2009
&lt;br&gt;New Revision: 834286
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=834286&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=834286&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;Add merge code for the remaining elements in web.xml
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/startup/LocalStrings.properties
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/startup/WebXml.java
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/startup/LocalStrings.properties
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/LocalStrings.properties?rev=834286&amp;r1=834285&amp;r2=834286&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/LocalStrings.properties?rev=834286&amp;r1=834285&amp;r2=834286&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/startup/LocalStrings.properties (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/startup/LocalStrings.properties Tue Nov 10 00:31:25 2009
&lt;br&gt;@@ -115,9 +115,11 @@
&lt;br&gt;&amp;nbsp;webXml.duplicateResourceRef=Duplicate resource-ref name
&lt;br&gt;&amp;nbsp;webXml.reservedName=A web.xml file was detected using a reserved name [{0}]. The name element will be ignored for this fragment.
&lt;br&gt;&amp;nbsp;webXml.mergeConflictDisplayName=The display name was defined in multiple fragments with different values including fragment with name [{0}] located at [{1}]
&lt;br&gt;-webXml.mergeConflictErrorPage=The Error Page for [{0}] was defined in multiple fragments including fragment with name [{1}] located at [{2}]
&lt;br&gt;-webXml.mergeConflictListener=Listener [{0}] was defined in multiple fragments including fragment with name [{1}] located at [{2}]
&lt;br&gt;-webXml.mergeConflictLoginConfig=A LoginConfig was defined in multiple fragments including fragment with name [{1}] located at [{2}]
&lt;br&gt;-webXml.mergeConflictResource=The Resource [{0}] was defined in multiple fragments including fragment with name [{1}] located at [{2}]
&lt;br&gt;-webXml.mergeConflictString=The [{0}] with name [{1}] was defined in multiple fragments including fragment with name [{2}] located at [{3}]
&lt;br&gt;+webXml.mergeConflictErrorPage=The Error Page for [{0}] was defined inconsistently in multiple fragments including fragment with name [{1}] located at [{2}]
&lt;br&gt;+webXml.mergeConflictFilter=The Filter [{0}] was defined inconsistently in multiple fragments including fragment with name [{1}] located at [{2}]
&lt;br&gt;+webXml.mergeConflictLoginConfig=A LoginConfig was defined inconsistently in multiple fragments including fragment with name [{1}] located at [{2}]
&lt;br&gt;+webXml.mergeConflictResource=The Resource [{0}] was defined inconsistently in multiple fragments including fragment with name [{1}] located at [{2}]
&lt;br&gt;+webXml.mergeConflictFilter=The Servlet [{0}] was defined inconsistently in multiple fragments including fragment with name [{1}] located at [{2}]
&lt;br&gt;+webXml.mergeConflictSessionTimeout=The session timeout was defined inconsistently in multiple fragments with different values including fragment with name [{0}] located at [{1}]
&lt;br&gt;+webXml.mergeConflictString=The [{0}] with name [{1}] was defined inconsistently in multiple fragments including fragment with name [{2}] located at [{3}]
&lt;br&gt;&amp;nbsp;webXml.multipleOther=Multiple others entries in ordering
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/startup/WebXml.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/WebXml.java?rev=834286&amp;r1=834285&amp;r2=834286&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/WebXml.java?rev=834286&amp;r1=834285&amp;r2=834286&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/startup/WebXml.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/startup/WebXml.java Tue Nov 10 00:31:25 2009
&lt;br&gt;@@ -250,6 +250,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;welcomeFiles.add(welcomeFile);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public Set&amp;lt;String&amp;gt; getWelcomeFiles() { return welcomeFiles; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// error-page
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private Map&amp;lt;String,ErrorPage&amp;gt; errorPages = new HashMap&amp;lt;String,ErrorPage&amp;gt;();
&lt;br&gt;@@ -341,11 +342,12 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// TODO: Should support multiple description elements with language
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// TODO: Should support multiple display-names elements with language
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// TODO: Should support multiple icon elements ???
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private Set&amp;lt;ContextService&amp;gt; serviceRefs = new HashSet&amp;lt;ContextService&amp;gt;();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private Map&amp;lt;String,ContextService&amp;gt; serviceRefs =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new HashMap&amp;lt;String,ContextService&amp;gt;();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public void addServiceRef(ContextService serviceRef) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;serviceRefs.add(serviceRef);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;serviceRefs.put(serviceRef.getName(), serviceRef);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public Set&amp;lt;ContextService&amp;gt; getServiceRefs() { return serviceRefs; }
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public Map&amp;lt;String,ContextService&amp;gt; getServiceRefs() { return serviceRefs; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// resource-ref
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// TODO: Should support multiple description elements with language
&lt;br&gt;@@ -512,7 +514,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (String role : securityRoles) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;context.addSecurityRole(role);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (ContextService service : serviceRefs) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (ContextService service : serviceRefs.values()) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;context.getNamingResources().addService(service);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (ServletDef servlet : servlets.values()) {
&lt;br&gt;@@ -660,6 +662,27 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (WebXml fragment : fragments) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (Map.Entry&amp;lt;String,FilterDef&amp;gt; entry :
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fragment.getFilters().entrySet()) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (filters.containsKey(entry.getKey())) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mergeFilter(entry.getValue(),
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;filters.get(entry.getKey()), false);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!(mergeFilter(entry.getValue(),
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;temp.getFilters().get(entry.getKey()), true))) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.error(sm.getString(
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;webXml.mergeConflictFilter&amp;quot;,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;entry.getKey(),
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fragment.getName(),
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fragment.getURL()));
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (WebXml fragment : fragments) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (JspPropertyGroup jspPropertyGroup : fragment.getJspPropertyGroups()) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Always additive
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;addJspPropertyGroup(jspPropertyGroup);
&lt;br&gt;@@ -757,8 +780,77 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (WebXml fragment : fragments) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!mergeResourceMap(fragment.getServiceRefs(), serviceRefs,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;temp.getServiceRefs(), mergeInjectionFlags, fragment)) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;serviceRefs.putAll(temp.getServiceRefs());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mergeInjectionFlags.clear();
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (WebXml fragment : fragments) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (Map.Entry&amp;lt;String,String&amp;gt; mapping :
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fragment.getServletMappings().entrySet()) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Always additive
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;addServletMapping(mapping.getKey(), mapping.getValue());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (WebXml fragment : fragments) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (Map.Entry&amp;lt;String,ServletDef&amp;gt; entry :
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fragment.getServlets().entrySet()) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (servlets.containsKey(entry.getKey())) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mergeServlet(entry.getValue(),
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;servlets.get(entry.getKey()), false);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!(mergeServlet(entry.getValue(),
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;temp.getServlets().get(entry.getKey()), true))) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.error(sm.getString(
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;webXml.mergeConflictServlet&amp;quot;,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;entry.getKey(),
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fragment.getName(),
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fragment.getURL()));
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// TODO SERVLET3 - Merge remaining elements
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (sessionTimeout == null) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (WebXml fragment : fragments) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Integer value = fragment.getSessionTimeout(); 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (value != null) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (temp.getSessionTimeout() == null) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;temp.setSessionTimeout(value.toString());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.error(sm.getString(
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;webXml.mergeConflictSessionTimeout&amp;quot;,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fragment.getName(),
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fragment.getURL()));
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sessionTimeout = temp.getSessionTimeout();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (WebXml fragment : fragments) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!mergeMap(fragment.getTaglibs(), taglibs,
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;temp.getTaglibs(), fragment, &amp;quot;Taglibs&amp;quot;)) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;taglibs.putAll(temp.getTaglibs());
&lt;br&gt;+
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (WebXml fragment : fragments) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (String welcomeFile : fragment.getWelcomeFiles()) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Always additive
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;addWelcomeFile(welcomeFile);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return true;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -828,4 +920,88 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return true;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private boolean mergeFilter(FilterDef src, FilterDef dest, boolean failOnConflict) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (src.isAsyncSupported() != dest.isAsyncSupported()) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Always fail
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (dest.getFilterClass() &amp;nbsp;== null) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dest.setFilterClass(src.getFilterClass());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else if (src.getFilterClass() != null) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (failOnConflict &amp;&amp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;!src.getFilterClass().equals(dest.getFilterClass())) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (Map.Entry&amp;lt;String,String&amp;gt; srcEntry :
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;src.getParameterMap().entrySet()) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (dest.getParameterMap().containsKey(srcEntry.getKey())) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (failOnConflict &amp;&amp; !dest.getParameterMap().get(
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;srcEntry.getKey()).equals(srcEntry.getValue())) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dest.addInitParameter(srcEntry.getKey(), srcEntry.getValue());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return true;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private boolean mergeServlet(ServletDef src, ServletDef dest, boolean failOnConflict) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// These tests should be unnecessary...
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (dest.getServletClass() != null &amp;&amp; dest.getJspFile() != null) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (src.getServletClass() != null &amp;&amp; src.getJspFile() != null) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (dest.getServletClass() == null &amp;&amp; dest.getJspFile() == null) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dest.setServletClass(src.getServletClass());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dest.setJspFile(src.getJspFile());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else if (failOnConflict) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (src.getServletClass() != null &amp;&amp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(dest.getJspFile() != null ||
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;!src.getServletClass().equals(dest.getServletClass()))) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (src.getJspFile() != null &amp;&amp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(dest.getServletClass() != null ||
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;!src.getJspFile().equals(dest.getJspFile()))) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Additive
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (SecurityRoleRef securityRoleRef : src.getSecurityRoleRefs()) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dest.addSecurityRoleRef(securityRoleRef);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (dest.getLoadOnStartup() == null) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dest.setLoadOnStartup(src.getServletClass());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else if (src.getLoadOnStartup() != null) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (failOnConflict &amp;&amp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;!src.getLoadOnStartup().equals(dest.getLoadOnStartup())) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (Map.Entry&amp;lt;String,String&amp;gt; srcEntry :
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;src.getParameterMap().entrySet()) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (dest.getParameterMap().containsKey(srcEntry.getKey())) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (failOnConflict &amp;&amp; !dest.getParameterMap().get(
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;srcEntry.getKey()).equals(srcEntry.getValue())) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return false;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dest.addInitParameter(srcEntry.getKey(), srcEntry.getValue());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return true;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26276307&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26276307&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r834286---in--tomcat-trunk-java-org-apache-catalina-startup%3A-LocalStrings.properties-WebXml.java-tp26276307p26276307.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26276191</id>
	<title>Re: SSL &amp; Tomcat</title>
	<published>2009-11-09T16:17:42Z</published>
	<updated>2009-11-09T16:17:42Z</updated>
	<author>
		<name>Mark Thomas</name>
	</author>
	<content type="html">Costin Manolache wrote:
&lt;br&gt;&amp;gt; Unless someone has a better solution - I'll submit the fix ( tonight ), will
&lt;br&gt;&amp;gt; disable re-negotiation for
&lt;br&gt;&amp;gt; Jsse-mode.
&lt;br&gt;&amp;gt; I added a system property to allow people how don't care about this, IMO by
&lt;br&gt;&amp;gt; default it should
&lt;br&gt;&amp;gt; be on.
&lt;br&gt;&lt;br&gt;Sounds good. Any chance it could be a connector property rather than a
&lt;br&gt;system property? If you don't have a chance to do this I can always make
&lt;br&gt;that change (and do some testing) tomorrow.
&lt;br&gt;&lt;br&gt;&amp;gt; Also got the test case to work - please let me know if it's acceptable to
&lt;br&gt;&amp;gt; commit it, it depends
&lt;br&gt;&amp;gt; on having a .keystore with a 'localhost' cert, didn't find any other SSL
&lt;br&gt;&amp;gt; tests in the suite.
&lt;br&gt;&lt;br&gt;Add the keystore to svn as well. That way, the test should always work.
&lt;br&gt;&lt;br&gt;&amp;gt; Forgot that you need to read() after startHandshake() - just cut&amp;pasted the
&lt;br&gt;&amp;gt; code from
&lt;br&gt;&amp;gt; JsseSupport and it worked.
&lt;br&gt;&lt;br&gt;Mark
&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Costin
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; On Mon, Nov 9, 2009 at 1:32 PM, Costin Manolache &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26276191&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;costin@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; On Mon, Nov 9, 2009 at 10:47 AM, Costin Manolache &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26276191&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;costin@...&lt;/a&gt;&amp;gt;wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; On Mon, Nov 9, 2009 at 8:04 AM, Konstantin Kolinko &amp;lt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26276191&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;knst.kolinko@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 2009/11/9 Mark Thomas &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26276191&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;markt@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Summarising the information gathered so far from various channels
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; (thanks to Bill B., Bill W. &amp; Rainer who have done most of the actual
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; work to find the info below).
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; BIO/NIO connectors using JSSE.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Vulnerable when renegotiation is triggered by the client or server.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; We could prevent server initiated renegotiation (and probably break the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; majority of configurations using CLIENT-CERT).
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; We can't do anything to prevent client initiated renegotiation.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; APR/native connector using OpenSSL
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; It is vulnerable when renegotiation is triggered by the client or by
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; server.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Client triggered negotiation is supported.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Server triggered negotiation will be supported from 1.1.17 onwards.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; OpenSSL 0.9.8l disables negotiation by default
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; In terms of what this means for users:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; BIO/NIO
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; - There isn't anything we can do in Tomcat to stop client
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;initiated renegotiation so it is a case of waiting for the JVM
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;vendors to respond.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; APR/native
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; - Re-building their current version with 0.9.8l will protect
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;users at the risk of breaking any configurations that
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;require renegotiation.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; - We can release 1.1.17 with the binaries built with 0.9.8l. This
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;will also protect users at the risk of breaking any
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;configurations that require renegotiation. Mladen is doing this
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;now.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; - Supporting renegotiation whilst avoiding the vulnerability will
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;require a protocol fix. In the meantime, we could port port
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;r833582 from httpd which would disable client triggered
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;renegotiation for OpenSSL &amp;lt; 0.9.8l (which may help some users
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;who can't easily change their OpenSSl version and release 1.1.18
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;with this fix
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; - Once the protocol is fixed, release 1.1.next bundled with the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;appropriate version of OpenSSL
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Have I got my facts right above? If so, any objections to posting the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; above to the users@ and announce@ lists along with adding something to
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; the security pages?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Mark
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; +1
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; s/negotiation/renegotiation/
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; s/port port/port/
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; A question:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; My understanding of renegotiation is that it changes SSL session. Is
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; it possible to observe changes in the value of SSL sessionId? &amp;nbsp;I doubt
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; so, but may be?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; AFAIK you can reuse the session ID across negotiations ( it's a nice
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; optimization BTW, too
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; bad we're not using, it can speed up SSL connections a lot ), I'm not sure
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; if it changes
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; within a renegotation, but AFAIK when you start any negotiation you can
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; specify you want
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; to reuse the old session id. &amp;nbsp;But if I understand the exploit correctly -
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; they would want a different
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; cypher, and if you reuse the session you reuse the old one.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Maybe we can modify JSSESupport.Listener to break the connection if
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; handshakeCompleted is
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; called &amp;gt; once in a connection ? That is besides disabling server-initiated
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; handshakes.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; BTW - confirmed that JSSESupport.Listener is called when client does
&lt;br&gt;&amp;gt;&amp;gt; re-negotiate, but it is not called on the first
&lt;br&gt;&amp;gt;&amp;gt; negotiation ( it's added too late ).
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; However it's pretty easy to add a listener earlier, patch attached - it
&lt;br&gt;&amp;gt;&amp;gt; should break all client re-negotiations, so we don't need
&lt;br&gt;&amp;gt;&amp;gt; to wait for a JDK fix.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I wrote a small unit test - but I'm can't seem to get jsse client to
&lt;br&gt;&amp;gt;&amp;gt; re-negotiate for the test, can only do it using command line
&lt;br&gt;&amp;gt;&amp;gt; openssl. The patch seems to work - but you need so system properties &amp;nbsp;or
&lt;br&gt;&amp;gt;&amp;gt; flags if we want to let people
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;disable this ( &amp;quot;allowManInTheMiddle&amp;quot; is a good name for a flag ). &amp;nbsp;Also
&lt;br&gt;&amp;gt;&amp;gt; the test needs a bit of work.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; If anyone has more time, my 20% is getting low ....
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Costin
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Costin
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; We read that value once and provide it to our users as
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;quot;javax.servlet.request.ssl_session&amp;quot; request attribute.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Regarding valves (as mentioned in issue 48157):
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I understand, that that is not sufficient, but if anyone wants to
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; check against malformed headers, they can do so.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Best regards,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Konstantin Kolinko
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26276191&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26276191&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26276191&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26276191&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/SSL---Tomcat-tp26246577p26276191.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26276128</id>
	<title>Re: SSL &amp; Tomcat</title>
	<published>2009-11-09T16:09:50Z</published>
	<updated>2009-11-09T16:09:50Z</updated>
	<author>
		<name>Costin Manolache-2</name>
	</author>
	<content type="html">Unless someone has a better solution - I'll submit the fix ( tonight ), will
&lt;br&gt;disable re-negotiation for
&lt;br&gt;Jsse-mode.
&lt;br&gt;I added a system property to allow people how don't care about this, IMO by
&lt;br&gt;default it should
&lt;br&gt;be on.
&lt;br&gt;&lt;br&gt;Also got the test case to work - please let me know if it's acceptable to
&lt;br&gt;commit it, it depends
&lt;br&gt;on having a .keystore with a 'localhost' cert, didn't find any other SSL
&lt;br&gt;tests in the suite.
&lt;br&gt;Forgot that you need to read() after startHandshake() - just cut&amp;pasted the
&lt;br&gt;code from
&lt;br&gt;JsseSupport and it worked.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Costin
&lt;br&gt;&lt;br&gt;On Mon, Nov 9, 2009 at 1:32 PM, Costin Manolache &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26276128&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;costin@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On Mon, Nov 9, 2009 at 10:47 AM, Costin Manolache &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26276128&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;costin@...&lt;/a&gt;&amp;gt;wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; On Mon, Nov 9, 2009 at 8:04 AM, Konstantin Kolinko &amp;lt;
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26276128&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;knst.kolinko@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 2009/11/9 Mark Thomas &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26276128&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;markt@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; Summarising the information gathered so far from various channels
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; (thanks to Bill B., Bill W. &amp; Rainer who have done most of the actual
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; work to find the info below).
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; BIO/NIO connectors using JSSE.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; Vulnerable when renegotiation is triggered by the client or server.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; We could prevent server initiated renegotiation (and probably break the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; majority of configurations using CLIENT-CERT).
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; We can't do anything to prevent client initiated renegotiation.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; APR/native connector using OpenSSL
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; It is vulnerable when renegotiation is triggered by the client or by
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; server.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; Client triggered negotiation is supported.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; Server triggered negotiation will be supported from 1.1.17 onwards.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; OpenSSL 0.9.8l disables negotiation by default
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; In terms of what this means for users:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; BIO/NIO
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; - There isn't anything we can do in Tomcat to stop client
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp;initiated renegotiation so it is a case of waiting for the JVM
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp;vendors to respond.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; APR/native
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; - Re-building their current version with 0.9.8l will protect
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp;users at the risk of breaking any configurations that
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp;require renegotiation.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; - We can release 1.1.17 with the binaries built with 0.9.8l. This
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp;will also protect users at the risk of breaking any
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp;configurations that require renegotiation. Mladen is doing this
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp;now.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; - Supporting renegotiation whilst avoiding the vulnerability will
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp;require a protocol fix. In the meantime, we could port port
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp;r833582 from httpd which would disable client triggered
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp;renegotiation for OpenSSL &amp;lt; 0.9.8l (which may help some users
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp;who can't easily change their OpenSSl version and release 1.1.18
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp;with this fix
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; - Once the protocol is fixed, release 1.1.next bundled with the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; &amp;nbsp;appropriate version of OpenSSL
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; Have I got my facts right above? If so, any objections to posting the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; above to the users@ and announce@ lists along with adding something to
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; the security pages?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt; Mark
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +1
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; s/negotiation/renegotiation/
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; s/port port/port/
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; A question:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; My understanding of renegotiation is that it changes SSL session. Is
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; it possible to observe changes in the value of SSL sessionId? &amp;nbsp;I doubt
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; so, but may be?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; AFAIK you can reuse the session ID across negotiations ( it's a nice
&lt;br&gt;&amp;gt;&amp;gt; optimization BTW, too
&lt;br&gt;&amp;gt;&amp;gt; bad we're not using, it can speed up SSL connections a lot ), I'm not sure
&lt;br&gt;&amp;gt;&amp;gt; if it changes
&lt;br&gt;&amp;gt;&amp;gt; within a renegotation, but AFAIK when you start any negotiation you can
&lt;br&gt;&amp;gt;&amp;gt; specify you want
&lt;br&gt;&amp;gt;&amp;gt; to reuse the old session id. &amp;nbsp;But if I understand the exploit correctly -
&lt;br&gt;&amp;gt;&amp;gt; they would want a different
&lt;br&gt;&amp;gt;&amp;gt; cypher, and if you reuse the session you reuse the old one.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Maybe we can modify JSSESupport.Listener to break the connection if
&lt;br&gt;&amp;gt;&amp;gt; handshakeCompleted is
&lt;br&gt;&amp;gt;&amp;gt; called &amp;gt; once in a connection ? That is besides disabling server-initiated
&lt;br&gt;&amp;gt;&amp;gt; handshakes.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; BTW - confirmed that JSSESupport.Listener is called when client does
&lt;br&gt;&amp;gt; re-negotiate, but it is not called on the first
&lt;br&gt;&amp;gt; negotiation ( it's added too late ).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; However it's pretty easy to add a listener earlier, patch attached - it
&lt;br&gt;&amp;gt; should break all client re-negotiations, so we don't need
&lt;br&gt;&amp;gt; to wait for a JDK fix.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I wrote a small unit test - but I'm can't seem to get jsse client to
&lt;br&gt;&amp;gt; re-negotiate for the test, can only do it using command line
&lt;br&gt;&amp;gt; openssl. The patch seems to work - but you need so system properties &amp;nbsp;or
&lt;br&gt;&amp;gt; flags if we want to let people
&lt;br&gt;&amp;gt; &amp;nbsp;disable this ( &amp;quot;allowManInTheMiddle&amp;quot; is a good name for a flag ). &amp;nbsp;Also
&lt;br&gt;&amp;gt; the test needs a bit of work.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; If anyone has more time, my 20% is getting low ....
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Costin
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Costin
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; We read that value once and provide it to our users as
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;quot;javax.servlet.request.ssl_session&amp;quot; request attribute.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Regarding valves (as mentioned in issue 48157):
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I understand, that that is not sufficient, but if anyone wants to
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; check against malformed headers, they can do so.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Best regards,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Konstantin Kolinko
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26276128&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26276128&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/SSL---Tomcat-tp26246577p26276128.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26275969</id>
	<title>broken link on tomcat resource page</title>
	<published>2009-11-09T15:53:06Z</published>
	<updated>2009-11-09T15:53:06Z</updated>
	<author>
		<name>Peter Lin</name>
	</author>
	<content type="html">Last week I noticed the link to Filip's old tomcat 16,000 concurrent
&lt;br&gt;connections was broken on the resources page.
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://tomcat.apache.org/resources.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://tomcat.apache.org/resources.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;peter lin
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26275969&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26275969&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/broken-link-on-tomcat-resource-page-tp26275969p26275969.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26274978</id>
	<title>svn commit: r834262 - /tomcat/tc5.5.x/trunk/STATUS.txt</title>
	<published>2009-11-09T14:35:06Z</published>
	<updated>2009-11-09T14:35:06Z</updated>
	<author>
		<name>Mark Thomas</name>
	</author>
	<content type="html">Author: markt
&lt;br&gt;Date: Mon Nov &amp;nbsp;9 22:35:04 2009
&lt;br&gt;New Revision: 834262
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=834262&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=834262&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;Cookie changes proposal
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/tc5.5.x/trunk/STATUS.txt
&lt;br&gt;&lt;br&gt;Modified: tomcat/tc5.5.x/trunk/STATUS.txt
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/tc5.5.x/trunk/STATUS.txt?rev=834262&amp;r1=834261&amp;r2=834262&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/tc5.5.x/trunk/STATUS.txt?rev=834262&amp;r1=834261&amp;r2=834262&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/tc5.5.x/trunk/STATUS.txt (original)
&lt;br&gt;+++ tomcat/tc5.5.x/trunk/STATUS.txt Mon Nov &amp;nbsp;9 22:35:04 2009
&lt;br&gt;@@ -186,3 +186,15 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://svn.apache.org/viewvc?rev=834047&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=834047&amp;view=rev&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;+1: markt
&lt;br&gt;&amp;nbsp; &amp;nbsp;-1: 
&lt;br&gt;+
&lt;br&gt;+* Backport cookie changes
&lt;br&gt;+ &amp;nbsp;- Add option to control treatment of / as a separator
&lt;br&gt;+ &amp;nbsp;- Single quote is not a spearator
&lt;br&gt;+ &amp;nbsp;- Link ALWAYS_ADD_EXPIRES so STRICT_SERVLET_COMPLIANCE
&lt;br&gt;+ &amp;nbsp;- Add option to enforce cookie naming rules
&lt;br&gt;+ &amp;nbsp;- Add option to allow = in cookie values
&lt;br&gt;+ &amp;nbsp;- Auto switching is not a spec breach
&lt;br&gt;+ &amp;nbsp;- Auto switch on use of comment
&lt;br&gt;+ &amp;nbsp;&lt;a href=&quot;http://people.apache.org/~markt/patches/2009-11-09-tc5-cookies.patch&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://people.apache.org/~markt/patches/2009-11-09-tc5-cookies.patch&lt;/a&gt;&lt;br&gt;+ &amp;nbsp;+1: markt
&lt;br&gt;+ &amp;nbsp;-1: 
&lt;br&gt;\ No newline at end of file
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26274978&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26274978&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r834262----tomcat-tc5.5.x-trunk-STATUS.txt-tp26274978p26274978.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26274965</id>
	<title>svn commit: r834260 - /tomcat/tc6.0.x/trunk/STATUS.txt</title>
	<published>2009-11-09T14:34:35Z</published>
	<updated>2009-11-09T14:34:35Z</updated>
	<author>
		<name>Mark Thomas</name>
	</author>
	<content type="html">Author: markt
&lt;br&gt;Date: Mon Nov &amp;nbsp;9 22:34:35 2009
&lt;br&gt;New Revision: 834260
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=834260&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=834260&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;Cookie changes proposal
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/tc6.0.x/trunk/STATUS.txt
&lt;br&gt;&lt;br&gt;Modified: tomcat/tc6.0.x/trunk/STATUS.txt
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=834260&amp;r1=834259&amp;r2=834260&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=834260&amp;r1=834259&amp;r2=834260&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/tc6.0.x/trunk/STATUS.txt (original)
&lt;br&gt;+++ tomcat/tc6.0.x/trunk/STATUS.txt Mon Nov &amp;nbsp;9 22:34:35 2009
&lt;br&gt;@@ -378,3 +378,15 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://svn.apache.org/viewvc?rev=834047&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=834047&amp;view=rev&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;+1: markt
&lt;br&gt;&amp;nbsp; &amp;nbsp;-1: 
&lt;br&gt;+
&lt;br&gt;+* Backport cookie changes
&lt;br&gt;+ &amp;nbsp;- Add option to control treatment of / as a separator
&lt;br&gt;+ &amp;nbsp;- Single quote is not a spearator
&lt;br&gt;+ &amp;nbsp;- Link ALWAYS_ADD_EXPIRES so STRICT_SERVLET_COMPLIANCE
&lt;br&gt;+ &amp;nbsp;- Add option to enforce cookie naming rules
&lt;br&gt;+ &amp;nbsp;- Add option to allow = in cookie values
&lt;br&gt;+ &amp;nbsp;- Auto switching is not a spec breach
&lt;br&gt;+ &amp;nbsp;- Auto switch on use of comment
&lt;br&gt;+ &amp;nbsp;&lt;a href=&quot;http://people.apache.org/~markt/patches/2009-11-09-tc6-cookies.patch&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://people.apache.org/~markt/patches/2009-11-09-tc6-cookies.patch&lt;/a&gt;&lt;br&gt;+ &amp;nbsp;+1: markt
&lt;br&gt;+ &amp;nbsp;-1: 
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26274965&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26274965&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r834260----tomcat-tc6.0.x-trunk-STATUS.txt-tp26274965p26274965.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26274066</id>
	<title>Re: SSL &amp; Tomcat</title>
	<published>2009-11-09T13:32:04Z</published>
	<updated>2009-11-09T13:32:04Z</updated>
	<author>
		<name>Costin Manolache-2</name>
	</author>
	<content type="html">&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Mon, Nov 9, 2009 at 10:47 AM, Costin Manolache &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26274066&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;costin@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;&quot;&gt;
&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;On Mon, Nov 9, 2009 at 8:04 AM, Konstantin Kolinko &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26274066&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;knst.kolinko@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex&quot;&gt;
&lt;div&gt;2009/11/9 Mark Thomas &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26274066&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;markt@...&lt;/a&gt;&amp;gt;:&lt;br&gt;
&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&amp;gt; Summarising the information gathered so far from various channels&lt;br&gt;
&amp;gt; (thanks to Bill B., Bill W. &amp;amp; Rainer who have done most of the actual&lt;br&gt;
&amp;gt; work to find the info below).&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; BIO/NIO connectors using JSSE.&lt;br&gt;
&amp;gt; Vulnerable when renegotiation is triggered by the client or server.&lt;br&gt;
&amp;gt; We could prevent server initiated renegotiation (and probably break the&lt;br&gt;
&amp;gt; majority of configurations using CLIENT-CERT).&lt;br&gt;
&amp;gt; We can&amp;#39;t do anything to prevent client initiated renegotiation.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; APR/native connector using OpenSSL&lt;br&gt;
&amp;gt; It is vulnerable when renegotiation is triggered by the client or by the&lt;br&gt;
&amp;gt; server.&lt;br&gt;
&amp;gt; Client triggered negotiation is supported.&lt;br&gt;
&amp;gt; Server triggered negotiation will be supported from 1.1.17 onwards.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; OpenSSL 0.9.8l disables negotiation by default&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; In terms of what this means for users:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; BIO/NIO&lt;br&gt;
&amp;gt; - There isn&amp;#39;t anything we can do in Tomcat to stop client&lt;br&gt;
&amp;gt;  initiated renegotiation so it is a case of waiting for the JVM&lt;br&gt;
&amp;gt;  vendors to respond.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; APR/native&lt;br&gt;
&amp;gt; - Re-building their current version with 0.9.8l will protect&lt;br&gt;
&amp;gt;  users at the risk of breaking any configurations that&lt;br&gt;
&amp;gt;  require renegotiation.&lt;br&gt;
&amp;gt; - We can release 1.1.17 with the binaries built with 0.9.8l. This&lt;br&gt;
&amp;gt;  will also protect users at the risk of breaking any&lt;br&gt;
&amp;gt;  configurations that require renegotiation. Mladen is doing this&lt;br&gt;
&amp;gt;  now.&lt;br&gt;
&amp;gt; - Supporting renegotiation whilst avoiding the vulnerability will&lt;br&gt;
&amp;gt;  require a protocol fix. In the meantime, we could port port&lt;br&gt;
&amp;gt;  r833582 from httpd which would disable client triggered&lt;br&gt;
&amp;gt;  renegotiation for OpenSSL &amp;lt; 0.9.8l (which may help some users&lt;br&gt;
&amp;gt;  who can&amp;#39;t easily change their OpenSSl version and release 1.1.18&lt;br&gt;
&amp;gt;  with this fix&lt;br&gt;
&amp;gt; - Once the protocol is fixed, release 1.1.next bundled with the&lt;br&gt;
&amp;gt;  appropriate version of OpenSSL&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Have I got my facts right above? If so, any objections to posting the&lt;br&gt;
&amp;gt; above to the users@ and announce@ lists along with adding something to&lt;br&gt;
&amp;gt; the security pages?&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Mark&lt;br&gt;
&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;+1&lt;br&gt;
&lt;br&gt;
s/negotiation/renegotiation/&lt;br&gt;
s/port port/port/&lt;br&gt;
&lt;br&gt;
A question:&lt;br&gt;
My understanding of renegotiation is that it changes SSL session. Is&lt;br&gt;
it possible to observe changes in the value of SSL sessionId?  I doubt&lt;br&gt;
so, but may be?&lt;br&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;AFAIK you can reuse the session ID across negotiations ( it&amp;#39;s a nice optimization BTW, too &lt;/div&gt;&lt;div&gt;bad we&amp;#39;re not using, it can speed up SSL connections a lot ), I&amp;#39;m not sure if it changes &lt;/div&gt;

&lt;div&gt;within a renegotation, but AFAIK when you start any negotiation you can specify you want &lt;/div&gt;&lt;div&gt;to reuse the old session id.  But if I understand the exploit correctly - they would want a different&lt;/div&gt;&lt;div&gt;cypher, and if you reuse the session you reuse the old one.  &lt;/div&gt;

&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Maybe we can modify JSSESupport.Listener to break the connection if handshakeCompleted is &lt;/div&gt;&lt;div&gt;called &amp;gt; once in a connection ? That is besides disabling server-initiated handshakes.&lt;/div&gt;

&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;BTW - confirmed that JSSESupport.Listener is called when client does re-negotiate, but it is not called on the first &lt;/div&gt;&lt;div&gt;negotiation ( it&amp;#39;s added too late ). &lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;However it&amp;#39;s pretty easy to add a listener earlier, patch attached - it should break all client re-negotiations, so we don&amp;#39;t need&lt;/div&gt;&lt;div&gt;to wait for a JDK fix. &lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I wrote a small unit test - but I&amp;#39;m can&amp;#39;t seem to get jsse client to re-negotiate for the test, can only do it using command line&lt;/div&gt;
&lt;div&gt;openssl. The patch seems to work - but you need so system properties  or flags if we want to let people&lt;/div&gt;&lt;div&gt; disable this ( &amp;quot;allowManInTheMiddle&amp;quot; is a good name for a flag ).  Also the test needs a bit of work.&lt;/div&gt;
&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;If anyone has more time, my 20% is getting low .... &lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Costin &lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;&quot;&gt;
&lt;div class=&quot;gmail_quote&quot;&gt;&lt;div&gt;&lt;/div&gt;&lt;font color=&quot;#888888&quot;&gt;&lt;div&gt;Costin&lt;/div&gt;&lt;/font&gt;&lt;div class=&quot;im&quot;&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex&quot;&gt;

We read that value once and provide it to our users as&lt;br&gt;
&amp;quot;javax.servlet.request.ssl_session&amp;quot; request attribute.&lt;br&gt;
&lt;br&gt;
Regarding valves (as mentioned in issue 48157):&lt;br&gt;
I understand, that that is not sufficient, but if anyone wants to&lt;br&gt;
check against malformed headers, they can do so.&lt;br&gt;
&lt;br&gt;
Best regards,&lt;br&gt;
&lt;font color=&quot;#888888&quot;&gt;Konstantin Kolinko&lt;br&gt;
&lt;/font&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;
---------------------------------------------------------------------&lt;br&gt;
To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26274066&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;&lt;br&gt;
For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26274066&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;/div&gt;&lt;br&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
&lt;br /&gt;&lt;tt&gt;[TestTomcatSSL.java]&lt;/tt&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;/*
&lt;br&gt;&amp;nbsp;* Licensed to the Apache Software Foundation (ASF) under one or more
&lt;br&gt;&amp;nbsp;* contributor license agreements. &amp;nbsp;See the NOTICE file distributed with
&lt;br&gt;&amp;nbsp;* this work for additional information regarding copyright ownership.
&lt;br&gt;&amp;nbsp;* The ASF licenses this file to You under the Apache License, Version 2.0
&lt;br&gt;&amp;nbsp;* (the &amp;quot;License&amp;quot;); you may not use this file except in compliance with
&lt;br&gt;&amp;nbsp;* the License. &amp;nbsp;You may obtain a copy of the License at
&lt;br&gt;&amp;nbsp;* 
&lt;br&gt;&amp;nbsp;* &amp;nbsp; &amp;nbsp; &amp;nbsp;http://www.apache.org/licenses/LICENSE-2.0
&lt;br&gt;&amp;nbsp;* 
&lt;br&gt;&amp;nbsp;* Unless required by applicable law or agreed to in writing, software
&lt;br&gt;&amp;nbsp;* distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,
&lt;br&gt;&amp;nbsp;* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
&lt;br&gt;&amp;nbsp;* See the License for the specific language governing permissions and
&lt;br&gt;&amp;nbsp;* limitations under the License.
&lt;br&gt;&amp;nbsp;*/
&lt;br&gt;package org.apache.catalina.startup;
&lt;br&gt;&lt;br&gt;import java.io.BufferedInputStream;
&lt;br&gt;import java.io.File;
&lt;br&gt;import java.io.InputStream;
&lt;br&gt;import java.io.OutputStream;
&lt;br&gt;import java.net.Socket;
&lt;br&gt;&lt;br&gt;import javax.net.ssl.HandshakeCompletedEvent;
&lt;br&gt;import javax.net.ssl.HandshakeCompletedListener;
&lt;br&gt;import javax.net.ssl.SSLContext;
&lt;br&gt;import javax.net.ssl.SSLSocket;
&lt;br&gt;import javax.net.ssl.SSLSocketFactory;
&lt;br&gt;import javax.net.ssl.TrustManager;
&lt;br&gt;import javax.net.ssl.X509TrustManager;
&lt;br&gt;&lt;br&gt;import org.apache.tomcat.util.buf.ByteChunk;
&lt;br&gt;&lt;br&gt;/**
&lt;br&gt;&amp;nbsp;* Requires: 
&lt;br&gt;&amp;nbsp;* &amp;nbsp;keytool -genkey -alias tomcat -keyalg RSA
&lt;br&gt;&amp;nbsp;* &amp;nbsp;pass: changeit 
&lt;br&gt;&amp;nbsp;* &amp;nbsp;CN: localhost ( for hostname validation )
&lt;br&gt;&amp;nbsp;*/
&lt;br&gt;public class TestTomcatSSL extends TomcatBaseTest {
&lt;br&gt;&amp;nbsp; &amp;nbsp; static TrustManager[] trustAllCerts = new TrustManager[] { 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; new X509TrustManager() { 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public java.security.cert.X509Certificate[] getAcceptedIssuers() { 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void checkClientTrusted(java.security.cert.X509Certificate[] certs, String authType) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void checkServerTrusted(java.security.cert.X509Certificate[] certs, String authType) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; };
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; static {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // &amp;nbsp;Install the all-trusting trust manager
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SSLContext sc = SSLContext.getInstance(&amp;quot;SSL&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sc.init(null, trustAllCerts, new java.security.SecureRandom());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sc.getSocketFactory());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } catch (Exception e) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; e.printStackTrace();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } 
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; public void testHandshake() throws Exception {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Tomcat tomcat = getTomcatInstance();
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; File appDir = 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; new File(&amp;quot;output/build/webapps/examples&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // app dir is relative to server home
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tomcat.addWebapp(null, &amp;quot;/examples&amp;quot;, appDir.getAbsolutePath());
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tomcat.getConnector().setSecure(true);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tomcat.getConnector().setProperty(&amp;quot;SSLEnabled&amp;quot;, &amp;quot;true&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tomcat.getConnector().setProperty(&amp;quot;sslProtocol&amp;quot;,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;tls&amp;quot;);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tomcat.start();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ByteChunk res = getUrl(&amp;quot;https://localhost:&amp;quot; + getPort() +
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;/examples/servlets/servlet/HelloWorldExample&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; assertTrue(res.toString().indexOf(&amp;quot;&amp;lt;h1&amp;gt;Hello World!&amp;lt;/h1&amp;gt;&amp;quot;) &amp;gt; 0);
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; public void testReHandshake() throws Exception {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Tomcat tomcat = getTomcatInstance();
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; File appDir = 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; new File(&amp;quot;output/build/webapps/examples&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // app dir is relative to server home
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tomcat.addWebapp(null, &amp;quot;/examples&amp;quot;, appDir.getAbsolutePath());
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tomcat.getConnector().setSecure(true);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tomcat.getConnector().setProperty(&amp;quot;SSLEnabled&amp;quot;, &amp;quot;true&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tomcat.getConnector().setProperty(&amp;quot;sslProtocol&amp;quot;,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;tls&amp;quot;);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tomcat.start();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SSLContext sslCtx = SSLContext.getInstance(&amp;quot;TLS&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sslCtx.init(null, trustAllCerts, new java.security.SecureRandom());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SSLSocketFactory socketFactory = sslCtx.getSocketFactory();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SSLSocket socket = (SSLSocket) socketFactory.createSocket(&amp;quot;localhost&amp;quot;, getPort());
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; socket.addHandshakeCompletedListener(new HandshakeCompletedListener() {
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @Override
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public void handshakeCompleted(HandshakeCompletedEvent event) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.err.println(&amp;quot;Handshake done&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; OutputStream os = socket.getOutputStream();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; os.write(&amp;quot;GET /examples/servlets/servlet/HelloWorldExample HTTP/1.0\n&amp;quot;.getBytes());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; socket.getSession().invalidate();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; socket.startHandshake();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; os.write(&amp;quot;Host: localhost\n\n&amp;quot;.getBytes());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; InputStream is = socket.getInputStream();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ByteChunk out = new ByteChunk();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; BufferedInputStream bis = new BufferedInputStream(is);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; byte[] buf = new byte[2048];
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int rd = 0;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; while((rd = bis.read(buf)) &amp;gt; 0) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; out.append(buf, 0, rd);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; assertTrue(out.toString().indexOf(&amp;quot;&amp;lt;h1&amp;gt;Hello World!&amp;lt;/h1&amp;gt;&amp;quot;) &amp;gt; 0);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;}
&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;br /&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26274066&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26274066&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/SSL---Tomcat-tp26246577p26274066.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26273869</id>
	<title>svn commit: r834238 - in /tomcat/trunk/java/org/apache: catalina/tribes/util/StringManager.java naming/StringManager.java tomcat/util/res/StringManager.java</title>
	<published>2009-11-09T13:18:02Z</published>
	<updated>2009-11-09T13:18:02Z</updated>
	<author>
		<name>Mark Thomas</name>
	</author>
	<content type="html">Author: markt
&lt;br&gt;Date: Mon Nov &amp;nbsp;9 21:18:01 2009
&lt;br&gt;New Revision: 834238
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=834238&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=834238&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;Align all three StringManager implementations
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/tribes/util/StringManager.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/naming/StringManager.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/tomcat/util/res/StringManager.java
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/tribes/util/StringManager.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/util/StringManager.java?rev=834238&amp;r1=834237&amp;r2=834238&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/util/StringManager.java?rev=834238&amp;r1=834237&amp;r2=834238&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/tribes/util/StringManager.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/tribes/util/StringManager.java Mon Nov &amp;nbsp;9 21:18:01 2009
&lt;br&gt;@@ -1,21 +1,20 @@
&lt;br&gt;&amp;nbsp;/*
&lt;br&gt;- * Licensed to the Apache Software Foundation (ASF) under one or more
&lt;br&gt;- * contributor license agreements. &amp;nbsp;See the NOTICE file distributed with
&lt;br&gt;- * this work for additional information regarding copyright ownership.
&lt;br&gt;- * The ASF licenses this file to You under the Apache License, Version 2.0
&lt;br&gt;- * (the &amp;quot;License&amp;quot;); you may not use this file except in compliance with
&lt;br&gt;- * the License. &amp;nbsp;You may obtain a copy of the License at
&lt;br&gt;- * 
&lt;br&gt;+ * &amp;nbsp;Licensed to the Apache Software Foundation (ASF) under one or more
&lt;br&gt;+ * &amp;nbsp;contributor license agreements. &amp;nbsp;See the NOTICE file distributed with
&lt;br&gt;+ * &amp;nbsp;this work for additional information regarding copyright ownership.
&lt;br&gt;+ * &amp;nbsp;The ASF licenses this file to You under the Apache License, Version 2.0
&lt;br&gt;+ * &amp;nbsp;(the &amp;quot;License&amp;quot;); you may not use this file except in compliance with
&lt;br&gt;+ * &amp;nbsp;the License. &amp;nbsp;You may obtain a copy of the License at
&lt;br&gt;+ *
&lt;br&gt;&amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://www.apache.org/licenses/LICENSE-2.0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.apache.org/licenses/LICENSE-2.0&lt;/a&gt;&lt;br&gt;- * 
&lt;br&gt;- * Unless required by applicable law or agreed to in writing, software
&lt;br&gt;- * distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,
&lt;br&gt;- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
&lt;br&gt;- * See the License for the specific language governing permissions and
&lt;br&gt;- * limitations under the License.
&lt;br&gt;+ *
&lt;br&gt;+ * &amp;nbsp;Unless required by applicable law or agreed to in writing, software
&lt;br&gt;+ * &amp;nbsp;distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,
&lt;br&gt;+ * &amp;nbsp;WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
&lt;br&gt;+ * &amp;nbsp;See the License for the specific language governing permissions and
&lt;br&gt;+ * &amp;nbsp;limitations under the License.
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-
&lt;br&gt;&amp;nbsp;package org.apache.catalina.tribes.util;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;import java.text.MessageFormat;
&lt;br&gt;@@ -23,7 +22,6 @@
&lt;br&gt;&amp;nbsp;import java.util.Locale;
&lt;br&gt;&amp;nbsp;import java.util.MissingResourceException;
&lt;br&gt;&amp;nbsp;import java.util.ResourceBundle;
&lt;br&gt;-import java.net.URLClassLoader;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;/**
&lt;br&gt;&amp;nbsp; * An internationalization / localization helper class which reduces
&lt;br&gt;@@ -44,8 +42,12 @@
&lt;br&gt;&amp;nbsp; * &amp;lt;p&amp;gt;Please see the documentation for java.util.ResourceBundle for
&lt;br&gt;&amp;nbsp; * more information.
&lt;br&gt;&amp;nbsp; *
&lt;br&gt;+ * @version $Revision$ $Date$
&lt;br&gt;+ *
&lt;br&gt;&amp;nbsp; * @author James Duncan Davidson [&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26273869&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;duncan@...&lt;/a&gt;]
&lt;br&gt;&amp;nbsp; * @author James Todd [&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26273869&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gonzo@...&lt;/a&gt;]
&lt;br&gt;+ * @author Mel Martinez [&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26273869&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mmartinez@...&lt;/a&gt;]
&lt;br&gt;+ * @see java.util.ResourceBundle
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;public class StringManager {
&lt;br&gt;@@ -53,11 +55,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The ResourceBundle for this StringManager.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private ResourceBundle bundle;
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static org.apache.juli.logging.Log log=
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;org.apache.juli.logging.LogFactory.getLog( StringManager.class );
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private Locale locale;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Creates a new StringManager for a given package. This is a
&lt;br&gt;@@ -67,60 +66,62 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; *
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param packageName Name of package to create StringManager for.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private StringManager(String packageName) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String bundleName = packageName + &amp;quot;.LocalStrings&amp;quot;;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bundle = ResourceBundle.getBundle(bundleName);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bundle = ResourceBundle.getBundle(bundleName, Locale.getDefault());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch( MissingResourceException ex ) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Try from the current loader ( that's the case for trusted apps )
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ClassLoader cl=Thread.currentThread().getContextClassLoader();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Try from the current loader (that's the case for trusted apps)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Should only be required if using a TC5 style classloader structure
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// where common != shared != server
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ClassLoader cl = Thread.currentThread().getContextClassLoader();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if( cl != null ) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bundle=ResourceBundle.getBundle(bundleName, Locale.getDefault(), cl);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bundle = ResourceBundle.getBundle(
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bundleName, Locale.getDefault(), cl);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch(MissingResourceException ex2) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Ignore
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if( cl==null )
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cl=this.getClass().getClassLoader();
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (log.isDebugEnabled())
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.debug(&amp;quot;Can't find resource &amp;quot; + bundleName +
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot; &amp;quot; + cl);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if( cl instanceof URLClassLoader ) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (log.isDebugEnabled()) 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;log.debug( ((URLClassLoader)cl).getURLs());
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Get the actual locale, which may be different from the requested one
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (bundle != null) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;locale = bundle.getLocale();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * Get a string from the underlying resource bundle.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; *
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param key The resource name
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Get a string from the underlying resource bundle or return
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;null if the String is not found.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@param key to desired resource String
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@return resource String matching &amp;lt;i&amp;gt;key&amp;lt;/i&amp;gt; from underlying
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bundle or null if not found.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@throws IllegalArgumentException if &amp;lt;i&amp;gt;key&amp;lt;/i&amp;gt; is null. &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public String getString(String key) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return MessageFormat.format(getStringInternal(key), (Object [])null);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(key == null){
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String msg = &amp;quot;key may not have a null value&amp;quot;;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected String getStringInternal(String key) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (key == null) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String msg = &amp;quot;key is null&amp;quot;;
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new NullPointerException(msg);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new IllegalArgumentException(msg);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String str = null;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if( bundle==null )
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return key;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;str = bundle.getString(key);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (MissingResourceException mre) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;str = &amp;quot;Cannot find message associated with key '&amp;quot; + key + &amp;quot;'&amp;quot;;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch(MissingResourceException mre) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//bad: shouldn't mask an exception the following way:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// &amp;nbsp; str = &amp;quot;[cannot find message associated with key '&amp;quot; + key + &amp;quot;' due to &amp;quot; + mre + &amp;quot;]&amp;quot;;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// &amp;nbsp; &amp;nbsp; because it hides the fact that the String was missing
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// &amp;nbsp; &amp;nbsp; from the calling code.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//good: could just throw the exception (or wrap it in another)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// &amp;nbsp; &amp;nbsp; &amp;nbsp;but that would probably cause much havoc on existing
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// &amp;nbsp; &amp;nbsp; &amp;nbsp;code.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//better: consistent with container pattern to
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// &amp;nbsp; &amp;nbsp; &amp;nbsp;simply return null. &amp;nbsp;Calling code can then do
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// &amp;nbsp; &amp;nbsp; &amp;nbsp;a null check.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;str = null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return str;
&lt;br&gt;@@ -130,109 +131,26 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Get a string from the underlying resource bundle and format
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * it with the given set of arguments.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; *
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param key The resource name
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param args Formatting directives
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; * @param key
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; * @param args
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public String getString(String key, Object[] args) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String iString = null;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String value = getStringInternal(key);
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// this check for the runtime exception is some pre 1.1.6
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// VM's don't do an automatic toString() on the passed in
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// objects and barf out
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// ensure the arguments are not null so pre 1.2 VM's don't barf
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object nonNullArgs[] = args;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i=0; i&amp;lt;args.length; i++) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (args[i] == null) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (nonNullArgs==args) nonNullArgs = args.clone();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;nonNullArgs[i] = &amp;quot;null&amp;quot;;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;iString = MessageFormat.format(value, nonNullArgs);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (IllegalArgumentException iae) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringBuilder buf = new StringBuilder();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;buf.append(value);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; args.length; i++) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;buf.append(&amp;quot; arg[&amp;quot; + i + &amp;quot;]=&amp;quot; + args[i]);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;iString = buf.toString();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public String getString(final String key, final Object... args) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String value = getString(key);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (value == null) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;value = key;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return iString;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * Get a string from the underlying resource bundle and format it
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * with the given object argument. This argument can of course be
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * a String object.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; *
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param key The resource name
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param arg Formatting directive
&lt;br&gt;- &amp;nbsp; &amp;nbsp; */
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public String getString(String key, Object arg) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object[] args = new Object[] {arg};
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return getString(key, args);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * Get a string from the underlying resource bundle and format it
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * with the given object arguments. These arguments can of course
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * be String objects.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; *
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param key The resource name
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param arg1 Formatting directive
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param arg2 Formatting directive
&lt;br&gt;- &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public String getString(String key, Object arg1, Object arg2) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object[] args = new Object[] {arg1, arg2};
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return getString(key, args);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;MessageFormat mf = new MessageFormat(value);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mf.setLocale(locale);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return mf.format(args, new StringBuffer(), null).toString();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * Get a string from the underlying resource bundle and format it
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * with the given object arguments. These arguments can of course
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * be String objects.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; *
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param key The resource name
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param arg1 Formatting directive
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param arg2 Formatting directive
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param arg3 Formatting directive
&lt;br&gt;- &amp;nbsp; &amp;nbsp; */
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public String getString(String key, Object arg1, Object arg2,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object arg3) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object[] args = new Object[] {arg1, arg2, arg3};
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return getString(key, args);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * Get a string from the underlying resource bundle and format it
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * with the given object arguments. These arguments can of course
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * be String objects.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; *
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param key The resource name
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param arg1 Formatting directive
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param arg2 Formatting directive
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param arg3 Formatting directive
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param arg4 Formatting directive
&lt;br&gt;- &amp;nbsp; &amp;nbsp; */
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public String getString(String key, Object arg1, Object arg2,
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object arg3, Object arg4) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object[] args = new Object[] {arg1, arg2, arg3, arg4};
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return getString(key, args);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// --------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// STATIC SUPPORT METHODS
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// --------------------------------------------------------------
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private static Hashtable&amp;lt;String, StringManager&amp;gt; managers =
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new Hashtable&amp;lt;String,StringManager&amp;gt;();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new Hashtable&amp;lt;String, StringManager&amp;gt;();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Get the StringManager for a particular package. If a manager for
&lt;br&gt;@@ -241,14 +159,13 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; *
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param packageName The package name
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public synchronized static final StringManager getManager(String packageName) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager mgr = managers.get(packageName);
&lt;br&gt;-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (mgr == null) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mgr = new StringManager(packageName);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;managers.put(packageName, mgr);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return mgr;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/naming/StringManager.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/StringManager.java?rev=834238&amp;r1=834237&amp;r2=834238&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/StringManager.java?rev=834238&amp;r1=834237&amp;r2=834238&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/naming/StringManager.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/naming/StringManager.java Mon Nov &amp;nbsp;9 21:18:01 2009
&lt;br&gt;@@ -1,25 +1,25 @@
&lt;br&gt;&amp;nbsp;/*
&lt;br&gt;- * Licensed to the Apache Software Foundation (ASF) under one or more
&lt;br&gt;- * contributor license agreements. &amp;nbsp;See the NOTICE file distributed with
&lt;br&gt;- * this work for additional information regarding copyright ownership.
&lt;br&gt;- * The ASF licenses this file to You under the Apache License, Version 2.0
&lt;br&gt;- * (the &amp;quot;License&amp;quot;); you may not use this file except in compliance with
&lt;br&gt;- * the License. &amp;nbsp;You may obtain a copy of the License at
&lt;br&gt;- * 
&lt;br&gt;+ * &amp;nbsp;Licensed to the Apache Software Foundation (ASF) under one or more
&lt;br&gt;+ * &amp;nbsp;contributor license agreements. &amp;nbsp;See the NOTICE file distributed with
&lt;br&gt;+ * &amp;nbsp;this work for additional information regarding copyright ownership.
&lt;br&gt;+ * &amp;nbsp;The ASF licenses this file to You under the Apache License, Version 2.0
&lt;br&gt;+ * &amp;nbsp;(the &amp;quot;License&amp;quot;); you may not use this file except in compliance with
&lt;br&gt;+ * &amp;nbsp;the License. &amp;nbsp;You may obtain a copy of the License at
&lt;br&gt;+ *
&lt;br&gt;&amp;nbsp; * &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;a href=&quot;http://www.apache.org/licenses/LICENSE-2.0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.apache.org/licenses/LICENSE-2.0&lt;/a&gt;&lt;br&gt;- * 
&lt;br&gt;- * Unless required by applicable law or agreed to in writing, software
&lt;br&gt;- * distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,
&lt;br&gt;- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
&lt;br&gt;- * See the License for the specific language governing permissions and
&lt;br&gt;- * limitations under the License.
&lt;br&gt;- */ 
&lt;br&gt;-
&lt;br&gt;+ *
&lt;br&gt;+ * &amp;nbsp;Unless required by applicable law or agreed to in writing, software
&lt;br&gt;+ * &amp;nbsp;distributed under the License is distributed on an &amp;quot;AS IS&amp;quot; BASIS,
&lt;br&gt;+ * &amp;nbsp;WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
&lt;br&gt;+ * &amp;nbsp;See the License for the specific language governing permissions and
&lt;br&gt;+ * &amp;nbsp;limitations under the License.
&lt;br&gt;+ */
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;package org.apache.naming;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;import java.text.MessageFormat;
&lt;br&gt;&amp;nbsp;import java.util.Hashtable;
&lt;br&gt;+import java.util.Locale;
&lt;br&gt;&amp;nbsp;import java.util.MissingResourceException;
&lt;br&gt;&amp;nbsp;import java.util.ResourceBundle;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;@@ -42,8 +42,12 @@
&lt;br&gt;&amp;nbsp; * &amp;lt;p&amp;gt;Please see the documentation for java.util.ResourceBundle for
&lt;br&gt;&amp;nbsp; * more information.
&lt;br&gt;&amp;nbsp; *
&lt;br&gt;+ * @version $Revision$ $Date$
&lt;br&gt;+ *
&lt;br&gt;&amp;nbsp; * @author James Duncan Davidson [&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26273869&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;duncan@...&lt;/a&gt;]
&lt;br&gt;&amp;nbsp; * @author James Todd [&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26273869&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;gonzo@...&lt;/a&gt;]
&lt;br&gt;+ * @author Mel Martinez [&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26273869&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mmartinez@...&lt;/a&gt;]
&lt;br&gt;+ * @see java.util.ResourceBundle
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;public class StringManager {
&lt;br&gt;@@ -51,8 +55,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The ResourceBundle for this StringManager.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private ResourceBundle bundle;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private Locale locale;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Creates a new StringManager for a given package. This is a
&lt;br&gt;@@ -62,31 +66,62 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; *
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param packageName Name of package to create StringManager for.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private StringManager(String packageName) {
&lt;br&gt;-	String bundleName = packageName + &amp;quot;.LocalStrings&amp;quot;;
&lt;br&gt;-	bundle = ResourceBundle.getBundle(bundleName);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String bundleName = packageName + &amp;quot;.LocalStrings&amp;quot;;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bundle = ResourceBundle.getBundle(bundleName, Locale.getDefault());
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch( MissingResourceException ex ) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Try from the current loader (that's the case for trusted apps)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Should only be required if using a TC5 style classloader structure
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// where common != shared != server
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ClassLoader cl = Thread.currentThread().getContextClassLoader();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if( cl != null ) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bundle = ResourceBundle.getBundle(
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bundleName, Locale.getDefault(), cl);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch(MissingResourceException ex2) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Ignore
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Get the actual locale, which may be different from the requested one
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (bundle != null) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;locale = bundle.getLocale();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * Get a string from the underlying resource bundle.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; *
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param key 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Get a string from the underlying resource bundle or return
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;null if the String is not found.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@param key to desired resource String
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@return resource String matching &amp;lt;i&amp;gt;key&amp;lt;/i&amp;gt; from underlying
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bundle or null if not found.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@throws IllegalArgumentException if &amp;lt;i&amp;gt;key&amp;lt;/i&amp;gt; is null. &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public String getString(String key) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (key == null) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String msg = &amp;quot;key is null&amp;quot;;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if(key == null){
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String msg = &amp;quot;key may not have a null value&amp;quot;;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new NullPointerException(msg);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new IllegalArgumentException(msg);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String str = null;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;str = bundle.getString(key);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (MissingResourceException mre) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;str = &amp;quot;Cannot find message associated with key '&amp;quot; + key + &amp;quot;'&amp;quot;;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;str = bundle.getString(key);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch(MissingResourceException mre) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//bad: shouldn't mask an exception the following way:
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// &amp;nbsp; str = &amp;quot;[cannot find message associated with key '&amp;quot; + key + &amp;quot;' due to &amp;quot; + mre + &amp;quot;]&amp;quot;;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// &amp;nbsp; &amp;nbsp; because it hides the fact that the String was missing
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// &amp;nbsp; &amp;nbsp; from the calling code.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//good: could just throw the exception (or wrap it in another)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// &amp;nbsp; &amp;nbsp; &amp;nbsp;but that would probably cause much havoc on existing
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// &amp;nbsp; &amp;nbsp; &amp;nbsp;code.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//better: consistent with container pattern to
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// &amp;nbsp; &amp;nbsp; &amp;nbsp;simply return null. &amp;nbsp;Calling code can then do
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// &amp;nbsp; &amp;nbsp; &amp;nbsp;a null check.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;str = null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return str;
&lt;br&gt;@@ -99,121 +134,38 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param key
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param args
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public String getString(String key, Object[] args) {
&lt;br&gt;-	String iString = null;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public String getString(final String key, final Object... args) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String value = getString(key);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (value == null) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;value = key;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-	// this check for the runtime exception is some pre 1.1.6
&lt;br&gt;-	// VM's don't do an automatic toString() on the passed in
&lt;br&gt;-	// objects and barf out
&lt;br&gt;-	
&lt;br&gt;-	try {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// ensure the arguments are not null so pre 1.2 VM's don't barf
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object nonNullArgs[] = args;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i=0; i&amp;lt;args.length; i++) {
&lt;br&gt;-		if (args[i] == null) {
&lt;br&gt;-		 &amp;nbsp; &amp;nbsp;if (nonNullArgs==args) nonNullArgs = args.clone();
&lt;br&gt;-		 &amp;nbsp; &amp;nbsp;nonNullArgs[i] = &amp;quot;null&amp;quot;;
&lt;br&gt;-		}
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- 
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;iString = MessageFormat.format(value, nonNullArgs);
&lt;br&gt;-	} catch (IllegalArgumentException iae) {
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;StringBuilder buf = new StringBuilder();
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;buf.append(value);
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; args.length; i++) {
&lt;br&gt;-		buf.append(&amp;quot; arg[&amp;quot; + i + &amp;quot;]=&amp;quot; + args[i]);
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;}
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;iString = buf.toString();
&lt;br&gt;-	}
&lt;br&gt;-	return iString;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * Get a string from the underlying resource bundle and format it
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * with the given object argument. This argument can of course be
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * a String object.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; *
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param key
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param arg
&lt;br&gt;- &amp;nbsp; &amp;nbsp; */
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public String getString(String key, Object arg) {
&lt;br&gt;-	Object[] args = new Object[] {arg};
&lt;br&gt;-	return getString(key, args);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * Get a string from the underlying resource bundle and format it
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * with the given object arguments. These arguments can of course
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * be String objects.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; *
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param key
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param arg1
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param arg2
&lt;br&gt;- &amp;nbsp; &amp;nbsp; */
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public String getString(String key, Object arg1, Object arg2) {
&lt;br&gt;-	Object[] args = new Object[] {arg1, arg2};
&lt;br&gt;-	return getString(key, args);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * Get a string from the underlying resource bundle and format it
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * with the given object arguments. These arguments can of course
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * be String objects.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; *
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param key
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param arg1
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param arg2
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param arg3
&lt;br&gt;- &amp;nbsp; &amp;nbsp; */
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public String getString(String key, Object arg1, Object arg2,
&lt;br&gt;-			 &amp;nbsp; &amp;nbsp;Object arg3) {
&lt;br&gt;-	Object[] args = new Object[] {arg1, arg2, arg3};
&lt;br&gt;-	return getString(key, args);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;MessageFormat mf = new MessageFormat(value);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mf.setLocale(locale);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return mf.format(args, new StringBuffer(), null).toString();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * Get a string from the underlying resource bundle and format it
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * with the given object arguments. These arguments can of course
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * be String objects.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; *
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param key
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param arg1
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param arg2
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param arg3
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param arg4
&lt;br&gt;- &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public String getString(String key, Object arg1, Object arg2,
&lt;br&gt;-			 &amp;nbsp; &amp;nbsp;Object arg3, Object arg4) {
&lt;br&gt;-	Object[] args = new Object[] {arg1, arg2, arg3, arg4};
&lt;br&gt;-	return getString(key, args);
&lt;br&gt;- &amp;nbsp; &amp;nbsp;} &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// --------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// STATIC SUPPORT METHODS
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// --------------------------------------------------------------
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Hashtable&amp;lt;String,StringManager&amp;gt; managers =
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new Hashtable&amp;lt;String,StringManager&amp;gt;();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static Hashtable&amp;lt;String, StringManager&amp;gt; managers =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new Hashtable&amp;lt;String, StringManager&amp;gt;();
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Get the StringManager for a particular package. If a manager for
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * a package already exists, it will be reused, else a new
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * StringManager will be created and returned.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; *
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * @param packageName
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; * @param packageName The package name
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public synchronized static final StringManager getManager(String packageName) {
&lt;br&gt;-	StringManager mgr = managers.get(packageName);
&lt;br&gt;-	if (mgr == null) {
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;mgr = new StringManager(packageName);
&lt;br&gt;-	 &amp;nbsp; &amp;nbsp;managers.put(packageName, mgr);
&lt;br&gt;-	}
&lt;br&gt;-	return mgr;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager mgr = managers.get(packageName);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (mgr == null) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mgr = new StringManager(packageName);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;managers.put(packageName, mgr);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return mgr;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+
&lt;br&gt;&amp;nbsp;}
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/tomcat/util/res/StringManager.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/res/StringManager.java?rev=834238&amp;r1=834237&amp;r2=834238&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/res/StringManager.java?rev=834238&amp;r1=834237&amp;r2=834238&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/tomcat/util/res/StringManager.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/tomcat/util/res/StringManager.java Mon Nov &amp;nbsp;9 21:18:01 2009
&lt;br&gt;@@ -80,6 +80,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bundle = ResourceBundle.getBundle(
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bundleName, Locale.getDefault(), cl);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch(MissingResourceException ex2) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Ignore
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26273869&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26273869&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r834238---in--tomcat-trunk-java-org-apache%3A-catalina-tribes-util-StringManager.java-naming-StringManager.java-tomcat-util-res-StringManager.java-tp26273869p26273869.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26273709</id>
	<title>svn commit: r834233 - in /tomcat/trunk/java/org/apache: catalina/connector/ catalina/core/ catalina/ha/ catalina/ha/session/ catalina/ha/tcp/ catalina/session/ catalina/tribes/membership/ catalina/tribes/transport/ catalina/tribes/transport/nio/ catali...</title>
	<published>2009-11-09T13:06:38Z</published>
	<updated>2009-11-09T13:06:38Z</updated>
	<author>
		<name>Mark Thomas</name>
	</author>
	<content type="html">Author: markt
&lt;br&gt;Date: Mon Nov &amp;nbsp;9 21:06:37 2009
&lt;br&gt;New Revision: 834233
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=834233&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=834233&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;StringManagers should be static final
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/connector/Connector.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/connector/MapperListener.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/core/JasperListener.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/ha/ClusterListener.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/ha/session/JvmRouteBinderValve.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/session/StoreBase.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/tribes/membership/McastService.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/tribes/transport/ReplicationTransmitter.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/valves/AccessLogValve.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/valves/CometConnectionManagerValve.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/valves/JDBCAccessLogValve.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/valves/SemaphoreValve.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/naming/NamingContext.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/naming/SelectorContext.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/naming/resources/BaseDirContext.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/naming/resources/ProxyDirContext.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/connector/Connector.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Connector.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Connector.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/connector/Connector.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/connector/Connector.java Mon Nov &amp;nbsp;9 21:06:37 2009
&lt;br&gt;@@ -187,7 +187,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java Mon Nov &amp;nbsp;9 21:06:37 2009
&lt;br&gt;@@ -106,7 +106,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/connector/MapperListener.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/MapperListener.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/MapperListener.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/connector/MapperListener.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/connector/MapperListener.java Mon Nov &amp;nbsp;9 21:06:37 2009
&lt;br&gt;@@ -76,7 +76,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// It should be null - and fail if not set
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/core/JasperListener.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/JasperListener.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/JasperListener.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/core/JasperListener.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/core/JasperListener.java Mon Nov &amp;nbsp;9 21:06:37 2009
&lt;br&gt;@@ -43,7 +43,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/ha/ClusterListener.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/ClusterListener.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/ClusterListener.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/ha/ClusterListener.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/ha/ClusterListener.java Mon Nov &amp;nbsp;9 21:06:37 2009
&lt;br&gt;@@ -45,7 +45,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected StringManager sm = StringManager.getManager(Constants.Package);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm = StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected CatalinaCluster cluster = null;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/ha/session/JvmRouteBinderValve.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/session/JvmRouteBinderValve.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/session/JvmRouteBinderValve.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/ha/session/JvmRouteBinderValve.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/ha/session/JvmRouteBinderValve.java Mon Nov &amp;nbsp;9 21:06:37 2009
&lt;br&gt;@@ -123,7 +123,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected StringManager sm = StringManager.getManager(Constants.Package);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm = StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Has this component been started yet?
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java Mon Nov &amp;nbsp;9 21:06:37 2009
&lt;br&gt;@@ -119,7 +119,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected StringManager sm = StringManager.getManager(Constants.Package);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm = StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The cluster name to join
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/session/StoreBase.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/StoreBase.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/StoreBase.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/session/StoreBase.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/session/StoreBase.java Mon Nov &amp;nbsp;9 21:06:37 2009
&lt;br&gt;@@ -70,7 +70,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected StringManager sm = StringManager.getManager(Constants.Package);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm = StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The Manager with which this JDBCStore is associated.
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/tribes/membership/McastService.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/membership/McastService.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/membership/McastService.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/tribes/membership/McastService.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/tribes/membership/McastService.java Mon Nov &amp;nbsp;9 21:06:37 2009
&lt;br&gt;@@ -52,7 +52,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected StringManager sm = StringManager.getManager(Constants.Package);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm = StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The descriptive information about this implementation.
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/ReplicationTransmitter.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/ReplicationTransmitter.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/ReplicationTransmitter.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/tribes/transport/ReplicationTransmitter.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/tribes/transport/ReplicationTransmitter.java Mon Nov &amp;nbsp;9 21:06:37 2009
&lt;br&gt;@@ -42,7 +42,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected StringManager sm = StringManager.getManager(Constants.Package);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm = StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java Mon Nov &amp;nbsp;9 21:06:37 2009
&lt;br&gt;@@ -51,7 +51,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected StringManager sm = StringManager.getManager(Constants.Package);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm = StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The descriptive information about this implementation.
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/valves/AccessLogValve.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/AccessLogValve.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/AccessLogValve.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/valves/AccessLogValve.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/valves/AccessLogValve.java Mon Nov &amp;nbsp;9 21:06:37 2009
&lt;br&gt;@@ -199,7 +199,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/valves/CometConnectionManagerValve.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/CometConnectionManagerValve.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/CometConnectionManagerValve.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/valves/CometConnectionManagerValve.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/valves/CometConnectionManagerValve.java Mon Nov &amp;nbsp;9 21:06:37 2009
&lt;br&gt;@@ -77,7 +77,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/valves/JDBCAccessLogValve.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/JDBCAccessLogValve.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/JDBCAccessLogValve.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/valves/JDBCAccessLogValve.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/valves/JDBCAccessLogValve.java Mon Nov &amp;nbsp;9 21:06:37 2009
&lt;br&gt;@@ -230,7 +230,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private StringManager sm = StringManager.getManager(Constants.Package);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final StringManager sm = StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/valves/SemaphoreValve.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/SemaphoreValve.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/SemaphoreValve.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/valves/SemaphoreValve.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/valves/SemaphoreValve.java Mon Nov &amp;nbsp;9 21:06:37 2009
&lt;br&gt;@@ -65,7 +65,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/naming/NamingContext.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/NamingContext.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/NamingContext.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/naming/NamingContext.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/naming/NamingContext.java Mon Nov &amp;nbsp;9 21:06:37 2009
&lt;br&gt;@@ -108,7 +108,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected StringManager sm = StringManager.getManager(Constants.Package);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm = StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/naming/SelectorContext.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/SelectorContext.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/SelectorContext.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/naming/SelectorContext.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/naming/SelectorContext.java Mon Nov &amp;nbsp;9 21:06:37 2009
&lt;br&gt;@@ -95,7 +95,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected StringManager sm = StringManager.getManager(Constants.Package);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm = StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/naming/resources/BaseDirContext.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/resources/BaseDirContext.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/resources/BaseDirContext.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/naming/resources/BaseDirContext.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/naming/resources/BaseDirContext.java Mon Nov &amp;nbsp;9 21:06:37 2009
&lt;br&gt;@@ -91,7 +91,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected StringManager sm = StringManager.getManager(Constants.Package);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm = StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/naming/resources/ProxyDirContext.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/resources/ProxyDirContext.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/resources/ProxyDirContext.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/naming/resources/ProxyDirContext.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/naming/resources/ProxyDirContext.java Mon Nov &amp;nbsp;9 21:06:37 2009
&lt;br&gt;@@ -134,7 +134,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected StringManager sm = StringManager.getManager(Constants.Package);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm = StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java?rev=834233&amp;r1=834232&amp;r2=834233&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java Mon Nov &amp;nbsp;9 21:06:37 2009
&lt;br&gt;@@ -39,7 +39,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(AbstractEndpoint.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// -------------------------------------------------------------- Constants
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected StringManager sm = StringManager.getManager(&amp;quot;org.apache.tomcat.util.net.res&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm = StringManager.getManager(&amp;quot;org.apache.tomcat.util.net.res&amp;quot;);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The Request attribute key for the cipher suite.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26273709&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26273709&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r834233---in--tomcat-trunk-java-org-apache%3A-catalina-connector--catalina-core--catalina-ha--catalina-ha-session--catalina-ha-tcp--catalina-session--catalina-tribes-membership--catalina-tribes-transport--catalina-tribes-transport-nio--catali...-tp26273709p26273709.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26273616</id>
	<title>svn commit: r834229 - in /tomcat/trunk: java/org/apache/catalina/authenticator/ java/org/apache/catalina/connector/ java/org/apache/catalina/core/ java/org/apache/catalina/ha/session/ java/org/apache/catalina/ha/tcp/ java/org/apache/catalina/manager/ j...</title>
	<published>2009-11-09T13:00:26Z</published>
	<updated>2009-11-09T13:00:26Z</updated>
	<author>
		<name>Mark Thomas</name>
	</author>
	<content type="html">Author: markt
&lt;br&gt;Date: Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;New Revision: 834229
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=834229&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=834229&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;StringManagers should be final
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/authenticator/SingleSignOn.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/connector/CometEventImpl.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/connector/InputBuffer.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/connector/Request.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/connector/RequestFacade.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/connector/Response.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/connector/ResponseFacade.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterConfig.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/core/ApplicationHttpRequest.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/core/ApplicationHttpResponse.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/core/ApplicationRequest.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/core/ApplicationResponse.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/core/AprLifecycleListener.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/core/ContainerBase.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/core/NamingContextListener.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/core/StandardPipeline.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/ha/session/DeltaRequest.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/ha/session/DeltaSession.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/ha/session/SerializablePrincipal.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/ha/tcp/ReplicationValve.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/manager/ManagerServlet.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/manager/StatusManagerServlet.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/manager/host/HostManagerServlet.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/realm/CombinedRealm.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/realm/JAASMemoryLoginModule.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/realm/MemoryRealm.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/realm/UserDatabaseRealm.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/servlets/DefaultServlet.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/session/ManagerBase.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/session/StandardSession.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/startup/Embedded.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/BioSender.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/tribes/util/StringManager.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/util/ExtensionValidator.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/util/HexUtils.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/valves/RemoteIpValve.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/valves/RequestFilterValve.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/valves/ValveBase.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/coyote/ajp/AjpMessage.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/coyote/ajp/AjpProtocol.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/coyote/http11/AbstractInputBuffer.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/coyote/http11/AbstractOutputBuffer.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/coyote/http11/InternalAprInputBuffer.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/coyote/http11/InternalAprOutputBuffer.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/naming/ContextBindings.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/naming/StringManager.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/tomcat/util/http/HttpMessages.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/tomcat/util/res/StringManager.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/modules/tomcat-lite/test/org/apache/tomcat/lite/HexDump.java
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/authenticator/SingleSignOn.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/SingleSignOn.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/SingleSignOn.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/authenticator/SingleSignOn.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/authenticator/SingleSignOn.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -111,7 +111,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected final static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/connector/CometEventImpl.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/CometEventImpl.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/CometEventImpl.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/connector/CometEventImpl.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/connector/CometEventImpl.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -33,7 +33,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/connector/InputBuffer.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/InputBuffer.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/InputBuffer.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/connector/InputBuffer.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/connector/InputBuffer.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -48,7 +48,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/connector/Request.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Request.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Request.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/connector/Request.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/connector/Request.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -145,7 +145,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/connector/RequestFacade.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/RequestFacade.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/RequestFacade.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/connector/RequestFacade.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/connector/RequestFacade.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -235,7 +235,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/connector/Response.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Response.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Response.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/connector/Response.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/connector/Response.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -93,7 +93,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/connector/ResponseFacade.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/ResponseFacade.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/ResponseFacade.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/connector/ResponseFacade.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/connector/ResponseFacade.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -108,7 +108,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterConfig.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterConfig.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterConfig.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterConfig.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterConfig.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -58,7 +58,7 @@
&lt;br&gt;&amp;nbsp;public final class ApplicationFilterConfig implements FilterConfig, Serializable {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private static org.apache.juli.logging.Log log =
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationHttpRequest.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationHttpRequest.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationHttpRequest.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/core/ApplicationHttpRequest.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/core/ApplicationHttpRequest.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -79,7 +79,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationHttpResponse.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationHttpResponse.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationHttpResponse.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/core/ApplicationHttpResponse.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/core/ApplicationHttpResponse.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -99,7 +99,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationRequest.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationRequest.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationRequest.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/core/ApplicationRequest.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/core/ApplicationRequest.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -93,7 +93,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationResponse.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationResponse.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationResponse.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/core/ApplicationResponse.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/core/ApplicationResponse.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -89,7 +89,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/core/AprLifecycleListener.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/AprLifecycleListener.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/AprLifecycleListener.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/core/AprLifecycleListener.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/core/AprLifecycleListener.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -49,7 +49,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/core/ContainerBase.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ContainerBase.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ContainerBase.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/core/ContainerBase.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/core/ContainerBase.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -247,7 +247,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/core/NamingContextListener.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/NamingContextListener.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/NamingContextListener.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/core/NamingContextListener.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/core/NamingContextListener.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -142,7 +142,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/core/StandardPipeline.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardPipeline.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardPipeline.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/core/StandardPipeline.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/core/StandardPipeline.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -114,7 +114,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/ha/session/DeltaManager.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -73,7 +73,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm = StringManager.getManager(Constants.Package);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm = StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// ----------------------------------------------------- Instance Variables
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/ha/session/DeltaRequest.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/session/DeltaRequest.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/session/DeltaRequest.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/ha/session/DeltaRequest.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/ha/session/DeltaRequest.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -46,7 +46,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm = StringManager
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm = StringManager
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public static final int TYPE_ATTRIBUTE = 0;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/ha/session/DeltaSession.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/session/DeltaSession.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/session/DeltaSession.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/ha/session/DeltaSession.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/ha/session/DeltaSession.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -67,7 +67,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm = StringManager.getManager(Constants.Package);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm = StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// ----------------------------------------------------- Instance Variables
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/ha/session/SerializablePrincipal.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/session/SerializablePrincipal.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/session/SerializablePrincipal.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/ha/session/SerializablePrincipal.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/ha/session/SerializablePrincipal.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -50,7 +50,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// ----------------------------------------------------------- Constructors
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/ha/tcp/ReplicationValve.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/tcp/ReplicationValve.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/tcp/ReplicationValve.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/ha/tcp/ReplicationValve.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/ha/tcp/ReplicationValve.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -78,7 +78,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The StringManager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private CatalinaCluster cluster = null ;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/manager/ManagerServlet.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/manager/ManagerServlet.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/manager/ManagerServlet.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/manager/ManagerServlet.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/manager/ManagerServlet.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -233,7 +233,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/manager/StatusManagerServlet.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/manager/StatusManagerServlet.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/manager/StatusManagerServlet.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/manager/StatusManagerServlet.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/manager/StatusManagerServlet.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -88,7 +88,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/manager/host/HostManagerServlet.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/manager/host/HostManagerServlet.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/manager/host/HostManagerServlet.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/manager/host/HostManagerServlet.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/manager/host/HostManagerServlet.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -138,7 +138,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/realm/CombinedRealm.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/CombinedRealm.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/CombinedRealm.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/realm/CombinedRealm.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/realm/CombinedRealm.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -46,7 +46,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/realm/JAASMemoryLoginModule.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/JAASMemoryLoginModule.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/JAASMemoryLoginModule.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/realm/JAASMemoryLoginModule.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/realm/JAASMemoryLoginModule.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -118,7 +118,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/realm/MemoryRealm.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/MemoryRealm.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/MemoryRealm.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/realm/MemoryRealm.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/realm/MemoryRealm.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -89,7 +89,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -137,7 +137,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/realm/UserDatabaseRealm.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/UserDatabaseRealm.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/UserDatabaseRealm.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/realm/UserDatabaseRealm.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/realm/UserDatabaseRealm.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -84,7 +84,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/servlets/DefaultServlet.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/servlets/DefaultServlet.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/servlets/DefaultServlet.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/servlets/DefaultServlet.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/servlets/DefaultServlet.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -197,7 +197,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/session/ManagerBase.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/ManagerBase.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/ManagerBase.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/session/ManagerBase.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/session/ManagerBase.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -209,7 +209,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/session/StandardSession.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/StandardSession.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/StandardSession.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/session/StandardSession.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/session/StandardSession.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -242,7 +242,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/startup/Embedded.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/Embedded.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/Embedded.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/startup/Embedded.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/startup/Embedded.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -183,7 +183,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/BioSender.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/BioSender.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/BioSender.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/BioSender.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/tribes/transport/bio/BioSender.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -48,7 +48,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm = StringManager.getManager(Constants.Package);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm = StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// ----------------------------------------------------- Instance Variables
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/tribes/util/StringManager.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/util/StringManager.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/util/StringManager.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/tribes/util/StringManager.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/tribes/util/StringManager.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -242,7 +242,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param packageName The package name
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public synchronized static StringManager getManager(String packageName) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public synchronized static final StringManager getManager(String packageName) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager mgr = managers.get(packageName);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (mgr == null) {
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -132,7 +132,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/util/ExtensionValidator.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/util/ExtensionValidator.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/util/ExtensionValidator.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/util/ExtensionValidator.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/util/ExtensionValidator.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -59,7 +59,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string resources for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(&amp;quot;org.apache.catalina.util&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private static ArrayList&amp;lt;Extension&amp;gt; containerAvailableExtensions = null;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/util/HexUtils.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/util/HexUtils.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/util/HexUtils.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/util/HexUtils.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/util/HexUtils.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -57,7 +57,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(&amp;quot;org.apache.catalina.util&amp;quot;);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/valves/ErrorReportValve.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -69,7 +69,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The StringManager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/valves/RemoteIpValve.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/RemoteIpValve.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/RemoteIpValve.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/valves/RemoteIpValve.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/valves/RemoteIpValve.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -352,7 +352,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The StringManager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm = StringManager.getManager(Constants.Package);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm = StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Convert a given comma delimited list of regular expressions into an array of compiled {@link Pattern}
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/valves/RequestFilterValve.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/RequestFilterValve.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/RequestFilterValve.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/valves/RequestFilterValve.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/valves/RequestFilterValve.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -86,7 +86,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The StringManager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/valves/ValveBase.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/ValveBase.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/ValveBase.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/valves/ValveBase.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/valves/ValveBase.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -104,7 +104,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected final static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProcessor.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -67,7 +67,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -60,7 +60,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpMessage.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpMessage.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpMessage.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/coyote/ajp/AjpMessage.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpMessage.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -44,7 +44,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpProcessor.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -67,7 +67,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpProtocol.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpProtocol.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpProtocol.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/coyote/ajp/AjpProtocol.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/coyote/ajp/AjpProtocol.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -61,7 +61,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -39,7 +39,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected static boolean isSecurityEnabled = 
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/coyote/http11/AbstractInputBuffer.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/AbstractInputBuffer.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/AbstractInputBuffer.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/coyote/http11/AbstractInputBuffer.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/coyote/http11/AbstractInputBuffer.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -47,7 +47,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/coyote/http11/AbstractOutputBuffer.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/AbstractOutputBuffer.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/AbstractOutputBuffer.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/coyote/http11/AbstractOutputBuffer.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/coyote/http11/AbstractOutputBuffer.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -101,7 +101,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// ------------------------------------------------------------- Properties
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -75,7 +75,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -59,7 +59,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public Http11AprProtocol() {
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -69,7 +69,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/** Pass config info
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -63,7 +63,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/coyote/http11/InternalAprInputBuffer.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/InternalAprInputBuffer.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/InternalAprInputBuffer.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/coyote/http11/InternalAprInputBuffer.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/coyote/http11/InternalAprInputBuffer.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -81,7 +81,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/coyote/http11/InternalAprOutputBuffer.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/InternalAprOutputBuffer.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/InternalAprOutputBuffer.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/coyote/http11/InternalAprOutputBuffer.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/coyote/http11/InternalAprOutputBuffer.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -91,7 +91,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/naming/ContextBindings.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/ContextBindings.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/ContextBindings.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/naming/ContextBindings.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/naming/ContextBindings.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -77,7 +77,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm = 
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm = 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(Constants.Package);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/naming/StringManager.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/StringManager.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/StringManager.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/naming/StringManager.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/naming/StringManager.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -208,7 +208,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param packageName
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public synchronized static StringManager getManager(String packageName) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public synchronized static final StringManager getManager(String packageName) {
&lt;br&gt;&amp;nbsp;	StringManager mgr = managers.get(packageName);
&lt;br&gt;&amp;nbsp;	if (mgr == null) {
&lt;br&gt;&amp;nbsp;	 &amp;nbsp; &amp;nbsp;mgr = new StringManager(packageName);
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/tomcat/util/http/HttpMessages.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/HttpMessages.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/HttpMessages.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/tomcat/util/http/HttpMessages.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/tomcat/util/http/HttpMessages.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -30,7 +30,7 @@
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;public class HttpMessages {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// XXX move message resources in this package
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(&amp;quot;org.apache.tomcat.util.http.res&amp;quot;);
&lt;br&gt;&amp;nbsp;	
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;static String st_200=null;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/tomcat/util/net/jsse/JSSESocketFactory.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -80,7 +80,7 @@
&lt;br&gt;&amp;nbsp;public class JSSESocketFactory
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;extends org.apache.tomcat.util.net.ServerSocketFactory {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static StringManager sm =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final StringManager sm =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager.getManager(&amp;quot;org.apache.tomcat.util.net.jsse.res&amp;quot;);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// defaults
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/tomcat/util/res/StringManager.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/res/StringManager.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/res/StringManager.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/tomcat/util/res/StringManager.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/tomcat/util/res/StringManager.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -158,7 +158,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; *
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param packageName The package name
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public synchronized static StringManager getManager(String packageName) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public synchronized static final StringManager getManager(String packageName) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;StringManager mgr = managers.get(packageName);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (mgr == null) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mgr = new StringManager(packageName);
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/modules/tomcat-lite/test/org/apache/tomcat/lite/HexDump.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/modules/tomcat-lite/test/org/apache/tomcat/lite/HexDump.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/modules/tomcat-lite/test/org/apache/tomcat/lite/HexDump.java?rev=834229&amp;r1=834228&amp;r2=834229&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/modules/tomcat-lite/test/org/apache/tomcat/lite/HexDump.java (original)
&lt;br&gt;+++ tomcat/trunk/modules/tomcat-lite/test/org/apache/tomcat/lite/HexDump.java Mon Nov &amp;nbsp;9 21:00:22 2009
&lt;br&gt;@@ -33,7 +33,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// -------------------------------------------------------------- Constants
&lt;br&gt;- &amp;nbsp; &amp;nbsp;static StringManager sm;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;static final StringManager sm;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * &amp;nbsp;Table for HEX to DEC byte translation.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26273616&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26273616&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r834229---in--tomcat-trunk%3A-java-org-apache-catalina-authenticator--java-org-apache-catalina-connector--java-org-apache-catalina-core--java-org-apache-catalina-ha-session--java-org-apache-catalina-ha-tcp--java-org-apache-catalina-manager--j...-tp26273616p26273616.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26273485</id>
	<title>svn commit: r834227 - /tomcat/trunk/java/org/apache/catalina/util/Base64.java</title>
	<published>2009-11-09T12:52:49Z</published>
	<updated>2009-11-09T12:52:49Z</updated>
	<author>
		<name>Mark Thomas</name>
	</author>
	<content type="html">Author: markt
&lt;br&gt;Date: Mon Nov &amp;nbsp;9 20:52:49 2009
&lt;br&gt;New Revision: 834227
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=834227&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=834227&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;Unused code
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/util/Base64.java
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/util/Base64.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/util/Base64.java?rev=834227&amp;r1=834226&amp;r2=834227&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/util/Base64.java?rev=834227&amp;r1=834226&amp;r2=834227&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/util/Base64.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/util/Base64.java Mon Nov &amp;nbsp;9 20:52:49 2009
&lt;br&gt;@@ -42,7 +42,6 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;static private final byte PAD &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= (byte) '=';
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;static private byte [] base64Alphabet &amp;nbsp; &amp;nbsp; &amp;nbsp; = new byte[BASELENGTH];
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;static private byte [] lookUpBase64Alphabet = new byte[LOOKUPLENGTH];
&lt;br&gt;- &amp;nbsp; &amp;nbsp;//static private final Log log = LogSource.getInstance(&amp;quot;org.apache.commons.util.Base64&amp;quot;);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;static
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26273485&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26273485&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r834227----tomcat-trunk-java-org-apache-catalina-util-Base64.java-tp26273485p26273485.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26273470</id>
	<title>svn commit: r834226 - in /tomcat/trunk: java/org/apache/catalina/authenticator/ java/org/apache/catalina/connector/ java/org/apache/catalina/core/ java/org/apache/catalina/filters/ java/org/apache/catalina/ha/backend/ java/org/apache/catalina/ha/jmx/ j...</title>
	<published>2009-11-09T12:51:21Z</published>
	<updated>2009-11-09T12:51:21Z</updated>
	<author>
		<name>Mark Thomas</name>
	</author>
	<content type="html">Author: markt
&lt;br&gt;Date: Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;New Revision: 834226
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=834226&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=834226&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;Loggers should be final
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/authenticator/AuthenticatorBase.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/authenticator/DigestAuthenticator.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/connector/Connector.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/connector/MapperListener.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/core/ApplicationDispatcher.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/core/AprLifecycleListener.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/core/JasperListener.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/core/NamingContextListener.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/core/StandardContext.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/core/StandardEngine.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/core/StandardHostValve.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/core/StandardPipeline.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/core/StandardServer.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/core/StandardService.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/filters/RemoteAddrFilter.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/filters/RemoteHostFilter.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/filters/RemoteIpFilter.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/filters/RequestDumperFilter.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/ha/backend/HeartbeatListener.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/ha/backend/MultiCastSender.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/ha/backend/TcpSender.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/ha/jmx/ClusterJmxHelper.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/mbeans/GlobalResourcesLifecycleListener.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/mbeans/JmxRemoteLifecycleListener.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/mbeans/ServerLifecycleListener.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/realm/CombinedRealm.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/realm/JAASMemoryLoginModule.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/realm/JAASRealm.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/realm/LockOutRealm.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/realm/MemoryRealm.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/session/PersistentManagerBase.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/startup/Bootstrap.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/startup/ClassLoaderFactory.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/startup/ClusterRuleSetFactory.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/startup/ConnectorCreateRule.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/startup/Embedded.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/startup/ExpandWar.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/startup/Tool.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/tribes/io/BufferPool.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/tribes/util/Arrays.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/valves/AccessLogValve.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/valves/ExtendedAccessLogValve.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/valves/RemoteIpValve.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/valves/ValveBase.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/jasper/EmbeddedServletOptions.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/jasper/JspC.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/jasper/compiler/JspConfig.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/jasper/compiler/JspReader.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/jasper/compiler/JspRuntimeContext.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/jasper/runtime/JspFactoryImpl.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/jasper/runtime/TagHandlerPool.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/jasper/servlet/JspServlet.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/jasper/servlet/JspServletWrapper.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/tomcat/util/digester/GenericParser.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/tomcat/util/digester/XercesParser.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/tomcat/util/modeler/BaseModelMBean.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/tomcat/util/modeler/Registry.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsDOMSource.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsDigesterSource.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsIntrospectionSource.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsSerSource.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansSource.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/tomcat/util/net/NioBlockingSelector.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/tomcat/util/net/NioSelectorPool.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/modules/bayeux/java/org/apache/tomcat/bayeux/BayeuxServlet.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/modules/bayeux/java/org/apache/tomcat/bayeux/ChannelImpl.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/modules/bayeux/java/org/apache/tomcat/bayeux/ClientImpl.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/modules/bayeux/java/org/apache/tomcat/bayeux/RequestBase.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/DataSourceFactory.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/DataSourceProxy.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PoolProperties.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PooledConnection.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/AbstractQueryReport.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/ConnectionState.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReportJmx.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/StatementFinalizer.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/jmx/ConnectionPool.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/test/org/apache/catalina/tribes/demos/LoadTest.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/webapps/examples/WEB-INF/classes/async/Async0.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/webapps/examples/WEB-INF/classes/async/Async1.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/webapps/examples/WEB-INF/classes/async/Async2.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/webapps/examples/WEB-INF/classes/async/Async3.java
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/authenticator/AuthenticatorBase.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/AuthenticatorBase.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/AuthenticatorBase.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/authenticator/AuthenticatorBase.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/authenticator/AuthenticatorBase.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -77,7 +77,7 @@
&lt;br&gt;&amp;nbsp;public abstract class AuthenticatorBase
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;extends ValveBase
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;implements Authenticator, Lifecycle {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(AuthenticatorBase.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(AuthenticatorBase.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;//------------------------------------------------------ Constructor
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -47,7 +47,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;public class BasicAuthenticator
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;extends AuthenticatorBase {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(BasicAuthenticator.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(BasicAuthenticator.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/authenticator/DigestAuthenticator.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/DigestAuthenticator.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/DigestAuthenticator.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/authenticator/DigestAuthenticator.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/authenticator/DigestAuthenticator.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -49,7 +49,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;public class DigestAuthenticator
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;extends AuthenticatorBase {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(DigestAuthenticator.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(DigestAuthenticator.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// -------------------------------------------------------------- Constants
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -56,7 +56,7 @@
&lt;br&gt;&amp;nbsp;public class FormAuthenticator
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;extends AuthenticatorBase {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(FormAuthenticator.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(FormAuthenticator.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// ----------------------------------------------------- Instance Variables
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/connector/Connector.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Connector.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Connector.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/connector/Connector.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/connector/Connector.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -56,7 +56,7 @@
&lt;br&gt;&amp;nbsp;public class Connector
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;implements Lifecycle, MBeanRegistration
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(Connector.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(Connector.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -57,7 +57,7 @@
&lt;br&gt;&amp;nbsp;public class CoyoteAdapter
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;implements Adapter 
&lt;br&gt;&amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(CoyoteAdapter.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(CoyoteAdapter.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// -------------------------------------------------------------- Constants
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/connector/MapperListener.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/MapperListener.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/MapperListener.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/connector/MapperListener.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/connector/MapperListener.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -53,7 +53,7 @@
&lt;br&gt;&amp;nbsp; {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(MapperListener.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(MapperListener.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// ----------------------------------------------------- Instance Variables
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationDispatcher.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationDispatcher.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationDispatcher.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/core/ApplicationDispatcher.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/core/ApplicationDispatcher.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -68,7 +68,7 @@
&lt;br&gt;&amp;nbsp;final class ApplicationDispatcher
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;implements RequestDispatcher {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(ApplicationDispatcher.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(ApplicationDispatcher.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected class PrivilegedForward
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;implements PrivilegedExceptionAction&amp;lt;Void&amp;gt; {
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/core/AprLifecycleListener.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/AprLifecycleListener.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/AprLifecycleListener.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/core/AprLifecycleListener.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/core/AprLifecycleListener.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -44,7 +44,7 @@
&lt;br&gt;&amp;nbsp;public class AprLifecycleListener
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;implements LifecycleListener {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(AprLifecycleListener.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(AprLifecycleListener.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -51,7 +51,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;NOT_STARTED, STARTED, DISPATCHING, DISPATCHED, COMPLETING, TIMING_OUT, ERROR_DISPATCHING
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(AsyncContextImpl.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(AsyncContextImpl.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private ServletRequest servletRequest = null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private ServletResponse servletResponse = null;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/core/JasperListener.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/JasperListener.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/JasperListener.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/core/JasperListener.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/core/JasperListener.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -38,7 +38,7 @@
&lt;br&gt;&amp;nbsp;public class JasperListener
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;implements LifecycleListener {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(JasperListener.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(JasperListener.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/core/NamingContextListener.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/NamingContextListener.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/NamingContextListener.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/core/NamingContextListener.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/core/NamingContextListener.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -81,7 +81,7 @@
&lt;br&gt;&amp;nbsp;public class NamingContextListener
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;implements LifecycleListener, ContainerListener, PropertyChangeListener {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(NamingContextListener.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(NamingContextListener.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// ----------------------------------------------------- Instance Variables
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContext.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardContext.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardContext.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/core/StandardContext.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/core/StandardContext.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -117,7 +117,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;extends ContainerBase
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;implements Context, NotificationEmitter
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(StandardContext.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(StandardContext.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// ----------------------------------------------------------- Constructors
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/core/StandardEngine.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardEngine.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardEngine.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/core/StandardEngine.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/core/StandardEngine.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -53,7 +53,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;extends ContainerBase
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;implements Engine {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(StandardEngine.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(StandardEngine.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// ----------------------------------------------------------- Constructors
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/core/StandardHostValve.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardHostValve.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardHostValve.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/core/StandardHostValve.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/core/StandardHostValve.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -57,7 +57,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;extends ValveBase {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(StandardHostValve.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(StandardHostValve.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;//------------------------------------------------------ Constructor
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public StandardHostValve() {
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/core/StandardPipeline.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardPipeline.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardPipeline.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/core/StandardPipeline.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/core/StandardPipeline.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -55,7 +55,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;implements Pipeline, Contained, Lifecycle 
&lt;br&gt;&amp;nbsp; {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(StandardPipeline.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(StandardPipeline.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// ----------------------------------------------------------- Constructors
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/core/StandardServer.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardServer.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardServer.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/core/StandardServer.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/core/StandardServer.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -60,7 +60,7 @@
&lt;br&gt;&amp;nbsp;public final class StandardServer
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;implements Lifecycle, Server, MBeanRegistration 
&lt;br&gt;&amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(StandardServer.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(StandardServer.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// ------------------------------------------------------------ Constructor
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/core/StandardService.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardService.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardService.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/core/StandardService.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/core/StandardService.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -52,7 +52,7 @@
&lt;br&gt;&amp;nbsp;public class StandardService
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;implements Lifecycle, Service, MBeanRegistration 
&lt;br&gt;&amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(StandardService.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(StandardService.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// ----------------------------------------------------- Instance Variables
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/filters/RemoteAddrFilter.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/filters/RemoteAddrFilter.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/filters/RemoteAddrFilter.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/filters/RemoteAddrFilter.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/filters/RemoteAddrFilter.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -44,7 +44,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;extends RequestFilter {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// ----------------------------------------------------- Instance Variables
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(RemoteAddrFilter.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(RemoteAddrFilter.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// ------------------------------------------------------------- Properties
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/filters/RemoteHostFilter.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/filters/RemoteHostFilter.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/filters/RemoteHostFilter.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/filters/RemoteHostFilter.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/filters/RemoteHostFilter.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -45,7 +45,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// ----------------------------------------------------- Instance Variables
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(RemoteHostFilter.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(RemoteHostFilter.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// ------------------------------------------------------------- Properties
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/filters/RemoteIpFilter.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/filters/RemoteIpFilter.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/filters/RemoteIpFilter.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/filters/RemoteIpFilter.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/filters/RemoteIpFilter.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -581,7 +581,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Logger
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(RemoteIpFilter.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(RemoteIpFilter.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected static final String PROTOCOL_HEADER_PARAMETER = &amp;quot;protocolHeader&amp;quot;;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/filters/RequestDumperFilter.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/filters/RequestDumperFilter.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/filters/RequestDumperFilter.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/filters/RequestDumperFilter.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/filters/RequestDumperFilter.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -68,7 +68,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The logger for this class.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(RequestDumperFilter.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(RequestDumperFilter.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/ha/backend/HeartbeatListener.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/backend/HeartbeatListener.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/backend/HeartbeatListener.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/ha/backend/HeartbeatListener.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/ha/backend/HeartbeatListener.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -36,7 +36,7 @@
&lt;br&gt;&amp;nbsp;public class HeartbeatListener
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;implements LifecycleListener, ContainerListener {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(HeartbeatListener.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(HeartbeatListener.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/* To allow to select the connector */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;int port = 0;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/ha/backend/MultiCastSender.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/backend/MultiCastSender.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/backend/MultiCastSender.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/ha/backend/MultiCastSender.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/ha/backend/MultiCastSender.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -33,7 +33,7 @@
&lt;br&gt;&amp;nbsp;public class MultiCastSender
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;implements Sender {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(HeartbeatListener.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(HeartbeatListener.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;HeartbeatListener config = null;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/ha/backend/TcpSender.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/backend/TcpSender.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/backend/TcpSender.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/ha/backend/TcpSender.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/ha/backend/TcpSender.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -37,7 +37,7 @@
&lt;br&gt;&amp;nbsp;public class TcpSender
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;implements Sender {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(HeartbeatListener.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(HeartbeatListener.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;HeartbeatListener config = null;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/ha/jmx/ClusterJmxHelper.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/jmx/ClusterJmxHelper.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/jmx/ClusterJmxHelper.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/ha/jmx/ClusterJmxHelper.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/ha/jmx/ClusterJmxHelper.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -39,7 +39,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected static Registry registry = Registry.getRegistry(null,null);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(ClusterJmxHelper.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(ClusterJmxHelper.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected static boolean jmxEnabled = true;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/ha/tcp/SimpleTcpCluster.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -76,7 +76,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;implements CatalinaCluster, Lifecycle, LifecycleListener, IDynamicProperty,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MembershipListener, ChannelListener{
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public static Log log = LogFactory.getLog(SimpleTcpCluster.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public static final Log log = LogFactory.getLog(SimpleTcpCluster.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// ----------------------------------------------------- Instance Variables
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/mbeans/GlobalResourcesLifecycleListener.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/mbeans/GlobalResourcesLifecycleListener.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/mbeans/GlobalResourcesLifecycleListener.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/mbeans/GlobalResourcesLifecycleListener.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/mbeans/GlobalResourcesLifecycleListener.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -49,7 +49,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;public class GlobalResourcesLifecycleListener
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;implements LifecycleListener {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(GlobalResourcesLifecycleListener.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(GlobalResourcesLifecycleListener.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// ----------------------------------------------------- Instance Variables
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/mbeans/JmxRemoteLifecycleListener.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/mbeans/JmxRemoteLifecycleListener.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/mbeans/JmxRemoteLifecycleListener.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/mbeans/JmxRemoteLifecycleListener.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/mbeans/JmxRemoteLifecycleListener.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -52,7 +52,7 @@
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;public class JmxRemoteLifecycleListener implements LifecycleListener {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;LogFactory.getLog(JmxRemoteLifecycleListener.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/mbeans/ServerLifecycleListener.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/mbeans/ServerLifecycleListener.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/mbeans/ServerLifecycleListener.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/mbeans/ServerLifecycleListener.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/mbeans/ServerLifecycleListener.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -64,7 +64,7 @@
&lt;br&gt;&amp;nbsp;public class ServerLifecycleListener
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;implements ContainerListener, LifecycleListener, PropertyChangeListener {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(ServerLifecycleListener.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(ServerLifecycleListener.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// ------------------------------------------------------------- Properties
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/realm/CombinedRealm.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/CombinedRealm.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/CombinedRealm.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/realm/CombinedRealm.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/realm/CombinedRealm.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -41,7 +41,7 @@
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;public class CombinedRealm extends RealmBase {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(CombinedRealm.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(CombinedRealm.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string manager for this package.
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/realm/JAASMemoryLoginModule.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/JAASMemoryLoginModule.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/JAASMemoryLoginModule.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/realm/JAASMemoryLoginModule.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/realm/JAASMemoryLoginModule.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -79,7 +79,7 @@
&lt;br&gt;&amp;nbsp;public class JAASMemoryLoginModule extends MemoryRealm implements LoginModule {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// We need to extend MemoryRealm to avoid class cast
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(JAASMemoryLoginModule.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(JAASMemoryLoginModule.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// ----------------------------------------------------- Instance Variables
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/realm/JAASRealm.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/JAASRealm.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/JAASRealm.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/realm/JAASRealm.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/realm/JAASRealm.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -128,7 +128,7 @@
&lt;br&gt;&amp;nbsp;public class JAASRealm
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;extends RealmBase
&lt;br&gt;&amp;nbsp; {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(JAASRealm.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(JAASRealm.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// ----------------------------------------------------- Instance Variables
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/realm/LockOutRealm.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/LockOutRealm.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/LockOutRealm.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/realm/LockOutRealm.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/realm/LockOutRealm.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -41,7 +41,7 @@
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;public class LockOutRealm extends CombinedRealm {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(LockOutRealm.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(LockOutRealm.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The number of times in a row a user has to fail authentication to be
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/realm/MemoryRealm.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/MemoryRealm.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/MemoryRealm.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/realm/MemoryRealm.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/realm/MemoryRealm.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -47,7 +47,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;public class MemoryRealm &amp;nbsp;extends RealmBase {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(MemoryRealm.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(MemoryRealm.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// ----------------------------------------------------- Instance Variables
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/realm/RealmBase.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -72,7 +72,7 @@
&lt;br&gt;&amp;nbsp;public abstract class RealmBase
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;implements Lifecycle, Realm, MBeanRegistration {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(RealmBase.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(RealmBase.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// ----------------------------------------------------- Instance Variables
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/session/PersistentManagerBase.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/PersistentManagerBase.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/PersistentManagerBase.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/session/PersistentManagerBase.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/session/PersistentManagerBase.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -54,7 +54,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;extends ManagerBase
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;implements Lifecycle, PropertyChangeListener {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(PersistentManagerBase.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(PersistentManagerBase.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// ---------------------------------------------------- Security Classes
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/startup/Bootstrap.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/Bootstrap.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/Bootstrap.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/startup/Bootstrap.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/startup/Bootstrap.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -52,7 +52,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;public final class Bootstrap {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(Bootstrap.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(Bootstrap.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// -------------------------------------------------------------- Constants
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/startup/ClassLoaderFactory.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/ClassLoaderFactory.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/ClassLoaderFactory.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/startup/ClassLoaderFactory.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/startup/ClassLoaderFactory.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -51,7 +51,7 @@
&lt;br&gt;&amp;nbsp;public final class ClassLoaderFactory {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(ClassLoaderFactory.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(ClassLoaderFactory.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected static final Integer IS_DIR = new Integer(0);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected static final Integer IS_JAR = new Integer(1);
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/startup/ClusterRuleSetFactory.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/ClusterRuleSetFactory.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/ClusterRuleSetFactory.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/startup/ClusterRuleSetFactory.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/startup/ClusterRuleSetFactory.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -29,7 +29,7 @@
&lt;br&gt;&amp;nbsp;import java.lang.reflect.InvocationTargetException;
&lt;br&gt;&amp;nbsp;public class ClusterRuleSetFactory {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public static Log log = LogFactory.getLog(ClusterRuleSetFactory.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public static final Log log = LogFactory.getLog(ClusterRuleSetFactory.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public static RuleSetBase getClusterRuleSet(String prefix) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/startup/ConnectorCreateRule.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/ConnectorCreateRule.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/ConnectorCreateRule.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/startup/ConnectorCreateRule.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/startup/ConnectorCreateRule.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -37,7 +37,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;public class ConnectorCreateRule extends Rule {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(ConnectorCreateRule.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(ConnectorCreateRule.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// --------------------------------------------------------- Public Methods
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/startup/Embedded.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/Embedded.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/Embedded.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/startup/Embedded.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/startup/Embedded.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -102,7 +102,7 @@
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;public class Embedded &amp;nbsp;extends StandardService {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(Embedded.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(Embedded.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// ----------------------------------------------------------- Constructors
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/startup/ExpandWar.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/ExpandWar.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/ExpandWar.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/startup/ExpandWar.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/startup/ExpandWar.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -47,7 +47,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;public class ExpandWar {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(ExpandWar.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(ExpandWar.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The string resources for this package.
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/startup/Tool.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/Tool.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/Tool.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/startup/Tool.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/startup/Tool.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -73,7 +73,7 @@
&lt;br&gt;&amp;nbsp;public final class Tool {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(Tool.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(Tool.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// ------------------------------------------------------- Static Variables
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/tribes/io/BufferPool.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/io/BufferPool.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/io/BufferPool.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/tribes/io/BufferPool.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/tribes/io/BufferPool.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -27,7 +27,7 @@
&lt;br&gt;&amp;nbsp; * @version 1.0
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;public class BufferPool {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(BufferPool.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(BufferPool.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public static int DEFAULT_POOL_SIZE = 100*1024*1024; //100MB
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -53,7 +53,7 @@
&lt;br&gt;&amp;nbsp; * @version 1.0
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;public abstract class AbstractReplicatedMap extends ConcurrentHashMap implements RpcCallback, ChannelListener, MembershipListener, Heartbeat {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(AbstractReplicatedMap.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(AbstractReplicatedMap.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The default initial capacity - MUST be a power of two.
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/tribes/util/Arrays.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/util/Arrays.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/util/Arrays.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/tribes/util/Arrays.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/tribes/util/Arrays.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -35,7 +35,7 @@
&lt;br&gt;&amp;nbsp; * @version 1.0
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;public class Arrays {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(Arrays.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(Arrays.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public static boolean contains(byte[] source, int srcoffset, byte[] key, int keyoffset, int length) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if ( srcoffset &amp;lt; 0 || srcoffset &amp;gt;= source.length) throw new ArrayIndexOutOfBoundsException(&amp;quot;srcoffset is out of bounds.&amp;quot;);
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/users/MemoryUserDatabase.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -52,7 +52,7 @@
&lt;br&gt;&amp;nbsp;public class MemoryUserDatabase implements UserDatabase {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(MemoryUserDatabase.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(MemoryUserDatabase.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// ----------------------------------------------------------- Constructors
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/valves/AccessLogValve.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/AccessLogValve.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/AccessLogValve.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/valves/AccessLogValve.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/valves/AccessLogValve.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -123,7 +123,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;extends ValveBase
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;implements Lifecycle {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(AccessLogValve.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(AccessLogValve.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;//------------------------------------------------------ Constructor
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public AccessLogValve() {
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/valves/ExtendedAccessLogValve.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/ExtendedAccessLogValve.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/ExtendedAccessLogValve.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/valves/ExtendedAccessLogValve.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/valves/ExtendedAccessLogValve.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -133,7 +133,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;extends AccessLogValve
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;implements Lifecycle {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(ExtendedAccessLogValve.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(ExtendedAccessLogValve.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// ----------------------------------------------------- Instance Variables
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/valves/RemoteIpValve.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/RemoteIpValve.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/RemoteIpValve.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/valves/RemoteIpValve.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/valves/RemoteIpValve.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -347,7 +347,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Logger
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(RemoteIpValve.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(RemoteIpValve.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The StringManager for this package.
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/valves/ValveBase.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/ValveBase.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/ValveBase.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/valves/ValveBase.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/valves/ValveBase.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -57,7 +57,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;public abstract class ValveBase
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;implements Contained, Valve, MBeanRegistration {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(ValveBase.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(ValveBase.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;//------------------------------------------------------ Constructor
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/jasper/EmbeddedServletOptions.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/EmbeddedServletOptions.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/EmbeddedServletOptions.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/jasper/EmbeddedServletOptions.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/jasper/EmbeddedServletOptions.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -42,7 +42,7 @@
&lt;br&gt;&amp;nbsp;public final class EmbeddedServletOptions implements Options {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// Logger
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private Log log = LogFactory.getLog(EmbeddedServletOptions.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private final Log log = LogFactory.getLog(EmbeddedServletOptions.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private Properties settings = new Properties();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/jasper/JspC.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/JspC.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/JspC.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/jasper/JspC.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/jasper/JspC.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -97,7 +97,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;quot;clsid:8AD9C840-044E-11D1-B3E9-00805F499D93&amp;quot;;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// Logger
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(JspC.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(JspC.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected static final String SWITCH_VERBOSE = &amp;quot;-v&amp;quot;;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected static final String SWITCH_HELP = &amp;quot;-help&amp;quot;;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/jasper/compiler/JspConfig.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/JspConfig.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/JspConfig.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/jasper/compiler/JspConfig.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/jasper/compiler/JspConfig.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -44,7 +44,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private static final String WEB_XML = &amp;quot;/WEB-INF/web.xml&amp;quot;;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// Logger
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private Log log = LogFactory.getLog(JspConfig.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private final Log log = LogFactory.getLog(JspConfig.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private Vector&amp;lt;JspPropertyGroup&amp;gt; jspProperties = null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private ServletContext ctxt;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/jasper/compiler/JspReader.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/JspReader.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/JspReader.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/jasper/compiler/JspReader.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/jasper/compiler/JspReader.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -51,7 +51,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Logger.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private Log log = LogFactory.getLog(JspReader.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private final Log log = LogFactory.getLog(JspReader.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The current spot in the file.
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/jasper/compiler/JspRuntimeContext.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/JspRuntimeContext.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/JspRuntimeContext.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/jasper/compiler/JspRuntimeContext.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/jasper/compiler/JspRuntimeContext.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -58,7 +58,7 @@
&lt;br&gt;&amp;nbsp;public final class JspRuntimeContext {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// Logger
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private Log log = LogFactory.getLog(JspRuntimeContext.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private final Log log = LogFactory.getLog(JspRuntimeContext.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/*
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Counts how many times the webapp's JSPs have been reloaded.
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -65,7 +65,7 @@
&lt;br&gt;&amp;nbsp;class TagLibraryInfoImpl extends TagLibraryInfo implements TagConstants {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// Logger
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private Log log = LogFactory.getLog(TagLibraryInfoImpl.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private final Log log = LogFactory.getLog(TagLibraryInfoImpl.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private JspCompilationContext ctxt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -81,7 +81,7 @@
&lt;br&gt;&amp;nbsp;public class TldLocationsCache {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// Logger
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private Log log = LogFactory.getLog(TldLocationsCache.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private final Log log = LogFactory.getLog(TldLocationsCache.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The types of URI one may specify for a tag library
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/jasper/runtime/JspFactoryImpl.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/runtime/JspFactoryImpl.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/runtime/JspFactoryImpl.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/jasper/runtime/JspFactoryImpl.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/jasper/runtime/JspFactoryImpl.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -40,7 +40,7 @@
&lt;br&gt;&amp;nbsp;public class JspFactoryImpl extends JspFactory {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// Logger
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private Log log = LogFactory.getLog(JspFactoryImpl.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private final Log log = LogFactory.getLog(JspFactoryImpl.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private static final String SPEC_VERSION = &amp;quot;2.1&amp;quot;;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private static final boolean USE_POOL = 
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/jasper/runtime/TagHandlerPool.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/runtime/TagHandlerPool.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/runtime/TagHandlerPool.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/jasper/runtime/TagHandlerPool.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/jasper/runtime/TagHandlerPool.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -38,7 +38,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public static final String OPTION_TAGPOOL=&amp;quot;tagpoolClassName&amp;quot;;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public static final String OPTION_MAXSIZE=&amp;quot;tagpoolMaxSize&amp;quot;;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private Log log = LogFactory.getLog(TagHandlerPool.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private final Log log = LogFactory.getLog(TagHandlerPool.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// index of next available tag handler
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private int current;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/jasper/servlet/JspServlet.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/servlet/JspServlet.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/servlet/JspServlet.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/jasper/servlet/JspServlet.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/jasper/servlet/JspServlet.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -58,7 +58,7 @@
&lt;br&gt;&amp;nbsp;public class JspServlet extends HttpServlet implements PeriodicEventListener {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// Logger
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private Log log = LogFactory.getLog(JspServlet.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private final Log log = LogFactory.getLog(JspServlet.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private ServletContext context;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private ServletConfig config;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/jasper/servlet/JspServletWrapper.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/servlet/JspServletWrapper.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/servlet/JspServletWrapper.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/jasper/servlet/JspServletWrapper.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/jasper/servlet/JspServletWrapper.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -65,7 +65,7 @@
&lt;br&gt;&amp;nbsp;public class JspServletWrapper {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// Logger
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private Log log = LogFactory.getLog(JspServletWrapper.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private final Log log = LogFactory.getLog(JspServletWrapper.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private Servlet theServlet;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private String jspUri;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/tomcat/util/digester/GenericParser.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/digester/GenericParser.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/digester/GenericParser.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/tomcat/util/digester/GenericParser.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/tomcat/util/digester/GenericParser.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -41,7 +41,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The Log to which all SAX event related logging calls will be made.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;LogFactory.getLog(&amp;quot;org.apache.commons.digester.Digester.sax&amp;quot;);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/tomcat/util/digester/XercesParser.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/digester/XercesParser.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/digester/XercesParser.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/tomcat/util/digester/XercesParser.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/tomcat/util/digester/XercesParser.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -46,7 +46,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The Log to which all SAX event related logging calls will be made.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;LogFactory.getLog(&amp;quot;org.apache.commons.digester.Digester.sax&amp;quot;);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/tomcat/util/modeler/BaseModelMBean.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/modeler/BaseModelMBean.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/modeler/BaseModelMBean.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/tomcat/util/modeler/BaseModelMBean.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/tomcat/util/modeler/BaseModelMBean.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -101,7 +101,7 @@
&lt;br&gt;&amp;nbsp; * @author Costin Manolache
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;public class BaseModelMBean implements DynamicMBean, MBeanRegistration, ModelMBeanNotificationBroadcaster {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(BaseModelMBean.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(BaseModelMBean.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// ----------------------------------------------------------- Constructors
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/tomcat/util/modeler/Registry.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/modeler/Registry.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/modeler/Registry.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/tomcat/util/modeler/Registry.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/tomcat/util/modeler/Registry.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -76,7 +76,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The Log instance to which we will write our log messages.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(Registry.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(Registry.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// Support for the factory methods
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsDOMSource.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsDOMSource.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsDOMSource.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsDOMSource.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsDOMSource.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -39,7 +39,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;public class MbeansDescriptorsDOMSource extends ModelerSource
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(MbeansDescriptorsDOMSource.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(MbeansDescriptorsDOMSource.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Registry registry;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;String location;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsDigesterSource.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsDigesterSource.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsDigesterSource.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsDigesterSource.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsDigesterSource.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -34,7 +34,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;public class MbeansDescriptorsDigesterSource extends ModelerSource
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log =
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;LogFactory.getLog(MbeansDescriptorsDigesterSource.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Registry registry;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsIntrospectionSource.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsIntrospectionSource.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsIntrospectionSource.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsIntrospectionSource.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsIntrospectionSource.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -38,7 +38,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;public class MbeansDescriptorsIntrospectionSource extends ModelerSource
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(MbeansDescriptorsIntrospectionSource.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(MbeansDescriptorsIntrospectionSource.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Registry registry;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;String location;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsSerSource.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsSerSource.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsSerSource.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsSerSource.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansDescriptorsSerSource.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -32,7 +32,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;public class MbeansDescriptorsSerSource extends ModelerSource
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(MbeansDescriptorsSerSource.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(MbeansDescriptorsSerSource.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Registry registry;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;String location;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;String type;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansSource.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansSource.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansSource.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansSource.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/tomcat/util/modeler/modules/MbeansSource.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -53,7 +53,7 @@
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;public class MbeansSource extends ModelerSource implements MbeansSourceMBean
&lt;br&gt;&amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private static Log log = LogFactory.getLog(MbeansSource.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;private static final Log log = LogFactory.getLog(MbeansSource.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Registry registry;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;String type;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -36,7 +36,7 @@
&lt;br&gt;&amp;nbsp; * @author Remy Maucherat
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;public abstract class AbstractEndpoint {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(AbstractEndpoint.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(AbstractEndpoint.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// -------------------------------------------------------------- Constants
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected StringManager sm = StringManager.getManager(&amp;quot;org.apache.tomcat.util.net.res&amp;quot;);
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -57,7 +57,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// -------------------------------------------------------------- Constants
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(AprEndpoint.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(AprEndpoint.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// ----------------------------------------------------------------- Fields
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -49,7 +49,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// -------------------------------------------------------------- Constants
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(JIoEndpoint.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(JIoEndpoint.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// ----------------------------------------------------------------- Fields
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/tomcat/util/net/NioBlockingSelector.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/NioBlockingSelector.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/NioBlockingSelector.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/tomcat/util/net/NioBlockingSelector.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/tomcat/util/net/NioBlockingSelector.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -38,7 +38,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;public class NioBlockingSelector {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(NioBlockingSelector.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(NioBlockingSelector.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private static int threadCounter = 0;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -77,7 +77,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// -------------------------------------------------------------- Constants
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(NioEndpoint.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(NioEndpoint.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public static final int OP_REGISTER = 0x100; //register interest op
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/tomcat/util/net/NioSelectorPool.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/NioSelectorPool.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/NioSelectorPool.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/tomcat/util/net/NioSelectorPool.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/tomcat/util/net/NioSelectorPool.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -45,7 +45,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected static int threadCount = 0;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(NioSelectorPool.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(NioSelectorPool.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected final static boolean SHARED =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Boolean.valueOf(System.getProperty(&amp;quot;org.apache.tomcat.util.net.NioSelectorShared&amp;quot;, &amp;quot;true&amp;quot;)).booleanValue();
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/modules/bayeux/java/org/apache/tomcat/bayeux/BayeuxServlet.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/modules/bayeux/java/org/apache/tomcat/bayeux/BayeuxServlet.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/modules/bayeux/java/org/apache/tomcat/bayeux/BayeuxServlet.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/modules/bayeux/java/org/apache/tomcat/bayeux/BayeuxServlet.java (original)
&lt;br&gt;+++ tomcat/trunk/modules/bayeux/java/org/apache/tomcat/bayeux/BayeuxServlet.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -49,7 +49,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Logger object
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(BayeuxServlet.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(BayeuxServlet.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Servlet config - for future use
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/modules/bayeux/java/org/apache/tomcat/bayeux/ChannelImpl.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/modules/bayeux/java/org/apache/tomcat/bayeux/ChannelImpl.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/modules/bayeux/java/org/apache/tomcat/bayeux/ChannelImpl.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/modules/bayeux/java/org/apache/tomcat/bayeux/ChannelImpl.java (original)
&lt;br&gt;+++ tomcat/trunk/modules/bayeux/java/org/apache/tomcat/bayeux/ChannelImpl.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -34,7 +34,7 @@
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;public class ChannelImpl implements Channel {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(ChannelImpl.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(ChannelImpl.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The unique id of this channel
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/modules/bayeux/java/org/apache/tomcat/bayeux/ClientImpl.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/modules/bayeux/java/org/apache/tomcat/bayeux/ClientImpl.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/modules/bayeux/java/org/apache/tomcat/bayeux/ClientImpl.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/modules/bayeux/java/org/apache/tomcat/bayeux/ClientImpl.java (original)
&lt;br&gt;+++ tomcat/trunk/modules/bayeux/java/org/apache/tomcat/bayeux/ClientImpl.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -41,7 +41,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public static final String COMET_EVENT_ATTR = &amp;quot;org.apache.cometd.bayeux.client&amp;quot;;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(ClientImpl.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(ClientImpl.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected static LinkedList&amp;lt;Message&amp;gt; EMPTY_LIST = new LinkedList&amp;lt;Message&amp;gt;();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/modules/bayeux/java/org/apache/tomcat/bayeux/RequestBase.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/modules/bayeux/java/org/apache/tomcat/bayeux/RequestBase.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/modules/bayeux/java/org/apache/tomcat/bayeux/RequestBase.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/modules/bayeux/java/org/apache/tomcat/bayeux/RequestBase.java (original)
&lt;br&gt;+++ tomcat/trunk/modules/bayeux/java/org/apache/tomcat/bayeux/RequestBase.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -74,7 +74,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected HashMap&amp;lt;String, Object&amp;gt; response = null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(RequestBase.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(RequestBase.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected int reconnectInterval = 1000;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java (original)
&lt;br&gt;+++ tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/ConnectionPool.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -58,7 +58,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Logger
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(ConnectionPool.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(ConnectionPool.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;//===============================================================================
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;// &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; INSTANCE/QUICK ACCESS VARIABLE
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/DataSourceFactory.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/DataSourceFactory.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/DataSourceFactory.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/DataSourceFactory.java (original)
&lt;br&gt;+++ tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/DataSourceFactory.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -55,7 +55,7 @@
&lt;br&gt;&amp;nbsp; * @author Filip Hanik
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;public class DataSourceFactory implements ObjectFactory {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(DataSourceFactory.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(DataSourceFactory.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected final static String PROP_DEFAULTAUTOCOMMIT = &amp;quot;defaultAutoCommit&amp;quot;;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected final static String PROP_DEFAULTREADONLY = &amp;quot;defaultReadOnly&amp;quot;;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/DataSourceProxy.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/DataSourceProxy.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/DataSourceProxy.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/DataSourceProxy.java (original)
&lt;br&gt;+++ tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/DataSourceProxy.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -43,7 +43,7 @@
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;public class DataSourceProxy implements PoolConfiguration {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(DataSourceProxy.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(DataSourceProxy.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected volatile ConnectionPool pool = null;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PoolProperties.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PoolProperties.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PoolProperties.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PoolProperties.java (original)
&lt;br&gt;+++ tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PoolProperties.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -33,7 +33,7 @@
&lt;br&gt;&amp;nbsp; *
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;public class PoolProperties implements PoolConfiguration {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(PoolProperties.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(PoolProperties.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected static AtomicInteger poolCounter = new AtomicInteger(0);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected Properties dbProperties = new Properties();
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PooledConnection.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PooledConnection.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PooledConnection.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PooledConnection.java (original)
&lt;br&gt;+++ tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/PooledConnection.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -38,7 +38,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Logger
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(PooledConnection.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(PooledConnection.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Instance counter
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/AbstractQueryReport.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/AbstractQueryReport.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/AbstractQueryReport.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/AbstractQueryReport.java (original)
&lt;br&gt;+++ tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/AbstractQueryReport.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -37,7 +37,7 @@
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;public abstract class AbstractQueryReport extends AbstractCreateStatementInterceptor {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;//logger
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(AbstractQueryReport.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(AbstractQueryReport.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * The threshold in milliseconds. If the query is faster than this, we don't measure it
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/ConnectionState.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/ConnectionState.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/ConnectionState.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/ConnectionState.java (original)
&lt;br&gt;+++ tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/ConnectionState.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -41,7 +41,7 @@
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;public class ConnectionState extends JdbcInterceptor &amp;nbsp;{
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(ConnectionState.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(ConnectionState.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected final String[] readState = {&amp;quot;getAutoCommit&amp;quot;,&amp;quot;getTransactionIsolation&amp;quot;,&amp;quot;isReadOnly&amp;quot;,&amp;quot;getCatalog&amp;quot;};
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected final String[] writeState = {&amp;quot;setAutoCommit&amp;quot;,&amp;quot;setTransactionIsolation&amp;quot;,&amp;quot;setReadOnly&amp;quot;,&amp;quot;setCatalog&amp;quot;};
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java (original)
&lt;br&gt;+++ tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReport.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -39,7 +39,7 @@
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;public class SlowQueryReport extends AbstractQueryReport &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;//logger
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(SlowQueryReport.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(SlowQueryReport.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * we will be keeping track of query stats on a per pool basis
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReportJmx.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReportJmx.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReportJmx.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReportJmx.java (original)
&lt;br&gt;+++ tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/SlowQueryReportJmx.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -60,7 +60,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected static CompositeType SLOW_QUERY_TYPE; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(SlowQueryReportJmx.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(SlowQueryReportJmx.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected static ConcurrentHashMap&amp;lt;String,SlowQueryReportJmxMBean&amp;gt; mbeans = 
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/StatementFinalizer.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/StatementFinalizer.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/StatementFinalizer.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/StatementFinalizer.java (original)
&lt;br&gt;+++ tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/interceptor/StatementFinalizer.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -32,7 +32,7 @@
&lt;br&gt;&amp;nbsp; *
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;public class StatementFinalizer extends AbstractCreateStatementInterceptor {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(StatementFinalizer.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(StatementFinalizer.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected ArrayList&amp;lt;WeakReference&amp;lt;Statement&amp;gt;&amp;gt; statements = new ArrayList&amp;lt;WeakReference&amp;lt;Statement&amp;gt;&amp;gt;();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/jmx/ConnectionPool.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/jmx/ConnectionPool.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/jmx/ConnectionPool.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/jmx/ConnectionPool.java (original)
&lt;br&gt;+++ tomcat/trunk/modules/jdbc-pool/java/org/apache/tomcat/jdbc/pool/jmx/ConnectionPool.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -35,7 +35,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * logger
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(ConnectionPool.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(ConnectionPool.class);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * the connection pool
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/test/org/apache/catalina/tribes/demos/LoadTest.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/tribes/demos/LoadTest.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/tribes/demos/LoadTest.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/test/org/apache/catalina/tribes/demos/LoadTest.java (original)
&lt;br&gt;+++ tomcat/trunk/test/org/apache/catalina/tribes/demos/LoadTest.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -41,7 +41,7 @@
&lt;br&gt;&amp;nbsp; * @version 1.0
&lt;br&gt;&amp;nbsp; */
&lt;br&gt;&amp;nbsp;public class LoadTest implements MembershipListener,ChannelListener, Runnable {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(LoadTest.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(LoadTest.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public static int size = 24000;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public static Object mutex = new Object();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public boolean doRun = true;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/webapps/examples/WEB-INF/classes/async/Async0.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/webapps/examples/WEB-INF/classes/async/Async0.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/webapps/examples/WEB-INF/classes/async/Async0.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/webapps/examples/WEB-INF/classes/async/Async0.java (original)
&lt;br&gt;+++ tomcat/trunk/webapps/examples/WEB-INF/classes/async/Async0.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -28,7 +28,7 @@
&lt;br&gt;&amp;nbsp;import org.apache.juli.logging.LogFactory;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;public class Async0 extends HttpServlet {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(Async0.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(Async0.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public Async0() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/webapps/examples/WEB-INF/classes/async/Async1.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/webapps/examples/WEB-INF/classes/async/Async1.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/webapps/examples/WEB-INF/classes/async/Async1.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/webapps/examples/WEB-INF/classes/async/Async1.java (original)
&lt;br&gt;+++ tomcat/trunk/webapps/examples/WEB-INF/classes/async/Async1.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -28,7 +28,7 @@
&lt;br&gt;&amp;nbsp;import org.apache.juli.logging.LogFactory;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;public class Async1 extends HttpServlet {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(Async1.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(Async1.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public Async1() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/webapps/examples/WEB-INF/classes/async/Async2.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/webapps/examples/WEB-INF/classes/async/Async2.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/webapps/examples/WEB-INF/classes/async/Async2.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/webapps/examples/WEB-INF/classes/async/Async2.java (original)
&lt;br&gt;+++ tomcat/trunk/webapps/examples/WEB-INF/classes/async/Async2.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -28,7 +28,7 @@
&lt;br&gt;&amp;nbsp;import org.apache.juli.logging.LogFactory;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;public class Async2 extends HttpServlet {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(Async2.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(Async2.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public Async2() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/webapps/examples/WEB-INF/classes/async/Async3.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/webapps/examples/WEB-INF/classes/async/Async3.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/webapps/examples/WEB-INF/classes/async/Async3.java?rev=834226&amp;r1=834225&amp;r2=834226&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/webapps/examples/WEB-INF/classes/async/Async3.java (original)
&lt;br&gt;+++ tomcat/trunk/webapps/examples/WEB-INF/classes/async/Async3.java Mon Nov &amp;nbsp;9 20:51:17 2009
&lt;br&gt;@@ -28,7 +28,7 @@
&lt;br&gt;&amp;nbsp;import org.apache.juli.logging.LogFactory;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;public class Async3 extends HttpServlet {
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected static Log log = LogFactory.getLog(Async3.class);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;protected static final Log log = LogFactory.getLog(Async3.class);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public Async3() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26273470&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26273470&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r834226---in--tomcat-trunk%3A-java-org-apache-catalina-authenticator--java-org-apache-catalina-connector--java-org-apache-catalina-core--java-org-apache-catalina-filters--java-org-apache-catalina-ha-backend--java-org-apache-catalina-ha-jmx--j...-tp26273470p26273470.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26273347</id>
	<title>svn commit: r834220 - in /tomcat/trunk/java/org/apache/catalina: core/ApplicationContext.java core/StandardContext.java ha/context/ReplicatedContext.java startup/DefaultJarScanner.java</title>
	<published>2009-11-09T12:43:49Z</published>
	<updated>2009-11-09T12:43:49Z</updated>
	<author>
		<name>Mark Thomas</name>
	</author>
	<content type="html">Author: markt
&lt;br&gt;Date: Mon Nov &amp;nbsp;9 20:43:47 2009
&lt;br&gt;New Revision: 834220
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=834220&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=834220&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;The assumption that contexts will always be file system based or that resources will always be extracted to the work does not hold true, particularly for custom DirContext implementations. Don't make the assumption and clean-up up the redundant field that is no longer required.
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/core/StandardContext.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/ha/context/ReplicatedContext.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/startup/DefaultJarScanner.java
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java?rev=834220&amp;r1=834219&amp;r2=834220&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java?rev=834220&amp;r1=834219&amp;r2=834220&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/core/ApplicationContext.java Mon Nov &amp;nbsp;9 20:43:47 2009
&lt;br&gt;@@ -19,7 +19,6 @@
&lt;br&gt;&amp;nbsp;package org.apache.catalina.core;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;-import java.io.File;
&lt;br&gt;&amp;nbsp;import java.io.InputStream;
&lt;br&gt;&amp;nbsp;import java.net.MalformedURLException;
&lt;br&gt;&amp;nbsp;import java.net.URL;
&lt;br&gt;@@ -90,10 +89,9 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; *
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @param context The associated Context instance
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;public ApplicationContext(String basePath, StandardContext context) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp;public ApplicationContext(StandardContext context) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;super();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.context = context;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.basePath = basePath;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Populate session tracking modes
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;populateSessionTrackingModes();
&lt;br&gt;@@ -158,12 +156,6 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * Base path.
&lt;br&gt;- &amp;nbsp; &amp;nbsp; */
&lt;br&gt;- &amp;nbsp; &amp;nbsp;private String basePath = null;
&lt;br&gt;-
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * Thread local data used during request dispatch.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;private ThreadLocal&amp;lt;DispatchData&amp;gt; dispatchData =
&lt;br&gt;@@ -492,37 +484,21 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new MalformedURLException(sm.getString(&amp;quot;applicationContext.requestDispatcher.iae&amp;quot;, path));
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;path = RequestUtil.normalize(path);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (path == null)
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String normPath = RequestUtil.normalize(path);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (normPath == null)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (null);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String libPath = &amp;quot;/WEB-INF/lib/&amp;quot;;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if ((path.startsWith(libPath)) &amp;&amp; (path.endsWith(&amp;quot;.jar&amp;quot;))) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;File jarFile = null;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (context.isFilesystemBased()) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jarFile = new File(basePath, path);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;jarFile = new File(context.getWorkPath(), path);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (jarFile.exists()) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return jarFile.toURI().toURL();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;DirContext resources = context.getResources();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (resources != null) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String fullPath = context.getName() + path;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String hostName = context.getParent().getName();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;resources.lookup(path);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return new URL
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(&amp;quot;jndi&amp;quot;, &amp;quot;&amp;quot;, 0, getJNDIUri(hostName, fullPath),
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; new DirContextURLStreamHandler(resources));
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (Exception e) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Ignore
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;DirContext resources = context.getResources();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (resources != null) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String fullPath = context.getName() + normPath;
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String hostName = context.getParent().getName();
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;resources.lookup(path);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return new URL
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(&amp;quot;jndi&amp;quot;, &amp;quot;&amp;quot;, 0, getJNDIUri(hostName, fullPath),
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; new DirContextURLStreamHandler(resources));
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (Exception e) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Ignore
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/core/StandardContext.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardContext.java?rev=834220&amp;r1=834219&amp;r2=834220&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardContext.java?rev=834220&amp;r1=834219&amp;r2=834220&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/core/StandardContext.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/core/StandardContext.java Mon Nov &amp;nbsp;9 20:43:47 2009
&lt;br&gt;@@ -1758,7 +1758,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public ServletContext getServletContext() {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (context == null) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;context = new ApplicationContext(getBasePath(), this);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;context = new ApplicationContext(this);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (altDDName != null)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;context.setAttribute(Globals.ALT_DD_ATTR,altDDName);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/ha/context/ReplicatedContext.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/context/ReplicatedContext.java?rev=834220&amp;r1=834219&amp;r2=834220&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/context/ReplicatedContext.java?rev=834220&amp;r1=834219&amp;r2=834220&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/ha/context/ReplicatedContext.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/ha/context/ReplicatedContext.java Mon Nov &amp;nbsp;9 20:43:47 2009
&lt;br&gt;@@ -54,7 +54,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;super.addLifecycleListener(this); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CatalinaCluster catclust = (CatalinaCluster)this.getCluster();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (this.context == null) this.context = new ReplApplContext(this.getBasePath(), this);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (this.context == null) this.context = new ReplApplContext(this);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if ( catclust != null ) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ReplicatedMap map = new ReplicatedMap(this,catclust.getChannel(),DEFAULT_REPL_TIMEOUT,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;getName(),getClassLoaders());
&lt;br&gt;@@ -116,7 +116,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;@Override
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public ServletContext getServletContext() {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (context == null) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;context = new ReplApplContext(getBasePath(), this);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;context = new ReplApplContext(this);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (getAltDDName() != null)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;context.setAttribute(Globals.ALT_DD_ATTR,getAltDDName());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;@@ -130,8 +130,8 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;protected ConcurrentHashMap&amp;lt;String, Object&amp;gt; tomcatAttributes =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new ConcurrentHashMap&amp;lt;String, Object&amp;gt;();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public ReplApplContext(String basePath, ReplicatedContext context) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;super(basePath,context);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public ReplApplContext(ReplicatedContext context) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;super(context);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;protected ReplicatedContext getParent() {
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/startup/DefaultJarScanner.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/DefaultJarScanner.java?rev=834220&amp;r1=834219&amp;r2=834220&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/DefaultJarScanner.java?rev=834220&amp;r1=834219&amp;r2=834220&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/startup/DefaultJarScanner.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/startup/DefaultJarScanner.java Mon Nov &amp;nbsp;9 20:43:47 2009
&lt;br&gt;@@ -163,7 +163,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;callback.scan((JarURLConnection) conn);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String urlStr = url.toString();
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (urlStr.startsWith(&amp;quot;file:&amp;quot;)) {
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (urlStr.startsWith(&amp;quot;file:&amp;quot;) || urlStr.startsWith(&amp;quot;jndi:&amp;quot;)) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (urlStr.endsWith(JAR_EXT)) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;URL jarURL = new URL(&amp;quot;jar:&amp;quot; + urlStr + &amp;quot;!/&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;callback.scan((JarURLConnection) jarURL.openConnection());
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26273347&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26273347&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r834220---in--tomcat-trunk-java-org-apache-catalina%3A-core-ApplicationContext.java-core-StandardContext.java-ha-context-ReplicatedContext.java-startup-DefaultJarScanner.java-tp26273347p26273347.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26272160</id>
	<title>[Tomcat Wiki] Trivial Update of &quot;PoweredBy&quot; by IsaacAdams</title>
	<published>2009-11-09T11:22:03Z</published>
	<updated>2009-11-09T11:22:03Z</updated>
	<author>
		<name>Apache Wiki</name>
	</author>
	<content type="html">Dear Wiki user,
&lt;br&gt;&lt;br&gt;You have subscribed to a wiki page or wiki category on &amp;quot;Tomcat Wiki&amp;quot; for change notification.
&lt;br&gt;&lt;br&gt;The &amp;quot;PoweredBy&amp;quot; page has been changed by IsaacAdams.
&lt;br&gt;&lt;a href=&quot;http://wiki.apache.org/tomcat/PoweredBy?action=diff&amp;rev1=206&amp;rev2=207&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://wiki.apache.org/tomcat/PoweredBy?action=diff&amp;rev1=206&amp;rev2=207&lt;/a&gt;&lt;br&gt;&lt;br&gt;--------------------------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; 
&lt;br&gt;&amp;nbsp; ===== InnoShare =====
&lt;br&gt;&amp;nbsp; {{&lt;a href=&quot;http://webmail.innoshare.com/images/innoshare_logo_small.jpg&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://webmail.innoshare.com/images/innoshare_logo_small.jpg&lt;/a&gt;}}
&lt;br&gt;- [[&lt;a href=&quot;http://www.innoshare.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.innoshare.com/&lt;/a&gt;|InnoShare]] - a [[&lt;a href=&quot;http://www.innoshare.com/services/atlanta-business-web-hosting&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.innoshare.com/services/atlanta-business-web-hosting&lt;/a&gt;|web hosting]] and [[&lt;a href=&quot;http://www.innoshare.com/services/atlanta-email-newsletters&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.innoshare.com/services/atlanta-email-newsletters&lt;/a&gt;|email marketing]] system for small businesses *formerly EdSyndicate*
&lt;br&gt;+ [[&lt;a href=&quot;http://www.innoshare.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.innoshare.com/&lt;/a&gt;|InnoShare]] - a [[&lt;a href=&quot;http://www.innoshare.com/services/atlanta-business-web-hosting&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.innoshare.com/services/atlanta-business-web-hosting&lt;/a&gt;|web hosting]] and [[&lt;a href=&quot;http://www.innoshare.com/services/atlanta-email-newsletters&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.innoshare.com/services/atlanta-email-newsletters&lt;/a&gt;|email marketing]] system for small businesses
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;&amp;nbsp; ===== EMC / Documentum =====
&lt;br&gt;&amp;nbsp; EMC / Documentum's web-based frontend for content management ([[&lt;a href=&quot;http://software.emc.com/products/software_az/webtop.htm&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://software.emc.com/products/software_az/webtop.htm&lt;/a&gt;|Webtop]]) runs in Apache Tomcat [[&lt;a href=&quot;http://software.emc.com/products/software_az/tech_specs/general.htm&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://software.emc.com/products/software_az/tech_specs/general.htm&lt;/a&gt;|WebtopTechnicalSpecifications]]. &amp;nbsp;Also, a primary Documentum developer website cites Tomcat as well [[&lt;a href=&quot;http://www.dmdeveloper.com/articles/administration/methodServer.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.dmdeveloper.com/articles/administration/methodServer.html&lt;/a&gt;|dm_developer]]
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26272160&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26272160&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-Tomcat-Wiki--Trivial-Update-of-%22PoweredBy%22-by-IsaacAdams-tp26272160p26272160.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26272114</id>
	<title>[Tomcat Wiki] Trivial Update of &quot;PoweredBy&quot; by IsaacAdams</title>
	<published>2009-11-09T11:19:01Z</published>
	<updated>2009-11-09T11:19:01Z</updated>
	<author>
		<name>Apache Wiki</name>
	</author>
	<content type="html">Dear Wiki user,
&lt;br&gt;&lt;br&gt;You have subscribed to a wiki page or wiki category on &amp;quot;Tomcat Wiki&amp;quot; for change notification.
&lt;br&gt;&lt;br&gt;The &amp;quot;PoweredBy&amp;quot; page has been changed by IsaacAdams.
&lt;br&gt;&lt;a href=&quot;http://wiki.apache.org/tomcat/PoweredBy?action=diff&amp;rev1=205&amp;rev2=206&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://wiki.apache.org/tomcat/PoweredBy?action=diff&amp;rev1=205&amp;rev2=206&lt;/a&gt;&lt;br&gt;&lt;br&gt;--------------------------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; 
&lt;br&gt;&amp;nbsp; ===== InnoShare =====
&lt;br&gt;&amp;nbsp; {{&lt;a href=&quot;http://webmail.innoshare.com/images/innoshare_logo_small.jpg&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://webmail.innoshare.com/images/innoshare_logo_small.jpg&lt;/a&gt;}}
&lt;br&gt;- [[&lt;a href=&quot;http://www.innoshare.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.innoshare.com/&lt;/a&gt;|InnoShare]] - a hosted content management and email marketing system for small businesses *formerly EdSyndicate*
&lt;br&gt;+ [[&lt;a href=&quot;http://www.innoshare.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.innoshare.com/&lt;/a&gt;|InnoShare]] - a [[&lt;a href=&quot;http://www.innoshare.com/services/atlanta-business-web-hosting&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.innoshare.com/services/atlanta-business-web-hosting&lt;/a&gt;|web hosting]] and [[&lt;a href=&quot;http://www.innoshare.com/services/atlanta-email-newsletters&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.innoshare.com/services/atlanta-email-newsletters&lt;/a&gt;|email marketing]] system for small businesses *formerly EdSyndicate*
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;&amp;nbsp; ===== EMC / Documentum =====
&lt;br&gt;&amp;nbsp; EMC / Documentum's web-based frontend for content management ([[&lt;a href=&quot;http://software.emc.com/products/software_az/webtop.htm&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://software.emc.com/products/software_az/webtop.htm&lt;/a&gt;|Webtop]]) runs in Apache Tomcat [[&lt;a href=&quot;http://software.emc.com/products/software_az/tech_specs/general.htm&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://software.emc.com/products/software_az/tech_specs/general.htm&lt;/a&gt;|WebtopTechnicalSpecifications]]. &amp;nbsp;Also, a primary Documentum developer website cites Tomcat as well [[&lt;a href=&quot;http://www.dmdeveloper.com/articles/administration/methodServer.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.dmdeveloper.com/articles/administration/methodServer.html&lt;/a&gt;|dm_developer]]
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26272114&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26272114&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-Tomcat-Wiki--Trivial-Update-of-%22PoweredBy%22-by-IsaacAdams-tp26272114p26272114.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26271606</id>
	<title>Re: SSL &amp; Tomcat</title>
	<published>2009-11-09T10:47:38Z</published>
	<updated>2009-11-09T10:47:38Z</updated>
	<author>
		<name>Costin Manolache-2</name>
	</author>
	<content type="html">On Mon, Nov 9, 2009 at 8:04 AM, Konstantin Kolinko
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26271606&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;knst.kolinko@...&lt;/a&gt;&amp;gt;wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 2009/11/9 Mark Thomas &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26271606&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;markt@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt; &amp;gt; Summarising the information gathered so far from various channels
&lt;br&gt;&amp;gt; &amp;gt; (thanks to Bill B., Bill W. &amp; Rainer who have done most of the actual
&lt;br&gt;&amp;gt; &amp;gt; work to find the info below).
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; BIO/NIO connectors using JSSE.
&lt;br&gt;&amp;gt; &amp;gt; Vulnerable when renegotiation is triggered by the client or server.
&lt;br&gt;&amp;gt; &amp;gt; We could prevent server initiated renegotiation (and probably break the
&lt;br&gt;&amp;gt; &amp;gt; majority of configurations using CLIENT-CERT).
&lt;br&gt;&amp;gt; &amp;gt; We can't do anything to prevent client initiated renegotiation.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; APR/native connector using OpenSSL
&lt;br&gt;&amp;gt; &amp;gt; It is vulnerable when renegotiation is triggered by the client or by the
&lt;br&gt;&amp;gt; &amp;gt; server.
&lt;br&gt;&amp;gt; &amp;gt; Client triggered negotiation is supported.
&lt;br&gt;&amp;gt; &amp;gt; Server triggered negotiation will be supported from 1.1.17 onwards.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; OpenSSL 0.9.8l disables negotiation by default
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; In terms of what this means for users:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; BIO/NIO
&lt;br&gt;&amp;gt; &amp;gt; - There isn't anything we can do in Tomcat to stop client
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;initiated renegotiation so it is a case of waiting for the JVM
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;vendors to respond.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; APR/native
&lt;br&gt;&amp;gt; &amp;gt; - Re-building their current version with 0.9.8l will protect
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;users at the risk of breaking any configurations that
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;require renegotiation.
&lt;br&gt;&amp;gt; &amp;gt; - We can release 1.1.17 with the binaries built with 0.9.8l. This
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;will also protect users at the risk of breaking any
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;configurations that require renegotiation. Mladen is doing this
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;now.
&lt;br&gt;&amp;gt; &amp;gt; - Supporting renegotiation whilst avoiding the vulnerability will
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;require a protocol fix. In the meantime, we could port port
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;r833582 from httpd which would disable client triggered
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;renegotiation for OpenSSL &amp;lt; 0.9.8l (which may help some users
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;who can't easily change their OpenSSl version and release 1.1.18
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;with this fix
&lt;br&gt;&amp;gt; &amp;gt; - Once the protocol is fixed, release 1.1.next bundled with the
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;appropriate version of OpenSSL
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Have I got my facts right above? If so, any objections to posting the
&lt;br&gt;&amp;gt; &amp;gt; above to the users@ and announce@ lists along with adding something to
&lt;br&gt;&amp;gt; &amp;gt; the security pages?
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Mark
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; +1
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; s/negotiation/renegotiation/
&lt;br&gt;&amp;gt; s/port port/port/
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; A question:
&lt;br&gt;&amp;gt; My understanding of renegotiation is that it changes SSL session. Is
&lt;br&gt;&amp;gt; it possible to observe changes in the value of SSL sessionId? &amp;nbsp;I doubt
&lt;br&gt;&amp;gt; so, but may be?
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;AFAIK you can reuse the session ID across negotiations ( it's a nice
&lt;br&gt;optimization BTW, too
&lt;br&gt;bad we're not using, it can speed up SSL connections a lot ), I'm not sure
&lt;br&gt;if it changes
&lt;br&gt;within a renegotation, but AFAIK when you start any negotiation you can
&lt;br&gt;specify you want
&lt;br&gt;to reuse the old session id. &amp;nbsp;But if I understand the exploit correctly -
&lt;br&gt;they would want a different
&lt;br&gt;cypher, and if you reuse the session you reuse the old one.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Maybe we can modify JSSESupport.Listener to break the connection if
&lt;br&gt;handshakeCompleted is
&lt;br&gt;called &amp;gt; once in a connection ? That is besides disabling server-initiated
&lt;br&gt;handshakes.
&lt;br&gt;&lt;br&gt;Costin
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; We read that value once and provide it to our users as
&lt;br&gt;&amp;gt; &amp;quot;javax.servlet.request.ssl_session&amp;quot; request attribute.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Regarding valves (as mentioned in issue 48157):
&lt;br&gt;&amp;gt; I understand, that that is not sufficient, but if anyone wants to
&lt;br&gt;&amp;gt; check against malformed headers, they can do so.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Best regards,
&lt;br&gt;&amp;gt; Konstantin Kolinko
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26271606&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26271606&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/SSL---Tomcat-tp26246577p26271606.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26270378</id>
	<title>Re: SSL &amp; Tomcat</title>
	<published>2009-11-09T09:32:26Z</published>
	<updated>2009-11-09T09:32:26Z</updated>
	<author>
		<name>Rainer Jung-3</name>
	</author>
	<content type="html">On 09.11.2009 17:16, Mark Thomas wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Konstantin Kolinko wrote:
&lt;br&gt;&amp;gt;&amp;gt; 2009/11/9 Mark Thomas &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26270378&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;markt@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Summarising the information gathered so far from various channels
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; (thanks to Bill B., Bill W. &amp; Rainer who have done most of the actual
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; work to find the info below).
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; BIO/NIO connectors using JSSE.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Vulnerable when renegotiation is triggered by the client or server.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; We could prevent server initiated renegotiation (and probably break the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; majority of configurations using CLIENT-CERT).
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; We can't do anything to prevent client initiated renegotiation.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; APR/native connector using OpenSSL
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; It is vulnerable when renegotiation is triggered by the client or by the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; server.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Client triggered negotiation is supported.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Server triggered negotiation will be supported from 1.1.17 onwards.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; OpenSSL 0.9.8l disables negotiation by default
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; In terms of what this means for users:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; BIO/NIO
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; - There isn't anything we can do in Tomcat to stop client
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;initiated renegotiation so it is a case of waiting for the JVM
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;vendors to respond.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; APR/native
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; - Re-building their current version with 0.9.8l will protect
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;users at the risk of breaking any configurations that
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;require renegotiation.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; - We can release 1.1.17 with the binaries built with 0.9.8l. This
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;will also protect users at the risk of breaking any
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;configurations that require renegotiation. Mladen is doing this
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;now.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; - Supporting renegotiation whilst avoiding the vulnerability will
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;require a protocol fix. In the meantime, we could port port
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;r833582 from httpd which would disable client triggered
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;renegotiation for OpenSSL &amp;lt; 0.9.8l (which may help some users
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;who can't easily change their OpenSSl version and release 1.1.18
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;with this fix
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; - Once the protocol is fixed, release 1.1.next bundled with the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;appropriate version of OpenSSL
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Have I got my facts right above? If so, any objections to posting the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; above to the users@ and announce@ lists along with adding something to
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; the security pages?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Mark
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; +1
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; s/negotiation/renegotiation/
&lt;br&gt;&amp;gt;&amp;gt; s/port port/port/
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Noted. I'll get the notice out.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; A question:
&lt;br&gt;&amp;gt;&amp;gt; My understanding of renegotiation is that it changes SSL session. Is
&lt;br&gt;&amp;gt;&amp;gt; it possible to observe changes in the value of SSL sessionId? &amp;nbsp;I doubt
&lt;br&gt;&amp;gt;&amp;gt; so, but may be?
&lt;br&gt;&amp;gt;&amp;gt; We read that value once and provide it to our users as
&lt;br&gt;&amp;gt;&amp;gt; &amp;quot;javax.servlet.request.ssl_session&amp;quot; request attribute.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Hmm. Interesting. I need to do some testing :)
&lt;/div&gt;&lt;br&gt;Yes, using the naive openssl test with s_client and the &amp;quot;R&amp;quot; command, the
&lt;br&gt;session id changes.
&lt;br&gt;&lt;br&gt;In order to find out, whether this is optional behaviour or will always
&lt;br&gt;happen, I guess we would need to ask on the openssl dev list, which I
&lt;br&gt;will do in a minute :)
&lt;br&gt;&lt;br&gt;&amp;gt; I'll add something along the lines of &amp;quot;We are currently evaluating a
&lt;br&gt;&amp;gt; number of possible work-arounds prior to a protocol fix becoming
&lt;br&gt;&amp;gt; available. Discussion is happening on the dev list and any significant
&lt;br&gt;&amp;gt; developments will be posted to the users@ and announce@ mailing lists.
&lt;br&gt;&lt;br&gt;+1
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26270378&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26270378&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/SSL---Tomcat-tp26246577p26270378.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26269518</id>
	<title>[SECURITY] CVE-2009-3555 SSL Man-In-The-Middle attack</title>
	<published>2009-11-09T08:43:39Z</published>
	<updated>2009-11-09T08:43:39Z</updated>
	<author>
		<name>Mark Thomas</name>
	</author>
	<content type="html">-----BEGIN PGP SIGNED MESSAGE-----
&lt;br&gt;Hash: SHA512
&lt;br&gt;&lt;br&gt;A vulnerability in the TLS protocol has recently been made public [1]
&lt;br&gt;that allows an attacker to inject arbitrary requests into an TLS stream.
&lt;br&gt;&lt;br&gt;The current understanding of the Tomcat developers is as follows:
&lt;br&gt;&lt;br&gt;BIO &amp; NIO connectors using JSSE
&lt;br&gt;These connectors are vulnerable when renegotiation is triggered by the
&lt;br&gt;client or the server.
&lt;br&gt;Server initiated re-negotiation can be limited by configuration
&lt;br&gt;Server initiated re-negotiation could be prevented by a code change
&lt;br&gt;Client initiated re-negotiation can not currently be prevented
&lt;br&gt;&lt;br&gt;APR/Native connector using OpenSSL
&lt;br&gt;Vulnerable when renegotiation is triggered by the client or the server.
&lt;br&gt;Server initiated re-negotiation is not supported prior to 1.1.17
&lt;br&gt;Client initiated re-negotiation is supported but can not be prevented
&lt;br&gt;&lt;br&gt;OpenSSL 0.9.8l disables all negotiation by default
&lt;br&gt;&lt;br&gt;&lt;br&gt;In terms of what this means for users:
&lt;br&gt;&lt;br&gt;BIO/NIO
&lt;br&gt;- - We haven't yet (we are still looking) found a way to stop client
&lt;br&gt;&amp;nbsp; initiated renegotiation. It may be necessary to wait for the JVM
&lt;br&gt;&amp;nbsp; vendors to respond.
&lt;br&gt;&lt;br&gt;APR/native
&lt;br&gt;- - Re-building any version of the APR/native connector with OpenSSL
&lt;br&gt;&amp;nbsp; 0.9.8l will protect against this vulnerability but any configurations
&lt;br&gt;&amp;nbsp; that require renegotiation will break.
&lt;br&gt;- - Version 1.1.17 of the APR/native connector will be released shortly.
&lt;br&gt;&amp;nbsp; The binary versions will be built with OpenSSL 0.9.8l which will
&lt;br&gt;&amp;nbsp; protect against this vulnerability but configurations that require
&lt;br&gt;&amp;nbsp; renegotiation will break.
&lt;br&gt;&lt;br&gt;Supporting renegotiation whilst avoiding the vulnerability requires a
&lt;br&gt;protocol fix. The Tomcat development team is examining possible
&lt;br&gt;work-arounds that may provide an interim solution. These options include
&lt;br&gt;porting r833582 from httpd to the APR/native connector which would
&lt;br&gt;disable client triggered renegotiation for OpenSSL &amp;lt; 0.9.8l which may
&lt;br&gt;help some users who can't easily change their OpenSSL version.
&lt;br&gt;&lt;br&gt;If you'd would like to join/follow the work-around discussions, please
&lt;br&gt;join the Tomcat dev mailing list. Any significant developments in this
&lt;br&gt;area will be posted to the Tomcat announce@ and users@ mailing lists.
&lt;br&gt;&lt;br&gt;Mark
&lt;br&gt;&lt;br&gt;[1] &lt;a href=&quot;http://extendedsubset.com/?p=8&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://extendedsubset.com/?p=8&lt;/a&gt;&lt;br&gt;-----BEGIN PGP SIGNATURE-----
&lt;br&gt;Version: GnuPG v2.0.12 (MingW32)
&lt;br&gt;Comment: Using GnuPG with Mozilla - &lt;a href=&quot;http://enigmail.mozdev.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://enigmail.mozdev.org/&lt;/a&gt;&lt;br&gt;&lt;br&gt;iQIcBAEBCgAGBQJK+Ea6AAoJEBDAHFovYFnnjggP/RU6UpOmXDCzOG/neVmMI0RX
&lt;br&gt;XMKMZdpph8TCdjOzOd1UdCGPK5q3U1CDvB7P96eYZ5R745YTT6Ct1hXETC++SAh2
&lt;br&gt;Q6jRD2qNPXX7hA9JFallC6+PUjq+IaHknJQYGAFaHCEdvwocp8NYWxUSqg5yTc6U
&lt;br&gt;toUclHntjEwXc6jpEeNwuU3An8WNf2rX5OV9IX17lS7mxtElfVVIM5o4PrkMV0Tn
&lt;br&gt;5i3YpLXTzHIHZ3Wv6VOlsQy+X+JhM4GMWF+4wWgHzdUfQ3wCpUrmC/tOgsXp23j8
&lt;br&gt;ITPqIcf5dsDsOEd9RAZRWoRPpgcJH3bypnmG65VpITRkjnvKq6GC1TcKXTdUBxER
&lt;br&gt;0OwpAY2A/e6OzHpw68q0wn5deYKBEo+6DJ/rFmHCs4KYiw7WXpOQFsL5LXxuDfEr
&lt;br&gt;7W79w1nEPAaXz6KGSGiEuPxyLtJafAP16ZtaITqzoI9Pn1bpl9iP/OK+2OTc/e+/
&lt;br&gt;BF0vI0gh2ZD2AbktNZJLY8+i5FmF/jcJP6/SQLnFQl5AZQ6YhRNQl87bc4lEkZkm
&lt;br&gt;IHIdJW28EbD/4V0Yex8MnAFIFEq/jyWe2LgUep0/j9LEkMKlFGpoNNgEQsA9E8ml
&lt;br&gt;RR9adgTCESBN6cCCsn5CrYTlsTKyfxk/Db2inI7L/OM3zfQoCTQDFnxY1l13I+Dt
&lt;br&gt;FiHrC9dgiTCEZL0fR69F
&lt;br&gt;=xrMK
&lt;br&gt;-----END PGP SIGNATURE-----
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26269518&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26269518&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-SECURITY--CVE-2009-3555-SSL-Man-In-The-Middle-attack-tp26269518p26269518.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26269099</id>
	<title>Re: SSL &amp; Tomcat</title>
	<published>2009-11-09T08:16:05Z</published>
	<updated>2009-11-09T08:16:05Z</updated>
	<author>
		<name>Mark Thomas</name>
	</author>
	<content type="html">Konstantin Kolinko wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 2009/11/9 Mark Thomas &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26269099&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;markt@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt;&amp;gt; Summarising the information gathered so far from various channels
&lt;br&gt;&amp;gt;&amp;gt; (thanks to Bill B., Bill W. &amp; Rainer who have done most of the actual
&lt;br&gt;&amp;gt;&amp;gt; work to find the info below).
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; BIO/NIO connectors using JSSE.
&lt;br&gt;&amp;gt;&amp;gt; Vulnerable when renegotiation is triggered by the client or server.
&lt;br&gt;&amp;gt;&amp;gt; We could prevent server initiated renegotiation (and probably break the
&lt;br&gt;&amp;gt;&amp;gt; majority of configurations using CLIENT-CERT).
&lt;br&gt;&amp;gt;&amp;gt; We can't do anything to prevent client initiated renegotiation.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; APR/native connector using OpenSSL
&lt;br&gt;&amp;gt;&amp;gt; It is vulnerable when renegotiation is triggered by the client or by the
&lt;br&gt;&amp;gt;&amp;gt; server.
&lt;br&gt;&amp;gt;&amp;gt; Client triggered negotiation is supported.
&lt;br&gt;&amp;gt;&amp;gt; Server triggered negotiation will be supported from 1.1.17 onwards.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; OpenSSL 0.9.8l disables negotiation by default
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; In terms of what this means for users:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; BIO/NIO
&lt;br&gt;&amp;gt;&amp;gt; - There isn't anything we can do in Tomcat to stop client
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;initiated renegotiation so it is a case of waiting for the JVM
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;vendors to respond.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; APR/native
&lt;br&gt;&amp;gt;&amp;gt; - Re-building their current version with 0.9.8l will protect
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;users at the risk of breaking any configurations that
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;require renegotiation.
&lt;br&gt;&amp;gt;&amp;gt; - We can release 1.1.17 with the binaries built with 0.9.8l. This
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;will also protect users at the risk of breaking any
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;configurations that require renegotiation. Mladen is doing this
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;now.
&lt;br&gt;&amp;gt;&amp;gt; - Supporting renegotiation whilst avoiding the vulnerability will
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;require a protocol fix. In the meantime, we could port port
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;r833582 from httpd which would disable client triggered
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;renegotiation for OpenSSL &amp;lt; 0.9.8l (which may help some users
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;who can't easily change their OpenSSl version and release 1.1.18
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;with this fix
&lt;br&gt;&amp;gt;&amp;gt; - Once the protocol is fixed, release 1.1.next bundled with the
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;appropriate version of OpenSSL
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Have I got my facts right above? If so, any objections to posting the
&lt;br&gt;&amp;gt;&amp;gt; above to the users@ and announce@ lists along with adding something to
&lt;br&gt;&amp;gt;&amp;gt; the security pages?
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Mark
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; +1
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; s/negotiation/renegotiation/
&lt;br&gt;&amp;gt; s/port port/port/
&lt;/div&gt;&lt;br&gt;Noted. I'll get the notice out.
&lt;br&gt;&lt;br&gt;&amp;gt; A question:
&lt;br&gt;&amp;gt; My understanding of renegotiation is that it changes SSL session. Is
&lt;br&gt;&amp;gt; it possible to observe changes in the value of SSL sessionId? &amp;nbsp;I doubt
&lt;br&gt;&amp;gt; so, but may be?
&lt;br&gt;&amp;gt; We read that value once and provide it to our users as
&lt;br&gt;&amp;gt; &amp;quot;javax.servlet.request.ssl_session&amp;quot; request attribute.
&lt;br&gt;&lt;br&gt;Hmm. Interesting. I need to do some testing :)
&lt;br&gt;&lt;br&gt;I'll add something along the lines of &amp;quot;We are currently evaluating a
&lt;br&gt;number of possible work-arounds prior to a protocol fix becoming
&lt;br&gt;available. Discussion is happening on the dev list and any significant
&lt;br&gt;developments will be posted to the users@ and announce@ mailing lists.
&lt;br&gt;&lt;br&gt;Mark
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26269099&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26269099&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/SSL---Tomcat-tp26246577p26269099.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26268923</id>
	<title>Re: SSL &amp; Tomcat</title>
	<published>2009-11-09T08:04:55Z</published>
	<updated>2009-11-09T08:04:55Z</updated>
	<author>
		<name>Konstantin Kolinko</name>
	</author>
	<content type="html">2009/11/9 Mark Thomas &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26268923&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;markt@...&lt;/a&gt;&amp;gt;:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Summarising the information gathered so far from various channels
&lt;br&gt;&amp;gt; (thanks to Bill B., Bill W. &amp; Rainer who have done most of the actual
&lt;br&gt;&amp;gt; work to find the info below).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; BIO/NIO connectors using JSSE.
&lt;br&gt;&amp;gt; Vulnerable when renegotiation is triggered by the client or server.
&lt;br&gt;&amp;gt; We could prevent server initiated renegotiation (and probably break the
&lt;br&gt;&amp;gt; majority of configurations using CLIENT-CERT).
&lt;br&gt;&amp;gt; We can't do anything to prevent client initiated renegotiation.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; APR/native connector using OpenSSL
&lt;br&gt;&amp;gt; It is vulnerable when renegotiation is triggered by the client or by the
&lt;br&gt;&amp;gt; server.
&lt;br&gt;&amp;gt; Client triggered negotiation is supported.
&lt;br&gt;&amp;gt; Server triggered negotiation will be supported from 1.1.17 onwards.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; OpenSSL 0.9.8l disables negotiation by default
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; In terms of what this means for users:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; BIO/NIO
&lt;br&gt;&amp;gt; - There isn't anything we can do in Tomcat to stop client
&lt;br&gt;&amp;gt;  initiated renegotiation so it is a case of waiting for the JVM
&lt;br&gt;&amp;gt;  vendors to respond.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; APR/native
&lt;br&gt;&amp;gt; - Re-building their current version with 0.9.8l will protect
&lt;br&gt;&amp;gt;  users at the risk of breaking any configurations that
&lt;br&gt;&amp;gt;  require renegotiation.
&lt;br&gt;&amp;gt; - We can release 1.1.17 with the binaries built with 0.9.8l. This
&lt;br&gt;&amp;gt;  will also protect users at the risk of breaking any
&lt;br&gt;&amp;gt;  configurations that require renegotiation. Mladen is doing this
&lt;br&gt;&amp;gt;  now.
&lt;br&gt;&amp;gt; - Supporting renegotiation whilst avoiding the vulnerability will
&lt;br&gt;&amp;gt;  require a protocol fix. In the meantime, we could port port
&lt;br&gt;&amp;gt;  r833582 from httpd which would disable client triggered
&lt;br&gt;&amp;gt;  renegotiation for OpenSSL &amp;lt; 0.9.8l (which may help some users
&lt;br&gt;&amp;gt;  who can't easily change their OpenSSl version and release 1.1.18
&lt;br&gt;&amp;gt;  with this fix
&lt;br&gt;&amp;gt; - Once the protocol is fixed, release 1.1.next bundled with the
&lt;br&gt;&amp;gt;  appropriate version of OpenSSL
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Have I got my facts right above? If so, any objections to posting the
&lt;br&gt;&amp;gt; above to the users@ and announce@ lists along with adding something to
&lt;br&gt;&amp;gt; the security pages?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Mark
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;+1
&lt;br&gt;&lt;br&gt;s/negotiation/renegotiation/
&lt;br&gt;s/port port/port/
&lt;br&gt;&lt;br&gt;A question:
&lt;br&gt;My understanding of renegotiation is that it changes SSL session. Is
&lt;br&gt;it possible to observe changes in the value of SSL sessionId? &amp;nbsp;I doubt
&lt;br&gt;so, but may be?
&lt;br&gt;We read that value once and provide it to our users as
&lt;br&gt;&amp;quot;javax.servlet.request.ssl_session&amp;quot; request attribute.
&lt;br&gt;&lt;br&gt;Regarding valves (as mentioned in issue 48157):
&lt;br&gt;I understand, that that is not sufficient, but if anyone wants to
&lt;br&gt;check against malformed headers, they can do so.
&lt;br&gt;&lt;br&gt;Best regards,
&lt;br&gt;Konstantin Kolinko
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26268923&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26268923&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/SSL---Tomcat-tp26246577p26268923.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26268563</id>
	<title>DO NOT REPLY [Bug 48157] describe how to disable X-Header trick to attack client cert auth</title>
	<published>2009-11-09T07:44:36Z</published>
	<updated>2009-11-09T07:44:36Z</updated>
	<author>
		<name>Bugzilla from bugzilla@apache.org</name>
	</author>
	<content type="html">&lt;a href=&quot;https://issues.apache.org/bugzilla/show_bug.cgi?id=48157&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/show_bug.cgi?id=48157&lt;/a&gt;&lt;br&gt;&lt;br&gt;Luciana Moreira &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26268563&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;moreira@...&lt;/a&gt;&amp;gt; changed:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;What &amp;nbsp; &amp;nbsp;|Removed &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |Added
&lt;br&gt;----------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CC| &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26268563&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;moreira@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Configure bugmail: &lt;a href=&quot;https://issues.apache.org/bugzilla/userprefs.cgi?tab=email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/userprefs.cgi?tab=email&lt;/a&gt;&lt;br&gt;------- You are receiving this mail because: -------
&lt;br&gt;You are the assignee for the bug.
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26268563&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26268563&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/DO-NOT-REPLY--Bug-48157--New%3A-describe-how-to-disable-X-Header-trick-to-attack-client-cert-auth-tp26246119p26268563.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26268551</id>
	<title>DO NOT REPLY [Bug 48158] warn that &quot;per directory client certificate authentication&quot; is harmful</title>
	<published>2009-11-09T07:43:45Z</published>
	<updated>2009-11-09T07:43:45Z</updated>
	<author>
		<name>Bugzilla from bugzilla@apache.org</name>
	</author>
	<content type="html">&lt;a href=&quot;https://issues.apache.org/bugzilla/show_bug.cgi?id=48158&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/show_bug.cgi?id=48158&lt;/a&gt;&lt;br&gt;&lt;br&gt;Luciana Moreira &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26268551&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;moreira@...&lt;/a&gt;&amp;gt; changed:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;What &amp;nbsp; &amp;nbsp;|Removed &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |Added
&lt;br&gt;----------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CC| &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26268551&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;moreira@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Configure bugmail: &lt;a href=&quot;https://issues.apache.org/bugzilla/userprefs.cgi?tab=email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/userprefs.cgi?tab=email&lt;/a&gt;&lt;br&gt;------- You are receiving this mail because: -------
&lt;br&gt;You are the assignee for the bug.
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26268551&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26268551&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/DO-NOT-REPLY--Bug-48158--New%3A-warn-that-%22per-directory-client-certificate-authentication%22-is-harmful-tp26246173p26268551.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26268198</id>
	<title>Re: SSL &amp; Tomcat</title>
	<published>2009-11-09T07:24:26Z</published>
	<updated>2009-11-09T07:24:26Z</updated>
	<author>
		<name>Rainer Jung-3</name>
	</author>
	<content type="html">On 09.11.2009 11:56, Mark Thomas wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Summarising the information gathered so far from various channels
&lt;br&gt;&amp;gt; (thanks to Bill B., Bill W. &amp; Rainer who have done most of the actual
&lt;br&gt;&amp;gt; work to find the info below).
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; BIO/NIO connectors using JSSE.
&lt;br&gt;&amp;gt; Vulnerable when renegotiation is triggered by the client or server.
&lt;br&gt;&amp;gt; We could prevent server initiated renegotiation (and probably break the
&lt;br&gt;&amp;gt; majority of configurations using CLIENT-CERT).
&lt;br&gt;&amp;gt; We can't do anything to prevent client initiated renegotiation.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; APR/native connector using OpenSSL
&lt;br&gt;&amp;gt; It is vulnerable when renegotiation is triggered by the client or by the
&lt;br&gt;&amp;gt; server.
&lt;br&gt;&amp;gt; Client triggered negotiation is supported.
&lt;br&gt;&amp;gt; Server triggered negotiation will be supported from 1.1.17 onwards.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; OpenSSL 0.9.8l disables negotiation by default
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; In terms of what this means for users:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; BIO/NIO
&lt;br&gt;&amp;gt; - There isn't anything we can do in Tomcat to stop client
&lt;br&gt;&amp;gt; &amp;nbsp; initiated renegotiation so it is a case of waiting for the JVM
&lt;br&gt;&amp;gt; &amp;nbsp; vendors to respond.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; APR/native
&lt;br&gt;&amp;gt; - Re-building their current version with 0.9.8l will protect
&lt;br&gt;&amp;gt; &amp;nbsp; users at the risk of breaking any configurations that
&lt;br&gt;&amp;gt; &amp;nbsp; require renegotiation.
&lt;br&gt;&amp;gt; - We can release 1.1.17 with the binaries built with 0.9.8l. This
&lt;br&gt;&amp;gt; &amp;nbsp; will also protect users at the risk of breaking any
&lt;br&gt;&amp;gt; &amp;nbsp; configurations that require renegotiation. Mladen is doing this
&lt;br&gt;&amp;gt; &amp;nbsp; now.
&lt;br&gt;&amp;gt; - Supporting renegotiation whilst avoiding the vulnerability will
&lt;br&gt;&amp;gt; &amp;nbsp; require a protocol fix. In the meantime, we could port port
&lt;br&gt;&amp;gt; &amp;nbsp; r833582 from httpd which would disable client triggered
&lt;br&gt;&amp;gt; &amp;nbsp; renegotiation for OpenSSL &amp;lt; 0.9.8l (which may help some users
&lt;br&gt;&amp;gt; &amp;nbsp; who can't easily change their OpenSSl version and release 1.1.18
&lt;br&gt;&amp;gt; &amp;nbsp; with this fix
&lt;br&gt;&amp;gt; - Once the protocol is fixed, release 1.1.next bundled with the
&lt;br&gt;&amp;gt; &amp;nbsp; appropriate version of OpenSSL
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Have I got my facts right above? If so, any objections to posting the
&lt;br&gt;&amp;gt; above to the users@ and announce@ lists along with adding something to
&lt;br&gt;&amp;gt; the security pages?
&lt;/div&gt;&lt;br&gt;+1, everything seems right to me and ready for notice to the users.
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26268198&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26268198&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/SSL---Tomcat-tp26246577p26268198.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26267954</id>
	<title>svn commit: r834099 - in /tomcat/trunk/java/org/apache/catalina: loader/WebappClassLoader.java security/SecurityClassLoad.java</title>
	<published>2009-11-09T07:08:50Z</published>
	<updated>2009-11-09T07:08:50Z</updated>
	<author>
		<name>kkolinko</name>
	</author>
	<content type="html">Author: kkolinko
&lt;br&gt;Date: Mon Nov &amp;nbsp;9 15:08:50 2009
&lt;br&gt;New Revision: 834099
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=834099&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=834099&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;Remove unused inner class
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/security/SecurityClassLoad.java
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java?rev=834099&amp;r1=834098&amp;r2=834099&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java?rev=834099&amp;r1=834098&amp;r2=834099&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java Mon Nov &amp;nbsp;9 15:08:50 2009
&lt;br&gt;@@ -114,23 +114,6 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;public static final boolean ENABLE_CLEAR_REFERENCES = 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Boolean.valueOf(System.getProperty(&amp;quot;org.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES&amp;quot;, &amp;quot;true&amp;quot;)).booleanValue();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;- &amp;nbsp; &amp;nbsp;protected class PrivilegedFindResource
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;implements PrivilegedAction&amp;lt;ResourceEntry&amp;gt; {
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;protected File file;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;protected String path;
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PrivilegedFindResource(File file, String path) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.file = file;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.path = path;
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public ResourceEntry run() {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return findResourceInternal(file, path);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;-
&lt;br&gt;- &amp;nbsp; &amp;nbsp;}
&lt;br&gt;-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;protected class PrivilegedFindResourceByName
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;implements PrivilegedAction&amp;lt;ResourceEntry&amp;gt; {
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/security/SecurityClassLoad.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/security/SecurityClassLoad.java?rev=834099&amp;r1=834098&amp;r2=834099&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/security/SecurityClassLoad.java?rev=834099&amp;r1=834098&amp;r2=834099&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/security/SecurityClassLoad.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/security/SecurityClassLoad.java Mon Nov &amp;nbsp;9 15:08:50 2009
&lt;br&gt;@@ -88,7 +88,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String basePackage = &amp;quot;org.apache.catalina.&amp;quot;;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;loader.loadClass
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(basePackage +
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;loader.WebappClassLoader$PrivilegedFindResource&amp;quot;);
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;loader.WebappClassLoader$PrivilegedFindResourceByName&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26267954&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26267954&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r834099---in--tomcat-trunk-java-org-apache-catalina%3A-loader-WebappClassLoader.java-security-SecurityClassLoad.java-tp26267954p26267954.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26267880</id>
	<title>svn commit: r834096 - /tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java</title>
	<published>2009-11-09T07:04:08Z</published>
	<updated>2009-11-09T07:04:08Z</updated>
	<author>
		<name>kkolinko</name>
	</author>
	<content type="html">Author: kkolinko
&lt;br&gt;Date: Mon Nov &amp;nbsp;9 15:04:07 2009
&lt;br&gt;New Revision: 834096
&lt;br&gt;&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=834096&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=834096&amp;view=rev&lt;/a&gt;&lt;br&gt;Log:
&lt;br&gt;With rev.834080 WebappClassLoader#findResourceInternal(String,String) is always called with AccessController.doPrivileged(), thus there is no need to wrap #findResourceInternal(File,String) call that is inside it.
&lt;br&gt;&lt;br&gt;Modified:
&lt;br&gt;&amp;nbsp; &amp;nbsp; tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java
&lt;br&gt;&lt;br&gt;Modified: tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java
&lt;br&gt;URL: &lt;a href=&quot;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java?rev=834096&amp;r1=834095&amp;r2=834096&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java?rev=834096&amp;r1=834095&amp;r2=834096&amp;view=diff&lt;/a&gt;&lt;br&gt;==============================================================================
&lt;br&gt;--- tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java (original)
&lt;br&gt;+++ tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoader.java Mon Nov &amp;nbsp;9 15:04:07 2009
&lt;br&gt;@@ -1989,8 +1989,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * Find specified resource in local repositories. This block
&lt;br&gt;- &amp;nbsp; &amp;nbsp; * will execute under an AccessControl.doPrivilege block.
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; * Find specified resource in local repositories.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; *
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; * @return the loaded resource, or null if the resource isn't found
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;@@ -2049,13 +2048,7 @@
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Note : Not getting an exception here means the resource was
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// found
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (securityManager != null) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;PrivilegedAction&amp;lt;ResourceEntry&amp;gt; dp =
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;new PrivilegedFindResource(files[i], path);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;entry = AccessController.doPrivileged(dp);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; } else {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;entry = findResourceInternal(files[i], path);
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;entry = findResourceInternal(files[i], path);
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ResourceAttributes attributes =
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(ResourceAttributes) resources.getAttributes(fullPath);
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26267880&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26267880&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/svn-commit%3A-r834096----tomcat-trunk-java-org-apache-catalina-loader-WebappClassLoader.java-tp26267880p26267880.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26267561</id>
	<title>svn commit: r834084 - in /tomcat: tc5.5.x/trunk/STATUS.txt tc6.0.x/trunk/STATUS.txt</title>
	<published>2009-11-09T06:41:43Z