diff options
author | asaha <none@none> | 2014-05-20 12:02:58 -0700 |
---|---|---|
committer | asaha <none@none> | 2014-05-20 12:02:58 -0700 |
commit | 2a6b1a5bc0351112287fddd78b7ad737b858be05 (patch) | |
tree | 17a288188ae3bed94c53860ca9b9209c8dd663e5 /src | |
parent | e2cb97b03e4085d7536f8d7a5df1899bfd90f16c (diff) | |
parent | 91b1752a6d4e407d7fdf2ed9ade913ad460b8865 (diff) | |
download | jdk8u_jaxws-2a6b1a5bc0351112287fddd78b7ad737b858be05.tar.gz |
Merge
Diffstat (limited to 'src')
8 files changed, 152 insertions, 56 deletions
diff --git a/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/Utils.java b/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/Utils.java index 945f3fd0..556bf4f1 100644 --- a/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/Utils.java +++ b/src/share/jaxws_classes/com/sun/tools/internal/xjc/model/nav/Utils.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2014, 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,6 +31,8 @@ import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Type; +import java.security.AccessController; +import java.security.PrivilegedAction; import java.util.logging.Level; import java.util.logging.Logger; @@ -38,22 +40,32 @@ import java.util.logging.Logger; * Utils class. * Has *package private* access to avoid inappropriate usage. */ -/* package */ final class Utils { +final class Utils { private static final Logger LOGGER = Logger.getLogger(Utils.class.getName()); /** * static ReflectionNavigator field to avoid usage of reflection every time we use it. */ - /* package */ static final Navigator<Type, Class, Field, Method> REFLECTION_NAVIGATOR; + static final Navigator<Type, Class, Field, Method> REFLECTION_NAVIGATOR; static { // we statically initializing REFLECTION_NAVIGATOR property - Class refNav = null; try { - refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); + Class refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); //noinspection unchecked - Method getInstance = refNav.getDeclaredMethod("getInstance"); - getInstance.setAccessible(true); + final Method getInstance = refNav.getDeclaredMethod("getInstance"); + + // requires accessClassInPackage privilege + AccessController.doPrivileged( + new PrivilegedAction<Object>() { + @Override + public Object run() { + getInstance.setAccessible(true); + return null; + } + } + ); + //noinspection unchecked REFLECTION_NAVIGATOR = (Navigator<Type, Class, Field, Method>) getInstance.invoke(null); } catch (ClassNotFoundException e) { diff --git a/src/share/jaxws_classes/com/sun/xml/internal/bind/api/Utils.java b/src/share/jaxws_classes/com/sun/xml/internal/bind/api/Utils.java index 350062f1..db753600 100644 --- a/src/share/jaxws_classes/com/sun/xml/internal/bind/api/Utils.java +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/api/Utils.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2014, 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,6 +31,8 @@ import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Type; +import java.security.AccessController; +import java.security.PrivilegedAction; import java.util.logging.Level; import java.util.logging.Logger; @@ -38,22 +40,32 @@ import java.util.logging.Logger; * Utils class. * Has *package private* access to avoid inappropriate usage. */ -/* package */ final class Utils { +final class Utils { private static final Logger LOGGER = Logger.getLogger(Utils.class.getName()); /** * static ReflectionNavigator field to avoid usage of reflection every time we use it. */ - /* package */ static final Navigator<Type, Class, Field, Method> REFLECTION_NAVIGATOR; + static final Navigator<Type, Class, Field, Method> REFLECTION_NAVIGATOR; static { // we statically initializing REFLECTION_NAVIGATOR property - Class refNav = null; try { - refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); + Class refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); //noinspection unchecked - Method getInstance = refNav.getDeclaredMethod("getInstance"); - getInstance.setAccessible(true); + final Method getInstance = refNav.getDeclaredMethod("getInstance"); + + // requires accessClassInPackage privilege + AccessController.doPrivileged( + new PrivilegedAction<Object>() { + @Override + public Object run() { + getInstance.setAccessible(true); + return null; + } + } + ); + //noinspection unchecked REFLECTION_NAVIGATOR = (Navigator<Type, Class, Field, Method>) getInstance.invoke(null); } catch (ClassNotFoundException e) { diff --git a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/Utils.java b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/Utils.java index 84b7f0cc..10cbc94c 100644 --- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/Utils.java +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/model/impl/Utils.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2014, 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,6 +31,8 @@ import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Type; +import java.security.AccessController; +import java.security.PrivilegedAction; import java.util.logging.Level; import java.util.logging.Logger; @@ -38,22 +40,32 @@ import java.util.logging.Logger; * Utils class. * Has *package private* access to avoid inappropriate usage. */ -/* package */ final class Utils { +final class Utils { private static final Logger LOGGER = Logger.getLogger(Utils.class.getName()); /** * static ReflectionNavigator field to avoid usage of reflection every time we use it. */ - /* package */ static final Navigator<Type, Class, Field, Method> REFLECTION_NAVIGATOR; + static final Navigator<Type, Class, Field, Method> REFLECTION_NAVIGATOR; static { // we statically initializing REFLECTION_NAVIGATOR property - Class refNav = null; try { - refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); + Class refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); //noinspection unchecked - Method getInstance = refNav.getDeclaredMethod("getInstance"); - getInstance.setAccessible(true); + final Method getInstance = refNav.getDeclaredMethod("getInstance"); + + // requires accessClassInPackage privilege + AccessController.doPrivileged( + new PrivilegedAction<Object>() { + @Override + public Object run() { + getInstance.setAccessible(true); + return null; + } + } + ); + //noinspection unchecked REFLECTION_NAVIGATOR = (Navigator<Type, Class, Field, Method>) getInstance.invoke(null); } catch (ClassNotFoundException e) { diff --git a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/Utils.java b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/Utils.java index f4bf2b87..0b9601fd 100644 --- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/Utils.java +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/Utils.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2014, 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,6 +31,8 @@ import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Type; +import java.security.AccessController; +import java.security.PrivilegedAction; import java.util.logging.Level; import java.util.logging.Logger; @@ -38,22 +40,32 @@ import java.util.logging.Logger; * Utils class. * Has *package private* access to avoid inappropriate usage. */ -/* package */ final class Utils { +final class Utils { private static final Logger LOGGER = Logger.getLogger(Utils.class.getName()); /** * static ReflectionNavigator field to avoid usage of reflection every time we use it. */ - /* package */ static final Navigator<Type, Class, Field, Method> REFLECTION_NAVIGATOR; + static final Navigator<Type, Class, Field, Method> REFLECTION_NAVIGATOR; static { // we statically initializing REFLECTION_NAVIGATOR property - Class refNav = null; try { - refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); + Class refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); //noinspection unchecked - Method getInstance = refNav.getDeclaredMethod("getInstance"); - getInstance.setAccessible(true); + final Method getInstance = refNav.getDeclaredMethod("getInstance"); + + // requires accessClassInPackage privilege + AccessController.doPrivileged( + new PrivilegedAction<Object>() { + @Override + public Object run() { + getInstance.setAccessible(true); + return null; + } + } + ); + //noinspection unchecked REFLECTION_NAVIGATOR = (Navigator<Type, Class, Field, Method>) getInstance.invoke(null); } catch (ClassNotFoundException e) { diff --git a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/property/Utils.java b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/property/Utils.java index 39cb615f..69eaa2a9 100644 --- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/property/Utils.java +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/property/Utils.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2014, 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,6 +31,8 @@ import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Type; +import java.security.AccessController; +import java.security.PrivilegedAction; import java.util.logging.Level; import java.util.logging.Logger; @@ -38,22 +40,32 @@ import java.util.logging.Logger; * Utils class. * Has *package private* access to avoid inappropriate usage. */ -/* package */ final class Utils { +final class Utils { private static final Logger LOGGER = Logger.getLogger(Utils.class.getName()); /** * static ReflectionNavigator field to avoid usage of reflection every time we use it. */ - /* package */ static final Navigator<Type, Class, Field, Method> REFLECTION_NAVIGATOR; + static final Navigator<Type, Class, Field, Method> REFLECTION_NAVIGATOR; static { // we statically initializing REFLECTION_NAVIGATOR property - Class refNav = null; try { - refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); + Class refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); //noinspection unchecked - Method getInstance = refNav.getDeclaredMethod("getInstance"); - getInstance.setAccessible(true); + final Method getInstance = refNav.getDeclaredMethod("getInstance"); + + // requires accessClassInPackage privilege + AccessController.doPrivileged( + new PrivilegedAction<Object>() { + @Override + public Object run() { + getInstance.setAccessible(true); + return null; + } + } + ); + //noinspection unchecked REFLECTION_NAVIGATOR = (Navigator<Type, Class, Field, Method>) getInstance.invoke(null); } catch (ClassNotFoundException e) { diff --git a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/Utils.java b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/Utils.java index 011bf192..384d3675 100644 --- a/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/Utils.java +++ b/src/share/jaxws_classes/com/sun/xml/internal/bind/v2/runtime/reflect/Utils.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2014, 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,6 +31,8 @@ import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Type; +import java.security.AccessController; +import java.security.PrivilegedAction; import java.util.logging.Level; import java.util.logging.Logger; @@ -38,22 +40,32 @@ import java.util.logging.Logger; * Utils class. * Has *package private* access to avoid inappropriate usage. */ -/* package */ final class Utils { +final class Utils { private static final Logger LOGGER = Logger.getLogger(Utils.class.getName()); /** * static ReflectionNavigator field to avoid usage of reflection every time we use it. */ - /* package */ static final Navigator<Type, Class, Field, Method> REFLECTION_NAVIGATOR; + static final Navigator<Type, Class, Field, Method> REFLECTION_NAVIGATOR; static { // we statically initializing REFLECTION_NAVIGATOR property - Class refNav = null; try { - refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); + Class refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); //noinspection unchecked - Method getInstance = refNav.getDeclaredMethod("getInstance"); - getInstance.setAccessible(true); + final Method getInstance = refNav.getDeclaredMethod("getInstance"); + + // requires accessClassInPackage privilege + AccessController.doPrivileged( + new PrivilegedAction<Object>() { + @Override + public Object run() { + getInstance.setAccessible(true); + return null; + } + } + ); + //noinspection unchecked REFLECTION_NAVIGATOR = (Navigator<Type, Class, Field, Method>) getInstance.invoke(null); } catch (ClassNotFoundException e) { diff --git a/src/share/jaxws_classes/com/sun/xml/internal/ws/model/Utils.java b/src/share/jaxws_classes/com/sun/xml/internal/ws/model/Utils.java index 2f776820..9310bf83 100644 --- a/src/share/jaxws_classes/com/sun/xml/internal/ws/model/Utils.java +++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/model/Utils.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2014, 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,6 +31,8 @@ import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Type; +import java.security.AccessController; +import java.security.PrivilegedAction; import java.util.logging.Level; import java.util.logging.Logger; @@ -41,22 +43,32 @@ import java.util.logging.Logger; * * Has *package private* access to avoid inappropriate usage. */ -/* package */ final class Utils { +final class Utils { private static final Logger LOGGER = Logger.getLogger(Utils.class.getName()); /** * static ReflectionNavigator field to avoid usage of reflection every time we use it. */ - /* package */ static final Navigator<Type, Class, Field, Method> REFLECTION_NAVIGATOR; + static final Navigator<Type, Class, Field, Method> REFLECTION_NAVIGATOR; static { // we statically initializing REFLECTION_NAVIGATOR property - Class refNav = null; try { - refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); + Class refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); //noinspection unchecked - Method getInstance = refNav.getDeclaredMethod("getInstance"); - getInstance.setAccessible(true); + final Method getInstance = refNav.getDeclaredMethod("getInstance"); + + // requires accessClassInPackage privilege + AccessController.doPrivileged( + new PrivilegedAction<Object>() { + @Override + public Object run() { + getInstance.setAccessible(true); + return null; + } + } + ); + //noinspection unchecked REFLECTION_NAVIGATOR = (Navigator<Type, Class, Field, Method>) getInstance.invoke(null); } catch (ClassNotFoundException e) { diff --git a/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/Utils.java b/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/Utils.java index 51de25d0..ef40263b 100644 --- a/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/Utils.java +++ b/src/share/jaxws_classes/com/sun/xml/internal/ws/spi/db/Utils.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2014, 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,6 +31,8 @@ import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.lang.reflect.Type; +import java.security.AccessController; +import java.security.PrivilegedAction; import java.util.logging.Level; import java.util.logging.Logger; @@ -41,22 +43,32 @@ import java.util.logging.Logger; * * Has *package private* access to avoid inappropriate usage. */ -/* package */ final class Utils { +final class Utils { private static final Logger LOGGER = Logger.getLogger(Utils.class.getName()); /** * static ReflectionNavigator field to avoid usage of reflection every time we use it. */ - /* package */ static final Navigator<Type, Class, Field, Method> REFLECTION_NAVIGATOR; + static final Navigator<Type, Class, Field, Method> REFLECTION_NAVIGATOR; static { // we statically initializing REFLECTION_NAVIGATOR property - Class refNav = null; try { - refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); + Class refNav = Class.forName("com.sun.xml.internal.bind.v2.model.nav.ReflectionNavigator"); //noinspection unchecked - Method getInstance = refNav.getDeclaredMethod("getInstance"); - getInstance.setAccessible(true); + final Method getInstance = refNav.getDeclaredMethod("getInstance"); + + // requires accessClassInPackage privilege + AccessController.doPrivileged( + new PrivilegedAction<Object>() { + @Override + public Object run() { + getInstance.setAccessible(true); + return null; + } + } + ); + //noinspection unchecked REFLECTION_NAVIGATOR = (Navigator<Type, Class, Field, Method>) getInstance.invoke(null); } catch (ClassNotFoundException e) { |