Return-Path: X-Original-To: apmail-ranger-commits-archive@www.apache.org Delivered-To: apmail-ranger-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 9986C18B55 for ; Tue, 3 Nov 2015 00:34:35 +0000 (UTC) Received: (qmail 58452 invoked by uid 500); 3 Nov 2015 00:34:35 -0000 Delivered-To: apmail-ranger-commits-archive@ranger.apache.org Received: (qmail 58425 invoked by uid 500); 3 Nov 2015 00:34:35 -0000 Mailing-List: contact commits-help@ranger.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ranger.incubator.apache.org Delivered-To: mailing list commits@ranger.incubator.apache.org Received: (qmail 58415 invoked by uid 99); 3 Nov 2015 00:34:35 -0000 Received: from Unknown (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 03 Nov 2015 00:34:35 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 0377CC1525 for ; Tue, 3 Nov 2015 00:34:35 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 1.771 X-Spam-Level: * X-Spam-Status: No, score=1.771 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, T_RP_MATCHES_RCVD=-0.01, URIBL_BLOCKED=0.001] autolearn=disabled Received: from mx1-eu-west.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id NWt0ATozf1bM for ; Tue, 3 Nov 2015 00:34:27 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx1-eu-west.apache.org (ASF Mail Server at mx1-eu-west.apache.org) with SMTP id C7E4A207D6 for ; Tue, 3 Nov 2015 00:34:26 +0000 (UTC) Received: (qmail 58012 invoked by uid 99); 3 Nov 2015 00:34:25 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 03 Nov 2015 00:34:25 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id C3B1EDFCE0; Tue, 3 Nov 2015 00:34:25 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: rmani@apache.org To: commits@ranger.incubator.apache.org Message-Id: <18fff397663a42528d6a9a648a9af90d@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: incubator-ranger git commit: Ranger-715:Fix issues reported by coverity test in Ranger Plugin ClassLoader Date: Tue, 3 Nov 2015 00:34:25 +0000 (UTC) Repository: incubator-ranger Updated Branches: refs/heads/master 433ab8523 -> 3e462d15f Ranger-715:Fix issues reported by coverity test in Ranger Plugin ClassLoader Project: http://git-wip-us.apache.org/repos/asf/incubator-ranger/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ranger/commit/3e462d15 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ranger/tree/3e462d15 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ranger/diff/3e462d15 Branch: refs/heads/master Commit: 3e462d15fe1b141e7ec90ed07cf03af8d418ef62 Parents: 433ab85 Author: rmani Authored: Mon Nov 2 16:33:00 2015 -0800 Committer: rmani Committed: Mon Nov 2 16:33:00 2015 -0800 ---------------------------------------------------------------------- .../classloader/RangerPluginClassLoader.java | 34 +++++++++++++------- 1 file changed, 22 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ranger/blob/3e462d15/ranger-plugin-classloader/src/main/java/org/apache/ranger/plugin/classloader/RangerPluginClassLoader.java ---------------------------------------------------------------------- diff --git a/ranger-plugin-classloader/src/main/java/org/apache/ranger/plugin/classloader/RangerPluginClassLoader.java b/ranger-plugin-classloader/src/main/java/org/apache/ranger/plugin/classloader/RangerPluginClassLoader.java index eafcd27..23e16bf 100644 --- a/ranger-plugin-classloader/src/main/java/org/apache/ranger/plugin/classloader/RangerPluginClassLoader.java +++ b/ranger-plugin-classloader/src/main/java/org/apache/ranger/plugin/classloader/RangerPluginClassLoader.java @@ -22,11 +22,11 @@ package org.apache.ranger.plugin.classloader; import java.io.IOException; import java.net.URL; import java.net.URLClassLoader; +import java.security.AccessController; +import java.security.PrivilegedAction; +import java.security.PrivilegedExceptionAction; import java.util.Enumeration; -//import org.apache.commons.logging.Log; -//import org.apache.commons.logging.LogFactory; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -35,24 +35,34 @@ public class RangerPluginClassLoader extends URLClassLoader { private static volatile RangerPluginClassLoader me = null; private static MyClassLoader componentClassLoader = null; - //private static ThreadLocal componentClassLoader = new ThreadLocal(); public RangerPluginClassLoader(String pluginType, Class pluginClass ) throws Exception { super(RangerPluginClassLoaderUtil.getInstance().getPluginFilesForServiceTypeAndPluginclass(pluginType, pluginClass), null); - //componentClassLoader.set(new MyClassLoader(Thread.currentThread().getContextClassLoader())); - componentClassLoader = new MyClassLoader(Thread.currentThread().getContextClassLoader()); + componentClassLoader = AccessController.doPrivileged( + new PrivilegedAction() { + public MyClassLoader run() { + return new MyClassLoader(Thread.currentThread().getContextClassLoader()); + } + } + ); } - public static RangerPluginClassLoader getInstance(String pluginType, Class pluginClass ) throws Exception { + public static RangerPluginClassLoader getInstance(final String pluginType, final Class pluginClass ) throws Exception { RangerPluginClassLoader ret = me; if ( ret == null) { synchronized(RangerPluginClassLoader.class) { ret = me; if ( ret == null){ - me = ret = new RangerPluginClassLoader(pluginType,pluginClass); - } - } - } + me = ret = AccessController.doPrivileged( + new PrivilegedExceptionAction(){ + public RangerPluginClassLoader run() throws Exception { + return new RangerPluginClassLoader(pluginType,pluginClass); + } + } + ); + } + } + } return ret; } @@ -263,7 +273,7 @@ public class RangerPluginClassLoader extends URLClassLoader { } } - class MergeEnumeration implements Enumeration { + static class MergeEnumeration implements Enumeration { Enumeration e1 = null; Enumeration e2 = null;