changeset 1237:834cf5ee24b3 icedtea-3.0.0pre09

Merge jdk8u72-b15
author andrew
date Fri, 05 Feb 2016 17:41:17 +0000
parents 178a782d6f4f (current diff) 91e3b8e2e006 (diff)
children 69abbe1ffff9
files .hgtags
diffstat 5 files changed, 155 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/.hgtags	Fri Feb 05 03:38:11 2016 +0000
+++ b/.hgtags	Fri Feb 05 17:41:17 2016 +0000
@@ -358,6 +358,7 @@
 705d3a4298f44f0a14925bfee5017f5824b6c0ca jdk8u31-b31
 072d325a052a5894019b74118803bf5fb9e30692 jdk8u31-b32
 bfd820cde577ba687222196e6c5159d9763df887 jdk8u31-b33
+f45b782d5583cb36a45329ce4d54f3975be8cd81 jdk8u31-b34
 7d1e0f0b63f1d66c77924d8b2a1accdf8f7480db jdk8u40-b00
 c5d9822a3c18cd9e274dfe99e91c33e02bd8f8f4 jdk8u40-b01
 504b4455570e14b7fc0a837a09c6401c603516d9 jdk8u40-b02
@@ -409,6 +410,11 @@
 4afc048fe6ff7fc3fdbdadd8027549805c426d0d jdk8u45-b15
 e67045c893eaf5e3336c4fd849786fa15b81b601 jdk8u45-b31
 f2aeb52cb7cef1f984661a583baac67402f633a5 jdk8u45-b32
+e26a2620b5d206837fedab74fc84f068c7f47fa2 jdk8u45-b33
+c1399b5a4592414a8b8e6f64be019e8cf1f46074 jdk8u45-b34
+2f010018174e90b8673e5c4a3cdfed0a3c4c2fe2 jdk8u45-b35
+e953ae033f0c530f3588df430589582b6b7108d7 jdk8u45-b36
+883940e19107877d2b8c486b003253d2433fd59d jdk8u45-b37
 72d116eea419824044f8dd4ae9d3a012946f72a4 jdk8u51-b00
 b9638b9fe23876fd2413f336ee1d4e05d409e6a9 jdk8u51-b01
 bc5562ed3c2d69ffbff357e96d9e383479042000 jdk8u51-b02
@@ -426,6 +432,9 @@
 1fbfa02e524872a75e98ee3a80e2472fa7012fde jdk8u51-b14
 d6e1f914c954f98caa31edd0037837830774dfb6 jdk8u51-b15
 3b9b39af6c36216418b78c449dd3af17b865a952 jdk8u51-b16
+5980dad8f264bb5ec3982d64a7c0af86fc5b3d16 jdk8u51-b31
+eb269a395660200c33cd58acca2df20da03567ab jdk8u51-b32
+b0daf4d3eb5f5de0f073ec9d264b1964b1920c67 jdk8u51-b33
 8bbc2bb414b7e9331c2014c230553d72c9d161c5 jdk8u60-b00
 15ae8298b34beb30f2bd7baa7ff895af2bec13f6 jdk8u60-b01
 a98524c04cbd24bbc3029b21c033abf9108e92b4 jdk8u60-b02
@@ -453,3 +462,80 @@
 9e44a6fa912760c513f9a59826c061fd5ca17c5e icedtea-3.0.0pre06
 7418bb690047791d64e1b4adb692ad07d8a44bad icedtea-3.0.0pre07
 ebc2780ebeb34e292b5cfb0e8da1efafa8395306 icedtea-3.0.0pre08
