/hg/release/icedtea7-forest-2.2/corba: 2 new changesets

andrew at icedtea.classpath.org andrew at icedtea.classpath.org
Tue Jun 18 14:11:44 PDT 2013


changeset ed6b758d2f21 in /hg/release/icedtea7-forest-2.2/corba
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/corba?cmd=changeset;node=ed6b758d2f21
author: andrew
date: Wed Jun 12 12:00:25 2013 +0100

	8000642: Better handling of objects for transportation
	Summary: Also reviewed by alexander.fomin
	Reviewed-by: alanb, mchung, skoivu


changeset 4fdf74f61b48 in /hg/release/icedtea7-forest-2.2/corba
details: http://icedtea.classpath.org/hg/release/icedtea7-forest-2.2/corba?cmd=changeset;node=4fdf74f61b48
author: andrew
date: Wed Jun 12 12:03:45 2013 +0100

	8001032: Restrict object access
	Summary: Restrict object access; fix reviewed also by Alexander Fomin
	Reviewed-by: alanb, ahgross


diffstat:

 make/com/sun/corba/minclude/com_sun_corba_se_impl_orbutil.jmk                               |    3 +-
 src/share/classes/com/sun/corba/se/impl/activation/ServerManagerImpl.java                   |    3 +-
 src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java                                  |   12 +-
 src/share/classes/com/sun/corba/se/impl/corba/TypeCodeImpl.java                             |    5 +-
 src/share/classes/com/sun/corba/se/impl/encoding/IDLJavaSerializationOutputStream.java      |    4 +-
 src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeOutputStream.java                  |    8 +-
 src/share/classes/com/sun/corba/se/impl/interceptors/CDREncapsCodec.java                    |    5 +-
 src/share/classes/com/sun/corba/se/impl/interceptors/PIHandlerImpl.java                     |    3 +-
 src/share/classes/com/sun/corba/se/impl/interceptors/RequestInfoImpl.java                   |   18 +-
 src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java                             |    8 +-
 src/share/classes/com/sun/corba/se/impl/io/IIOPOutputStream.java                            |   10 +-
 src/share/classes/com/sun/corba/se/impl/io/InputStreamHook.java                             |    2 +-
 src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java                            |    2 +-
 src/share/classes/com/sun/corba/se/impl/io/ValueUtility.java                                |   10 +-
 src/share/classes/com/sun/corba/se/impl/ior/EncapsulationUtility.java                       |    3 +-
 src/share/classes/com/sun/corba/se/impl/ior/GenericTaggedProfile.java                       |    5 +-
 src/share/classes/com/sun/corba/se/impl/ior/IORImpl.java                                    |    8 +-
 src/share/classes/com/sun/corba/se/impl/ior/ObjectKeyImpl.java                              |    3 +-
 src/share/classes/com/sun/corba/se/impl/ior/TaggedComponentFactoryFinderImpl.java           |    5 +-
 src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileImpl.java                       |    5 +-
 src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileTemplateImpl.java               |    7 +-
 src/share/classes/com/sun/corba/se/impl/javax/rmi/CORBA/Util.java                           |   11 +-
 src/share/classes/com/sun/corba/se/impl/orb/ORBDataParserImpl.java                          |    3 +-
 src/share/classes/com/sun/corba/se/impl/orb/ORBImpl.java                                    |    5 +-
 src/share/classes/com/sun/corba/se/impl/orb/ORBSingleton.java                               |    4 +-
 src/share/classes/com/sun/corba/se/impl/orb/ParserTable.java                                |   22 +-
 src/share/classes/com/sun/corba/se/impl/orbutil/ORBUtility.java                             |    8 +-
 src/share/classes/com/sun/corba/se/impl/protocol/CorbaMessageMediatorImpl.java              |   22 +-
 src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/LocateReplyMessage_1_2.java |    3 +-
 src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/MessageBase.java            |    8 +-
 src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/ReplyMessage_1_0.java       |    3 +-
 src/share/classes/com/sun/corba/se/impl/protocol/giopmsgheaders/ReplyMessage_1_1.java       |    3 +-
 src/share/classes/com/sun/corba/se/impl/transport/CorbaContactInfoBase.java                 |    4 +-
 src/share/classes/com/sun/corba/se/impl/transport/SharedCDRContactInfoImpl.java             |    4 +-
 src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelAcceptorImpl.java          |    8 +-
 src/share/classes/com/sun/corba/se/impl/transport/SocketOrChannelConnectionImpl.java        |    6 +-
 src/share/classes/com/sun/corba/se/spi/ior/TaggedComponentBase.java                         |    5 +-
 src/share/classes/com/sun/corba/se/spi/orb/ORB.java                                         |    6 +-
 src/share/classes/com/sun/corba/se/spi/orb/OperationFactory.java                            |    8 +-
 src/share/classes/com/sun/corba/se/spi/servicecontext/ServiceContext.java                   |    5 +-
 src/share/classes/org/omg/CORBA_2_3/portable/OutputStream.java                              |   40 ++-
 src/share/classes/sun/corba/JavaCorbaAccess.java                                            |    3 +-
 src/share/classes/sun/corba/OutputStreamFactory.java                                        |  149 ++++++++++
 43 files changed, 339 insertions(+), 120 deletions(-)

