Repository: incubator-ranger Updated Branches: refs/heads/master cc1bb5a95 -> b0d21cffb
RANGER-1147:Knox repository test connection is failing Signed-off-by: Velmurugan Periasamy <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/b0d21cff Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/b0d21cff Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/b0d21cff Branch: refs/heads/master Commit: b0d21cffb94d50e6f5e2ea247a39d13fa33d52e4 Parents: cc1bb5a Author: pradeep agrawal <[email protected]> Authored: Fri Aug 12 09:09:45 2016 +0530 Committer: Velmurugan Periasamy <[email protected]> Committed: Fri Aug 12 10:07:30 2016 +0530 ---------------------------------------------------------------------- .../ranger/services/knox/client/KnoxClient.java | 27 ++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/b0d21cff/knox-agent/src/main/java/org/apache/ranger/services/knox/client/KnoxClient.java ---------------------------------------------------------------------- diff --git a/knox-agent/src/main/java/org/apache/ranger/services/knox/client/KnoxClient.java b/knox-agent/src/main/java/org/apache/ranger/services/knox/client/KnoxClient.java index 33ac863..42b1941 100644 --- a/knox-agent/src/main/java/org/apache/ranger/services/knox/client/KnoxClient.java +++ b/knox-agent/src/main/java/org/apache/ranger/services/knox/client/KnoxClient.java @@ -30,6 +30,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.ranger.plugin.client.BaseClient; import org.apache.ranger.plugin.client.HadoopException; +import org.apache.ranger.plugin.util.PasswordUtils; import org.codehaus.jackson.JsonNode; import org.codehaus.jackson.map.ObjectMapper; @@ -73,6 +74,17 @@ public class KnoxClient { if ( topologyNameMatching == null || topologyNameMatching.trim().isEmpty()) { topologyNameMatching = ""; } + String decryptedPwd=null; + try{ + decryptedPwd=PasswordUtils.decryptPassword(password); + }catch(Exception ex){ + LOG.info("Password decryption failed; trying knox connection with received password string"); + decryptedPwd=null; + }finally{ + if(decryptedPwd==null){ + decryptedPwd=password; + } + } try { Client client = null; @@ -81,7 +93,7 @@ public class KnoxClient { try { client = Client.create();; - client.addFilter(new HTTPBasicAuthFilter(userName, password)); + client.addFilter(new HTTPBasicAuthFilter(userName, decryptedPwd)); WebResource webResource = client.resource(knoxUrl); response = webResource.accept(EXPECTED_MIME_TYPE) .get(ClientResponse.class); @@ -164,6 +176,17 @@ public class KnoxClient { if ( serviceNameMatching == null || serviceNameMatching.trim().isEmpty()) { serviceNameMatching = ""; } + String decryptedPwd=null; + try{ + decryptedPwd=PasswordUtils.decryptPassword(password); + }catch(Exception ex){ + LOG.info("Password decryption failed; trying knox connection with received password string"); + decryptedPwd=null; + }finally{ + if(decryptedPwd==null){ + decryptedPwd=password; + } + } try { Client client = null; @@ -172,7 +195,7 @@ public class KnoxClient { try { client = Client.create();; - client.addFilter(new HTTPBasicAuthFilter(userName, password)); + client.addFilter(new HTTPBasicAuthFilter(userName, decryptedPwd)); WebResource webResource = client.resource(knoxUrl + "/" + topologyName);