+b0779099d006fcb2a0af493e2a2f828411bfad33 jdk8u60-b24
+c665dd5d32b04c1dbc2cf21a595fe73330849c03 jdk8u60-b25
+7828b9af7733eeaf2cafa8e05e68a2661dc3c7a8 jdk8u60-b26
+be922f27d05991e3099f42988b8ea4ad89809749 jdk8u60-b27
+1c146aed705a76fd488402219b0b7740e2aeb5e2 jdk8u60-b31
+dccb1de9712dd6aa2a1edafba861af9998ad3e62 jdk8u60-b32
+8e247b5216a5a4623c1bef7331585d78e7c0fb15 jdk8u52-b06
+974e2fd9b5b3cec38cceb35c93bcc3b5bedbe91c jdk8u52-b07
+8e247b5216a5a4623c1bef7331585d78e7c0fb15 jdk8u65-b00
+31ceb15b19bee8e02aa2cf4be5c3f147ad6afb22 jdk8u65-b01
+4c8bc7757f825f9fe0806fa13f0fe85b1a20982a jdk8u65-b02
+7a98523691a9657d4f5ecf8fb71476cecc6d5c4d jdk8u65-b03
+771cf2ce97e332e1ecffe4818d0fbe77f11e28a2 jdk8u65-b04
+5b6ff67eed5f25cc710a53026e706597c9193f56 jdk8u65-b05
+05084f644c07a81e2b246db38917df253f5e2882 jdk8u65-b06
+bc23767d08cf1e2ba8793106882a3ec9b926d9e0 jdk8u65-b07
+cc1eef73fb58c59317a0be13f31ef7a77b46b8e3 jdk8u65-b08
+db639a8f026b01059114cd32d9e44dfad2b55de0 jdk8u65-b09
+98ad80b71e1fb5c3343c33dffd40e9e92e65f087 jdk8u65-b10
+98ad80b71e1fb5c3343c33dffd40e9e92e65f087 jdk8u65-b10
+0000000000000000000000000000000000000000 jdk8u65-b10
+0000000000000000000000000000000000000000 jdk8u65-b10
+6b5f81fcbdde7bca924364448e7d98912992ac2f jdk8u65-b10
+2dcd36bfa8a4e5d789cd86ee24bdc1045bac4e06 jdk8u65-b11
+55f0343bcba5f486f955ffe7b25aac261c0003b4 jdk8u65-b12
+d7ec3a9f57de2e6c403410f7b45aa69171f18892 jdk8u65-b13
+4d70db073f332c38b861585b46fe7252b1c5b9fa jdk8u65-b14
+ac282c2b32cdc6c8f8948fca6980cb1505b36c80 jdk8u65-b15
+a844676401a206b1e98f4b5b69141b784a559766 jdk8u65-b16
+d9c2dcdd835ca332c9c44430747f9f2633c2dfd9 jdk8u65-b17
+3a04901d83880634ecd70c8be992189228ccd746 jdk8u66-b00
+3717d70ac87f5e5579e540cd990b4e958c5990a4 jdk8u66-b01
+15851994f9f81f6de37b63683c8cd9b19ae90ed1 jdk8u66-b02
+8e9e5c715064a55865975ec3626b17e0439613c7 jdk8u66-b07
+6802a364b568ce4f4398c0fc90ee0f675337a3c2 jdk8u66-b08
+81d11adaf5aa0b37ffabf45fbeb8fa19f13de596 jdk8u66-b09
+12e44aa2069b20ecbff03285dea4681325b9c05f jdk8u66-b10
+ebe5ae51f625a9d3f5e1aac835a416502c71a4a0 jdk8u66-b11
+3acb9f1828c5e9ed64a45c0101d1c59d1e784ee0 jdk8u66-b12
+f71aabee169f8342298e38923848bdb863c0f37a jdk8u66-b13
+0db478b43d7fcf26dc613241654737756ec982c5 jdk8u66-b14
+b88ba0b818831eb6f3a7954e218b371ed6f5d154 jdk8u66-b15
+606448f919ad288412669c3e78482b99d8f5f416 jdk8u66-b16
+c53412824d4ef81343418a71877172776b0980af jdk8u66-b17
+efb736c1edb983bd231617a2619d68a3eee4d850 jdk8u66-b18
+d555fb895611d083724442be79e5592ba676825c jdk8u66-b31
+cd1b3e5a3126d0808c845d2df518095b10a98059 jdk8u71-b00
+8c21767afa1a241e8312a1d4280efadfded4883d jdk8u71-b01
+c775f50c022007b4f482f51dafb95224886aca8b jdk8u71-b02
+c58d76c5ebf109d600073c919c7cd07fab8b22da jdk8u71-b03
+40c0d0766618ce3bf465b97e9effed131c4327b0 jdk8u71-b04
+ca7c15cd6f1d31067b7f29cf21d96ff69e5a9728 jdk8u71-b05
+a48ae298304c929b8952eaae45cbc91d8872bcff jdk8u71-b06
+cdc7f7d08434d1219016a0098d27c0e528a0f3dd jdk8u71-b07
+68e0b5479460cbce7b91f3eec723a652bbd2f3b8 jdk8u71-b08
+a6d5b4ad93ac5c0d53ee956ff6c121708eae1804 jdk8u71-b09
+45eccf50c18385dad143f0969671bb715c7defc5 jdk8u71-b10
+661364a8ca3415f0380a14270b69314113edcf7a jdk8u71-b11
+df868f22501c87aac038325cf1592d9677e467ed jdk8u71-b12
+82a6eb78e6a804650c5f51ffef68ba47081241ad jdk8u71-b13
+f8923f3121241a28f5107497df4c499ae4808adc jdk8u71-b14
+01490a24fddd040179bb11da9d3aabc26acd3253 jdk8u71-b15
+81296d52090354da1eb9748d63a29d30bb1230f7 jdk8u72-b00
+f0c760a2a888db7c84ec7d7a11892b8de867b2ae jdk8u72-b01
+4483a58cf74e7c237208059f94eced2ac9e2ed89 jdk8u72-b02
+c7110d67f536f9ff356ab5d871cf8316962da096 jdk8u72-b03
+948d562cd00d4a94264c5f97e55e16ce763a6367 jdk8u72-b04
+c752f355ace8127ef54b1e02968fcab934e199bd jdk8u72-b05
+ad9ef5b972345cdb79ebaf688dd026f8c2ecfd8c jdk8u72-b06
+812a4a1c5cf055413e5035ddc5ea6bff35d6ef57 jdk8u72-b07
+163f56ecf17237f326b3175a825762bae5149ce5 jdk8u72-b08
+f0d5b961f6992333074f9fe314c3e09b9d8eb43b jdk8u72-b09
+474cc933bc1ad7a3b63163aa09f4bb3fe978eda3 jdk8u72-b10
+afc6230d35e74394b14d10ec915bbdf4037e1da9 jdk8u72-b11
+3eb18c06118e0bc2fca1e1ea6c1cbddd21a27479 jdk8u72-b12
+0d9849ba664dc3381d8d6d85d5e04c00fdd476b1 jdk8u72-b13
+baa49bb35fc1798a5951fcfd3f9232332651d4e9 jdk8u72-b14
--- a/src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java	Fri Feb 05 03:38:11 2016 +0000
+++ b/src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java	Fri Feb 05 17:41:17 2016 +0000
@@ -567,6 +567,11 @@
                 // XXX I18N, logging needed.
                 throw new NotActiveException("defaultReadObjectDelegate");
 