diffs (truncated from 1285 to 500 lines):

diff -r a4775a012956 -r 4fdf74f61b48 make/com/sun/corba/minclude/com_sun_corba_se_impl_orbutil.jmk
--- a/make/com/sun/corba/minclude/com_sun_corba_se_impl_orbutil.jmk	Wed May 22 17:57:06 2013 +0100
+++ b/make/com/sun/corba/minclude/com_sun_corba_se_impl_orbutil.jmk	Wed Jun 12 12:03:45 2013 +0100
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 #
 # This code is free software; you can redistribute it and/or modify it
@@ -39,7 +39,6 @@
 	com/sun/corba/se/impl/orbutil/ObjectStreamClassUtil_1_3.java \
 	com/sun/corba/se/impl/orbutil/ORBConstants.java \
 	com/sun/corba/se/impl/orbutil/ORBUtility.java \
-	com/sun/corba/se/impl/orbutil/ORBClassLoader.java \
 	com/sun/corba/se/impl/orbutil/RepIdDelegator.java \
 	com/sun/corba/se/impl/orbutil/RepositoryIdFactory.java \
 	com/sun/corba/se/impl/orbutil/RepositoryIdStrings.java \
diff -r a4775a012956 -r 4fdf74f61b48 src/share/classes/com/sun/corba/se/impl/activation/ServerManagerImpl.java
--- a/src/share/classes/com/sun/corba/se/impl/activation/ServerManagerImpl.java	Wed May 22 17:57:06 2013 +0100
+++ b/src/share/classes/com/sun/corba/se/impl/activation/ServerManagerImpl.java	Wed Jun 12 12:03:45 2013 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -81,7 +81,6 @@
 
 import com.sun.corba.se.impl.oa.poa.BadServerIdHandler;
 import com.sun.corba.se.impl.orbutil.ORBConstants;
-import com.sun.corba.se.impl.orbutil.ORBClassLoader;
 import com.sun.corba.se.impl.orbutil.ORBUtility;
 import com.sun.corba.se.impl.util.Utility;
 
diff -r a4775a012956 -r 4fdf74f61b48 src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java
--- a/src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java	Wed May 22 17:57:06 2013 +0100
+++ b/src/share/classes/com/sun/corba/se/impl/corba/AnyImpl.java	Wed Jun 12 12:03:45 2013 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -33,6 +33,8 @@
 
 import java.io.Serializable;
 import java.math.BigDecimal;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
 import java.util.List ;
 import java.util.ArrayList ;
 
