src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryDynamicBase.java

changeset 560
880514b576d5
parent 158
91006f157c46
child 748
6845b95cba6b
child 1284
c5772da7e407
     1.1 --- a/src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryDynamicBase.java	Sun Nov 03 07:32:11 2013 +0000
     1.2 +++ b/src/share/classes/com/sun/corba/se/impl/presentation/rmi/StubFactoryDynamicBase.java	Tue Nov 12 17:56:08 2013 +0000
     1.3 @@ -1,5 +1,5 @@
     1.4  /*
     1.5 - * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
     1.6 + * Copyright (c) 2004, 2013 Oracle and/or its affiliates. All rights reserved.
     1.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.8   *
     1.9   * This code is free software; you can redistribute it and/or modify it
    1.10 @@ -25,6 +25,7 @@
    1.11  
    1.12  package com.sun.corba.se.impl.presentation.rmi ;
    1.13  
    1.14 +import java.io.SerializablePermission;
    1.15  import java.lang.reflect.InvocationHandler ;
    1.16  import java.lang.reflect.Proxy ;
    1.17  
    1.18 @@ -38,11 +39,18 @@
    1.19  {
    1.20      protected final ClassLoader loader ;
    1.21  
    1.22 -    public StubFactoryDynamicBase( PresentationManager.ClassData classData,
    1.23 -        ClassLoader loader )
    1.24 -    {
    1.25 -        super( classData ) ;
    1.26 +    private static Void checkPermission() {
    1.27 +        SecurityManager sm = System.getSecurityManager();
    1.28 +        if (sm != null) {
    1.29 +            sm.checkPermission(new SerializablePermission(
    1.30 +                    "enableSubclassImplementation"));
    1.31 +        }
    1.32 +        return null;
    1.33 +    }
    1.34  
    1.35 +    private StubFactoryDynamicBase(Void unused,
    1.36 +            PresentationManager.ClassData classData, ClassLoader loader) {
    1.37 +        super(classData);
    1.38          // this.loader must not be null, or the newProxyInstance call
    1.39          // will fail.
    1.40          if (loader == null) {
    1.41 @@ -55,5 +63,11 @@
    1.42          }
    1.43      }
    1.44  
    1.45 +    public StubFactoryDynamicBase( PresentationManager.ClassData classData,
    1.46 +        ClassLoader loader )
    1.47 +    {
    1.48 +        this (checkPermission(), classData, loader);
    1.49 +    }
    1.50 +
    1.51      public abstract org.omg.CORBA.Object makeStub() ;
    1.52  }

mercurial