+            if (!currentClassDesc.forClass().isAssignableFrom(
+                    currentObject.getClass())) {
+                throw new IOException("Object Type mismatch");
+            }
+
             // The array will be null unless fields were retrieved
             // remotely because of a serializable version difference.
             // Bug fix for 4365188.  See the definition of
@@ -1063,6 +1068,9 @@
 
             int spBase = spClass;       // current top of stack
 
+            if (currentClass.getName().equals("java.lang.String")) {
+                return this.readUTF();
+            }
             /* The object's classes should be processed from supertype to subtype
              * Push all the clases of the current object onto a stack.
              * Note that only the serializable classes are represented
@@ -2257,6 +2265,27 @@
 
                 try {
                     Class fieldCl = fields[i].getClazz();
+                    if ((objectValue != null)
+                            && (!fieldCl.isAssignableFrom(
+                                    objectValue.getClass()))) {
+                        throw new IllegalArgumentException("Field mismatch");
+                    }
+                   Field classField = null;
+                    try {
+                        classField = cl.getDeclaredField(fields[i].getName());
+                    } catch (NoSuchFieldException nsfEx) {
+                        throw new IllegalArgumentException(nsfEx);
+                    } catch (SecurityException secEx) {
+                        throw new IllegalArgumentException(secEx.getCause());
+                    }
+                    Class<?> declaredFieldClass = classField.getType();
+
+                    // check input field type is a declared field type
+                    // input field is a subclass of the declared field
+                    if (!declaredFieldClass.isAssignableFrom(fieldCl)) {
+                        throw new IllegalArgumentException(
+                                "Field Type mismatch");
+                    }
                     if (objectValue != null && !fieldCl.isInstance(objectValue)) {
                         throw new IllegalArgumentException();
                     }
--- a/src/share/classes/com/sun/corba/se/impl/io/IIOPOutputStream.java	Fri Feb 05 03:38:11 2016 +0000
+++ b/src/share/classes/com/sun/corba/se/impl/io/IIOPOutputStream.java	Fri Feb 05 17:41:17 2016 +0000
@@ -559,6 +559,10 @@
              * Push all the clases of the current object onto a stack.
              * Remember the stack pointer where this set of classes is being pushed.
              */