@@ -504,7 +506,13 @@
     public org.omg.CORBA.portable.OutputStream create_output_stream()
     {
         //debug.log ("create_output_stream");
-        return new AnyOutputStream(orb);
+        final ORB finalorb = this.orb;
+        return AccessController.doPrivileged(new PrivilegedAction<AnyOutputStream>() {
+            @Override
+            public AnyOutputStream run() {
+                return new AnyOutputStream(finalorb);
+            }
+        });
     }
 
     /**
diff -r a4775a012956 -r 4fdf74f61b48 src/share/classes/com/sun/corba/se/impl/corba/TypeCodeImpl.java
--- a/src/share/classes/com/sun/corba/se/impl/corba/TypeCodeImpl.java	Wed May 22 17:57:06 2013 +0100
+++ b/src/share/classes/com/sun/corba/se/impl/corba/TypeCodeImpl.java	Wed Jun 12 12:03:45 2013 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -600,7 +600,8 @@
     }
 
     public static CDROutputStream newOutputStream(ORB orb) {
-        TypeCodeOutputStream tcos = new TypeCodeOutputStream((ORB)orb);
+        TypeCodeOutputStream tcos =
+            sun.corba.OutputStreamFactory.newTypeCodeOutputStream(orb);
         //if (debug) System.out.println("Created TypeCodeOutputStream " + tcos +
         // " with no parent");
         return tcos;
diff -r a4775a012956 -r 4fdf74f61b48 src/share/classes/com/sun/corba/se/impl/encoding/IDLJavaSerializationOutputStream.java
--- a/src/share/classes/com/sun/corba/se/impl/encoding/IDLJavaSerializationOutputStream.java	Wed May 22 17:57:06 2013 +0100
+++ b/src/share/classes/com/sun/corba/se/impl/encoding/IDLJavaSerializationOutputStream.java	Wed Jun 12 12:03:45 2013 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -66,7 +66,7 @@
  *
  * @author Ram Jeyaraman
  */
