src/share/classes/com/sun/corba/se/impl/orbutil/ValueHandlerImpl_1_3_1.java

Fri, 24 Sep 2010 22:42:14 -0700

author
skoppar
date
Fri, 24 Sep 2010 22:42:14 -0700
changeset 205
b2fff4b7e8cd
parent 158
91006f157c46
permissions
-rw-r--r--

6891766: Vulnerabilities in use of reflection in CORBA
Reviewed-by: hawtin

     1 /*
     2  * Copyright (c) 2001, 2002, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.  Oracle designates this
     8  * particular file as subject to the "Classpath" exception as provided
     9  * by Oracle in the LICENSE file that accompanied this code.
    10  *
    11  * This code is distributed in the hope that it will be useful, but WITHOUT
    12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    14  * version 2 for more details (a copy is included in the LICENSE file that
    15  * accompanied this code).
    16  *
    17  * You should have received a copy of the GNU General Public License version
    18  * 2 along with this work; if not, write to the Free Software Foundation,
    19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    20  *
    21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    22  * or visit www.oracle.com if you need additional information or have any
    23  * questions.
    24  */
    25 package com.sun.corba.se.impl.orbutil;
    27 import org.omg.CORBA.TCKind;
    29 /**
    30  * This class overrides behavior of our current ValueHandlerImpl to
    31  * provide backwards compatibility with JDK 1.3.1.
    32  */
    33 public class ValueHandlerImpl_1_3_1
    34     extends com.sun.corba.se.impl.io.ValueHandlerImpl
    35 {
    36     public ValueHandlerImpl_1_3_1() {}
    38     public ValueHandlerImpl_1_3_1(boolean isInputStream) {
    39         super(isInputStream);
    40     }
    42     /**
    43      * Our JDK 1.3 and JDK 1.3.1 behavior subclasses override this.
    44      * The correct behavior is for a Java char to map to a CORBA wchar,
    45      * but our older code mapped it to a CORBA char.
    46      */
    47     protected TCKind getJavaCharTCKind() {
    48         return TCKind.tk_char;
    49     }
    51     /**
    52      * RepositoryId_1_3_1 performs an incorrect repId calculation
    53      * when using serialPersistentFields and one of the fields no longer
    54      * exists on the class itself.
    55      */
    56     public boolean useFullValueDescription(Class clazz, String repositoryID)
    57         throws java.io.IOException
    58     {
    59         return RepositoryId_1_3_1.useFullValueDescription(clazz, repositoryID);
    60     }
    62     /**
    63      * Installs the legacy IIOPOutputStream_1_3_1 which does
    64      * PutFields/GetFields incorrectly.  Bug 4407244.
    65      */
    66     protected final String getOutputStreamClassName() {
    67         return "com.sun.corba.se.impl.orbutil.IIOPOutputStream_1_3_1";
    68     }
    70     /**
    71      * Installs the legacy IIOPInputStream_1_3_1 which does
    72      * PutFields/GetFields incorrectly.  Bug 4407244.
    73      */
    74     protected final String getInputStreamClassName() {
    75         return "com.sun.corba.se.impl.orbutil.IIOPInputStream_1_3_1";
    76     }
    77 }

mercurial