/hg/icedtea8-forest/corba: 22 new changesets
andrew at icedtea.classpath.org
andrew at icedtea.classpath.org
Thu Nov 2 06:17:32 UTC 2017
changeset 977bf6014638 in /hg/icedtea8-forest/corba
details: http://icedtea.classpath.org/hg/icedtea8-forest/corba?cmd=changeset;node=977bf6014638
author: asaha
date: Fri Jul 21 20:31:23 2017 -0700
Added tag jdk8u144-b01 for changeset 0d5d2e29f93b
changeset aed470d361fe in /hg/icedtea8-forest/corba
details: http://icedtea.classpath.org/hg/icedtea8-forest/corba?cmd=changeset;node=aed470d361fe
author: asaha
date: Tue Dec 13 12:50:58 2016 -0800
Added tag jdk8u151-b00 for changeset 2dbdceff6ade
changeset 463b5275e5ff in /hg/icedtea8-forest/corba
details: http://icedtea.classpath.org/hg/icedtea8-forest/corba?cmd=changeset;node=463b5275e5ff
author: asaha
date: Thu Jun 08 13:39:18 2017 -0700
Merge
changeset 4449c73dbfdf in /hg/icedtea8-forest/corba
details: http://icedtea.classpath.org/hg/icedtea8-forest/corba?cmd=changeset;node=4449c73dbfdf
author: asaha
date: Tue Jun 13 10:29:21 2017 -0700
Merge
changeset ffa099d5b88f in /hg/icedtea8-forest/corba
details: http://icedtea.classpath.org/hg/icedtea8-forest/corba?cmd=changeset;node=ffa099d5b88f
author: asaha
date: Tue Jun 13 16:28:40 2017 -0700
Added tag jdk8u151-b01 for changeset 4449c73dbfdf
changeset ccd048df7d8c in /hg/icedtea8-forest/corba
details: http://icedtea.classpath.org/hg/icedtea8-forest/corba?cmd=changeset;node=ccd048df7d8c
author: asaha
date: Mon Jun 19 14:49:43 2017 -0700
Added tag jdk8u151-b02 for changeset ffa099d5b88f
changeset ed0bcf16d05f in /hg/icedtea8-forest/corba
details: http://icedtea.classpath.org/hg/icedtea8-forest/corba?cmd=changeset;node=ed0bcf16d05f
author: asaha
date: Mon Jun 26 14:48:52 2017 -0700
Merge
changeset a6814326f989 in /hg/icedtea8-forest/corba
details: http://icedtea.classpath.org/hg/icedtea8-forest/corba?cmd=changeset;node=a6814326f989
author: igerasim
date: Thu May 25 12:11:16 2017 -0700
8180024: Improve construction of objects during deserialization
Reviewed-by: dfuchs
changeset cefb3694f856 in /hg/icedtea8-forest/corba
details: http://icedtea.classpath.org/hg/icedtea8-forest/corba?cmd=changeset;node=cefb3694f856
author: asaha
date: Mon Jul 03 12:22:16 2017 -0700
Added tag jdk8u151-b03 for changeset a6814326f989
changeset 2d66275684e3 in /hg/icedtea8-forest/corba
details: http://icedtea.classpath.org/hg/icedtea8-forest/corba?cmd=changeset;node=2d66275684e3
author: asaha
date: Mon Jul 10 15:29:19 2017 -0700
Added tag jdk8u151-b04 for changeset cefb3694f856
changeset 8977426affc0 in /hg/icedtea8-forest/corba
details: http://icedtea.classpath.org/hg/icedtea8-forest/corba?cmd=changeset;node=8977426affc0
author: asaha
date: Fri Jul 14 10:40:46 2017 -0700
Merge
changeset 1266bcf79421 in /hg/icedtea8-forest/corba
details: http://icedtea.classpath.org/hg/icedtea8-forest/corba?cmd=changeset;node=1266bcf79421
author: asaha
date: Mon Jul 17 13:41:08 2017 -0700
Added tag jdk8u151-b05 for changeset 8977426affc0
changeset 3289ad7e88f3 in /hg/icedtea8-forest/corba
details: http://icedtea.classpath.org/hg/icedtea8-forest/corba?cmd=changeset;node=3289ad7e88f3
author: asaha
date: Sun Jul 23 23:17:36 2017 -0700
Merge
changeset d41040488bbb in /hg/icedtea8-forest/corba
details: http://icedtea.classpath.org/hg/icedtea8-forest/corba?cmd=changeset;node=d41040488bbb
author: asaha
date: Tue Jul 25 12:17:17 2017 -0700
Added tag jdk8u151-b06 for changeset 3289ad7e88f3
changeset 5d079476bf24 in /hg/icedtea8-forest/corba
details: http://icedtea.classpath.org/hg/icedtea8-forest/corba?cmd=changeset;node=5d079476bf24
author: asaha
date: Tue Aug 01 11:59:18 2017 -0700
Added tag jdk8u151-b07 for changeset d41040488bbb
changeset 41308ed3afe4 in /hg/icedtea8-forest/corba
details: http://icedtea.classpath.org/hg/icedtea8-forest/corba?cmd=changeset;node=41308ed3afe4
author: asaha
date: Tue Aug 08 09:41:44 2017 -0700
Added tag jdk8u151-b08 for changeset 5d079476bf24
changeset c5f095a1df38 in /hg/icedtea8-forest/corba
details: http://icedtea.classpath.org/hg/icedtea8-forest/corba?cmd=changeset;node=c5f095a1df38
author: coffeys
date: Tue Aug 08 12:01:59 2017 +0100
8184682: Upgrade compression library
Reviewed-by: alanb, sherman, ahgross, jeff
changeset 05a4bb70c2d8 in /hg/icedtea8-forest/corba
details: http://icedtea.classpath.org/hg/icedtea8-forest/corba?cmd=changeset;node=05a4bb70c2d8
author: asaha
date: Tue Aug 15 13:18:37 2017 -0700
Added tag jdk8u151-b09 for changeset c5f095a1df38
changeset ea10de07bc17 in /hg/icedtea8-forest/corba
details: http://icedtea.classpath.org/hg/icedtea8-forest/corba?cmd=changeset;node=ea10de07bc17
author: asaha
date: Wed Aug 23 13:01:36 2017 -0700
Added tag jdk8u151-b10 for changeset 05a4bb70c2d8
changeset 87aaf4f5274e in /hg/icedtea8-forest/corba
details: http://icedtea.classpath.org/hg/icedtea8-forest/corba?cmd=changeset;node=87aaf4f5274e
author: asaha
date: Tue Aug 29 10:29:49 2017 -0700
Added tag jdk8u151-b11 for changeset ea10de07bc17
changeset 13a5a8a3c66f in /hg/icedtea8-forest/corba
details: http://icedtea.classpath.org/hg/icedtea8-forest/corba?cmd=changeset;node=13a5a8a3c66f
author: andrew
date: Mon Oct 30 17:28:36 2017 +0000
Merge jdk8u151-b12
changeset 0faa780e126e in /hg/icedtea8-forest/corba
details: http://icedtea.classpath.org/hg/icedtea8-forest/corba?cmd=changeset;node=0faa780e126e
author: andrew
date: Thu Nov 02 06:16:05 2017 +0000
Added tag icedtea-3.6.0 for changeset 13a5a8a3c66f
diffstat:
.hgtags | 49 ++++
.jcheck/conf | 2 -
THIRD_PARTY_README | 4 +-
src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClass.java | 117 +++++++++-
4 files changed, 163 insertions(+), 9 deletions(-)
diffs (385 lines):
diff -r 0d5d2e29f93b -r 0faa780e126e .hgtags
--- a/.hgtags Thu Jul 20 23:09:59 2017 -0700
+++ b/.hgtags Thu Nov 02 06:16:05 2017 +0000
@@ -50,6 +50,7 @@
b751c528c55560cf2adeaeef24b39ca1f4d1cbf7 jdk7-b73
5d0cf59a3203b9f57aceebc33ae656b884987955 jdk7-b74
0fb137085952c8e47878e240d1cb40f14de463c4 jdk7-b75
+d728db3889da23d9f74e45154b9261a43b4acd8d icedtea7-1.12
937144222e2219939101b0129d26a872a7956b13 jdk7-b76
6881f0383f623394b5ec73f27a5f329ff55d0467 jdk7-b77
a7f7276b48cd74d8eb1baa83fbf3d1ef4a2603c8 jdk7-b78
@@ -63,6 +64,7 @@
6253e28826d16cf1aecc39ce04c8de1f6bf2df5f jdk7-b86
09a41111a401d327f65e453384d976a10154d9ea jdk7-b87
39e14d2da687c7e592142137517aaf689544820f jdk7-b88
+e805b4155d76f76d40ffae36a74546f79218c539 icedtea7-1.13
bb4424c5e778b842c064a8b1aa902b35f4397654 jdk7-b89
56ce07b0eb47b93a98a72adef0f21e602c460623 jdk7-b90
bcd2fc089227559ac5be927923609fac29f067fa jdk7-b91
@@ -111,6 +113,7 @@
918003855fa0dba5acf4bf1fe36526d2fc4c1ba8 jdk7-b134
e0b72ae5dc5e824b342801c8d1d336a55eb54e2c jdk7-b135
48ef0c712e7cbf272f47f9224db92a3c6a9e2612 jdk7-b136
+b62418551e20fa19fbf57c49d4378b7096809e60 icedtea-1.14
a66c01d8bf895261715955df0b95545c000ed6a8 jdk7-b137
78d8cf04697e9df54f7f11e195b7da29b8e345a2 jdk7-b138
60b074ec6fcf5cdf9efce22fdfb02326ed8fa2d3 jdk7-b139
@@ -295,6 +298,7 @@
32b9c4f0ab3c6d33f70724b775cb9d12c004be6d jdk8u20-b07
4e4a75376185ca1a712cc9fef5a340e6927cf5e2 jdk8u20-b08
0344396d09b0e20d4a8d1bdff9f129250a60f365 jdk8u20-b09
+a96c01f523be6fadcf777118d471a9fa5751cf1c icedtea-3.0.0pre01
e930c4fa31586b0f21887f7b50fba927550f17fb jdk8u20-b10
9a6092124c7c926d380a5f3b0f899fd1427c6e69 jdk8u20-b11
673829390271e51f8bc442ffbd4726833a7b1c06 jdk8u20-b12
@@ -308,6 +312,7 @@
aca1d25d10812c86024d9dbb7ec529876cca55e8 jdk8u20-b20
7d1e0f0b63f1d66c77924d8b2a1accdf8f7480db jdk8u20-b21
7677bf14d105ca23ab045f5041ceb19ee88b86c6 jdk8u20-b22
+83ebbcc0dda5af02ee3d99756bf6c13da956a310 icedtea-3.0.0pre02
919405d7316dfcbddee5ad8dd08905916df88e04 jdk8u20-b23
34c930eaa6b591621afde05ca2e24571c91cdc9b jdk8u20-b24
34c930eaa6b591621afde05ca2e24571c91cdc9b jdk8u20-b25
@@ -375,6 +380,9 @@
a1e2c13de84e00f2aedf4c40e96347306ede84f3 jdk8u40-b18
8bbc2bb414b7e9331c2014c230553d72c9d161c5 jdk8u40-b19
445eceffc829e205037098115c26e38e85ea5f7c jdk8u40-b20
+6c974fba96cb81fd91bf85f434531dbd122fa3a0 icedtea-3.0.0pre03
+b493e7b682c969ef1b68c56c3512317df87a1f28 icedtea-3.0.0pre04
+a5ec6d805e3864d5d754dd47bdae5d001e812a73 icedtea-3.0.0pre05
9c54cc92c0beb29179abbce272d3f5c8ba4ffd0e jdk8u40-b21
4c7421f74674ebefb8e91eba59ab2a2db8c1abd7 jdk8u40-b22
62f7faef5ed956cd481cae6216b22fdb4b6e3e46 jdk8u40-b23
@@ -453,6 +461,9 @@
d68de92de3bad991546b11d77de6e9c17edf7ec2 jdk8u60-b21
3a04901d83880634ecd70c8be992189228ccd746 jdk8u60-b22
0828bb6521738ad5a7fe11f0aa3495465f002848 jdk8u60-b23
+9e44a6fa912760c513f9a59826c061fd5ca17c5e icedtea-3.0.0pre06
+7418bb690047791d64e1b4adb692ad07d8a44bad icedtea-3.0.0pre07
+ebc2780ebeb34e292b5cfb0e8da1efafa8395306 icedtea-3.0.0pre08
b0779099d006fcb2a0af493e2a2f828411bfad33 jdk8u60-b24
c665dd5d32b04c1dbc2cf21a595fe73330849c03 jdk8u60-b25
7828b9af7733eeaf2cafa8e05e68a2661dc3c7a8 jdk8u60-b26
@@ -535,6 +546,7 @@
3eb18c06118e0bc2fca1e1ea6c1cbddd21a27479 jdk8u72-b12
0d9849ba664dc3381d8d6d85d5e04c00fdd476b1 jdk8u72-b13
baa49bb35fc1798a5951fcfd3f9232332651d4e9 jdk8u72-b14
+834cf5ee24b36e2ab5eef16896bfd550fd698a7b icedtea-3.0.0pre09
91e3b8e2e00618f237f571fbefdfee3f4134026f jdk8u72-b15
e3b496b6ae52f2c018e9c628c31be984bb4907e7 jdk8u73-b00
5e484ab4b05f1398e924ab90874f7fe2ddf20731 jdk8u73-b01
@@ -571,6 +583,9 @@
7b719c1dec62535c34030cf3457abe6f478f13a0 jdk8u77-b00
cafc1648f432eff2c392040af2db4505c3d290b6 jdk8u77-b01
0f0077ee5e53365562ff77a01aa97d0c7374f447 jdk8u77-b02
+9972d4fac94222734bfee16a8a5475e1f2b9e149 icedtea-3.0.0pre10
+37af47894175fa7405752524b631237007778767 icedtea-3.0.0
+f7024b8ac854c4a937bf3dbe8e12b6c3ff802765 icedtea-3.0-branchpoint
e8dc6eb11c761f20b44d8c4b8acb0846268872f1 jdk8u77-b03
cd7cec8fd295c0462a813b5f54dc5457c2bade2d jdk8u91-b00
4ea02753e66e348ee4639e157061bcbdef1d7ff3 jdk8u91-b13
@@ -634,6 +649,10 @@
94c775e05eb053b8440d82298927a144ed73f340 jdk8u76-b12
e0fbd6a51e061025f2d6ad0311a587f7ce3c2b43 jdk8u92-b00
8f0466c0dce60b1df3bc01785b01a7f09fa7b564 jdk8u92-b13
+aac8863560465b1374811246c23e5ca82def8ab7 icedtea-3.1.0pre01
+cb4d2e8f71f9577c846719d0a527adf1cbd516fb icedtea-3.1.0pre02
+d920107a9fd47d1d1b662638d207b51b6184a575 icedtea-3.1.0pre03
+b74e7245e40571937a080540251b547c58020f8c icedtea-3.1.0pre04
aa99436ccf826b3a2eecdaf646814e58cf514efb jdk8u81-b00
8674aec1be6459f33451690fb106eec314964116 jdk8u101-b01
96a43945cb6a69989294b511ecdfc0493ea09bf1 jdk8u101-b02
@@ -647,6 +666,8 @@
7c90acc432738bdc1506d510daeadf9376279dfa jdk8u101-b10
4942432b3da1afbc2c2c87bdf896b112800e537c jdk8u101-b11
f8511bfb19c35d8d396dc53245c06cc3710657b1 jdk8u101-b12
+7ea39ff8c227ada9e3cdb1560ff27128afb16f50 icedtea-3.1.0
+48dbf4a68dc770ef17eee71a5bdfcb46a477157c icedtea-3.2.0pre01
2bb2aec4b3e51aab96e9c25603c7c92fcbac46de jdk8u101-b13
223d0e48a55b92255f5a613743a99e7deacaf455 jdk8u102-b00
223d0e48a55b92255f5a613743a99e7deacaf455 jdk8u82-b00
@@ -663,6 +684,8 @@
360a2772486dd1aa818132222ea0b7fcfa5707ef jdk8u102-b11
57546b5b575dec9ecfbb1e9a77d87c391a44ab96 jdk8u102-b12
a7c292080d5ed76ea5e3b123c0dee4c340aa174f jdk8u102-b13
+f85c4b0c0469a20118675c7eb210d1dee05576d8 icedtea-3.2.0pre02
+459f130b3f85a53d487f9d02b5d379a9eaaab400 icedtea-3.2.0pre03
56b133772ec1aa4f44f2eee2c4103c645f764935 jdk8u102-b14
8ba5a41487af9fe72aeb92e790327d12dce0de8c jdk8u102-b31
8f015ee0842df021532a4b88c436ea9daed785b6 jdk8u102-b32
@@ -683,6 +706,7 @@
dad7b1a59da60d68ff26bf7414b87995fecaaba6 jdk8u111-b11
a42cdfaa1218a636d2cd0b89a233362cdf32dd4b jdk8u111-b12
2214875a44e52789acf404b56543f613516ee498 jdk8u111-b13
+9d3757e6da3538863558e7ca61e95b722c79ada2 icedtea-3.2.0
7898951ff63c9ea721b8f669b9c749d6c3a2db99 jdk8u111-b14
b87d82f5c33dfb55bfc81254044f28eea5d7424a jdk8u112-b00
1f2394102288d9073652064784e31a3f52fc5d4b jdk8u112-b01
@@ -700,6 +724,7 @@
18bbb95d097e04ea2b88df8910056fe294da0149 jdk8u112-b14
30f83ac389f06c38dc0b6f71b1d8344c01436a16 jdk8u112-b15
8ef3cc2bbc7dc687e9502ae957337b1ded1b32d4 jdk8u112-b16
+fbc3183924c82a612dc92cda261f19e227df2b32 icedtea-3.3.0pre01
7d4291146927c3430652a07f506d530c2eff7eb9 jdk8u112-b31
3a25f8a752524bad7e78800158c485b890be3982 jdk8u121-b00
1ebd97292358cd158b6f7d5884526207fbfe796e jdk8u121-b01
@@ -714,6 +739,9 @@
e24a55876a79b630e8cfca7a1b38a0ee372f8533 jdk8u121-b10
acbfa2934b2411dd20aacb42d1c8dd198fe9f8e9 jdk8u121-b11
cc9a5d631b77582d52aceaf6d6066e99533d1756 jdk8u121-b12
+b05ee049200f51d91493047c31906988750a9ab2 icedtea-3.3.0pre02
+8eb9dd5fe2fb9752a91f44647143348a6b1231fd icedtea-3.3.0
+d812240fb5767253e4c64e5afd925d6f9ec60b0c icedtea-3.4.0pre01
386e9b79fcf5bfad5ff7b0fc991a7c6c5cbfed17 jdk8u121-b13
e30c16839f2225d2fff653088636dafcb812cd4d jdk8u131-b00
464cf9d3b00291fcf879ceca1b66bc7588093c47 jdk8u131-b01
@@ -726,6 +754,8 @@
05ea99eb62bf1bde12fca01c68213a36bb162264 jdk8u131-b08
c5fd9c3a2eb12d366d59195dbea54c60db2a1df3 jdk8u131-b09
de3c63a8b2e52d47554c999a65dbcec7f6d9c1be jdk8u131-b10
+22ed32f45405a21f1d388d183cd34fd28a335f7b icedtea-3.4.0
+324f4699760f52a2ef893d3c31affd62074748f9 icedtea-3.5.0pre01
2b88cb53e31fb637d7c37cc3414bb3eb3e9d1f0d jdk8u131-b11
7056e474d6e3b7b3bac76bc35f8c4c321bf9abe9 jdk8u141-b00
0f825574a7c8742494810d1f29193bfc3f1d370c jdk8u141-b01
@@ -742,5 +772,24 @@
87a9107675a5a508d99a00f872f01e5bb42cfc02 jdk8u141-b12
ad04b672d6f92dcfbe9e72de041bd05d26a31fde jdk8u141-b13
2232cdb74345eeeeffc13d4f6b1cbcae068c5998 jdk8u141-b14
+e53fedec27e81140aa584c028aaa5b51c34e05d8 icedtea-3.5.0
4f242f33e89a7900f2fcdcd9402058b6d01f340c jdk8u141-b15
77461a27d91fcb53106e6b3234468bff4d0eec9e jdk8u144-b00
+b5485d6bc171bcff18deeda166e5b6c297597e24 icedtea-3.5.1
+e53fedec27e81140aa584c028aaa5b51c34e05d8 icedtea-3.6.0pre00
+b5485d6bc171bcff18deeda166e5b6c297597e24 icedtea-3.6.0pre01
+0c8bc00d9e308f4ebf7f1a888419904a6121a657 icedtea-3.6.0pre02
+0d5d2e29f93b01ffa4998c2e3a61d2e6eaa96b1b jdk8u144-b01
+2dbdceff6ade82aa9942cdea6b62d5655d65183c jdk8u151-b00
+4449c73dbfdf2e32889e3ce769bd4160daa48b71 jdk8u151-b01
+ffa099d5b88ff14cea677d2afa4229354e9404d0 jdk8u151-b02
+a6814326f989837019ff7dd0d9b0e57065499bc5 jdk8u151-b03
+cefb3694f8565e1f23ff3231fd21523f52161a95 jdk8u151-b04
+8977426affc02fdf74b1163865059ec86ddccb61 jdk8u151-b05
+3289ad7e88f3aa38fdaa4910e9eeed5e1e5430b1 jdk8u151-b06
+d41040488bbb511d64c6c2533d642e52675edfde jdk8u151-b07
+5d079476bf24cb8143473d2a0880e0b2e032b1eb jdk8u151-b08
+c5f095a1df38d9be119adcab5bbd7e4365e21871 jdk8u151-b09
+05a4bb70c2d84442e505b40e2059399da3f65633 jdk8u151-b10
+ea10de07bc171c8cf89f2acbc4a1288d4dc0f2d6 jdk8u151-b11
+13a5a8a3c66f74af86a1f06c533eb5ca64a65e6f icedtea-3.6.0
diff -r 0d5d2e29f93b -r 0faa780e126e .jcheck/conf
--- a/.jcheck/conf Thu Jul 20 23:09:59 2017 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-project=jdk8
-bugids=dup
diff -r 0d5d2e29f93b -r 0faa780e126e THIRD_PARTY_README
--- a/THIRD_PARTY_README Thu Jul 20 23:09:59 2017 -0700
+++ b/THIRD_PARTY_README Thu Nov 02 06:16:05 2017 +0000
@@ -2808,12 +2808,12 @@
-------------------------------------------------------------------------------
-%% This notice is provided with respect to zlib v1.2.8, which may be included
+%% This notice is provided with respect to zlib v1.2.11, which may be included
with JRE 8, JDK 8, and OpenJDK 8.
--- begin of LICENSE ---
- version 1.2.8, April 28th, 2013
+ version 1.2.11, January 15th, 2017
Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler
diff -r 0d5d2e29f93b -r 0faa780e126e src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClass.java
--- a/src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClass.java Thu Jul 20 23:09:59 2017 -0700
+++ b/src/share/classes/com/sun/corba/se/impl/io/ObjectStreamClass.java Thu Nov 02 06:16:05 2017 +0000
@@ -31,13 +31,17 @@
package com.sun.corba.se.impl.io;
+import java.security.AccessControlContext;
+import java.security.AccessController;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.security.DigestOutputStream;
-import java.security.AccessController;
+import java.security.PermissionCollection;
+import java.security.Permissions;
import java.security.PrivilegedExceptionAction;
import java.security.PrivilegedActionException;
import java.security.PrivilegedAction;
+import java.security.ProtectionDomain;
import java.lang.reflect.Modifier;
import java.lang.reflect.Array;
@@ -47,6 +51,7 @@
import java.lang.reflect.Constructor;
import java.lang.reflect.Proxy;
import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.UndeclaredThrowableException;
import java.io.IOException;
import java.io.DataOutputStream;
@@ -57,6 +62,11 @@
import java.util.Arrays;
import java.util.Comparator;
+import java.util.HashSet;
+import java.util.Set;
+
+import sun.misc.JavaSecurityAccess;
+import sun.misc.SharedSecrets;
import com.sun.corba.se.impl.util.RepositoryId;
@@ -418,6 +428,65 @@
private static final PersistentFieldsValue persistentFieldsValue =
new PersistentFieldsValue();
+ /**
+ * Creates a PermissionDomain that grants no permission.
+ */
+ private ProtectionDomain noPermissionsDomain() {
+ PermissionCollection perms = new Permissions();
+ perms.setReadOnly();
+ return new ProtectionDomain(null, perms);
+ }
+
+ /**
+ * Aggregate the ProtectionDomains of all the classes that separate
+ * a concrete class {@code cl} from its ancestor's class declaring
+ * a constructor {@code cons}.
+ *
+ * If {@code cl} is defined by the boot loader, or the constructor
+ * {@code cons} is declared by {@code cl}, or if there is no security
+ * manager, then this method does nothing and {@code null} is returned.
+ *
+ * @param cons A constructor declared by {@code cl} or one of its
+ * ancestors.
+ * @param cl A concrete class, which is either the class declaring
+ * the constructor {@code cons}, or a serializable subclass
+ * of that class.
+ * @return An array of ProtectionDomain representing the set of
+ * ProtectionDomain that separate the concrete class {@code cl}
+ * from its ancestor's declaring {@code cons}, or {@code null}.
+ */
+ private ProtectionDomain[] getProtectionDomains(Constructor<?> cons,
+ Class<?> cl) {
+ ProtectionDomain[] domains = null;
+ if (cons != null && cl.getClassLoader() != null
+ && System.getSecurityManager() != null) {
+ Class<?> cls = cl;
+ Class<?> fnscl = cons.getDeclaringClass();
+ Set<ProtectionDomain> pds = null;
+ while (cls != fnscl) {
+ ProtectionDomain pd = cls.getProtectionDomain();
+ if (pd != null) {
+ if (pds == null) pds = new HashSet<>();
+ pds.add(pd);
+ }
+ cls = cls.getSuperclass();
+ if (cls == null) {
+ // that's not supposed to happen
+ // make a ProtectionDomain with no permission.
+ // should we throw instead?
+ if (pds == null) pds = new HashSet<>();
+ else pds.clear();
+ pds.add(noPermissionsDomain());
+ break;
+ }
+ }
+ if (pds != null) {
+ domains = pds.toArray(new ProtectionDomain[0]);
+ }
+ }
+ return domains;
+ }
+
/*
* Initialize class descriptor. This method is only invoked on class
* descriptors created via calls to lookupInternal(). This method is kept
@@ -551,11 +620,15 @@
readResolveObjectMethod = ObjectStreamClass.getInheritableMethod(cl,
"readResolve", noTypesList, Object.class);
+ domains = new ProtectionDomain[] {noPermissionsDomain()};
+
if (externalizable)
cons = getExternalizableConstructor(cl) ;
else
cons = getSerializableConstructor(cl) ;
+ domains = getProtectionDomains(cons, cl);
+
if (serializable && !forProxyClass) {
/* Look for the writeObject method
* Set the accessible flag on it here. ObjectOutputStream
@@ -902,20 +975,53 @@
throws InstantiationException, InvocationTargetException,
UnsupportedOperationException
{
+ if (!initialized)
+ throw new InternalError("Unexpected call when not initialized");
if (cons != null) {
try {
- return cons.newInstance(new Object[0]);
+ if (domains == null || domains.length == 0) {
+ return cons.newInstance();
+ } else {
+ JavaSecurityAccess jsa = SharedSecrets.getJavaSecurityAccess();
+ PrivilegedAction<?> pea = (PrivilegedAction<?>) new PrivilegedAction() {
+ public Object run() {
+ try {
+ return cons.newInstance();
+ } catch (InstantiationException
+ | InvocationTargetException
+ | IllegalAccessException x) {
+ throw new UndeclaredThrowableException(x);
+ }
+ }
+ }; // Can't use PrivilegedExceptionAction with jsa
+ try {
+ return jsa.doIntersectionPrivilege(pea,
+ AccessController.getContext(),
+ new AccessControlContext(domains));
+ } catch (UndeclaredThrowableException x) {
+ Throwable cause = x.getCause();
+ if (cause instanceof InstantiationException)
+ throw (InstantiationException) cause;
+ if (cause instanceof InvocationTargetException)
+ throw (InvocationTargetException) cause;
+ if (cause instanceof IllegalAccessException)
+ throw (IllegalAccessException) cause;
+ // not supposed to happen
+ throw x;
+ }
+ }
} catch (IllegalAccessException ex) {
// should not occur, as access checks have been suppressed
InternalError ie = new InternalError();
- ie.initCause( ex ) ;
- throw ie ;
+ ie.initCause(ex);
+ throw ie;
}
} else {
throw new UnsupportedOperationException();
}
}
+
/**
* Returns public no-arg constructor of given class, or null if none found.
* Access checks are disabled on the returned constructor (if any), since
@@ -1526,7 +1632,8 @@
Method readObjectMethod;
private transient Method writeReplaceObjectMethod;
private transient Method readResolveObjectMethod;
- private Constructor cons ;
+ private Constructor<?> cons;
+ private transient ProtectionDomain[] domains;
/**
* Beginning in Java to IDL ptc/02-01-12, RMI-IIOP has a
More information about the distro-pkg-dev
mailing list