/*
* Copyright 2010-2015 Institut Pasteur.
*
* This file is part of Icy.
*
* Icy is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Icy is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Icy. If not, see <http://www.gnu.org/licenses/>.
*/
package icy.system;
import java.io.FileDescriptor;
import java.security.Permission;
/**
* @author Stephane
*/
public class IcySecurityManager extends SecurityManager
{
private static IcySecurityManager securityManager = null;
public static synchronized void init()
{
// initialize security manager
if (securityManager == null)
{
securityManager = new IcySecurityManager();
System.setSecurityManager(securityManager);
}
}
@Override
public void checkConnect(String host, int port)
{
// ignore for now
}
@Override
public void checkConnect(String host, int port, Object context)
{
// ignore for now
}
@Override
public void checkDelete(String file)
{
// ignore for now
}
@Override
public boolean checkTopLevelWindow(Object window)
{
return true;
}
@Override
public void checkListen(int port)
{
// ignore for now
}
@Override
public void checkRead(String file)
{
// ignore for now
}
@Override
public void checkRead(FileDescriptor fd)
{
// ignore for now
}
@Override
public void checkRead(String file, Object context)
{
// ignore for now
}
@Override
public void checkWrite(FileDescriptor fd)
{
// ignore for now
}
@Override
public void checkWrite(String file)
{// ignore for now
}
@Override
public void checkPackageAccess(String pkg)
{
// ignore for now
}
@Override
public void checkPackageDefinition(String pkg)
{
// ignore for now
}
@Override
public void checkPropertiesAccess()
{
// ignore for now
}
@Override
public void checkPropertyAccess(String key)
{
// ignore for now
}
@Override
public void checkAccept(String host, int port)
{
// ignore for now
}
@Override
public void checkAccess(Thread t)
{
// ignore for now
}
@Override
public void checkAccess(ThreadGroup g)
{
// ignore for now
}
@Override
public void checkMemberAccess(Class<?> clazz, int which)
{
// ignore for now
}
@Override
public void checkPermission(Permission perm, Object context)
{
checkPermission(perm);
}
@Override
public void checkPermission(Permission perm)
{
// // TODO: handle plugins permissions here
// for (Class<?> c : getClassContext())
// {
// if (Plugin.class.isAssignableFrom(c))
// {
// // System.out.println(c.getSimpleName() + " : permission " + perm.toString());
// }
// }
}
}