Am 22.01.2015 um 21:54 schrieb fschumac...@apache.org:
Author: fschumacher
Date: Thu Jan 22 20:54:47 2015
New Revision: 1654064
URL: http://svn.apache.org/r1654064
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=57420
Make UEncoder a local variable in DirContextURLConnection to make it threadsafe.
Based on ideas from kkolinko and violetagg.
Modified:
tomcat/tc7.0.x/trunk/java/org/apache/naming/resources/DirContextURLConnection.java
tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
Modified:
tomcat/tc7.0.x/trunk/java/org/apache/naming/resources/DirContextURLConnection.java
URL:
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/naming/resources/DirContextURLConnection.java?rev=1654064&r1=1654063&r2=1654064&view=diff
==============================================================================
---
tomcat/tc7.0.x/trunk/java/org/apache/naming/resources/DirContextURLConnection.java
(original)
+++
tomcat/tc7.0.x/trunk/java/org/apache/naming/resources/DirContextURLConnection.java
Thu Jan 22 20:54:47 2015
@@ -42,6 +42,7 @@ import javax.naming.directory.DirContext
import org.apache.naming.JndiPermission;
import org.apache.tomcat.util.buf.UDecoder;
import org.apache.tomcat.util.buf.UEncoder;
+import org.apache.tomcat.util.buf.UEncoder.SafeCharsSet;
After enabling the checkstyle validation (being reminded by gump), I now
see, that this import is not allowed by checkstyle. But I don't know why
it is illegal.
Can anyone enlighten me on this?
Thanks
Felix
import org.apache.tomcat.util.http.FastHttpDateFormat;
/**
@@ -57,11 +58,6 @@ import org.apache.tomcat.util.http.FastH
public class DirContextURLConnection extends URLConnection {
private static final UDecoder URL_DECODER = new UDecoder();
- private static final UEncoder URL_ENCODER = new UEncoder();
-
- static{
- URL_ENCODER.addSafeCharacter('/');
- }
// ----------------------------------------------------------- Constructors
@@ -436,11 +432,12 @@ public class DirContextURLConnection ext
try {
NamingEnumeration<NameClassPair> enumeration =
collection.list("/");
+ UEncoder urlEncoder = new UEncoder(SafeCharsSet.WITH_SLASH);
while (enumeration.hasMoreElements()) {
NameClassPair ncp = enumeration.nextElement();
String s = ncp.getName();
result.addElement(
- URL_ENCODER.encodeURL(s, 0,
s.length()).toString());
+ urlEncoder.encodeURL(s, 0, s.length()).toString());
}
} catch (NamingException e) {
// Unexpected exception
Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
URL:
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1654064&r1=1654063&r2=1654064&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Thu Jan 22 20:54:47 2015
@@ -184,6 +184,11 @@
(markt)
</fix>
<fix>
+ <bug>57420</bug>: Make UEncoder a local variable in
+ DirContextURLConnection to make it threadsafe. Based on ideas from
+ kkolinko and violetagg. (fschumacher)
+ </fix>
+ <fix>
<bug>57425</bug>: Don't add attributes with null value or name to the
replicated context. (fschumacher)
</fix>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org