-public class IDLJavaSerializationOutputStream extends CDROutputStreamBase {
+final class IDLJavaSerializationOutputStream extends CDROutputStreamBase {
 
     private ORB orb;
     private byte encodingVersion;
diff -r a4775a012956 -r 4fdf74f61b48 src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeOutputStream.java
--- a/src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeOutputStream.java	Wed May 22 17:57:06 2013 +0100
+++ b/src/share/classes/com/sun/corba/se/impl/encoding/TypeCodeOutputStream.java	Wed Jun 12 12:03:45 2013 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -196,7 +196,8 @@
     }
 
     public TypeCodeOutputStream createEncapsulation(org.omg.CORBA.ORB _orb) {
-        TypeCodeOutputStream encap = new TypeCodeOutputStream((ORB)_orb, isLittleEndian());
+        TypeCodeOutputStream encap =
+            sun.corba.OutputStreamFactory.newTypeCodeOutputStream((ORB)_orb, isLittleEndian());
         encap.setEnclosingOutputStream(this);
         encap.makeEncapsulation();
         //if (TypeCodeImpl.debug) System.out.println("Created TypeCodeOutputStream " + encap + " with parent " + this);
@@ -211,7 +212,8 @@
 
     public static TypeCodeOutputStream wrapOutputStream(OutputStream os) {
         boolean littleEndian = ((os instanceof CDROutputStream) ? ((CDROutputStream)os).isLittleEndian() : false);
-        TypeCodeOutputStream tos = new TypeCodeOutputStream((ORB)os.orb(), littleEndian);
+        TypeCodeOutputStream tos =
+            sun.corba.OutputStreamFactory.newTypeCodeOutputStream((ORB)os.orb(), littleEndian);
         tos.setEnclosingOutputStream(os);
         //if (TypeCodeImpl.debug) System.out.println("Created TypeCodeOutputStream " + tos + " with parent " + os);
         return tos;
diff -r a4775a012956 -r 4fdf74f61b48 src/share/classes/com/sun/corba/se/impl/interceptors/CDREncapsCodec.java
--- a/src/share/classes/com/sun/corba/se/impl/interceptors/CDREncapsCodec.java	Wed May 22 17:57:06 2013 +0100
+++ b/src/share/classes/com/sun/corba/se/impl/interceptors/CDREncapsCodec.java	Wed Jun 12 12:03:45 2013 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -155,7 +155,8 @@
         // be versioned.  This can be handled once this work is complete.
 
         // Create output stream with default endianness.
-        EncapsOutputStream cdrOut = new EncapsOutputStream(
+        EncapsOutputStream cdrOut =
+            sun.corba.OutputStreamFactory.newEncapsOutputStream(
             (com.sun.corba.se.spi.orb.ORB)orb, giopVersion );
 
         // This is an encapsulation, so put out the endian:
diff -r a4775a012956 -r 4fdf74f61b48 src/share/classes/com/sun/corba/se/impl/interceptors/PIHandlerImpl.java
--- a/src/share/classes/com/sun/corba/se/impl/interceptors/PIHandlerImpl.java	Wed May 22 17:57:06 2013 +0100
+++ b/src/share/classes/com/sun/corba/se/impl/interceptors/PIHandlerImpl.java	Wed Jun 12 12:03:45 2013 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -77,7 +77,6 @@
 import com.sun.corba.se.impl.logging.ORBUtilSystemException;
 import com.sun.corba.se.impl.logging.OMGSystemException;
 import com.sun.corba.se.impl.corba.RequestImpl;
-import com.sun.corba.se.impl.orbutil.ORBClassLoader;
 import com.sun.corba.se.impl.orbutil.ORBConstants;
 import com.sun.corba.se.impl.orbutil.ORBUtility;
 import com.sun.corba.se.impl.orbutil.StackImpl;
diff -r a4775a012956 -r 4fdf74f61b48 src/share/classes/com/sun/corba/se/impl/interceptors/RequestInfoImpl.java
--- a/src/share/classes/com/sun/corba/se/impl/interceptors/RequestInfoImpl.java	Wed May 22 17:57:06 2013 +0100
+++ b/src/share/classes/com/sun/corba/se/impl/interceptors/RequestInfoImpl.java	Wed Jun 12 12:03:45 2013 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -86,13 +86,14 @@
 import com.sun.corba.se.impl.encoding.EncapsOutputStream;
 
 import com.sun.corba.se.impl.orbutil.ORBUtility;
-import com.sun.corba.se.impl.orbutil.ORBClassLoader;
 
 import com.sun.corba.se.impl.util.RepositoryId;
 
 import com.sun.corba.se.impl.logging.InterceptorsSystemException;
 import com.sun.corba.se.impl.logging.OMGSystemException;
 
+import sun.corba.SharedSecrets;
+
 /**
  * Implementation of the RequestInfo interface as specified in
  * orbos/99-12-02 section 5.4.1.
@@ -452,7 +453,8 @@
 
             // Find the read method on the helper class:
             String helperClassName = className + "Helper";
-            Class helperClass = ORBClassLoader.loadClass( helperClassName );
+            Class<?> helperClass =
+                SharedSecrets.getJavaCorbaAccess().loadClass( helperClassName );
             Class[] readParams = new Class[1];
             readParams[0] = org.omg.CORBA.portable.InputStream.class;
             Method readMethod = helperClass.getMethod( "read", readParams );
@@ -512,7 +514,8 @@
                 Class exceptionClass = userException.getClass();
                 String className = exceptionClass.getName();
                 String helperClassName = className + "Helper";
-                Class helperClass = ORBClassLoader.loadClass( helperClassName );
+                Class<?> helperClass =
+                    SharedSecrets.getJavaCorbaAccess().loadClass( helperClassName );
 
                 // Find insert( Any, class ) method
                 Class[] insertMethodParams = new Class[2];
@@ -656,7 +659,8 @@
             // Convert the "core" service context to an
             // "IOP" ServiceContext by writing it to a
             // CDROutputStream and reading it back.
-            EncapsOutputStream out = new EncapsOutputStream(myORB);
+            EncapsOutputStream out =
+                sun.corba.OutputStreamFactory.newEncapsOutputStream(myORB);
 
             context.write( out, GIOPVersion.V1_2 );
             InputStream inputStream = out.create_input_stream();
@@ -692,8 +696,8 @@
     {
         int id = 0 ;
         // Convert IOP.service_context to core.ServiceContext:
-        EncapsOutputStream outputStream = new EncapsOutputStream(
-            myORB );
+        EncapsOutputStream outputStream =
+           sun.corba.OutputStreamFactory.newEncapsOutputStream(myORB);
         InputStream inputStream = null;
         UnknownServiceContext coreServiceContext = null;
         ServiceContextHelper.write( outputStream, service_context );
diff -r a4775a012956 -r 4fdf74f61b48 src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java
--- a/src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java	Wed May 22 17:57:06 2013 +0100
+++ b/src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java	Wed Jun 12 12:03:45 2013 +0100
@@ -300,11 +300,11 @@
         resetStream();
     }
 
-    public final void setOrbStream(org.omg.CORBA_2_3.portable.InputStream os) {
+    final void setOrbStream(org.omg.CORBA_2_3.portable.InputStream os) {
         orbStream = os;
     }
 
-    public final org.omg.CORBA_2_3.portable.InputStream getOrbStream() {
+    final org.omg.CORBA_2_3.portable.InputStream getOrbStream() {
         return orbStream;
     }
 
@@ -327,11 +327,11 @@
         return (javax.rmi.CORBA.ValueHandler) vhandler;
     }
 
-    public final void increaseRecursionDepth(){
+    final void increaseRecursionDepth(){
         recursionDepth++;
     }
 
-    public final int decreaseRecursionDepth(){
+    final int decreaseRecursionDepth(){
         return --recursionDepth;
     }
 
diff -r a4775a012956 -r 4fdf74f61b48 src/share/classes/com/sun/corba/se/impl/io/IIOPOutputStream.java
--- a/src/share/classes/com/sun/corba/se/impl/io/IIOPOutputStream.java	Wed May 22 17:57:06 2013 +0100
+++ b/src/share/classes/com/sun/corba/se/impl/io/IIOPOutputStream.java	Wed Jun 12 12:03:45 2013 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -124,19 +124,19 @@
         }
     }
 
-    public final void setOrbStream(org.omg.CORBA_2_3.portable.OutputStream os) {
+    final void setOrbStream(org.omg.CORBA_2_3.portable.OutputStream os) {
         orbStream = os;
     }
 
-    public final org.omg.CORBA_2_3.portable.OutputStream getOrbStream() {
+    final org.omg.CORBA_2_3.portable.OutputStream getOrbStream() {
         return orbStream;
     }
 
-    public final void increaseRecursionDepth(){
+    final void increaseRecursionDepth(){
         recursionDepth++;
     }
 
-    public final int decreaseRecursionDepth(){
+    final int decreaseRecursionDepth(){
         return --recursionDepth;
     }
 
diff -r a4775a012956 -r 4fdf74f61b48 src/share/classes/com/sun/corba/se/impl/io/InputStreamHook.java
--- a/src/share/classes/com/sun/corba/se/impl/io/InputStreamHook.java	Wed May 22 17:57:06 2013 +0100
+++ b/src/share/classes/com/sun/corba/se/impl/io/InputStreamHook.java	Wed Jun 12 12:03:45 2013 +0100
@@ -251,7 +251,7 @@
     }
 
     protected abstract byte getStreamFormatVersion();
-    protected abstract org.omg.CORBA_2_3.portable.InputStream getOrbStream();
+    abstract org.omg.CORBA_2_3.portable.InputStream getOrbStream();
 
     // Description of possible actions
     protected static class ReadObjectState {
diff -r a4775a012956 -r 4fdf74f61b48 src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java
--- a/src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java	Wed May 22 17:57:06 2013 +0100
+++ b/src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java	Wed Jun 12 12:03:45 2013 +0100
@@ -179,7 +179,7 @@
         putFields.write(this);
     }
 
-    public abstract org.omg.CORBA_2_3.portable.OutputStream getOrbStream();
+    abstract org.omg.CORBA_2_3.portable.OutputStream getOrbStream();
 
     protected abstract void beginOptionalCustomData();
 
diff -r a4775a012956 -r 4fdf74f61b48 src/share/classes/com/sun/corba/se/impl/io/ValueUtility.java
--- a/src/share/classes/com/sun/corba/se/impl/io/ValueUtility.java	Wed May 22 17:57:06 2013 +0100
+++ b/src/share/classes/com/sun/corba/se/impl/io/ValueUtility.java	Wed Jun 12 12:03:45 2013 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -98,6 +98,14 @@
             public ValueHandlerImpl newValueHandlerImpl() {
                 return ValueHandlerImpl.getInstance();
             }
+            public Class<?> loadClass(String className) throws ClassNotFoundException {
+                if (Thread.currentThread().getContextClassLoader() != null) {
+                    return Thread.currentThread().getContextClassLoader().
+                        loadClass(className);
+                } else {
+                    return ClassLoader.getSystemClassLoader().loadClass(className);
+                }
+            }
         });
     }
 
diff -r a4775a012956 -r 4fdf74f61b48 src/share/classes/com/sun/corba/se/impl/ior/EncapsulationUtility.java
--- a/src/share/classes/com/sun/corba/se/impl/ior/EncapsulationUtility.java	Wed May 22 17:57:06 2013 +0100
+++ b/src/share/classes/com/sun/corba/se/impl/ior/EncapsulationUtility.java	Wed Jun 12 12:03:45 2013 +0100
@@ -128,7 +128,8 @@
     static public void writeEncapsulation( WriteContents obj,
         OutputStream os )
     {
-        EncapsOutputStream out = new EncapsOutputStream( (ORB)os.orb() ) ;
+        EncapsOutputStream out =
+            sun.corba.OutputStreamFactory.newEncapsOutputStream((ORB)os.orb());
 
         out.putEndian() ;
 
diff -r a4775a012956 -r 4fdf74f61b48 src/share/classes/com/sun/corba/se/impl/ior/GenericTaggedProfile.java
--- a/src/share/classes/com/sun/corba/se/impl/ior/GenericTaggedProfile.java	Wed May 22 17:57:06 2013 +0100
+++ b/src/share/classes/com/sun/corba/se/impl/ior/GenericTaggedProfile.java	Wed Jun 12 12:03:45 2013 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -95,7 +95,8 @@
 
     public org.omg.IOP.TaggedProfile getIOPProfile()
     {
-        EncapsOutputStream os = new EncapsOutputStream( orb ) ;
+        EncapsOutputStream os =
+            sun.corba.OutputStreamFactory.newEncapsOutputStream(orb);
         write( os ) ;
         InputStream is = (InputStream)(os.create_input_stream()) ;
         return org.omg.IOP.TaggedProfileHelper.read( is ) ;
diff -r a4775a012956 -r 4fdf74f61b48 src/share/classes/com/sun/corba/se/impl/ior/IORImpl.java
--- a/src/share/classes/com/sun/corba/se/impl/ior/IORImpl.java	Wed May 22 17:57:06 2013 +0100
+++ b/src/share/classes/com/sun/corba/se/impl/ior/IORImpl.java	Wed Jun 12 12:03:45 2013 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -213,7 +213,8 @@
     {
         StringWriter bs;
 
-        MarshalOutputStream s = new EncapsOutputStream(factory);
+        MarshalOutputStream s =
+            sun.corba.OutputStreamFactory.newEncapsOutputStream(factory);
         s.putEndian();
         write( (OutputStream)s );
         bs = new StringWriter();
@@ -237,7 +238,8 @@
     }
 
     public org.omg.IOP.IOR getIOPIOR() {
-        EncapsOutputStream os = new EncapsOutputStream(factory);
+        EncapsOutputStream os =
+            sun.corba.OutputStreamFactory.newEncapsOutputStream(factory);
         write(os);
         InputStream is = (InputStream) (os.create_input_stream());
         return org.omg.IOP.IORHelper.read(is);
diff -r a4775a012956 -r 4fdf74f61b48 src/share/classes/com/sun/corba/se/impl/ior/ObjectKeyImpl.java
--- a/src/share/classes/com/sun/corba/se/impl/ior/ObjectKeyImpl.java	Wed May 22 17:57:06 2013 +0100
+++ b/src/share/classes/com/sun/corba/se/impl/ior/ObjectKeyImpl.java	Wed Jun 12 12:03:45 2013 +0100
@@ -87,7 +87,8 @@
 
     public byte[] getBytes( org.omg.CORBA.ORB orb )
     {
-        EncapsOutputStream os = new EncapsOutputStream( (ORB)orb ) ;
+        EncapsOutputStream os =
+            sun.corba.OutputStreamFactory.newEncapsOutputStream((ORB)orb);
         write( os ) ;
         return os.toByteArray() ;
     }
diff -r a4775a012956 -r 4fdf74f61b48 src/share/classes/com/sun/corba/se/impl/ior/TaggedComponentFactoryFinderImpl.java
--- a/src/share/classes/com/sun/corba/se/impl/ior/TaggedComponentFactoryFinderImpl.java	Wed May 22 17:57:06 2013 +0100
+++ b/src/share/classes/com/sun/corba/se/impl/ior/TaggedComponentFactoryFinderImpl.java	Wed Jun 12 12:03:45 2013 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -61,7 +61,8 @@
     public TaggedComponent create( org.omg.CORBA.ORB orb,
         org.omg.IOP.TaggedComponent comp )
     {
-        EncapsOutputStream os = new EncapsOutputStream( (ORB)orb ) ;
+        EncapsOutputStream os =
+            sun.corba.OutputStreamFactory.newEncapsOutputStream((ORB)orb);
         org.omg.IOP.TaggedComponentHelper.write( os, comp ) ;
         InputStream is = (InputStream)(os.create_input_stream() ) ;
         // Skip the component ID: we just wrote it out above
diff -r a4775a012956 -r 4fdf74f61b48 src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileImpl.java
--- a/src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileImpl.java	Wed May 22 17:57:06 2013 +0100
+++ b/src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileImpl.java	Wed Jun 12 12:03:45 2013 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -247,7 +247,8 @@
 
     public org.omg.IOP.TaggedProfile getIOPProfile()
     {
-        EncapsOutputStream os = new EncapsOutputStream( orb ) ;
+        EncapsOutputStream os =
+            sun.corba.OutputStreamFactory.newEncapsOutputStream(orb);
         os.write_long( getId() ) ;
         write( os ) ;
         InputStream is = (InputStream)(os.create_input_stream()) ;
diff -r a4775a012956 -r 4fdf74f61b48 src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileTemplateImpl.java
--- a/src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileTemplateImpl.java	Wed May 22 17:57:06 2013 +0100
+++ b/src/share/classes/com/sun/corba/se/impl/ior/iiop/IIOPProfileTemplateImpl.java	Wed Jun 12 12:03:45 2013 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -132,8 +132,9 @@
         // Note that this cannot be accomplished with a codec!
 
         // Use the byte order of the given stream
-        OutputStream encapsulatedOS = new EncapsOutputStream( (ORB)os.orb(),
-            ((CDROutputStream)os).isLittleEndian() ) ;
+        OutputStream encapsulatedOS =
+            sun.corba.OutputStreamFactory.newEncapsOutputStream(
+                (ORB)os.orb(), ((CDROutputStream)os).isLittleEndian() ) ;
 
         okeyTemplate.write( id, encapsulatedOS ) ;
         EncapsulationUtility.writeOutputStream( encapsulatedOS, os ) ;
diff -r a4775a012956 -r 4fdf74f61b48 src/share/classes/com/sun/corba/se/impl/javax/rmi/CORBA/Util.java
--- a/src/share/classes/com/sun/corba/se/impl/javax/rmi/CORBA/Util.java	Wed May 22 17:57:06 2013 +0100
+++ b/src/share/classes/com/sun/corba/se/impl/javax/rmi/CORBA/Util.java	Wed Jun 12 12:03:45 2013 +0100
@@ -1,5 +1,5 @@



More information about the distro-pkg-dev mailing list