home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / sun / rmi / server / Activation$DefaultExecPolicy.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  2.8 KB  |  72 lines

  1. package sun.rmi.server;
  2.  
  3. import com.sun.rmi.rmid.ExecOptionPermission;
  4. import com.sun.rmi.rmid.ExecPermission;
  5. import java.rmi.activation.ActivationGroupDesc;
  6. import java.security.AccessControlException;
  7. import java.security.AccessController;
  8. import java.security.Permission;
  9. import java.security.PermissionCollection;
  10. import java.util.Enumeration;
  11. import java.util.Properties;
  12.  
  13. public class Activation$DefaultExecPolicy {
  14.    // $FF: synthetic field
  15.    static Class class$sun$rmi$server$ActivationGroupImpl;
  16.  
  17.    public void checkExecCommand(ActivationGroupDesc var1, String[] var2) throws SecurityException {
  18.       PermissionCollection var3 = getExecPermissions();
  19.       Properties var4 = var1.getPropertyOverrides();
  20.       if (var4 != null) {
  21.          Enumeration var5 = var4.propertyNames();
  22.  
  23.          while(var5.hasMoreElements()) {
  24.             String var6 = (String)var5.nextElement();
  25.             String var7 = "-D" + var6 + "=" + var4.getProperty(var6);
  26.             checkPermission(var3, new ExecOptionPermission(var7));
  27.          }
  28.       }
  29.  
  30.       String var10 = var1.getClassName();
  31.       if ((var10 == null || var10.equals((class$sun$rmi$server$ActivationGroupImpl == null ? (class$sun$rmi$server$ActivationGroupImpl = class$("sun.rmi.server.ActivationGroupImpl")) : class$sun$rmi$server$ActivationGroupImpl).getName())) && var1.getLocation() == null && var1.getData() == null) {
  32.          ActivationGroupDesc.CommandEnvironment var11 = var1.getCommandEnvironment();
  33.          if (var11 != null) {
  34.             String var12 = var11.getCommandPath();
  35.             if (var12 != null) {
  36.                checkPermission(var3, new ExecPermission(var12));
  37.             }
  38.  
  39.             String[] var8 = var11.getCommandOptions();
  40.             if (var8 != null) {
  41.                for(int var9 = 0; var9 < var8.length; ++var9) {
  42.                   checkPermission(var3, new ExecOptionPermission(var8[var9]));
  43.                }
  44.             }
  45.          }
  46.  
  47.       } else {
  48.          throw new AccessControlException("access denied (custom group implementation not allowed)");
  49.       }
  50.    }
  51.  
  52.    private static PermissionCollection getExecPermissions() {
  53.       PermissionCollection var0 = (PermissionCollection)AccessController.doPrivileged(new Activation.2());
  54.       return var0;
  55.    }
  56.  
  57.    private static void checkPermission(PermissionCollection var0, Permission var1) throws AccessControlException {
  58.       if (!var0.implies(var1)) {
  59.          throw new AccessControlException("access denied " + var1.toString());
  60.       }
  61.    }
  62.  
  63.    // $FF: synthetic method
  64.    static Class class$(String var0) {
  65.       try {
  66.          return Class.forName(var0);
  67.       } catch (ClassNotFoundException var2) {
  68.          throw new NoClassDefFoundError(((Throwable)var2).getMessage());
  69.       }
  70.    }
  71. }
  72.