changeset 1774:75fd375dd38a icedtea-3.8.0 icedtea-3.9.0pre00

Merge jdk8u171-b11
author andrew
date Fri, 25 May 2018 01:50:06 +0100
parents 049dc4a6e4e0 (current diff) fd5e2fc0b714 (diff)
children 11ed8366c465
files .hgtags
diffstat 6 files changed, 136 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Tue Mar 27 18:24:48 2018 +0100
+++ b/.hgtags	Fri May 25 01:50:06 2018 +0100
@@ -842,6 +842,11 @@
 f89071fbde60b327d6940a34fcdeed96b6440dd2 jdk8u152-b15
 d3821aae5f3caf60d50d60f211a09a6a823419c9 icedtea-3.7.0pre01
 674aecf3d87ae774e2026a1cb2a60eaa651bc7c2 jdk8u152-b16
+e05b7f7238ddad4c2fe428da73c1d234cb90284f jdk8u152-b31
+c4e0935e4570dd821b19ede0e06d27378b93caf4 jdk8u152-b32
+a6c0eb254c54d050bd04dcd308a2993e517bb0de jdk8u152-b33
+abcbb543abb7924fba059ab8eea256589007b79b jdk8u152-b34
+3db2418690f0d45d9934121a748948dc659250d5 jdk8u152-b35
 2dbdceff6ade82aa9942cdea6b62d5655d65183c jdk8u151-b00
 4449c73dbfdf2e32889e3ce769bd4160daa48b71 jdk8u151-b01
 ffa099d5b88ff14cea677d2afa4229354e9404d0 jdk8u151-b02
@@ -899,3 +904,16 @@
 2c68567bdcf2bb465d38c9783c0886df98fc496e jdk8u162-b10
 6029daad75bf459b330fc79ebf208dc35dc682d5 jdk8u162-b11
 7617ee6aaaea27369e98d6eaef5fdce9aba79c1a icedtea-3.8.0pre01
+ace99846c1fd92e8bec4cbe912ec3fc8a74fbf0c jdk8u162-b12
+acbd335f56f1a09fd8f80c2663367f90cdb00c46 jdk8u162-b31
+bb767c7211eace9df83649ba937d2ce507223e4d jdk8u171-b00
+9895f9c0845cf5f8dd7be62bf2a1a73a3868f799 jdk8u171-b01
+28be709707f8b275aeaa2ed41338678620e3ef5f jdk8u171-b02
+d534205fffcf950a11ed37103f5a0c23fe14ee49 jdk8u171-b03
+0baf88a7b3880bbefdbb221e67a6ce96b0552033 jdk8u171-b04
+0c6a772d60b94de90907f2f6d4683ceac8aba54b jdk8u171-b05
+3bca003f024c7bb6774499ff2ede57d300c18c79 jdk8u171-b06
+b90a8fc589afa4ac20a4d1e4f819058a5730af9f jdk8u171-b07
+f7f59d87e97dd1e3a7ff4ebc5ed843b2ed5f2361 jdk8u171-b08
+b3563151fe42c6b997279fc24f8329c4c03add96 jdk8u171-b09
+6a9efc03746028c30c3133d57030a388e752dd99 jdk8u171-b10
--- a/make/BuildCorba.gmk	Tue Mar 27 18:24:48 2018 +0100
+++ b/make/BuildCorba.gmk	Fri May 25 01:50:06 2018 +0100
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2007, 2018, 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
@@ -174,7 +174,8 @@
         SETUP := GENERATE_NEWBYTECODE, \
         SRC := $(CORBA_TOPDIR)/src/share/classes $(CORBA_OUTPUTDIR)/gensrc $(CORBA_OUTPUTDIR)/logwrappers, \
         EXCLUDES := com/sun/corba/se/PortableActivationIDL \
-            com/sun/tools/corba/se/logutil, \
+            com/sun/tools/corba/se/logutil \
+            sun/misc, \
         EXCLUDE_FILES := com/sun/corba/se/impl/presentation/rmi/JNDIStateFactoryImpl.java \
             com/sun/corba/se/spi/presentation/rmi/StubWrapper.java \
             com/sun/org/omg/CORBA/IDLTypeOperations.java \
--- a/src/share/classes/com/sun/corba/se/impl/ior/StubIORImpl.java	Tue Mar 27 18:24:48 2018 +0100
+++ b/src/share/classes/com/sun/corba/se/impl/ior/StubIORImpl.java	Fri May 25 01:50:06 2018 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, 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
@@ -31,10 +31,9 @@
 
 package com.sun.corba.se.impl.ior;
 