+            if (currentClassDesc.forClass().getName().equals("java.lang.String")) {
+                    this.writeUTF((String)obj);
+                    return;
+            }
             int stackMark = classDescStack.size();
             try {
                 ObjectStreamClass next;
--- a/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_pt_BR.properties	Fri Feb 05 03:38:11 2016 +0000
+++ b/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_pt_BR.properties	Fri Feb 05 17:41:17 2016 +0000
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2000, 2015, 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
@@ -62,7 +62,7 @@
 
 servertool.list=\n\tlist\n
 servertool.list1=lista todos os servidores registrados
-servertool.list2=\n\tId do Servidor\tNome de Classe do Servidor\t\tAplica\u00E7\u00E3o do Servidor\n\t---------\t-----------------\t\t------------------\n
+servertool.list2=\n\tId do Servidor\tNome de Classe do Servidor\t\tAplicativo do Servidor\n\t---------\t-----------------\t\t------------------\n
 servertool.listactive=\n\tlistactive
 servertool.listactive1=lista os servidores atualmente ativos
 servertool.listappnames=\tlistappnames\n
--- a/src/share/classes/sun/rmi/rmic/iiop/StubGenerator.java	Fri Feb 05 03:38:11 2016 +0000
+++ b/src/share/classes/sun/rmi/rmic/iiop/StubGenerator.java	Fri Feb 05 17:41:17 2016 +0000
@@ -446,6 +446,9 @@
         if (emitPermissionCheck) {
 
             // produce the following generated code for example
+            //
+            // private transient boolean _instantiated = false;
+            //
             // private static Void checkPermission() {
             // SecurityManager sm = System.getSecurityManager();
             // if (sm != null) {
@@ -460,11 +463,21 @@
             //
             // public _XXXXX_Stub() {
             // this(checkPermission());
+            // _instantiated = true;
+            // }
+            //
+            // private void readObject(java.io.ObjectInputStream s) throws IOException, ClassNotFoundException {
+            //    checkPermission();
+            //    s.defaultReadObject();
+            //    _instantiated = true;
             // }
             //
             // where XXXXX is the name of the remote interface
 
                 p.pln();
+                p.plnI("private transient boolean _instantiated = false;");
+                p.pln();
+                p.pO();
                 p.plnI("private static Void checkPermission() {");
                 p.plnI("SecurityManager sm = System.getSecurityManager();");
                 p.pln("if (sm != null) {");
@@ -481,13 +494,23 @@
                 p.pO();
 
                 p.pI();
-                p.pln("private " + currentClass + "(Void ignore) {  }");
+                p.plnI("private " + currentClass + "(Void ignore) {  }");
                 p.pln();
-
-                p.plnI("public " + currentClass + "() { ");
+                p.pO();
+
+                p.plnI("public " + currentClass + "() {");
                 p.pln("this(checkPermission());");
+                p.pln("_instantiated = true;");
                 p.pOln("}");
                 p.pln();
+                p.plnI("private void readObject(java.io.ObjectInputStream s) throws IOException, ClassNotFoundException {");
+                p.plnI("checkPermission();");
+                p.pO();
+                p.pln("s.defaultReadObject();");
+                p.pln("_instantiated = true;");
+                p.pOln("}");
+                p.pln();
+                //p.pO();
         }
 
        if (!emitPermissionCheck) {
@@ -894,6 +917,7 @@
         String paramNames[] = method.getArgumentNames();
         Type returnType = method.getReturnType();
         ValueType[] exceptions = getStubExceptions(method,false);
+        boolean hasIOException = false;
 
         addNamesInUse(method);
         addNameInUse("_type_ids");
@@ -921,6 +945,13 @@
         p.plnI(" {");
 
         // Now create the method body...
+        if (emitPermissionCheck) {
+            p.pln("if ((System.getSecurityManager() != null) && (!_instantiated)) {");
+            p.plnI("    throw new java.io.IOError(new java.io.IOException(\"InvalidObject \"));");
+            p.pOln("}");
+            p.pln();
+        }
+
 
         if (localStubs) {
             writeLocalStubMethodBody(p,method,theType);