package org.apache.harmony.nio.tests.java.nio.channels;
import java.security.Permission;
class MockSecurityManager extends SecurityManager {
String validHost = null;
int validPort = -1;
public boolean checkAcceptCalled = false;
public boolean checkConnectCalled = false;
MockSecurityManager() {
super();
this.validHost = null;
}
MockSecurityManager(String host) {
super();
this.validHost = host;
}
MockSecurityManager(int port) {
super();
this.validPort = port;
}
public void checkPermission(Permission perm) {
// no-op
}
public void checkPermission(Permission perm, Object context) {
// no-op
}
public void checkConnect(String host, int port) {
checkConnectCalled = true;
// our local addr is OK.
if (null != this.validHost) {
if (!this.validHost.equals(host)) {
throw new SecurityException();
}
}
if ("127.0.0.1".equals(host)) {
return;
}
super.checkConnect(host, port);
}
public void checkAccept(String host, int port) {
checkAcceptCalled = true;
// our local addr is OK.
if (null != this.validHost) {
if (!this.validHost.equals(host)) {
throw new SecurityException();
}
}
if (-1 != this.validPort) {
if (this.validPort != port) {
throw new SecurityException();
}
}
if ("127.0.0.1".equals(host)) {
return;
}
super.checkAccept(host, port);
}
} |