jdk/src/share/classes/sun/rmi/transport/tcp/TCPEndpoint.java
changeset 23333 b0af2c7c8c91
parent 14342 8435a30053c1
equal deleted inserted replaced
23332:c36c4773fe96 23333:b0af2c7c8c91
    36 import java.rmi.RemoteException;
    36 import java.rmi.RemoteException;
    37 import java.rmi.server.RMIClientSocketFactory;
    37 import java.rmi.server.RMIClientSocketFactory;
    38 import java.rmi.server.RMIServerSocketFactory;
    38 import java.rmi.server.RMIServerSocketFactory;
    39 import java.rmi.server.RMISocketFactory;
    39 import java.rmi.server.RMISocketFactory;
    40 import java.security.AccessController;
    40 import java.security.AccessController;
       
    41 import java.security.PrivilegedAction;
    41 import java.util.Collection;
    42 import java.util.Collection;
    42 import java.util.HashMap;
    43 import java.util.HashMap;
    43 import java.util.HashSet;
    44 import java.util.HashSet;
    44 import java.util.LinkedList;
    45 import java.util.LinkedList;
    45 import java.util.Map;
    46 import java.util.Map;
    48 import sun.rmi.runtime.NewThreadAction;
    49 import sun.rmi.runtime.NewThreadAction;
    49 import sun.rmi.transport.Channel;
    50 import sun.rmi.transport.Channel;
    50 import sun.rmi.transport.Endpoint;
    51 import sun.rmi.transport.Endpoint;
    51 import sun.rmi.transport.Target;
    52 import sun.rmi.transport.Target;
    52 import sun.rmi.transport.Transport;
    53 import sun.rmi.transport.Transport;
    53 import sun.security.action.GetBooleanAction;
       
    54 import sun.security.action.GetIntegerAction;
       
    55 import sun.security.action.GetPropertyAction;
       
    56 
    54 
    57 /**
    55 /**
    58  * TCPEndpoint represents some communication endpoint for an address
    56  * TCPEndpoint represents some communication endpoint for an address
    59  * space (VM).
    57  * space (VM).
    60  *
    58  *
    80     /** true if real local host name is known yet */
    78     /** true if real local host name is known yet */
    81     private static boolean localHostKnown;
    79     private static boolean localHostKnown;
    82 
    80 
    83     // this should be a *private* method since it is privileged
    81     // this should be a *private* method since it is privileged
    84     private static int getInt(String name, int def) {
    82     private static int getInt(String name, int def) {
    85         return AccessController.doPrivileged(new GetIntegerAction(name, def));
    83         return AccessController.doPrivileged(
       
    84                 (PrivilegedAction<Integer>) () -> Integer.getInteger(name, def));
    86     }
    85     }
    87 
    86 
    88     // this should be a *private* method since it is privileged
    87     // this should be a *private* method since it is privileged
    89     private static boolean getBoolean(String name) {
    88     private static boolean getBoolean(String name) {
    90         return AccessController.doPrivileged(new GetBooleanAction(name));
    89         return AccessController.doPrivileged(
       
    90                 (PrivilegedAction<Boolean>) () -> Boolean.getBoolean(name));
    91     }
    91     }
    92 
    92 
    93     /**
    93     /**
    94      * Returns the value of the java.rmi.server.hostname property.
    94      * Returns the value of the java.rmi.server.hostname property.
    95      */
    95      */
    96     private static String getHostnameProperty() {
    96     private static String getHostnameProperty() {
    97         return AccessController.doPrivileged(
    97         return AccessController.doPrivileged(
    98             new GetPropertyAction("java.rmi.server.hostname"));
    98             (PrivilegedAction<String>) () -> System.getProperty("java.rmi.server.hostname"));
    99     }
    99     }
   100 
   100 
   101     /**
   101     /**
   102      * Find host name of local machine.  Property "java.rmi.server.hostname"
   102      * Find host name of local machine.  Property "java.rmi.server.hostname"
   103      * is used if set, so server administrator can compensate for the possible
   103      * is used if set, so server administrator can compensate for the possible