You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by sa...@apache.org on 2003/12/04 19:52:38 UTC

cvs commit: xml-xalan/java/src/org/apache/xml/serializer Encodings.java

santiagopg    2003/12/04 10:52:38

  Modified:    java/src/org/apache/xml/serializer Encodings.java
  Log:
  Reflection code to load sun.io.CharToByteConverter is now wrapped in a privileged action. This is needed when user code is run without the required permssions.
  
  Revision  Changes    Path
  1.5       +15 -5     xml-xalan/java/src/org/apache/xml/serializer/Encodings.java
  
  Index: Encodings.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xml/serializer/Encodings.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- Encodings.java	9 Oct 2003 00:41:54 -0000	1.4
  +++ Encodings.java	4 Dec 2003 18:52:38 -0000	1.5
  @@ -67,6 +67,8 @@
   import java.util.Hashtable;
   import java.util.Properties;
   import java.util.StringTokenizer;
  +import java.security.PrivilegedAction;
  +import java.security.AccessController;
   
   import org.apache.xml.utils.ObjectFactory;
   
  @@ -105,10 +107,18 @@
       private static Method findCharToByteConverterMethod() {
           try
           {
  -            Class charToByteConverterClass =
  -                Class.forName("sun.io.CharToByteConverter");
  -            Class argTypes[] = {String.class};
  -            return charToByteConverterClass.getMethod("getConverter", argTypes);
  +            AccessController.doPrivileged(new PrivilegedAction() {
  +                public Object run() {
  +                    try {
  +                        Class charToByteConverterClass = (Class) 
  +                            Class.forName("sun.io.CharToByteConverter");
  +                        Class argTypes[] = {String.class};
  +                        return charToByteConverterClass.getMethod("getConverter", argTypes);
  +                    }
  +                    catch (Exception e) {
  +                        throw new RuntimeException(e);
  +                    }
  +                }});
           }
           catch (Exception e)
           {
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org