private static void setCurrentThreadName(final String name) { final SecurityManager sm = System.getSecurityManager(); if (sm != null) { sm.checkPermission(new SpecialPermission()); } AccessController.doPrivileged(new PrivilegedAction<Object>() { @Override public Object run() { Thread.currentThread().setName(name); return null; } }); }
sm.checkPermission(new SpecialPermission());
ExtMonitor() { SecurityManager sm = System.getSecurityManager(); if (sm != null) { sm.checkPermission(new SpecialPermission()); } }
private static void setCurrentThreadName(final String name) { final SecurityManager sm = System.getSecurityManager(); if (sm != null) { sm.checkPermission(new SpecialPermission()); } AccessController.doPrivileged(new PrivilegedAction<Object>() { @Override public Object run() { Thread.currentThread().setName(name); return null; } }); }
private SslContext buildSSLContext0(final SslContextBuilder sslContextBuilder) throws SSLException { final SecurityManager sm = System.getSecurityManager(); if (sm != null) { sm.checkPermission(new SpecialPermission()); } SslContext sslContext = null; try { sslContext = AccessController.doPrivileged(new PrivilegedExceptionAction<SslContext>() { @Override public SslContext run() throws Exception { return sslContextBuilder.build(); } }); } catch (final PrivilegedActionException e) { throw (SSLException) e.getCause(); } return sslContext; }
/** * We build the list of Nodes from Kubernetes API * Information can be cached using `plugins.refresh_interval` property if needed. * Setting `plugins.refresh_interval` to `-1` will cause infinite caching. * Setting `plugins.refresh_interval` to `0` will disable caching (default). */ @Override public List<DiscoveryNode> buildDynamicNodes() { final List<DiscoveryNode> result = new ArrayList<>(); // ES permission you should check before doPrivileged() blocks SecurityManager sm = System.getSecurityManager(); if (sm != null) { sm.checkPermission(new SpecialPermission()); } AccessController.doPrivileged(new PrivilegedAction<Void>() { @Override public Void run() { result.addAll(readNodes()); return null; } }); return result; }
@Inject public GroovyScriptEngineService(Settings settings) { super(settings); // Creates the classloader here in order to isolate Groovy-land code final SecurityManager sm = System.getSecurityManager(); if (sm != null) { sm.checkPermission(new SpecialPermission()); } this.loader = AccessController.doPrivileged(new PrivilegedAction<ClassLoader>() { @Override public ClassLoader run() { // snapshot our context (which has permissions for classes), since the script has none final AccessControlContext context = AccessController.getContext(); return new ClassLoader(getClass().getClassLoader()) { @Override protected Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException { if (sm != null) { try { context.checkPermission(new ClassPermission(name)); } catch (SecurityException e) { throw new ClassNotFoundException(name, e); } } return super.loadClass(name, resolve); } }; } }); }
protected OnLoadListener(final File outputFile, final ActionListener<Void> listener) { this.outputFile = outputFile; this.listener = listener; if (isExcel2007) { final SecurityManager sm = System.getSecurityManager(); if (sm != null) { sm.checkPermission(new SpecialPermission()); } workbook = AccessController .doPrivileged((PrivilegedAction<Workbook>) () -> new SXSSFWorkbook(-1)); sheet = AccessController .doPrivileged((PrivilegedAction<Sheet>) () -> workbook.createSheet()); } else { workbook = new HSSFWorkbook(); sheet = workbook.createSheet(); } }
sm.checkPermission(new SpecialPermission());
@Override public Object compile(final String scriptSource, Map<String, String> params) { // Create the script class name final String className = MessageDigests.toHexString(MessageDigests.sha1().digest(scriptSource.getBytes(StandardCharsets.UTF_8))); final SecurityManager sm = System.getSecurityManager(); if (sm != null) { sm.checkPermission(new SpecialPermission()); } return AccessController.doPrivileged(new PrivilegedAction<Object>() { public Class<?> run() { try { GroovyCodeSource codeSource = new GroovyCodeSource(scriptSource, className, BootstrapInfo.UNTRUSTED_CODEBASE); codeSource.setCachable(false); CompilerConfiguration configuration = new CompilerConfiguration() .addCompilationCustomizers(new ImportCustomizer().addStarImports("org.joda.time").addStaticStars("java.lang.Math")) .addCompilationCustomizers(new GroovyBigDecimalTransformer(CompilePhase.CONVERSION)); // always enable invokeDynamic, not the crazy softreference-based stuff configuration.getOptimizationOptions().put(GROOVY_INDY_SETTING_NAME, true); GroovyClassLoader groovyClassLoader = new GroovyClassLoader(loader, configuration); return groovyClassLoader.parseClass(codeSource); } catch (Throwable e) { if (logger.isTraceEnabled()) { logger.trace("Exception compiling Groovy script:", e); } throw new ScriptException("Error compiling script " + className, e); } } }); }
sm.checkPermission(new SpecialPermission()); sm.checkPermission(new SpecialPermission());
sm.checkPermission(new SpecialPermission());
sm.checkPermission(new SpecialPermission());
final SecurityManager sm = System.getSecurityManager(); if (sm != null) { sm.checkPermission(new SpecialPermission());