Skip to content

Commit

Permalink
Issue #10393 doPrivileged missing from abort path
Browse files Browse the repository at this point in the history
  • Loading branch information
njr-11 committed Jan 13, 2020
1 parent 6505bb1 commit d400507
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 13 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2014, 2017 IBM Corporation and others.
* Copyright (c) 2014, 2020 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
Expand All @@ -10,6 +10,9 @@
*******************************************************************************/
package com.ibm.ws.jdbc.osgi.v41;

import java.security.AccessController;
import java.security.PrivilegedActionException;
import java.security.PrivilegedExceptionAction;
import java.sql.BatchUpdateException;
import java.sql.CallableStatement;
import java.sql.Connection;
Expand Down Expand Up @@ -131,9 +134,17 @@ public String doGetSchema(Connection sqlConn) throws SQLException {
}

@Override
public void doAbort(Connection sqlConn, Executor ex) throws SQLException {
public void doAbort(final Connection sqlConn, final Executor ex) throws SQLException {
try {
sqlConn.abort(ex);
AccessController.doPrivileged(new PrivilegedExceptionAction<Void>() {
@Override
public Void run() throws SQLException {
sqlConn.abort(ex);
return null;
}
});
} catch (PrivilegedActionException x) {
throw (SQLException) x.getCause();
} catch (IncompatibleClassChangeError e) { // pre-4.1 driver
throw new SQLFeatureNotSupportedException(e);
}
Expand Down Expand Up @@ -188,8 +199,10 @@ public boolean doSetShardingKeysIfValid(Connection con, Object shardingKey, Obje
}

@Override
public void beginRequest(Connection con) {}
public void beginRequest(Connection con) {
}

@Override
public void endRequest(Connection con) {}
public void endRequest(Connection con) {
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2017 IBM Corporation and others.
* Copyright (c) 2017,2020 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
Expand All @@ -10,6 +10,9 @@
*******************************************************************************/
package com.ibm.ws.jdbc.osgi.v42;

import java.security.AccessController;
import java.security.PrivilegedActionException;
import java.security.PrivilegedExceptionAction;
import java.sql.BatchUpdateException;
import java.sql.CallableStatement;
import java.sql.Connection;
Expand Down Expand Up @@ -136,9 +139,17 @@ public String doGetSchema(Connection sqlConn) throws SQLException {
}

@Override
public void doAbort(Connection sqlConn, Executor ex) throws SQLException {
public void doAbort(final Connection sqlConn, final Executor ex) throws SQLException {
try {
sqlConn.abort(ex);
AccessController.doPrivileged(new PrivilegedExceptionAction<Void>() {
@Override
public Void run() throws SQLException {
sqlConn.abort(ex);
return null;
}
});
} catch (PrivilegedActionException x) {
throw (SQLException) x.getCause();
} catch (IncompatibleClassChangeError e) { // pre-4.1 driver
throw new SQLFeatureNotSupportedException(e);
}
Expand Down Expand Up @@ -188,8 +199,10 @@ public boolean doSetShardingKeysIfValid(Connection con, Object shardingKey, Obje
}

@Override
public void beginRequest(Connection con) {}
public void beginRequest(Connection con) {
}

@Override
public void endRequest(Connection con) {}
public void endRequest(Connection con) {
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*******************************************************************************
* Copyright (c) 2018 IBM Corporation and others.
* Copyright (c) 2018,2020 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
Expand All @@ -10,6 +10,9 @@
*******************************************************************************/
package com.ibm.ws.jdbc.osgi.v43;

import java.security.AccessController;
import java.security.PrivilegedActionException;
import java.security.PrivilegedExceptionAction;
import java.sql.BatchUpdateException;
import java.sql.CallableStatement;
import java.sql.Connection;
Expand Down Expand Up @@ -142,9 +145,17 @@ public String doGetSchema(Connection sqlConn) throws SQLException {
}

@Override
public void doAbort(Connection sqlConn, Executor ex) throws SQLException {
public void doAbort(final Connection sqlConn, final Executor ex) throws SQLException {
try {
sqlConn.abort(ex);
AccessController.doPrivileged(new PrivilegedExceptionAction<Void>() {
@Override
public Void run() throws SQLException {
sqlConn.abort(ex);
return null;
}
});
} catch (PrivilegedActionException x) {
throw (SQLException) x.getCause();
} catch (IncompatibleClassChangeError e) { // pre-4.1 driver
throw new SQLFeatureNotSupportedException(e);
}
Expand Down

0 comments on commit d400507

Please sign in to comment.