Fri, 24 Sep 2010 22:42:14 -0700
6891766: Vulnerabilities in use of reflection in CORBA
Reviewed-by: hawtin
duke@1 | 1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> |
duke@1 | 2 | <html> |
duke@1 | 3 | <head> |
duke@1 | 4 | <!-- |
duke@1 | 5 | |
ohair@158 | 6 | Copyright (c) 2000, 2006, Oracle and/or its affiliates. All rights reserved. |
duke@1 | 7 | DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
duke@1 | 8 | |
duke@1 | 9 | This code is free software; you can redistribute it and/or modify it |
duke@1 | 10 | under the terms of the GNU General Public License version 2 only, as |
ohair@158 | 11 | published by the Free Software Foundation. Oracle designates this |
duke@1 | 12 | particular file as subject to the "Classpath" exception as provided |
ohair@158 | 13 | by Oracle in the LICENSE file that accompanied this code. |
duke@1 | 14 | |
duke@1 | 15 | This code is distributed in the hope that it will be useful, but WITHOUT |
duke@1 | 16 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
duke@1 | 17 | FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
duke@1 | 18 | version 2 for more details (a copy is included in the LICENSE file that |
duke@1 | 19 | accompanied this code). |
duke@1 | 20 | |
duke@1 | 21 | You should have received a copy of the GNU General Public License version |
duke@1 | 22 | 2 along with this work; if not, write to the Free Software Foundation, |
duke@1 | 23 | Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
duke@1 | 24 | |
ohair@162 | 25 | Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
ohair@162 | 26 | or visit www.oracle.com if you need additional information or have any |
ohair@162 | 27 | questions. |
duke@1 | 28 | |
duke@1 | 29 | --> |
duke@1 | 30 | |
duke@1 | 31 | </head> |
duke@1 | 32 | <body bgcolor="white"> |
duke@1 | 33 | |
duke@1 | 34 | Provides a mechanism to register ORB hooks through which ORB services |
duke@1 | 35 | can intercept the normal flow of execution of the ORB. |
duke@1 | 36 | |
duke@1 | 37 | <h2>Interceptor Types</h2> |
duke@1 | 38 | There are currently three types of interceptors that can be registered: |
duke@1 | 39 | <ul> |
duke@1 | 40 | <li>{@link org.omg.PortableInterceptor.IORInterceptor IORInterceptor} - |
duke@1 | 41 | Used to establish tagged components in the profiles within an IOR.</li> |
duke@1 | 42 | <li>{@link org.omg.PortableInterceptor.ClientRequestInterceptor |
duke@1 | 43 | ClientRequestInterceptor} - |
duke@1 | 44 | Intercepts the flow of a request/reply sequence through the ORB on |
duke@1 | 45 | the <i>client</i> side.</li> |
duke@1 | 46 | <li>{@link org.omg.PortableInterceptor.ServerRequestInterceptor |
duke@1 | 47 | ServerRequestInterceptor} - |
duke@1 | 48 | Intercepts the flow of a request/reply sequence through the ORB on |
duke@1 | 49 | the <i>server</i> side.</li> |
duke@1 | 50 | </ul> |
duke@1 | 51 | See the javadocs for class <code> |
duke@1 | 52 | {@link org.omg.PortableInterceptor.ORBInitializer ORBInitializer}</code> |
duke@1 | 53 | for how to go about registering interceptors. |
duke@1 | 54 | |
duke@1 | 55 | <a name="unimpl"></a> |
duke@1 | 56 | <h2>Known limitations / unimplemented methods in package |
duke@1 | 57 | <code>org.omg.PortableInterceptor</code></h2> |
duke@1 | 58 | |
duke@1 | 59 | <code> |
duke@1 | 60 | <ul> |
duke@1 | 61 | <li> |
duke@1 | 62 | <b>RequestInfo</b> |
duke@1 | 63 | <ul> |
duke@1 | 64 | <li><b>sync_scope()</b>: Always returns SYNC_WITH_TRANSPORT</li> |
duke@1 | 65 | <li><b>arguments()</b>: Only supported for DII/DSI calls</li> |
duke@1 | 66 | <li><b>exceptions()</b>: Only supported for DII calls on client side. |
duke@1 | 67 | Not supported on server-side.</li> |
duke@1 | 68 | <li><b>contexts()</b>: Only supported for DII calls on client side. |
duke@1 | 69 | Not supported on server-side since our ORB does not send contexts. |
duke@1 | 70 | </li> |
duke@1 | 71 | <li><b>operation_context()</b>: Only supported for DII calls |
duke@1 | 72 | on client side. Not supported on server-side since ORB |
duke@1 | 73 | does not send contexts.</li> |
duke@1 | 74 | <li><b>result()</b>: Only supported for DII/DSI calls</li> |
duke@1 | 75 | </ul> |
duke@1 | 76 | </li> |
duke@1 | 77 | <li> |
duke@1 | 78 | <b>ClientRequestInfo</b> |
duke@1 | 79 | <ul> |
duke@1 | 80 | <li><b>received_exception_id()</b>: Always returns null in the |
duke@1 | 81 | DII case</li> |
duke@1 | 82 | <li><b>get_request_policy(int type)</b>: Not implemented.</li> |
duke@1 | 83 | </ul> |
duke@1 | 84 | </li> |
duke@1 | 85 | <li> |
duke@1 | 86 | <b>ServerRequestInfo</b> |
duke@1 | 87 | <ul> |
duke@1 | 88 | <li><b>sending_exception()</b>: Does not support user exceptions on |
duke@1 | 89 | the server side in non-DSI case.</li> |
duke@1 | 90 | </ul> |
duke@1 | 91 | </li> |
duke@1 | 92 | </ul> |
duke@1 | 93 | </code> |
duke@1 | 94 | |
duke@1 | 95 | <h2>Package Specification</h2> |
duke@1 | 96 | <P>For a precise list of supported sections of official OMG specifications with which |
duke@1 | 97 | the Java[tm] Platform, Standard Edition 6 complies, see <A |
duke@1 | 98 | HREF="../CORBA/doc-files/compliance.html">Official Specifications for CORBA |
duke@1 | 99 | support in Java SE 6</A>. |
duke@1 | 100 | |
duke@1 | 101 | @since 1.4 |
duke@1 | 102 | <br> |
duke@1 | 103 | @serial exclude |
duke@1 | 104 | </body> |
duke@1 | 105 | </html> |