40 import java.io.FilePermission;
41 import java.io.IOException;
42 import java.net.*;
43 import java.rmi.*;
44 import java.rmi.server.ObjID;
45 import java.rmi.server.ServerNotActiveException;
46 import java.rmi.registry.Registry;
47 import java.rmi.server.RMIClientSocketFactory;
48 import java.rmi.server.RMIServerSocketFactory;
49 import java.security.AccessControlContext;
50 import java.security.AccessController;
51 import java.security.CodeSource;
52 import java.security.Policy;
53 import java.security.PrivilegedActionException;
54 import java.security.PrivilegedExceptionAction;
55 import java.security.PermissionCollection;
56 import java.security.Permissions;
57 import java.security.ProtectionDomain;
58 import java.text.MessageFormat;
59
60 import jdk.internal.misc.SharedSecrets;
61 import sun.rmi.runtime.Log;
62 import sun.rmi.server.UnicastRef;
63 import sun.rmi.server.UnicastServerRef;
64 import sun.rmi.server.UnicastServerRef2;
65 import sun.rmi.transport.LiveRef;
66
67 /**
68 * A "registry" exists on every node that allows RMI connections to
69 * servers on that node. The registry on a particular node contains a
70 * transient database that maps names to remote objects. When the
71 * node boots, the registry database is empty. The names stored in the
72 * registry are pure and are not parsed. A service storing itself in
73 * the registry may want to prefix its name of the service by a package
74 * name (although not required), to reduce name collisions in the
75 * registry.
76 *
77 * The LocateRegistry class is used to obtain registry for different hosts.
78 * <p>
79 * The default RegistryImpl exported restricts access to clients on the local host
80 * for the methods {@link #bind}, {@link #rebind}, {@link #unbind} by checking
|
40 import java.io.FilePermission;
41 import java.io.IOException;
42 import java.net.*;
43 import java.rmi.*;
44 import java.rmi.server.ObjID;
45 import java.rmi.server.ServerNotActiveException;
46 import java.rmi.registry.Registry;
47 import java.rmi.server.RMIClientSocketFactory;
48 import java.rmi.server.RMIServerSocketFactory;
49 import java.security.AccessControlContext;
50 import java.security.AccessController;
51 import java.security.CodeSource;
52 import java.security.Policy;
53 import java.security.PrivilegedActionException;
54 import java.security.PrivilegedExceptionAction;
55 import java.security.PermissionCollection;
56 import java.security.Permissions;
57 import java.security.ProtectionDomain;
58 import java.text.MessageFormat;
59
60 import jdk.internal.access.SharedSecrets;
61 import sun.rmi.runtime.Log;
62 import sun.rmi.server.UnicastRef;
63 import sun.rmi.server.UnicastServerRef;
64 import sun.rmi.server.UnicastServerRef2;
65 import sun.rmi.transport.LiveRef;
66
67 /**
68 * A "registry" exists on every node that allows RMI connections to
69 * servers on that node. The registry on a particular node contains a
70 * transient database that maps names to remote objects. When the
71 * node boots, the registry database is empty. The names stored in the
72 * registry are pure and are not parsed. A service storing itself in
73 * the registry may want to prefix its name of the service by a package
74 * name (although not required), to reduce name collisions in the
75 * registry.
76 *
77 * The LocateRegistry class is used to obtain registry for different hosts.
78 * <p>
79 * The default RegistryImpl exported restricts access to clients on the local host
80 * for the methods {@link #bind}, {@link #rebind}, {@link #unbind} by checking
|