-import java.io.ObjectInputStream ;
-import java.io.ObjectOutputStream ;
-import java.io.IOException ;
-import java.io.StringWriter ;
+import java.io.IOException;
+import java.io.ObjectOutputStream;
+import sun.corba.SharedSecrets;
 
 import org.omg.CORBA.ORB ;
 
@@ -125,14 +124,20 @@
     {
         // read the IOR from the ObjectInputStream
         int typeLength = stream.readInt();
+        SharedSecrets.getJavaOISAccess().checkArray(stream, byte[].class, typeLength);
         typeData = new byte[typeLength];
         stream.readFully(typeData);
+
         int numProfiles = stream.readInt();
+        SharedSecrets.getJavaOISAccess().checkArray(stream, int[].class, numProfiles);
+        SharedSecrets.getJavaOISAccess().checkArray(stream, byte[].class, numProfiles);
         profileTags = new int[numProfiles];
         profileData = new byte[numProfiles][];
         for (int i = 0; i < numProfiles; i++) {
             profileTags[i] = stream.readInt();
-            profileData[i] = new byte[stream.readInt()];
+            int dataSize = stream.readInt();
+            SharedSecrets.getJavaOISAccess().checkArray(stream, byte[].class, dataSize);
+            profileData[i] = new byte[dataSize];
             stream.readFully(profileData[i]);
         }
     }
--- a/src/share/classes/sun/corba/SharedSecrets.java	Tue Mar 27 18:24:48 2018 +0100
+++ b/src/share/classes/sun/corba/SharedSecrets.java	Fri May 25 01:50:06 2018 +0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, 2018, 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
@@ -26,9 +26,10 @@
 package sun.corba;
 
 import com.sun.corba.se.impl.io.ValueUtility;
+import sun.misc.JavaOISAccess;
 import sun.misc.Unsafe;
 
-import java.security.AccessController;
+import java.lang.reflect.Method;
 
 /** A repository of "shared secrets", which are a mechanism for
     calling implementation-private methods in another package without
@@ -43,6 +44,31 @@
 public class SharedSecrets {
     private static final Unsafe unsafe = Unsafe.getUnsafe();
     private static JavaCorbaAccess javaCorbaAccess;
+    private static final Method getJavaOISAccessMethod;
+    private static JavaOISAccess javaOISAccess;
+
+    // Initialize getJavaOISAccessMethod using reflection.
+    static {
+        try {
+            Class sharedSecret = Class.forName("sun.misc.SharedSecrets");
+            getJavaOISAccessMethod =
+                    sharedSecret.getMethod("getJavaOISAccess");
+        } catch (Exception e) {
+            throw new ExceptionInInitializerError(e);
+        }
+    }
+
+    public static JavaOISAccess getJavaOISAccess() {
+        if (javaOISAccess == null) {
+            try {
+                javaOISAccess =
+                        (JavaOISAccess) getJavaOISAccessMethod.invoke(null);
+            } catch (Exception e) {
+                throw new ExceptionInInitializerError(e);
+            }
+        }
+        return javaOISAccess;
+    }
 
     public static JavaCorbaAccess getJavaCorbaAccess() {
         if (javaCorbaAccess == null) {
@@ -56,5 +82,4 @@
     public static void setJavaCorbaAccess(JavaCorbaAccess access) {
         javaCorbaAccess = access;
     }
-
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/share/classes/sun/misc/JavaOISAccess.java	Fri May 25 01:50:06 2018 +0100
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2018, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package sun.misc;
+
+import java.io.InvalidClassException;
+import java.io.ObjectInputStream;
+
+/*
+ * Skeleton interface added so com.sun.corba.se.impl.ior.StubIORImpl will compile.
+ * JDK implementation will be used at runtime.
+ */
+public interface JavaOISAccess {
+    void setObjectInputFilter(ObjectInputStream stream, ObjectInputFilter filter);
+    ObjectInputFilter getObjectInputFilter(ObjectInputStream stream);
+    void checkArray(ObjectInputStream stream, Class<?> arrayType, int arrayLength)
+        throws InvalidClassException;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/share/classes/sun/misc/ObjectInputFilter.java	Fri May 25 01:50:06 2018 +0100
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2018, 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.  Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package sun.misc;
+
+import java.io.InvalidClassException;
+import java.io.ObjectInputStream;
+
+/*
+ * Skeleton interface added so com.sun.corba.se.impl.ior.StubIORImpl will compile.
+ * JDK implementation will be used at runtime.
+ */
+public interface ObjectInputFilter {
+}