Author: kkolinko
Date: Fri Mar 22 09:22:55 2013
New Revision: 1459683

URL: http://svn.apache.org/r1459683
Log:
Merged revision 1459681 from tomcat/trunk:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=54599
jdbc-pool: Do not expose connection password via DataSource.toString().
Based on a patch by Daniel Mikusa

Modified:
    tomcat/tc7.0.x/trunk/   (props changed)
    
tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java
    tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

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

Modified: 
tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java?rev=1459683&r1=1459682&r2=1459683&view=diff
==============================================================================
--- 
tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java
 (original)
+++ 
tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java
 Fri Mar 22 09:22:55 2013
@@ -802,28 +802,33 @@ public class PoolProperties implements P
         StringBuilder buf = new StringBuilder("ConnectionPool[");
         try {
             String[] fields = DataSourceFactory.ALL_PROPERTIES;
-            for (int i=0; i<fields.length; i++) {
+            for (String field: fields) {
                 final String[] prefix = new String[] {"get","is"};
                 for (int j=0; j<prefix.length; j++) {
 
-                    String name = prefix[j] + fields[i].substring(0, 
1).toUpperCase(Locale.ENGLISH) +
-                                  fields[i].substring(1);
+                    String name = prefix[j]
+                            + field.substring(0, 1).toUpperCase(Locale.ENGLISH)
+                            + field.substring(1);
                     Method m = null;
                     try {
                         m = getClass().getMethod(name);
                     }catch (NoSuchMethodException nm) {
                         continue;
                     }
-                    buf.append(fields[i]);
+                    buf.append(field);
                     buf.append("=");
-                    buf.append(m.invoke(this, new Object[0]));
+                    if (DataSourceFactory.PROP_PASSWORD.equals(field)) {
+                        buf.append("********");
+                    } else {
+                        buf.append(m.invoke(this, new Object[0]));
+                    }
                     buf.append("; ");
                     break;
                 }
             }
         }catch (Exception x) {
-            //shouldn;t happen
-            x.printStackTrace();
+            //shouldn't happen
+            log.debug("toString() call failed", x);
         }
         return buf.toString();
     }

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=1459683&r1=1459682&r2=1459683&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Fri Mar 22 09:22:55 2013
@@ -134,6 +134,11 @@
         Patch provided by Martin Lichtin. (violetagg)
       </fix>
       <fix>
+        <bug>54599</bug>: Do not print connection password in
+        <code>PoolProperties.toString()</code>. Based on a patch by
+        Daniel Mikusa. (kkolinko)
+      </fix>
+      <fix>
         <bug>54684</bug>: Add <code>javax.naming.spi</code> to 
         <code>Import-Package</code> header in MANIFEST.MF in order to resolve
         <code>ClassNotFoundException</code> when running in OSGi environment.



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

Reply via email to