src/share/classes/com/sun/corba/se/impl/orbutil/ORBConstants.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
child 748
6845b95cba6b
permissions
-rw-r--r--

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

     1 /*
     2  * Copyright (c) 2000, 2004, 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  */
    26 package com.sun.corba.se.impl.orbutil;
    28 import com.sun.corba.se.impl.util.SUNVMCID ;
    30 public class ORBConstants {
    31     private ORBConstants() {}
    33     public static final String STRINGIFY_PREFIX = "IOR:" ;
    35     /* TAGS
    36        tag-request@omg.org
    37        FAQ on tags and tag allocation: http://doc.omg.org/ptc/99-02-01.
    38        http://doc.omg.org/standard-tags
    39        http://doc.omg.org/vendor-tags
    41        Last update:  19th August 2003 (ptc/03-08-14)
    43        // Legacy
    44        1 profile tag      0x4f4e4300              ("ONC\x00")
    45        1 profile tag      0x4e454f00              ("NEO\x00")
    46        1 profile tag      0x434f4f4c              ("COOL")
    47        16 service tags    0x4e454f00 - 0x4e454f0f ("NEO\x00" - "NEO\x0f")
    49        // Current
    50        16 VMCID           0x5355xxxx              ("SU\x00\x00" - "SU\xff\xff")
    51        16 profile tags    0x53554e00 - 0x53554e0f ("SUN\x00" - "SUN\x0f")
    52        16 ORB Type IDs    0x53554e00 - 0x53554e0f ("SUN\x00" - "SUN\x0f")
    53        64 service tags    0x53554e00 - 0x53554e3f ("SUN\x00" - "SUN\x3f")
    54        64 component tags  0x53554e00 - 0x53554e3f ("SUN\x00" - "SUN\x3f")
    55     */
    57     // All NEO service contexts must be in the range
    58     // NEO_FIRST_SERVICE_CONTEXT to
    59     // NEO_FIRST_SERVICE_CONTEXT + NUM_NEO_SERVICE_CONTEXTS - 1
    60     public static final int NEO_FIRST_SERVICE_CONTEXT = 0x4e454f00 ;
    61     public static final int NUM_NEO_SERVICE_CONTEXTS = 15 ;
    62     public static final int TAG_ORB_VERSION = NEO_FIRST_SERVICE_CONTEXT ;
    64     public static final int SUN_TAGGED_COMPONENT_ID_BASE = 0x53554e00;
    65     public static final int SUN_SERVICE_CONTEXT_ID_BASE  = 0x53554e00;
    67     //
    68     // Tagged Components Ids
    69     //
    71     // Used by AS 7 for IIOP failover.
    72     public static final int TAG_CONTAINER_ID =
    73         SUN_TAGGED_COMPONENT_ID_BASE + 0;
    74     // Used by AS 8.1 for Request Partioning
    75     public static final int TAG_REQUEST_PARTITIONING_ID =
    76         SUN_TAGGED_COMPONENT_ID_BASE + 1;
    77     // TaggedComponentId for Java serialization tagged component.
    78     public static final int TAG_JAVA_SERIALIZATION_ID =
    79         SUN_TAGGED_COMPONENT_ID_BASE + 2;
    81     //
    82     // Service Context Ids
    83     //
    85     // Used by AS 7 for IIOP failover.
    86     public static final int CONTAINER_ID_SERVICE_CONTEXT =
    87         SUN_SERVICE_CONTEXT_ID_BASE + 0;
    89     // All Sun policies are allocated using the SUNVMCID, which is also
    90     // used for minor codes.  This allows 12 bits of offset, so
    91     // the largest legal Sun policy is SUNVMCID.value + 4095.
    92     public static final int SERVANT_CACHING_POLICY      = SUNVMCID.value + 0 ;
    93     public static final int ZERO_PORT_POLICY            = SUNVMCID.value + 1 ;
    94     public static final int COPY_OBJECT_POLICY          = SUNVMCID.value + 2 ;
    95     public static final int REQUEST_PARTITIONING_POLICY = SUNVMCID.value + 3 ;
    97     // These are the subcontract IDs for various qualities of
    98     // service/implementation.
    99     // Persistent SCIDs have the second bit as 1.
   100     // SCIDs less than FIRST_POA_SCID are JavaIDL SCIDs.
   101     public static final int TOA_SCID = 2 ;
   103     public static final int DEFAULT_SCID = TOA_SCID ;
   105     public static final int FIRST_POA_SCID = 32;
   106     public static final int MAX_POA_SCID = 63;
   107     public static final int TRANSIENT_SCID          = FIRST_POA_SCID ;
   108     public static final int PERSISTENT_SCID         = makePersistent( TRANSIENT_SCID ) ;
   109     public static final int SC_TRANSIENT_SCID       = FIRST_POA_SCID + 4 ;
   110     public static final int SC_PERSISTENT_SCID      = makePersistent( SC_TRANSIENT_SCID ) ;
   111     public static final int IISC_TRANSIENT_SCID     = FIRST_POA_SCID + 8 ;
   112     public static final int IISC_PERSISTENT_SCID    = makePersistent( IISC_TRANSIENT_SCID ) ;
   113     public static final int MINSC_TRANSIENT_SCID    = FIRST_POA_SCID + 12 ;
   114     public static final int MINSC_PERSISTENT_SCID   = makePersistent( MINSC_TRANSIENT_SCID ) ;
   116     public static boolean isTransient( int scid )
   117     {
   118         return (scid & 2) == 0 ;
   119     }
   121     public static int makePersistent( int scid )
   122     {
   123         return scid | 2 ;
   124     }
   126     // Constants for ORB properties **************************************************************
   128     // All ORB properties must follow the following rules:
   129     // 1. Property names must start with either
   130     //    ORG_OMG_CORBA_PREFIX or SUN_PREFIX.
   131     // 2. Property names must have unique suffixes after the last ".".
   132     // 3. Property names must have "ORB" as the first 3 letters
   133     //    in their suffix.
   134     // 4. proprietary property names should have a subsystem
   135     //    where appropriate after the prefix.
   137     // org.omg.CORBA properties must be defined by OMG standards
   138     // The well known org.omg.CORBA.ORBClass and
   139     // org.omg.CORBA.ORBSingletonClass are not included here
   140     // since they occur in org.omg.CORBA.ORB.
   142     public static final String ORG_OMG_PREFIX       = "org.omg." ;
   143     public static final String ORG_OMG_CORBA_PREFIX = "org.omg.CORBA." ;
   145     public static final String INITIAL_HOST_PROPERTY =
   146         ORG_OMG_CORBA_PREFIX + "ORBInitialHost" ;
   147     public static final String INITIAL_PORT_PROPERTY =
   148         ORG_OMG_CORBA_PREFIX + "ORBInitialPort" ;
   149     public static final String INITIAL_SERVICES_PROPERTY =
   150         ORG_OMG_CORBA_PREFIX + "ORBInitialServices" ;
   151     public static final String DEFAULT_INIT_REF_PROPERTY =
   152         ORG_OMG_CORBA_PREFIX + "ORBDefaultInitRef" ;
   153     public static final String ORB_INIT_REF_PROPERTY =
   154         ORG_OMG_CORBA_PREFIX + "ORBInitRef" ;
   156     // All of our proprietary properties must start with com.sun.CORBA
   157     public static final String SUN_PREFIX = "com.sun.CORBA." ;
   159     // general properties
   160     public static final String ALLOW_LOCAL_OPTIMIZATION         = SUN_PREFIX + "ORBAllowLocalOptimization" ;
   161     public static final String SERVER_PORT_PROPERTY             = SUN_PREFIX + "ORBServerPort" ;
   162     public static final String SERVER_HOST_PROPERTY             = SUN_PREFIX + "ORBServerHost" ;
   163     public static final String ORB_ID_PROPERTY                  = ORG_OMG_CORBA_PREFIX + "ORBId" ;
   164     // This property is provided for backward compatibility reasons
   165     public static final String OLD_ORB_ID_PROPERTY              = SUN_PREFIX + "ORBid" ;
   166     public static final String ORB_SERVER_ID_PROPERTY           = ORG_OMG_CORBA_PREFIX + "ORBServerId" ;
   167     public static final String DEBUG_PROPERTY                   = SUN_PREFIX + "ORBDebug" ;
   168     // Property for setting use of repository Ids during serialization.
   169     public static final String USE_REP_ID = SUN_PREFIX + "ORBUseRepId";
   171     // NOTE: This is an internal property.  It should never be set by
   172     // a user.  That is the reason it has spaces in its name - to make it
   173     // harder to use.
   174     public static final String LISTEN_ON_ALL_INTERFACES         = SUN_PREFIX + "INTERNAL USE ONLY: listen on all interfaces";
   176     // giop related properties - default settings in decimal form
   177     public static final String GIOP_VERSION                     = SUN_PREFIX + "giop.ORBGIOPVersion" ;
   178     public static final String GIOP_FRAGMENT_SIZE               = SUN_PREFIX + "giop.ORBFragmentSize" ;
   179     public static final String GIOP_BUFFER_SIZE                 = SUN_PREFIX + "giop.ORBBufferSize" ;
   180     public static final String GIOP_11_BUFFMGR                  = SUN_PREFIX + "giop.ORBGIOP11BuffMgr";
   181     public static final String GIOP_12_BUFFMGR                  = SUN_PREFIX + "giop.ORBGIOP12BuffMgr";
   182     public static final String GIOP_TARGET_ADDRESSING           = SUN_PREFIX + "giop.ORBTargetAddressing";
   183     public static final int GIOP_DEFAULT_FRAGMENT_SIZE = 1024;
   184     public static final int GIOP_DEFAULT_BUFFER_SIZE = 1024;
   185     public static final int DEFAULT_GIOP_11_BUFFMGR = 0; //Growing
   186     public static final int DEFAULT_GIOP_12_BUFFMGR = 2; //Streaming
   187     public static final short ADDR_DISP_OBJKEY = 0; // object key used for target addressing
   188     public static final short ADDR_DISP_PROFILE = 1; // iop profile used for target addressing
   189     public static final short ADDR_DISP_IOR = 2; // ior used for target addressing
   190     public static final short ADDR_DISP_HANDLE_ALL = 3; // accept all target addressing dispositions (default)
   192     // CORBA formal 00-11-03 sections 15.4.2.2, 15.4.3.2, 15.4.6.2
   193     // state that the GIOP 1.2 RequestMessage, ReplyMessage, and
   194     // LocateReply message bodies must begin on 8 byte boundaries.
   195     public static final int GIOP_12_MSG_BODY_ALIGNMENT = 8;
   197     // The GIOP 1.2 fragments must be divisible by 8.  We generalize this
   198     // to GIOP 1.1 fragments, as well.
   199     public static final int GIOP_FRAGMENT_DIVISOR = 8;
   200     public static final int GIOP_FRAGMENT_MINIMUM_SIZE = 32;
   202     // connection management properties
   203     public static final String HIGH_WATER_MARK_PROPERTY =
   204         SUN_PREFIX + "connection.ORBHighWaterMark" ;
   205     public static final String LOW_WATER_MARK_PROPERTY =
   206         SUN_PREFIX + "connection.ORBLowWaterMark" ;
   207     public static final String NUMBER_TO_RECLAIM_PROPERTY =
   208         SUN_PREFIX + "connection.ORBNumberToReclaim" ;
   210     public static final String ACCEPTOR_CLASS_PREFIX_PROPERTY =
   211         SUN_PREFIX + "transport.ORBAcceptor";
   213     public static final String CONTACT_INFO_LIST_FACTORY_CLASS_PROPERTY =
   214         SUN_PREFIX + "transport.ORBContactInfoList";
   216     // Legacy:
   217     public static final String LEGACY_SOCKET_FACTORY_CLASS_PROPERTY =
   218         SUN_PREFIX + "legacy.connection.ORBSocketFactoryClass" ;
   221     public static final String SOCKET_FACTORY_CLASS_PROPERTY =
   222         SUN_PREFIX + "transport.ORBSocketFactoryClass" ;
   223     public static final String LISTEN_SOCKET_PROPERTY =
   224         SUN_PREFIX + "transport.ORBListenSocket";
   225     public static final String IOR_TO_SOCKET_INFO_CLASS_PROPERTY =
   226         SUN_PREFIX + "transport.ORBIORToSocketInfoClass";
   227     public static final String IIOP_PRIMARY_TO_CONTACT_INFO_CLASS_PROPERTY =
   228         SUN_PREFIX + "transport.ORBIIOPPrimaryToContactInfoClass";
   230     // Request partitioning maximum and minimum thread pool id constants.
   231     public static final int REQUEST_PARTITIONING_MIN_THREAD_POOL_ID =  0;
   232     public static final int REQUEST_PARTITIONING_MAX_THREAD_POOL_ID = 63;
   234     // transport read tcp timeout property, colon separated property
   235     // with syntax <initial time to wait:max read giop header time to
   236     // wait: max read message time to wait:backoff factor>
   237     public static final String TRANSPORT_TCP_READ_TIMEOUTS_PROPERTY =
   238         SUN_PREFIX + "transport.ORBTCPReadTimeouts";
   240     // initial time to wait in milliseconds if a transport
   241     // tcp read returns 0 bytes
   242     public static final int TRANSPORT_TCP_INITIAL_TIME_TO_WAIT = 100;
   244     // max time to spend in cumulative waits in milliseconds
   245     // if a transport tcp read returns 0 bytes
   246     public static final int TRANSPORT_TCP_MAX_TIME_TO_WAIT = 3000;
   248     // max time to spend in cumulative waits in milliseconds
   249     // if a transport tcp read of GIOP header returns 0 bytes
   250     public static final int TRANSPORT_TCP_GIOP_HEADER_MAX_TIME_TO_WAIT = 300;
   252     // A backoff percentage used to compute the next amount of time to
   253     // wait on a subsequent transport tcp read of 0 bytes
   254     public static final int TRANSPORT_TCP_TIME_TO_WAIT_BACKOFF_FACTOR = 20;
   256     public static final String USE_NIO_SELECT_TO_WAIT_PROPERTY =
   257         SUN_PREFIX + "transport.ORBUseNIOSelectToWait";
   259     // "Socket" | "SocketChannel"
   260     // Note: Connections accepted by SocketChannel will be SocketChannel.
   261     public static final String ACCEPTOR_SOCKET_TYPE_PROPERTY =
   262         SUN_PREFIX + "transport.ORBAcceptorSocketType";
   264     // Applicable if using SocketChannel and using select thread.
   265     public static final String ACCEPTOR_SOCKET_USE_WORKER_THREAD_FOR_EVENT_PROPERTY =
   266         SUN_PREFIX + "transport.ORBAcceptorSocketUseWorkerThreadForEvent";
   268     // Applicable on client-side. "Socket" | "SocketChannel"
   269     public static final String CONNECTION_SOCKET_TYPE_PROPERTY =
   270         SUN_PREFIX + "transport.ORBConnectionSocketType";
   272     // Applicable if using SocketChannel and using select thread
   273     public static final String CONNECTION_SOCKET_USE_WORKER_THREAD_FOR_EVENT_PROPERTY =
   274         SUN_PREFIX + "transport.ORBConnectionSocketUseWorkerThreadForEvent";
   276     // Used to disable the use of direct byte buffers.  This enables much easier
   277     // debugging, because the contents of a direct byte buffer cannot be
   278     // viewed in most (all?) debuggers.
   279     public static final String DISABLE_DIRECT_BYTE_BUFFER_USE_PROPERTY =
   280         SUN_PREFIX + "transport.ORBDisableDirectByteBufferUse" ;
   282     public static final String SOCKET        = "Socket";
   283     public static final String SOCKETCHANNEL = "SocketChannel";
   285     // POA related policies
   286     public static final String PERSISTENT_SERVER_PORT_PROPERTY  = SUN_PREFIX + "POA.ORBPersistentServerPort" ;
   287     public static final String SERVER_ID_PROPERTY               = SUN_PREFIX + "POA.ORBServerId" ;
   288     public static final String BAD_SERVER_ID_HANDLER_CLASS_PROPERTY
   289                                                                 = SUN_PREFIX + "POA.ORBBadServerIdHandlerClass" ;
   290     public static final String ACTIVATED_PROPERTY               = SUN_PREFIX + "POA.ORBActivated" ;
   291     public static final String SERVER_NAME_PROPERTY             = SUN_PREFIX + "POA.ORBServerName" ;
   293     // Server Properties; e.g. when properties passed to ORB activated
   294     // servers
   296     public static final String SERVER_DEF_VERIFY_PROPERTY       = SUN_PREFIX + "activation.ORBServerVerify" ;
   298     // This one is an exception, but it may be externally visible
   299     public static final String SUN_LC_PREFIX = "com.sun.corba." ;
   301     // Necessary for package renaming to work correctly
   302     public static final String SUN_LC_VERSION_PREFIX = "com.sun.corba.se.";
   304     public static final String JTS_CLASS_PROPERTY               = SUN_LC_VERSION_PREFIX + "CosTransactions.ORBJTSClass" ;
   306     // Property for enabling ORB's use of Java serialization.
   307     public static final String ENABLE_JAVA_SERIALIZATION_PROPERTY =
   308         SUN_PREFIX + "encoding.ORBEnableJavaSerialization";
   310     // Constants for ORB prefixes **************************************************************
   312     public static final String PI_ORB_INITIALIZER_CLASS_PREFIX   =
   313         "org.omg.PortableInterceptor.ORBInitializerClass.";
   315     public static final String USE_DYNAMIC_STUB_PROPERTY = SUN_PREFIX + "ORBUseDynamicStub" ;
   317     public static final String DYNAMIC_STUB_FACTORY_FACTORY_CLASS =
   318         SUN_PREFIX + "ORBDynamicStubFactoryFactoryClass" ;
   320     // Constants for NameService properties ************************************
   322     public static final int DEFAULT_INITIAL_PORT                 = 900;
   324     public static final String DEFAULT_INS_HOST = "localhost";
   326     public static final int DEFAULT_INS_PORT                     = 2089;
   328     public static final int DEFAULT_INS_GIOP_MAJOR_VERSION       = 1;
   330     // http://www.omg.org/cgi-bin/doc?ptc/00-08-07 [ Section 13.6.7.3 ]
   331     // defines the default GIOP minor version to be 0.
   332     public static final int DEFAULT_INS_GIOP_MINOR_VERSION       = 0;
   335     // Constants for INS properties ********************************************
   337     // GIOP Version number for validation of INS URL format addresses
   338     public static final int MAJORNUMBER_SUPPORTED                 = 1;
   339     public static final int MINORNUMBERMAX                        = 2;
   341     // Subcontract's differentiation using the TRANSIENT and PERSISTENT
   342     // Name Service Property.
   343     public static final int TRANSIENT                             = 1;
   344     public static final int PERSISTENT                            = 2;
   346     // Constants for ORBD properties ****************************************************************
   348     // These properties are never passed on ORB init: they are only passed to ORBD.
   350     public static final String DB_DIR_PROPERTY                  = SUN_PREFIX + "activation.DbDir" ;
   351     public static final String DB_PROPERTY                      = SUN_PREFIX + "activation.db" ;
   352     public static final String ORBD_PORT_PROPERTY               = SUN_PREFIX + "activation.Port" ;
   353     public static final String SERVER_POLLING_TIME              = SUN_PREFIX + "activation.ServerPollingTime";
   354     public static final String SERVER_STARTUP_DELAY             = SUN_PREFIX + "activation.ServerStartupDelay";
   356     public static final int DEFAULT_ACTIVATION_PORT             = 1049 ;
   358     // If RI is starting the NameService then they would indicate that by
   359     // passing the RI flag. That would start a Persistent Port to listen to
   360     // INS request.
   361     public static final int RI_NAMESERVICE_PORT                 = 1050;
   363     public static final int DEFAULT_SERVER_POLLING_TIME         = 1000;
   365     public static final int DEFAULT_SERVER_STARTUP_DELAY        = 1000;
   368     //***************** Constants for Logging ****************
   370     public static final String LOG_LEVEL_PROPERTY               = SUN_PREFIX + "ORBLogLevel";
   372     public static final String LOG_RESOURCE_FILE                =
   373         "com.sun.corba.se.impl.logging.LogStrings";
   375     // Constants for initial references *************************************************************
   377     public static final String TRANSIENT_NAME_SERVICE_NAME = "TNameService" ;
   378     public static final String PERSISTENT_NAME_SERVICE_NAME = "NameService" ;
   380     // A large Number to make sure that other ServerIds doesn't collide
   381     // with NameServer Persistent Server Id
   382     public static final String NAME_SERVICE_SERVER_ID   = "1000000" ;
   384     public static final String ROOT_POA_NAME            = "RootPOA" ;
   385     public static final String POA_CURRENT_NAME         = "POACurrent" ;
   386     public static final String SERVER_ACTIVATOR_NAME    = "ServerActivator" ;
   387     public static final String SERVER_LOCATOR_NAME      = "ServerLocator" ;
   388     public static final String SERVER_REPOSITORY_NAME   = "ServerRepository" ;
   389     public static final String INITIAL_NAME_SERVICE_NAME= "InitialNameService" ;
   390     public static final String TRANSACTION_CURRENT_NAME = "TransactionCurrent" ;
   391     public static final String DYN_ANY_FACTORY_NAME     = "DynAnyFactory" ;
   393     // New for Portable Interceptors
   394     public static final String PI_CURRENT_NAME          = "PICurrent" ;
   395     public static final String CODEC_FACTORY_NAME       = "CodecFactory" ;
   397     // Constants for ORBD DB ***********************************************************************
   399     public static final String DEFAULT_DB_DIR       = "orb.db" ;
   400     public static final String DEFAULT_DB_NAME      = "db" ;
   401     public static final String INITIAL_ORB_DB       = "initial.db" ;
   402     public static final String SERVER_LOG_DIR       = "logs" ;
   403     public static final String ORBID_DIR_BASE       = "orbids" ;
   404     public static final String ORBID_DB_FILE_NAME   = "orbids.db" ;
   406     // Constants for ThreadPool ********************************************************************
   408     // Default value for when inactive threads in the pool can stop running (ms)
   409     public static final int DEFAULT_INACTIVITY_TIMEOUT = 120000;
   410     // Default name of the threadpool
   411     public static final String THREADPOOL_DEFAULT_NAME = "default-threadpool";
   412     // Default name of the workqueue
   413     public static final String WORKQUEUE_DEFAULT_NAME = "default-workqueue";
   415     // Constants for minor code bases **************************************************************
   416     // This is the value that pre-Merlin Sun ORBs incorrectly used.  We preserve this
   417     // here for backwards compatibility, but note that the current ORB must never
   418     // create a BAD_PARAM system exception with this minor code.
   419     public static final int LEGACY_SUN_NOT_SERIALIZABLE = SUNVMCID.value + 1 ;
   421     // Code Set related *******************************************************
   423     // If we don't always send the code set context, there's a possibility
   424     // of failure when fragments of a smaller request are interleved with
   425     // those of a first request with other large service contexts.
   426     //
   427     public static final boolean DEFAULT_ALWAYS_SEND_CODESET_CTX = true;
   428     public static final String ALWAYS_SEND_CODESET_CTX_PROPERTY
   429         = SUN_PREFIX + "codeset.AlwaysSendCodeSetCtx";
   431     // Use byte order markers in streams when applicable?  This won't apply to
   432     // GIOP 1.1 due to limitations in the CDR encoding.
   433     public static final boolean DEFAULT_USE_BYTE_ORDER_MARKERS = true;
   434     public static final String USE_BOMS = SUN_PREFIX + "codeset.UseByteOrderMarkers";
   436     // Use byte order markers in encapsulations when applicable?
   437     public static final boolean DEFAULT_USE_BYTE_ORDER_MARKERS_IN_ENCAPS = false;
   438     public static final String USE_BOMS_IN_ENCAPS = SUN_PREFIX + "codeset.UseByteOrderMarkersInEncaps";
   440     // The CHAR_CODESETS and WCHAR_CODESETS allow the user to override the default
   441     // connection code sets.  The value should be a comma separated list of OSF
   442     // registry numbers.  The first number in the list will be the native code
   443     // set.
   444     //
   445     // Number can be specified as hex if preceded by 0x, otherwise they are
   446     // interpreted as decimal.
   447     //
   448     // Code sets that we accept currently (see core/OSFCodeSetRegistry):
   449     //
   450     // char/string:
   451     //
   452     // ISO8859-1 (Latin-1)     0x00010001
   453     // ISO646 (ASCII)          0x00010020
   454     // UTF-8                   0x05010001
   455     //
   456     // wchar/string:
   457     //
   458     // UTF-16                  0x00010109
   459     // UCS-2                   0x00010100
   460     // UTF-8                   0x05010001
   461     //
   462     // Note:  The ORB will let you assign any of the above values to
   463     // either of the following properties, but the above assignments
   464     // are the only ones that won't get you into trouble.
   465     public static final String CHAR_CODESETS = SUN_PREFIX + "codeset.charsets";
   466     public static final String WCHAR_CODESETS = SUN_PREFIX + "codeset.wcharsets";
   468     // Constants to make stream format version code easier to read
   469     public static final byte STREAM_FORMAT_VERSION_1 = (byte)1;
   470     public static final byte STREAM_FORMAT_VERSION_2 = (byte)2;
   471 }

mercurial