Wed, 09 Sep 2015 10:51:24 -0700
Merge
.hgtags | file | annotate | diff | comparison | revisions |
1.1 --- a/.hgtags Fri Aug 07 11:52:47 2015 -0700 1.2 +++ b/.hgtags Wed Sep 09 10:51:24 2015 -0700 1.3 @@ -401,6 +401,11 @@ 1.4 4afc048fe6ff7fc3fdbdadd8027549805c426d0d jdk8u45-b15 1.5 e67045c893eaf5e3336c4fd849786fa15b81b601 jdk8u45-b31 1.6 f2aeb52cb7cef1f984661a583baac67402f633a5 jdk8u45-b32 1.7 +e26a2620b5d206837fedab74fc84f068c7f47fa2 jdk8u45-b33 1.8 +c1399b5a4592414a8b8e6f64be019e8cf1f46074 jdk8u45-b34 1.9 +2f010018174e90b8673e5c4a3cdfed0a3c4c2fe2 jdk8u45-b35 1.10 +e953ae033f0c530f3588df430589582b6b7108d7 jdk8u45-b36 1.11 +883940e19107877d2b8c486b003253d2433fd59d jdk8u45-b37 1.12 72d116eea419824044f8dd4ae9d3a012946f72a4 jdk8u51-b00 1.13 b9638b9fe23876fd2413f336ee1d4e05d409e6a9 jdk8u51-b01 1.14 bc5562ed3c2d69ffbff357e96d9e383479042000 jdk8u51-b02 1.15 @@ -418,6 +423,7 @@ 1.16 1fbfa02e524872a75e98ee3a80e2472fa7012fde jdk8u51-b14 1.17 d6e1f914c954f98caa31edd0037837830774dfb6 jdk8u51-b15 1.18 3b9b39af6c36216418b78c449dd3af17b865a952 jdk8u51-b16 1.19 +5980dad8f264bb5ec3982d64a7c0af86fc5b3d16 jdk8u51-b31 1.20 8bbc2bb414b7e9331c2014c230553d72c9d161c5 jdk8u60-b00 1.21 15ae8298b34beb30f2bd7baa7ff895af2bec13f6 jdk8u60-b01 1.22 a98524c04cbd24bbc3029b21c033abf9108e92b4 jdk8u60-b02 1.23 @@ -443,7 +449,37 @@ 1.24 3a04901d83880634ecd70c8be992189228ccd746 jdk8u60-b22 1.25 0828bb6521738ad5a7fe11f0aa3495465f002848 jdk8u60-b23 1.26 b0779099d006fcb2a0af493e2a2f828411bfad33 jdk8u60-b24 1.27 +c665dd5d32b04c1dbc2cf21a595fe73330849c03 jdk8u60-b25 1.28 +7828b9af7733eeaf2cafa8e05e68a2661dc3c7a8 jdk8u60-b26 1.29 +be922f27d05991e3099f42988b8ea4ad89809749 jdk8u60-b27 1.30 +8e247b5216a5a4623c1bef7331585d78e7c0fb15 jdk8u52-b06 1.31 +974e2fd9b5b3cec38cceb35c93bcc3b5bedbe91c jdk8u52-b07 1.32 +8e247b5216a5a4623c1bef7331585d78e7c0fb15 jdk8u65-b00 1.33 +31ceb15b19bee8e02aa2cf4be5c3f147ad6afb22 jdk8u65-b01 1.34 +4c8bc7757f825f9fe0806fa13f0fe85b1a20982a jdk8u65-b02 1.35 +7a98523691a9657d4f5ecf8fb71476cecc6d5c4d jdk8u65-b03 1.36 +771cf2ce97e332e1ecffe4818d0fbe77f11e28a2 jdk8u65-b04 1.37 +5b6ff67eed5f25cc710a53026e706597c9193f56 jdk8u65-b05 1.38 +05084f644c07a81e2b246db38917df253f5e2882 jdk8u65-b06 1.39 +bc23767d08cf1e2ba8793106882a3ec9b926d9e0 jdk8u65-b07 1.40 +cc1eef73fb58c59317a0be13f31ef7a77b46b8e3 jdk8u65-b08 1.41 +db639a8f026b01059114cd32d9e44dfad2b55de0 jdk8u65-b09 1.42 +98ad80b71e1fb5c3343c33dffd40e9e92e65f087 jdk8u65-b10 1.43 +98ad80b71e1fb5c3343c33dffd40e9e92e65f087 jdk8u65-b10 1.44 +0000000000000000000000000000000000000000 jdk8u65-b10 1.45 +0000000000000000000000000000000000000000 jdk8u65-b10 1.46 +6b5f81fcbdde7bca924364448e7d98912992ac2f jdk8u65-b10 1.47 +2dcd36bfa8a4e5d789cd86ee24bdc1045bac4e06 jdk8u65-b11 1.48 +55f0343bcba5f486f955ffe7b25aac261c0003b4 jdk8u65-b12 1.49 +d7ec3a9f57de2e6c403410f7b45aa69171f18892 jdk8u65-b13 1.50 3a04901d83880634ecd70c8be992189228ccd746 jdk8u66-b00 1.51 3717d70ac87f5e5579e540cd990b4e958c5990a4 jdk8u66-b01 1.52 15851994f9f81f6de37b63683c8cd9b19ae90ed1 jdk8u66-b02 1.53 +8e9e5c715064a55865975ec3626b17e0439613c7 jdk8u66-b07 1.54 +6802a364b568ce4f4398c0fc90ee0f675337a3c2 jdk8u66-b08 1.55 +81d11adaf5aa0b37ffabf45fbeb8fa19f13de596 jdk8u66-b09 1.56 +12e44aa2069b20ecbff03285dea4681325b9c05f jdk8u66-b10 1.57 +ebe5ae51f625a9d3f5e1aac835a416502c71a4a0 jdk8u66-b11 1.58 +3acb9f1828c5e9ed64a45c0101d1c59d1e784ee0 jdk8u66-b12 1.59 +f71aabee169f8342298e38923848bdb863c0f37a jdk8u66-b13 1.60 81296d52090354da1eb9748d63a29d30bb1230f7 jdk8u72-b00
2.1 --- a/src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java Fri Aug 07 11:52:47 2015 -0700 2.2 +++ b/src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java Wed Sep 09 10:51:24 2015 -0700 2.3 @@ -567,6 +567,11 @@ 2.4 // XXX I18N, logging needed. 2.5 throw new NotActiveException("defaultReadObjectDelegate"); 2.6 2.7 + if (!currentClassDesc.forClass().isAssignableFrom( 2.8 + currentObject.getClass())) { 2.9 + throw new IOException("Object Type mismatch"); 2.10 + } 2.11 + 2.12 // The array will be null unless fields were retrieved 2.13 // remotely because of a serializable version difference. 2.14 // Bug fix for 4365188. See the definition of 2.15 @@ -1063,6 +1068,9 @@ 2.16 2.17 int spBase = spClass; // current top of stack 2.18 2.19 + if (currentClass.getName().equals("java.lang.String")) { 2.20 + return this.readUTF(); 2.21 + } 2.22 /* The object's classes should be processed from supertype to subtype 2.23 * Push all the clases of the current object onto a stack. 2.24 * Note that only the serializable classes are represented 2.25 @@ -2257,6 +2265,27 @@ 2.26 2.27 try { 2.28 Class fieldCl = fields[i].getClazz(); 2.29 + if ((objectValue != null) 2.30 + && (!fieldCl.isAssignableFrom( 2.31 + objectValue.getClass()))) { 2.32 + throw new IllegalArgumentException("Field mismatch"); 2.33 + } 2.34 + Field classField = null; 2.35 + try { 2.36 + classField = cl.getDeclaredField(fields[i].getName()); 2.37 + } catch (NoSuchFieldException nsfEx) { 2.38 + throw new IllegalArgumentException(nsfEx); 2.39 + } catch (SecurityException secEx) { 2.40 + throw new IllegalArgumentException(secEx.getCause()); 2.41 + } 2.42 + Class<?> declaredFieldClass = classField.getType(); 2.43 + 2.44 + // check input field type is a declared field type 2.45 + // input field is a subclass of the declared field 2.46 + if (!declaredFieldClass.isAssignableFrom(fieldCl)) { 2.47 + throw new IllegalArgumentException( 2.48 + "Field Type mismatch"); 2.49 + } 2.50 if (objectValue != null && !fieldCl.isInstance(objectValue)) { 2.51 throw new IllegalArgumentException(); 2.52 }
3.1 --- a/src/share/classes/com/sun/corba/se/impl/io/IIOPOutputStream.java Fri Aug 07 11:52:47 2015 -0700 3.2 +++ b/src/share/classes/com/sun/corba/se/impl/io/IIOPOutputStream.java Wed Sep 09 10:51:24 2015 -0700 3.3 @@ -559,6 +559,10 @@ 3.4 * Push all the clases of the current object onto a stack. 3.5 * Remember the stack pointer where this set of classes is being pushed. 3.6 */ 3.7 + if (currentClassDesc.forClass().getName().equals("java.lang.String")) { 3.8 + this.writeUTF((String)obj); 3.9 + return; 3.10 + } 3.11 int stackMark = classDescStack.size(); 3.12 try { 3.13 ObjectStreamClass next;
4.1 --- a/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_pt_BR.properties Fri Aug 07 11:52:47 2015 -0700 4.2 +++ b/src/share/classes/com/sun/corba/se/impl/orbutil/resources/sunorb_pt_BR.properties Wed Sep 09 10:51:24 2015 -0700 4.3 @@ -1,5 +1,5 @@ 4.4 # 4.5 -# Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved. 4.6 +# Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. 4.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4.8 # 4.9 # This code is free software; you can redistribute it and/or modify it 4.10 @@ -62,7 +62,7 @@ 4.11 4.12 servertool.list=\n\tlist\n 4.13 servertool.list1=lista todos os servidores registrados 4.14 -servertool.list2=\n\tId do Servidor\tNome de Classe do Servidor\t\tAplica\u00E7\u00E3o do Servidor\n\t---------\t-----------------\t\t------------------\n 4.15 +servertool.list2=\n\tId do Servidor\tNome de Classe do Servidor\t\tAplicativo do Servidor\n\t---------\t-----------------\t\t------------------\n 4.16 servertool.listactive=\n\tlistactive 4.17 servertool.listactive1=lista os servidores atualmente ativos 4.18 servertool.listappnames=\tlistappnames\n
5.1 --- a/src/share/classes/sun/rmi/rmic/iiop/StubGenerator.java Fri Aug 07 11:52:47 2015 -0700 5.2 +++ b/src/share/classes/sun/rmi/rmic/iiop/StubGenerator.java Wed Sep 09 10:51:24 2015 -0700 5.3 @@ -446,6 +446,9 @@ 5.4 if (emitPermissionCheck) { 5.5 5.6 // produce the following generated code for example 5.7 + // 5.8 + // private transient boolean _instantiated = false; 5.9 + // 5.10 // private static Void checkPermission() { 5.11 // SecurityManager sm = System.getSecurityManager(); 5.12 // if (sm != null) { 5.13 @@ -460,11 +463,21 @@ 5.14 // 5.15 // public _XXXXX_Stub() { 5.16 // this(checkPermission()); 5.17 + // _instantiated = true; 5.18 + // } 5.19 + // 5.20 + // private void readObject(java.io.ObjectInputStream s) throws IOException, ClassNotFoundException { 5.21 + // checkPermission(); 5.22 + // s.defaultReadObject(); 5.23 + // _instantiated = true; 5.24 // } 5.25 // 5.26 // where XXXXX is the name of the remote interface 5.27 5.28 p.pln(); 5.29 + p.plnI("private transient boolean _instantiated = false;"); 5.30 + p.pln(); 5.31 + p.pO(); 5.32 p.plnI("private static Void checkPermission() {"); 5.33 p.plnI("SecurityManager sm = System.getSecurityManager();"); 5.34 p.pln("if (sm != null) {"); 5.35 @@ -481,13 +494,23 @@ 5.36 p.pO(); 5.37 5.38 p.pI(); 5.39 - p.pln("private " + currentClass + "(Void ignore) { }"); 5.40 + p.plnI("private " + currentClass + "(Void ignore) { }"); 5.41 p.pln(); 5.42 - 5.43 - p.plnI("public " + currentClass + "() { "); 5.44 + p.pO(); 5.45 + 5.46 + p.plnI("public " + currentClass + "() {"); 5.47 p.pln("this(checkPermission());"); 5.48 + p.pln("_instantiated = true;"); 5.49 p.pOln("}"); 5.50 p.pln(); 5.51 + p.plnI("private void readObject(java.io.ObjectInputStream s) throws IOException, ClassNotFoundException {"); 5.52 + p.plnI("checkPermission();"); 5.53 + p.pO(); 5.54 + p.pln("s.defaultReadObject();"); 5.55 + p.pln("_instantiated = true;"); 5.56 + p.pOln("}"); 5.57 + p.pln(); 5.58 + //p.pO(); 5.59 } 5.60 5.61 if (!emitPermissionCheck) { 5.62 @@ -894,6 +917,7 @@ 5.63 String paramNames[] = method.getArgumentNames(); 5.64 Type returnType = method.getReturnType(); 5.65 ValueType[] exceptions = getStubExceptions(method,false); 5.66 + boolean hasIOException = false; 5.67 5.68 addNamesInUse(method); 5.69 addNameInUse("_type_ids"); 5.70 @@ -921,6 +945,13 @@ 5.71 p.plnI(" {"); 5.72 5.73 // Now create the method body... 5.74 + if (emitPermissionCheck) { 5.75 + p.pln("if ((System.getSecurityManager() != null) && (!_instantiated)) {"); 5.76 + p.plnI(" throw new java.io.IOError(new java.io.IOException(\"InvalidObject \"));"); 5.77 + p.pOln("}"); 5.78 + p.pln(); 5.79 + } 5.80 + 5.81 5.82 if (localStubs) { 5.83 writeLocalStubMethodBody(p,method,theType);