diff -r bf7ee68962da -r 773449708c84 javacommons/gcfprotocols/socket/socket/javasrc/com/nokia/mj/impl/gcf/protocol/socket/SocketPermissionImpl.java --- a/javacommons/gcfprotocols/socket/socket/javasrc/com/nokia/mj/impl/gcf/protocol/socket/SocketPermissionImpl.java Wed Aug 18 09:43:15 2010 +0300 +++ b/javacommons/gcfprotocols/socket/socket/javasrc/com/nokia/mj/impl/gcf/protocol/socket/SocketPermissionImpl.java Thu Sep 02 20:20:40 2010 +0300 @@ -25,6 +25,13 @@ public class SocketPermissionImpl extends PermissionBase { + /** + * Constants for identifying the target/uri of connection: client or server + */ + static String CLIENT_TARGET = "socket://*"; + static String SERVER_TARGET = "socket://"; + + private String iTarget; /** * Returns the question (as localized text) associated with the security @@ -36,6 +43,7 @@ public SocketPermissionImpl(String uri) { super(uri); + iTarget = uri; } public String getSecurityPromptQuestion(int aInteractionMode) @@ -55,6 +63,10 @@ public String toString() { + if (SERVER_TARGET.equals(iTarget)) + { + return "javax.microedition.io.Connector.serversocket"; + } return "javax.microedition.io.Connector.socket"; } @@ -62,7 +74,12 @@ { if (p instanceof SocketPermissionImpl) { - return true; + SocketPermissionImpl o = (SocketPermissionImpl)p; + if ((iTarget != null && iTarget.equals(o.getTarget())) + || (iTarget == null && o.getTarget() == null)) + { + return true; + } } return false; } @@ -87,4 +104,8 @@ return null; } + String getTarget() + { + return iTarget; + } } \ No newline at end of file