commons-dbcp git commit: [DBCP-519] Add some toString() methods for debugging (never printing passwords): Synchronize toString() for mutable objects.
Repository: commons-dbcp Updated Branches: refs/heads/master 04e3fe1d2 -> 3fe15786c [DBCP-519] Add some toString() methods for debugging (never printing passwords): Synchronize toString() for mutable objects. Project: http://git-wip-us.apache.org/repos/asf/commons-dbcp/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-dbcp/commit/3fe15786 Tree: http://git-wip-us.apache.org/repos/asf/commons-dbcp/tree/3fe15786 Diff: http://git-wip-us.apache.org/repos/asf/commons-dbcp/diff/3fe15786 Branch: refs/heads/master Commit: 3fe15786c11fdcf1808aacc05b8b15d61f7ce23e Parents: 04e3fe1 Author: Gary Gregory Authored: Thu Aug 16 15:41:42 2018 -0600 Committer: Gary Gregory Committed: Thu Aug 16 15:41:42 2018 -0600 -- src/main/java/org/apache/commons/dbcp2/DelegatingConnection.java | 2 +- .../org/apache/commons/dbcp2/DelegatingPreparedStatement.java| 2 +- src/main/java/org/apache/commons/dbcp2/DelegatingResultSet.java | 4 ++-- src/main/java/org/apache/commons/dbcp2/DelegatingStatement.java | 2 +- src/main/java/org/apache/commons/dbcp2/PoolingConnection.java| 2 +- .../org/apache/commons/dbcp2/cpdsadapter/DriverAdapterCPDS.java | 2 +- .../apache/commons/dbcp2/cpdsadapter/PooledConnectionImpl.java | 2 +- .../apache/commons/dbcp2/datasources/CPDSConnectionFactory.java | 2 +- .../apache/commons/dbcp2/datasources/InstanceKeyDataSource.java | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/commons-dbcp/blob/3fe15786/src/main/java/org/apache/commons/dbcp2/DelegatingConnection.java -- diff --git a/src/main/java/org/apache/commons/dbcp2/DelegatingConnection.java b/src/main/java/org/apache/commons/dbcp2/DelegatingConnection.java index a94b665..546e6a8 100644 --- a/src/main/java/org/apache/commons/dbcp2/DelegatingConnection.java +++ b/src/main/java/org/apache/commons/dbcp2/DelegatingConnection.java @@ -88,7 +88,7 @@ public class DelegatingConnection extends AbandonedTrace i * Returns a string representation of the metadata associated with the innermost delegate connection. */ @Override -public String toString() { +public synchronized String toString() { String s = null; final Connection c = this.getInnermostDelegateInternal(); http://git-wip-us.apache.org/repos/asf/commons-dbcp/blob/3fe15786/src/main/java/org/apache/commons/dbcp2/DelegatingPreparedStatement.java -- diff --git a/src/main/java/org/apache/commons/dbcp2/DelegatingPreparedStatement.java b/src/main/java/org/apache/commons/dbcp2/DelegatingPreparedStatement.java index 5d38e03..048687c 100644 --- a/src/main/java/org/apache/commons/dbcp2/DelegatingPreparedStatement.java +++ b/src/main/java/org/apache/commons/dbcp2/DelegatingPreparedStatement.java @@ -688,7 +688,7 @@ public class DelegatingPreparedStatement extends DelegatingStatement implements */ @SuppressWarnings("resource") @Override -public String toString() { +public synchronized String toString() { final Statement statement = getDelegate(); return statement == null ? "NULL" : statement.toString(); } http://git-wip-us.apache.org/repos/asf/commons-dbcp/blob/3fe15786/src/main/java/org/apache/commons/dbcp2/DelegatingResultSet.java -- diff --git a/src/main/java/org/apache/commons/dbcp2/DelegatingResultSet.java b/src/main/java/org/apache/commons/dbcp2/DelegatingResultSet.java index cac9133..3d1483c 100644 --- a/src/main/java/org/apache/commons/dbcp2/DelegatingResultSet.java +++ b/src/main/java/org/apache/commons/dbcp2/DelegatingResultSet.java @@ -1242,8 +1242,8 @@ public final class DelegatingResultSet extends AbandonedTrace implements ResultS } @Override -public String toString() { -return super.toString() + "[_res=" + resultSet + ", _stmt=" + statement + ", _conn=" + connection + "]"; +public synchronized String toString() { +return super.toString() + "[resultSet=" + resultSet + ", statement=" + statement + ", connection=" + connection + "]"; } @Override http://git-wip-us.apache.org/repos/asf/commons-dbcp/blob/3fe15786/src/main/java/org/apache/commons/dbcp2/DelegatingStatement.java -- diff --git a/src/main/java/org/apache/commons/dbcp2/DelegatingStatement.java b/src/main/java/org/apache/commons/dbcp2/DelegatingStatement.java index 3df926b..8a1725f 100644 --- a/src/main/java/org/apache/commons/dbcp2/DelegatingStatement.java +++ b/src/main/java/org/apache/commons/dbcp2/DelegatingStatement.java @@ -790,7 +790,7 @@ public class DelegatingStatement extends AbandonedTrace implements
commons-dbcp git commit: [DBCP-519] Add some toString() methods for debugging (never printing passwords): Remove user names from toString() output per Phil's suugestion.
Repository: commons-dbcp Updated Branches: refs/heads/master 749e5b391 -> 04e3fe1d2 [DBCP-519] Add some toString() methods for debugging (never printing passwords): Remove user names from toString() output per Phil's suugestion. Project: http://git-wip-us.apache.org/repos/asf/commons-dbcp/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-dbcp/commit/04e3fe1d Tree: http://git-wip-us.apache.org/repos/asf/commons-dbcp/tree/04e3fe1d Diff: http://git-wip-us.apache.org/repos/asf/commons-dbcp/diff/04e3fe1d Branch: refs/heads/master Commit: 04e3fe1d2cfd176784f164413010d87a01f1e5c2 Parents: 749e5b3 Author: Gary Gregory Authored: Thu Aug 16 15:03:25 2018 -0600 Committer: Gary Gregory Committed: Thu Aug 16 15:03:25 2018 -0600 -- .../dbcp2/cpdsadapter/DriverAdapterCPDS.java| 6 +-- .../datasources/CPDSConnectionFactory.java | 2 - .../datasources/PerUserPoolDataSource.java | 41 3 files changed, 2 insertions(+), 47 deletions(-) -- http://git-wip-us.apache.org/repos/asf/commons-dbcp/blob/04e3fe1d/src/main/java/org/apache/commons/dbcp2/cpdsadapter/DriverAdapterCPDS.java -- diff --git a/src/main/java/org/apache/commons/dbcp2/cpdsadapter/DriverAdapterCPDS.java b/src/main/java/org/apache/commons/dbcp2/cpdsadapter/DriverAdapterCPDS.java index 58aafcc..add181e 100644 --- a/src/main/java/org/apache/commons/dbcp2/cpdsadapter/DriverAdapterCPDS.java +++ b/src/main/java/org/apache/commons/dbcp2/cpdsadapter/DriverAdapterCPDS.java @@ -735,7 +735,7 @@ public class DriverAdapterCPDS implements ConnectionPoolDataSource, Referenceabl } /** - * Does not print the userPassword field nor the password in the connectionProperties. + * Does not print the userName and userPassword field nor the 'user' or 'password' in the connectionProperties. * * @since 2.6.0 */ @@ -745,10 +745,8 @@ public class DriverAdapterCPDS implements ConnectionPoolDataSource, Referenceabl builder.append("[description="); builder.append(description); builder.append(", url="); -// TODO What if the connection string contains a 'password' query parameter but that connection string is not in a legal URL format? +// TODO What if the connection string contains a 'user' or 'password' query parameter but that connection string is not in a legal URL format? builder.append(url); -builder.append(", userName="); -builder.append(userName); builder.append(", driver="); builder.append(driver); builder.append(", loginTimeout="); http://git-wip-us.apache.org/repos/asf/commons-dbcp/blob/04e3fe1d/src/main/java/org/apache/commons/dbcp2/datasources/CPDSConnectionFactory.java -- diff --git a/src/main/java/org/apache/commons/dbcp2/datasources/CPDSConnectionFactory.java b/src/main/java/org/apache/commons/dbcp2/datasources/CPDSConnectionFactory.java index ef6e5f7..a6253f0 100644 --- a/src/main/java/org/apache/commons/dbcp2/datasources/CPDSConnectionFactory.java +++ b/src/main/java/org/apache/commons/dbcp2/datasources/CPDSConnectionFactory.java @@ -411,8 +411,6 @@ class CPDSConnectionFactory builder.append(rollbackAfterValidation); builder.append(", pool="); builder.append(pool); -builder.append(", userName="); -builder.append(userName); builder.append(", maxConnLifetimeMillis="); builder.append(maxConnLifetimeMillis); builder.append(", validatingSet="); http://git-wip-us.apache.org/repos/asf/commons-dbcp/blob/04e3fe1d/src/main/java/org/apache/commons/dbcp2/datasources/PerUserPoolDataSource.java -- diff --git a/src/main/java/org/apache/commons/dbcp2/datasources/PerUserPoolDataSource.java b/src/main/java/org/apache/commons/dbcp2/datasources/PerUserPoolDataSource.java index 289617b..1087b37 100644 --- a/src/main/java/org/apache/commons/dbcp2/datasources/PerUserPoolDataSource.java +++ b/src/main/java/org/apache/commons/dbcp2/datasources/PerUserPoolDataSource.java @@ -1173,45 +1173,4 @@ public class PerUserPoolDataSource extends InstanceKeyDataSource { con.setReadOnly(defaultReadOnly.booleanValue()); } } - -@Override -protected void toStringFields(StringBuilder builder) { -super.toStringFields(builder); -builder.append(", perUserBlockWhenExhausted="); -builder.append(perUserBlockWhenExhausted); -builder.append(", perUserEvictionPolicyClassName="); -builder.append(perUserEvictionPolicyClassName); -builder.append(", perUserLifo="); -builder.append(perUserLifo); -builder.append(",
commons-dbcp git commit: [DBCP-519] Add some toString() methods for debugging (never printing passwords)
Repository: commons-dbcp Updated Branches: refs/heads/master 5bac43f7b -> 16c46bdb4 [DBCP-519] Add some toString() methods for debugging (never printing passwords) Project: http://git-wip-us.apache.org/repos/asf/commons-dbcp/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-dbcp/commit/16c46bdb Tree: http://git-wip-us.apache.org/repos/asf/commons-dbcp/tree/16c46bdb Diff: http://git-wip-us.apache.org/repos/asf/commons-dbcp/diff/16c46bdb Branch: refs/heads/master Commit: 16c46bdb4330287fa64cbb2b71014c76852e5c8b Parents: 5bac43f Author: Gary Gregory Authored: Thu Aug 16 13:09:46 2018 -0600 Committer: Gary Gregory Committed: Thu Aug 16 13:09:46 2018 -0600 -- .../apache/commons/dbcp2/cpdsadapter/DriverAdapterCPDS.java | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/commons-dbcp/blob/16c46bdb/src/main/java/org/apache/commons/dbcp2/cpdsadapter/DriverAdapterCPDS.java -- diff --git a/src/main/java/org/apache/commons/dbcp2/cpdsadapter/DriverAdapterCPDS.java b/src/main/java/org/apache/commons/dbcp2/cpdsadapter/DriverAdapterCPDS.java index db97efe..eb0d472 100644 --- a/src/main/java/org/apache/commons/dbcp2/cpdsadapter/DriverAdapterCPDS.java +++ b/src/main/java/org/apache/commons/dbcp2/cpdsadapter/DriverAdapterCPDS.java @@ -764,7 +764,13 @@ public class DriverAdapterCPDS implements ConnectionPoolDataSource, Referenceabl builder.append(", getConnectionCalled="); builder.append(getConnectionCalled); builder.append(", connectionProperties="); -builder.append(((Properties) connectionProperties.clone()).remove("password")); +Properties tmpProps = connectionProperties; +final String pwdKey = "password"; +if (connectionProperties.contains(pwdKey)) { +tmpProps = (Properties) connectionProperties.clone(); +tmpProps.remove(pwdKey); +} +builder.append(tmpProps); builder.append(", accessToUnderlyingConnectionAllowed="); builder.append(accessToUnderlyingConnectionAllowed); builder.append("]");
commons-dbcp git commit: [DBCP-519] Add some toString() methods for debugging (never printing passwords)
Repository: commons-dbcp Updated Branches: refs/heads/master 7b893aed7 -> 5bac43f7b [DBCP-519] Add some toString() methods for debugging (never printing passwords) Project: http://git-wip-us.apache.org/repos/asf/commons-dbcp/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-dbcp/commit/5bac43f7 Tree: http://git-wip-us.apache.org/repos/asf/commons-dbcp/tree/5bac43f7 Diff: http://git-wip-us.apache.org/repos/asf/commons-dbcp/diff/5bac43f7 Branch: refs/heads/master Commit: 5bac43f7b775c9c876af614e745f80ccb495f01f Parents: 7b893ae Author: Gary Gregory Authored: Thu Aug 16 12:59:41 2018 -0600 Committer: Gary Gregory Committed: Thu Aug 16 12:59:41 2018 -0600 -- src/changes/changes.xml | 3 + .../dbcp2/cpdsadapter/DriverAdapterCPDS.java| 40 +++ .../dbcp2/cpdsadapter/PooledConnectionImpl.java | 23 +++ .../datasources/CPDSConnectionFactory.java | 26 +++ .../datasources/InstanceKeyDataSource.java | 72 .../datasources/PerUserPoolDataSource.java | 41 +++ .../dbcp2/datasources/SharedPoolDataSource.java | 7 ++ .../commons/dbcp2/datasources/UserPassKey.java | 7 +- 8 files changed, 216 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/commons-dbcp/blob/5bac43f7/src/changes/changes.xml -- diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 27717b1..8d69d58 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -76,6 +76,9 @@ The type attribute can be add,update,fix,remove. Allow DBCP to work with old Java 6/JDBC drivers without throwing AbstractMethodError. + +Add some toString() methods for debugging (never printing passwords.) + http://git-wip-us.apache.org/repos/asf/commons-dbcp/blob/5bac43f7/src/main/java/org/apache/commons/dbcp2/cpdsadapter/DriverAdapterCPDS.java -- diff --git a/src/main/java/org/apache/commons/dbcp2/cpdsadapter/DriverAdapterCPDS.java b/src/main/java/org/apache/commons/dbcp2/cpdsadapter/DriverAdapterCPDS.java index 0844c9b..db97efe 100644 --- a/src/main/java/org/apache/commons/dbcp2/cpdsadapter/DriverAdapterCPDS.java +++ b/src/main/java/org/apache/commons/dbcp2/cpdsadapter/DriverAdapterCPDS.java @@ -730,4 +730,44 @@ public class DriverAdapterCPDS implements ConnectionPoolDataSource, Referenceabl } } } + +/** + * Does not print the userPassword field nor the password in the connectionProperties. + * + * @since 2.6.0 + */ +@Override +public String toString() { +StringBuilder builder = new StringBuilder(super.toString()); +builder.append("[description="); +builder.append(description); +builder.append(", url="); +builder.append(url); +builder.append(", userName="); +builder.append(userName); +builder.append(", driver="); +builder.append(driver); +builder.append(", loginTimeout="); +builder.append(loginTimeout); +builder.append(", poolPreparedStatements="); +builder.append(poolPreparedStatements); +builder.append(", maxIdle="); +builder.append(maxIdle); +builder.append(", timeBetweenEvictionRunsMillis="); +builder.append(timeBetweenEvictionRunsMillis); +builder.append(", numTestsPerEvictionRun="); +builder.append(numTestsPerEvictionRun); +builder.append(", minEvictableIdleTimeMillis="); +builder.append(minEvictableIdleTimeMillis); +builder.append(", maxPreparedStatements="); +builder.append(maxPreparedStatements); +builder.append(", getConnectionCalled="); +builder.append(getConnectionCalled); +builder.append(", connectionProperties="); +builder.append(((Properties) connectionProperties.clone()).remove("password")); +builder.append(", accessToUnderlyingConnectionAllowed="); +builder.append(accessToUnderlyingConnectionAllowed); +builder.append("]"); +return builder.toString(); +} } http://git-wip-us.apache.org/repos/asf/commons-dbcp/blob/5bac43f7/src/main/java/org/apache/commons/dbcp2/cpdsadapter/PooledConnectionImpl.java -- diff --git a/src/main/java/org/apache/commons/dbcp2/cpdsadapter/PooledConnectionImpl.java b/src/main/java/org/apache/commons/dbcp2/cpdsadapter/PooledConnectionImpl.java index 715c0de..604ad71 100644 --- a/src/main/java/org/apache/commons/dbcp2/cpdsadapter/PooledConnectionImpl.java +++ b/src/main/java/org/apache/commons/dbcp2/cpdsadapter/PooledConnectionImpl.java @@ -647,4 +647,27 @@ class