geronimo-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From a..@apache.org
Subject svn commit: r378927 [1/2] - in /geronimo/specs/trunk: ./ geronimo-spec-corba/ geronimo-spec-corba/src/ geronimo-spec-corba/src/main/ geronimo-spec-corba/src/main/idl/ geronimo-spec-corba/src/main/java/ geronimo-spec-corba/src/main/java/org/ geronimo-sp...
Date Sun, 19 Feb 2006 17:18:40 GMT
Author: adc
Date: Sun Feb 19 09:18:37 2006
New Revision: 378927

URL: http://svn.apache.org/viewcvs?rev=378927&view=rev
Log:
Setup old version of CORBA specs

Added:
    geronimo/specs/trunk/geronimo-spec-corba/
    geronimo/specs/trunk/geronimo-spec-corba/pom.xml
    geronimo/specs/trunk/geronimo-spec-corba/src/
    geronimo/specs/trunk/geronimo-spec-corba/src/main/
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CSI.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CSIIOP.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosNaming.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosTSInteroperation.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosTSPortability.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosTransactions.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/GIOP.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/GSSUP.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/IIOP.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/IOP.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/Readme.txt
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/SSLIOP.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/Security.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/TimeBase.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/geronimo-orb.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/org-apache-geronimo-interop-rmi-iiop.idl
    geronimo/specs/trunk/geronimo-spec-corba/src/main/java/
    geronimo/specs/trunk/geronimo-spec-corba/src/main/java/org/
    geronimo/specs/trunk/geronimo-spec-corba/src/main/java/org/apache/
    geronimo/specs/trunk/geronimo-spec-corba/src/main/java/org/apache/geronimo/
    geronimo/specs/trunk/geronimo-spec-corba/src/main/java/org/apache/geronimo/interop/
    geronimo/specs/trunk/geronimo-spec-corba/src/main/java/org/apache/geronimo/interop/ApacheVMCID.java
Modified:
    geronimo/specs/trunk/pom.xml

Added: geronimo/specs/trunk/geronimo-spec-corba/pom.xml
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba/pom.xml?rev=378927&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba/pom.xml (added)
+++ geronimo/specs/trunk/geronimo-spec-corba/pom.xml Sun Feb 19 09:18:37 2006
@@ -0,0 +1,167 @@
+<project>
+  <parent>
+    <artifactId>specs</artifactId>
+    <groupId>org.apache.geronimo.specs</groupId>
+    <version>1.1-SNAPSHOT</version>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>geronimo-spec</groupId>
+  <artifactId>geronimo-spec-corba</artifactId>
+  <name>CORBA</name>
+  <version>${geronimoSpecsCorbaVersion}</version>
+
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>idlj-maven-plugin</artifactId>
+        <version>1.0-SNAPSHOT</version>
+        <executions>
+          <execution>
+            <goals>
+              <goal>generate</goal>
+            </goals>
+          </execution>
+        </executions>
+        <configuration>
+          <debug>true</debug>
+          <compiler>idlj</compiler>
+          <sources>
+            <source>
+              <emitStubs>true</emitStubs>
+              <emitSkeletons>true</emitSkeletons>
+              <includes>
+                <include>**/*.idl</include>
+              </includes>
+            </source>
+          </sources>
+          <packagePrefixes>
+            <packagePrefix>
+              <type>IIOP</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>GIOP</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>CosNaming</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>CSI</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>GSSUP</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>CSIIOP</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>TimeBase</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>Security</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>SSLIOP</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>CosTransactions</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>CosTSInteroperation</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>CosTSPortability</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>SecurityLevel1</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>SecurityLevel2</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>CONV_FRAME</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>IOP</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>SECIOP</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>BiDirPolicy</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>CosLifeCycle</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>Dynamic</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>DynamicAny</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>IOP_N</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>LifeCycleService</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>Messaging</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>NRService</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>PortableInterceptor</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>PortableServer</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>SecurityAdmin</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+            <packagePrefix>
+              <type>SecurityReplaceable</type>
+              <prefix>org.omg</prefix>
+            </packagePrefix>
+          </packagePrefixes>
+        </configuration>
+        <dependencies>
+          <dependency>
+            <groupId>org.jacorb</groupId>
+            <artifactId>jacorb-idl-compiler</artifactId>
+            <version>2.2.3</version>
+          </dependency>
+        </dependencies>
+      </plugin>
+    </plugins>
+  </build>
+</project>

Added: geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CSI.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CSI.idl?rev=378927&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CSI.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CSI.idl Sun Feb 19 09:18:37 2006
@@ -0,0 +1,200 @@
+#ifndef _CSI_IDL_
+#define _CSI_IDL_
+
+#pragma prefix "omg.org"
+
+module CSI {
+
+	// The OMG VMCID; same value as CORBA::OMGVMCID. Do not change ever.
+	const unsigned long OMGVMCID = 0x4F4D0;
+
+	// An X509CertificateChain contains an ASN.1 BER encoded SEQUENCE
+	// [1..MAX] OF X.509 certificates encapsulated in a sequence of octets. The
+	// subject’s certificate shall come first in the list. Each following
+	// certificate shall directly certify the one preceding it. The ASN.1
+	// representation of Certificate is as defined in [IETF RFC 2459].
+
+	typedef sequence <octet> X509CertificateChain;
+
+	// an X.501 type name or Distinguished Name encapsulated in a sequence of
+	// octets containing the ASN.1 encoding.
+
+	typedef sequence <octet> X501DistinguishedName;
+
+	// UTF-8 Encoding of String
+
+	typedef sequence <octet> UTF8String;
+
+	// ASN.1 Encoding of an OBJECT IDENTIFIER
+
+	typedef sequence <octet> OID;
+
+	typedef sequence <OID> OIDList;
+
+	// A sequence of octets containing a GSStoken. Initial context tokens are
+	// ASN.1 encoded as defined in [IETF RFC 2743] Section 3.1,
+	// "Mechanism-Independent token Format", pp. 81-82. Initial context tokens
+	// contain an ASN.1 tag followed by a token length, a mechanism identifier,
+	// and a mechanism-specific token (i.e. a GSSUP::InitialContextToken). The
+	// encoding of all other GSS tokens (e.g. error tokens and final context
+	// tokens) is mechanism dependent.
+
+	typedef sequence <octet> GSSToken;
+
+	// An encoding of a GSS Mechanism-Independent Exported Name Object as
+	// defined in [IETF RFC 2743] Section 3.2, "GSS Mechanism-Independent
+	// Exported Name Object Format," p. 84.
+
+	typedef sequence <octet> GSS_NT_ExportedName;
+
+	typedef sequence <GSS_NT_ExportedName> GSS_NT_ExportedNameList;
+
+	// The MsgType enumeration defines the complete set of service context
+	// message types used by the CSI context management protocols, including
+	// those message types pertaining only to the stateful application of the
+	// protocols (to insure proper alignment of the identifiers between
+	// stateless and stateful implementations). Specifically, the
+	// MTMessageInContext is not sent by stateless clients (although it may
+	// be received by stateless targets).
+
+	typedef short MsgType;
+
+	const MsgType MTEstablishContext = 0;
+	const MsgType MTCompleteEstablishContext = 1;
+	const MsgType MTContextError = 4;
+	const MsgType MTMessageInContext = 5;
+
+	// The ContextId type is used carry session identifiers. A stateless
+	// application of the service context protocol is indicated by a session
+	// identifier value of 0.
+
+	typedef unsigned long long ContextId;
+
+	// The AuthorizationElementType defines the contents and encoding of
+	// the_element field of the AuthorizationElement.
+	// The high order 20-bits of each AuthorizationElementType constant
+	// shall contain the Vendor Minor Codeset ID (VMCID) of the
+	// organization that defined the element type. The low order 12 bits
+	// shall contain the organization-scoped element type identifier. The
+	// high-order 20 bits of all element types defined by the OMG shall
+	// contain the VMCID allocated to the OMG (that is, 0x4F4D0).
+
+	typedef unsigned long AuthorizationElementType;
+
+	// An AuthorizationElementType of X509AttributeCertChain indicates that
+	// the_element field of the AuthorizationElement contains an ASN.1 BER
+	// SEQUENCE composed of an (X.509) AttributeCertificate followed by a
+	// SEQUENCE OF (X.509) Certificate. The two-part SEQUENCE is encapsulated
+	// in an octet stream. The chain of identity certificates is provided
+	// to certify the attribute certificate. Each certificate in the chain
+	// shall directly certify the one preceding it. The first certificate
+	// in the chain shall certify the attribute certificate. The ASN.1
+	// representation of (X.509) Certificate is as defined in [IETF RFC 2459].
+	// The ASN.1 representation of (X.509) AtributeCertificate is as defined
+	// in [IETF ID PKIXAC].
+
+	const AuthorizationElementType X509AttributeCertChain = OMGVMCID | 1;
+
+	typedef sequence <octet> AuthorizationElementContents;
+
+	// The AuthorizationElement contains one element of an authorization token.
+	// Each element of an authorization token is logically a PAC.
+
+	struct AuthorizationElement {
+		AuthorizationElementType the_type;
+		AuthorizationElementContents the_element;
+	};
+
+	// The AuthorizationToken is made up of a sequence of
+	// AuthorizationElements
+
+	typedef sequence <AuthorizationElement> AuthorizationToken;
+
+	typedef unsigned long IdentityTokenType;
+
+	// Additional standard identity token types shall only be defined by the
+	// OMG. All IdentityTokenType constants shall be a power of 2.
+
+	const IdentityTokenType ITTAbsent = 0;
+	const IdentityTokenType ITTAnonymous = 1;
+	const IdentityTokenType ITTPrincipalName = 2;
+	const IdentityTokenType ITTX509CertChain = 4;
+	const IdentityTokenType ITTDistinguishedName = 8;
+
+	typedef sequence <octet> IdentityExtension;
+
+	union IdentityToken switch ( IdentityTokenType ) {
+		case ITTAbsent: boolean absent;
+		case ITTAnonymous: boolean anonymous;
+		case ITTPrincipalName: GSS_NT_ExportedName principal_name;
+		case ITTX509CertChain: X509CertificateChain certificate_chain;
+		case ITTDistinguishedName: X501DistinguishedName dn;
+		default: IdentityExtension id;
+	};
+
+	struct EstablishContext {
+		ContextId client_context_id;
+		AuthorizationToken authorization_token;
+		IdentityToken identity_token;
+		GSSToken client_authentication_token;
+	};
+
+	struct CompleteEstablishContext {
+		ContextId client_context_id;
+		boolean context_stateful;
+		GSSToken final_context_token;
+	};
+
+	struct ContextError {
+		ContextId client_context_id;
+		long major_status;
+		long minor_status;
+		GSSToken error_token;
+	};
+
+	// Not sent by stateless clients. If received by a stateless server, a
+	// ContextError message should be returned, indicating the session does
+	// not exist.
+
+	struct MessageInContext {
+		ContextId client_context_id;
+		boolean discard_context;
+	};
+
+	union SASContextBody switch ( MsgType ) {
+		case MTEstablishContext: EstablishContext establish_msg;
+		case MTCompleteEstablishContext: CompleteEstablishContext complete_msg;
+		case MTContextError: ContextError error_msg;
+		case MTMessageInContext: MessageInContext in_context_msg;
+	};
+
+	// The following type represents the string representation of an ASN.1
+	// OBJECT IDENTIFIER (OID). OIDs are represented by the string "oid:"
+	// followed by the integer base 10 representation of the OID separated
+	// by dots. For example, the OID corresponding to the OMG is represented
+	// as: "oid:2.23.130"
+
+	typedef string StringOID;
+
+	// The GSS Object Identifier for the KRB5 mechanism is:
+	// { iso(1) member-body(2) United States(840) mit(113554) infosys(1)
+	// gssapi(2) krb5(2) }
+
+	const StringOID KRB5MechOID = "oid:1.2.840.113554.1.2.2";
+
+	// The GSS Object Identifier for name objects of the Mechanism-independent
+	// Exported Name Object type is:
+	// { iso(1) org(3) dod(6) internet(1) security(5) nametypes(6)
+	// gss-api-exported-name(4) }
+
+	const StringOID GSS_NT_Export_Name_OID = "oid:1.3.6.1.5.6.4";
+
+	// The GSS Object Identifier for the scoped-username name form is:
+	// { iso-itu-t (2) international-organization (23) omg (130) security (1)
+	// naming (2) scoped-username(1) }
+
+	const StringOID GSS_NT_Scoped_Username_OID = "oid:2.23.130.1.2.1";
+
+}; // CSI
+
+#endif

Added: geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CSIIOP.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CSIIOP.idl?rev=378927&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CSIIOP.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CSIIOP.idl Sun Feb 19 09:18:37 2006
@@ -0,0 +1,134 @@
+#ifndef _CSIIOP_IDL_
+#define _CSIIOP_IDL_
+#include <IOP.idl>
+#include <CSI.idl>
+
+#pragma prefix "omg.org"
+
+module CSIIOP {
+
+	const IOP::ComponentId TAG_NULL_TAG = 34;
+	const IOP::ComponentId TAG_CSI_SEC_MECH_LIST = 33;
+
+	// Association options
+
+	typedef unsigned short AssociationOptions;
+
+	const AssociationOptions NoProtection = 1;
+	const AssociationOptions Integrity = 2;
+	const AssociationOptions Confidentiality = 4;
+	const AssociationOptions DetectReplay = 8;
+	const AssociationOptions DetectMisordering = 16;
+	const AssociationOptions EstablishTrustInTarget = 32;
+	const AssociationOptions EstablishTrustInClient = 64;
+	const AssociationOptions NoDelegation = 128;
+	const AssociationOptions SimpleDelegation = 256;
+	const AssociationOptions CompositeDelegation = 512;
+	const AssociationOptions IdentityAssertion = 1024;
+	const AssociationOptions DelegationByClient = 2048;
+
+	// The high order 20-bits of each ServiceConfigurationSyntax constant
+	// shall contain the Vendor Minor Codeset ID (VMCID) of the
+	// organization that defined the syntax. The low order 12 bits shall
+	// contain the organization-scoped syntax identifier. The high-order 20
+	// bits of all syntaxes defined by the OMG shall contain the VMCID
+	// allocated to the OMG (that is, 0x4F4D0).
+
+	typedef unsigned long ServiceConfigurationSyntax;
+
+	const ServiceConfigurationSyntax SCS_GeneralNames = CSI::OMGVMCID | 0;
+	const ServiceConfigurationSyntax SCS_GSSExportedName = CSI::OMGVMCID | 1;
+
+	typedef sequence <octet> ServiceSpecificName;
+
+	// The name field of the ServiceConfiguration structure identifies a
+	// privilege authority in the format identified in the syntax field. If the
+	// syntax is SCS_GeneralNames, the name field contains an ASN.1 (BER)
+	// SEQUENCE [1..MAX] OF GeneralName, as defined by the type GeneralNames in
+	// [IETF RFC 2459]. If the syntax is SCS_GSSExportedName, the name field
+	// contains a GSS exported name encoded according to the rules in
+	// [IETF RFC 2743] Section 3.2, "Mechanism-Independent Exported Name
+	// Object Format," p. 84.
+
+	struct ServiceConfiguration {
+		ServiceConfigurationSyntax syntax;
+		ServiceSpecificName name;
+	};
+
+	typedef sequence <ServiceConfiguration> ServiceConfigurationList;
+
+	// The body of the TAG_NULL_TAG component is a sequence of octets of
+	// length 0.
+	// type used to define AS layer functionality within a compound mechanism
+	// definition
+
+	struct AS_ContextSec {
+		AssociationOptions target_supports;
+		AssociationOptions target_requires;
+		CSI::OID client_authentication_mech;
+		CSI::GSS_NT_ExportedName target_name;
+	};
+
+	// type used to define SAS layer functionality within a compound mechanism
+	// definition
+
+	struct SAS_ContextSec {
+		AssociationOptions target_supports;
+		AssociationOptions target_requires;
+		ServiceConfigurationList privilege_authorities;
+		CSI::OIDList supported_naming_mechanisms;
+		CSI::IdentityTokenType supported_identity_types;
+	};
+
+	// type used in the body of a TAG_CSI_SEC_MECH_LIST component to
+	// describe a compound mechanism
+
+	struct CompoundSecMech {
+		AssociationOptions target_requires;
+		IOP::TaggedComponent transport_mech;
+		AS_ContextSec as_context_mech;
+		SAS_ContextSec sas_context_mech;
+	};
+
+	typedef sequence <CompoundSecMech> CompoundSecMechanisms;
+
+	// type corresponding to the body of a TAG_CSI_SEC_MECH_LIST
+	// component
+
+	struct CompoundSecMechList {
+		boolean stateful;
+		CompoundSecMechanisms mechanism_list;
+	};
+
+	struct TransportAddress {
+		string host_name;
+		unsigned short port;
+	};
+
+	typedef sequence <TransportAddress> TransportAddressList;
+
+	// Tagged component for configuring SECIOP as a CSIv2 transport mechanism
+
+	const IOP::ComponentId TAG_SECIOP_SEC_TRANS = 35;
+
+	struct SECIOP_SEC_TRANS {
+		AssociationOptions target_supports;
+		AssociationOptions target_requires;
+		CSI::OID mech_oid;
+		CSI::GSS_NT_ExportedName target_name;
+		TransportAddressList addresses;
+	};
+
+	// tagged component for configuring TLS/SSL as a CSIv2 transport mechanism
+
+	const IOP::ComponentId TAG_TLS_SEC_TRANS = 36;
+
+	struct TLS_SEC_TRANS {
+		AssociationOptions target_supports;
+		AssociationOptions target_requires;
+		TransportAddressList addresses;
+	};
+
+}; //CSIIOP
+
+#endif

Added: geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosNaming.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosNaming.idl?rev=378927&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosNaming.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosNaming.idl Sun Feb 19 09:18:37 2006
@@ -0,0 +1,456 @@
+//
+// CosNaming.idl - Naming service interface
+//
+#pragma prefix "omg.org"
+
+/**
+ * The CORBA COS Naming Service provides the ability to bind a name
+ * to an object relative to a naming context. A naming context is an
+ * object that contains a set of name bindings in which each name is unique. 
+ * To resolve a name is to determine the object associated with the name in
+ * a given context. <p>
+ *
+ * See http://www.omg.org/corba/sectrans.htm#nam for the complete CORBA
+ * COS Naming Specification. <p>
+ */
+module CosNaming 
+{
+  typedef string Istring;
+
+  /** 
+   * Many of the operations defined on a naming context take names as
+   * parameters. Names have structure. A name is an ordered sequence of 
+   * components. <p>
+   * 
+   * A name with a single component is called a simple name; a name with
+   * multiple components is called a compound name. Each component except 
+   * the last is used to name a context; the last component denotes the 
+   * bound object. <p>
+   * 
+   * A name component consists of two attributes: the identifier
+   * attribute and the kind attribute. Both the identifier attribute and the 
+   * kind attribute are represented as IDL strings. The kind attribute adds 
+   * descriptive power to names in a syntax-independent way. Examples of the 
+   * value of the kind attribute include c_source, object_code, executable, 
+   * postscript, or " ". 
+   */
+  struct NameComponent 
+  {
+    Istring id;
+    Istring kind;
+  };
+    
+  // A name is a sequence of name components.
+  typedef sequence <NameComponent> Name;
+    
+  /**
+   * Specifies whether the given binding is for a object (that is not a
+   * naming context) or for a naming context.
+   */
+  enum BindingType 
+  {
+    nobject, 	// name is bound to an object
+    ncontext	// name is bound to a naming context
+  };
+    
+  /**
+   * A name-to-object association is called a Binding.
+   */
+  struct Binding 
+  {
+    Name binding_name; 		// name
+    BindingType binding_type;	// whether name is bound to an object
+                                //  or a naming context
+  };
+    
+  typedef sequence <Binding> BindingList;    
+    
+  /**
+   * The BindingIterator interface allows a client to iterate through
+   * the bindings using the next_one or next_n operations.
+   * 
+   * The bindings iterator is obtained by using the <tt>list</tt>
+   * method on the <tt>NamingContext</tt>. 
+   * @see org.omg.CosNaming.NamingContext#list
+   */
+  interface BindingIterator 
+  {
+    /**
+     * This operation returns the next binding. If there are no more
+     * bindings, false is returned.
+     * 
+     * @param b the returned binding
+     */ 
+    boolean next_one(out Binding b);
+    
+    /**
+     * This operation returns at most the requested number of bindings.
+     * 
+     * @param how_many the maximum number of bindings tro return <p>
+     * 
+     * @param bl the returned bindings
+     */ 
+    boolean next_n(in unsigned long how_many, 
+		   out BindingList bl);
+        
+    // Destroy binding iterator
+    /**
+     * This operation destroys the iterator.
+     */ 
+    void destroy();
+  };
+    
+
+  /** 
+   * A naming context is an object that contains a set of name bindings in 
+   * which each name is unique. Different names can be bound to an object 
+   * in the same or different contexts at the same time. <p>
+   * 
+   * See <a href=" http://www.omg.org/corba/sectrans.htm#nam">CORBA COS 
+   * Naming Specification.</a>
+   */
+
+  interface NamingContext 
+  {
+    // Declare exceptions
+    /**
+     * 
+     */
+    enum NotFoundReason 
+    { 
+      missing_node, 
+      not_context, 
+      not_object 
+    };
+        
+    /** 
+     * Indicates the name does not identify a binding.
+     */
+    exception NotFound 
+    { 
+      NotFoundReason why;
+      Name rest_of_name;
+    };
+    
+    /**
+     * Indicates that the implementation has given up for some reason.
+     * The client, however, may be able to continue the operation at the
+     * returned naming context.
+     */
+    exception CannotProceed 
+    {
+      NamingContext cxt;
+      Name rest_of_name;
+    };
+                                         
+    /** 
+     * Indicates the name is invalid. 
+     */
+    exception InvalidName 
+    {};                        
+    
+    /**
+     * Indicates an object is already bound to the specified name. Only
+     * one object can be bound to a particular name in a context. 
+     */
+    exception AlreadyBound 
+    {};
+    
+    /**
+     * Indicates that the Naming Context contains bindings.
+     */
+    exception NotEmpty 
+    {};
+    
+    /**
+     * Creates a binding of a name and an object in the naming context.
+     * Naming contexts that are bound using bind do not participate in name
+     * resolution when compound names are passed to be resolved. 
+     * 
+     * @param n Name of the object <p>
+     * 
+     * @param obj The Object to bind with the given name<p>
+     * 
+     * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+     * 
+     * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+     * given up for some reason. The client, however, may be able to 
+     * continue the operation at the returned naming context.<p>
+     * 
+     * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+     *
+     * @exception org.omg.CosNaming.NamingContextPackage.AlreadyBound Indicates an object is already 
+     * bound to the specified name.<p>
+     */ 
+    void bind(in Name n, 
+	      in Object obj)
+      raises(NotFound, 
+	     CannotProceed, 
+	     InvalidName, 
+	     AlreadyBound);
+    
+    /**
+     * Names an object that is a naming context. Naming contexts that
+     * are bound using bind_context() participate in name resolution 
+     * when compound names are passed to be resolved.
+     * 
+     * @param n Name of the object <p>
+     * 
+     * @param nc NamingContect object to bind with the given name <p>
+     * 
+     * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+     * 
+     * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+     * given up for some reason. The client, however, may be able to 
+     * continue the operation at the returned naming context.<p>
+     * 
+     * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+     *
+     * @exception org.omg.CosNaming.NamingContextPackage.AlreadyBound Indicates an object is already 
+     * bound to the specified name.<p>
+     */ 
+    void bind_context(in Name n, 
+		      in NamingContext nc)
+      raises(NotFound, 
+	     CannotProceed, 
+	     InvalidName, 
+	     AlreadyBound);
+    
+    /**
+     * Creates a binding of a name and an object in the naming context
+     * even if the name is already bound in the context. Naming contexts 
+     * that are bound using rebind do not participate in name resolution 
+     * when compound names are passed to be resolved.
+     * 
+     * @param  n Name of the object <p>
+     * 
+     * @parm obj The Object to rebind with the given name <p>
+     * 
+     * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+     * 
+     * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+     * given up for some reason. The client, however, may be able to 
+     * continue the operation at the returned naming context.<p>
+     * 
+     * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+     */ 
+    void rebind(in Name n, 
+		in Object obj)
+      raises(NotFound, 
+	     CannotProceed, 
+	     InvalidName);
+    
+    /** 
+     * Creates a binding of a name and a naming context in the naming
+     * context even if the name is already bound in the context. Naming 
+     * contexts that are bound using rebind_context() participate in name 
+     * resolution when compound names are passed to be resolved.
+     * 
+     * @param n Name of the object <p>
+     * 
+     * @param nc NamingContect object to rebind with the given name <p>
+     * 
+     * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+     * 
+     * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+     * given up for some reason. The client, however, may be able to 
+     * continue the operation at the returned naming context.<p>
+     * 
+     * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+     */ 
+    void rebind_context(in Name n, 
+			in NamingContext nc)
+      raises(NotFound, 
+	     CannotProceed, 
+	     InvalidName);
+
+    /** 
+     * The resolve operation is the process of retrieving an object
+     * bound to a name in a given context. The given name must exactly 
+     * match the bound name. The naming service does not return the type 
+     * of the object. Clients are responsible for "narrowing" the object 
+     * to the appropriate type. That is, clients typically cast the returned 
+     * object from Object to a more specialized interface.
+     * 
+     * @param n Name of the object <p>
+     * 
+     * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+     * 
+     * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+     * given up for some reason. The client, however, may be able to 
+     * continue the operation at the returned naming context.<p>
+     * 
+     * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+     */ 
+    Object resolve(in Name n)
+      raises(NotFound, 
+	     CannotProceed, 
+	     InvalidName);
+    
+    /** 
+     * The unbind operation removes a name binding from a context.
+     * 
+     * @param n Name of the object <p>
+     * 
+     * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+     * 
+     * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+     * given up for some reason. The client, however, may be able to 
+     * continue the operation at the returned naming context.<p>
+     * 
+     * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+     */ 
+    void unbind(in Name n)
+      raises(NotFound, 
+	     CannotProceed, 
+	     InvalidName);
+    
+    /**
+     * The list operation allows a client to iterate through a set of
+     * bindings in a naming context. <p>
+     * 
+     * The list operation returns at most the requested number of
+     * bindings in BindingList bl. 
+     * <ul>
+     * <li>If the naming context contains additional 
+     * bindings, the list operation returns a BindingIterator with the 
+     * additional bindings. 
+     * <li>If the naming context does not contain additional 
+     * bindings, the binding iterator is a nil object reference.
+     * </ul>
+     * 
+     * @param how_many the maximum number of bindings to return <p>
+     * 
+     * @param bl the returned list of bindings <p>
+     * 
+     * @param bi the returned binding iterator <p>
+     */ 
+    void list(in unsigned long how_many, 
+	      out BindingList bl, 
+	      out BindingIterator bi);
+
+    /**
+     * This operation returns a naming context implemented by the same
+     * naming server as the context on which the operation was invoked. 
+     * The new context is not bound to any name.
+     */ 
+    NamingContext new_context();
+    
+    /**
+     * This operation creates a new context and binds it to the name
+     * supplied as an argument. The newly-created context is implemented 
+     * by the same naming server as the context in which it was bound (that 
+     * is, the naming server that implements the context denoted by the 
+     * name argument excluding the last component).
+     * 
+     * @param n Name of the object <p>
+     * 
+     * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+     * 
+     * @exception org.omg.CosNaming.NamingContextPackage.AlreadyBound Indicates an object is already 
+     * bound to the specified name.<p>
+     * 
+     * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+     * given up for some reason. The client, however, may be able to 
+     * continue the operation at the returned naming context.<p>
+     * 
+     * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+     */ 
+    NamingContext bind_new_context(in Name n)
+      raises(NotFound, 
+	     AlreadyBound, 
+	     CannotProceed, 
+	     InvalidName);
+    
+    /**  Not implemented yet!
+    void destroy()
+      raises(NotEmpty);
+     * The destroy operation deletes a naming context. If the naming 
+     * context contains bindings, the NotEmpty exception is raised.
+     * 
+     * @exception org.omg.CosNaming.NamingContextPackage.NotEmpty Indicates that the Naming Context contains bindings.
+     */
+   }; 
+  /**
+   * A naming context extension is an extenrion to naming context that contains a set of name bindings in 
+   * which each name is unique. Different names can be bound to an object 
+   * in the same or different contexts at the same time. <p>
+   * 
+   * See <a href=" http://www.omg.org/corba/sectrans.htm#nam">CORBA COS 
+   * Naming Specification.</a>
+   */
+
+  interface NamingContextExt : CosNaming::NamingContext {
+
+    typedef string StringName;
+    typedef string Address;
+    typedef string URLString;
+
+  /** 
+     * The to_string operation is the process of retrieving a stringified name 
+     * from a name object. 
+     * 
+     * @param n String Name of the object <p>
+     * 
+     * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+     */ 
+    StringName to_string(in Name n) 
+      raises(
+	NamingContext::InvalidName);
+
+  /** 
+     * The to_name operation is the process of retrieving a name object
+     * to a stringified name. 
+     * 
+     * @param n String Name of the object <p>
+     * 
+     * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+     */ 
+    Name to_name(in StringName sn)
+      raises(NamingContext::InvalidName);
+
+
+    exception InvalidAddress {};
+
+  /** 
+     * The to_url operation is the process of retrieving a url representation from a stringified name and
+     * address.
+     * 
+     * @param addr Address of the object <p>
+     * 
+     * @param sn String Name of the object <p>
+     * 
+     * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+     * 
+     * @exception org.omg.CosNaming.NamingContextPackage.InvalidAddress Indicates that the Address is invalid. <p>
+     */
+     URLString to_url(in Address addr, in StringName sn)
+       raises(
+        InvalidAddress, 
+        NamingContext::InvalidName);
+    /** 
+     * The resolve_str operation is the process of retrieving an object
+     * bound to a stringified name in a given context. The given name must exactly 
+     * match the bound name. The naming service does not return the type 
+     * of the object. Clients are responsible for "narrowing" the object 
+     * to the appropriate type. That is, clients typically cast the returned 
+     * object from Object to a more specialized interface.
+     * 
+     * @param n String Name of the object <p>
+     * 
+     * @exception org.omg.CosNaming.NamingContextPackage.NotFound Indicates the name does not identify a binding.<p>
+     * 
+     * @exception org.omg.CosNaming.NamingContextPackage.CannotProceed Indicates that the implementation has
+     * given up for some reason. The client, however, may be able to 
+     * continue the operation at the returned naming context.<p>
+     * 
+     * @exception org.omg.CosNaming.NamingContextPackage.InvalidName Indicates that the name is invalid. <p>
+     */ 
+    
+    Object resolve_str(in StringName n)
+      raises(
+         NamingContext::NotFound, 
+         NamingContext::CannotProceed,
+         NamingContext::InvalidName);
+   };
+};

Added: geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosTSInteroperation.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosTSInteroperation.idl?rev=378927&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosTSInteroperation.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosTSInteroperation.idl Sun Feb 19 09:18:37 2006
@@ -0,0 +1,20 @@
+// PIDL for CosTSInteroperation Module, p 10-59 
+// CORBAservices, Transaction Service V1.0, 3/94
+
+#include "geronimo-orb.idl"
+#include <IOP.idl>
+#include <CosTransactions.idl>
+
+#pragma prefix "omg.org"
+
+
+module CosTSInteroperation {
+	const IOP::ComponentId TAG_TRANSACTION_POLICY=26;
+	
+	struct TransactionPolicyComponent {
+		CosTransactions::TransactionPolicyValue tpv;
+	};
+	
+	const IOP::ComponentId TAG_OTS_POLICY= 31;
+	const IOP::ComponentId TAG_INV_POLICY= 32;
+};

Added: geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosTSPortability.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosTSPortability.idl?rev=378927&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosTSPortability.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosTSPortability.idl Sun Feb 19 09:18:37 2006
@@ -0,0 +1,32 @@
+//File: CosTSPortability.idl
+//Part of the Transaction Service
+
+#ifndef _COS_TS_PORTABILITY_IDL_
+#define _COS_TS_PORTABILITY_IDL_
+
+//Note Even though this module is marked PIDL, it compiles with
+//     an IDL compiler. 
+
+#include <CosTransactions.idl>
+
+#pragma prefix "omg.org"
+
+module CosTSPortability { // PIDL
+	typedef long ReqId;
+
+	interface Sender {
+		void sending_request(in ReqId id,
+			out CosTransactions::PropagationContext ctx);
+		void received_reply(in ReqId id,
+			in CosTransactions::PropagationContext ctx, 
+			in CORBA::Environment env);
+	};
+
+	interface Receiver {
+		void received_request(in ReqId id,
+			in CosTransactions::PropagationContext ctx);
+		void sending_reply(in ReqId id,
+			out CosTransactions::PropagationContext ctx);
+	};
+};
+#endif /* ifndef _COS_TS_PORTABILITY_IDL_ */
\ No newline at end of file

Added: geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosTransactions.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosTransactions.idl?rev=378927&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosTransactions.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/CosTransactions.idl Sun Feb 19 09:18:37 2006
@@ -0,0 +1,247 @@
+#include "geronimo-orb.idl"
+
+module CosTransactions {
+// DATATYPES
+enum Status {
+	StatusActive,
+	StatusMarkedRollback,
+	StatusPrepared,
+	StatusCommitted,
+	StatusRolledBack,
+	StatusUnknown,
+	StatusNoTransaction,
+	StatusPreparing,
+	StatusCommitting,
+	StatusRollingBack
+};
+
+enum Vote {
+	VoteCommit,
+	VoteRollback,
+	VoteReadOnly
+};
+
+typedef unsigned short TransactionPolicyValue;
+
+// TransactionPolicyValue definitions are deprecated and replaced //
+// with new InvocationPolicy and OTSPolicy definitions. They are //
+// retained for backward compatibility. //
+const TransactionPolicyValue Allows_shared = 0;
+const TransactionPolicyValue Allows_none = 1;
+const TransactionPolicyValue Requires_shared = 2;
+const TransactionPolicyValue Allows_unshared = 3;
+const TransactionPolicyValue Allows_either = 4;
+const TransactionPolicyValue Requires_unshared = 5;
+const TransactionPolicyValue Requires_either = 6;
+
+// Forward references for interfaces defined later in module
+interface Current;
+interface TransactionFactory;
+interface Control;
+interface Terminator;
+interface Coordinator;
+interface RecoveryCoordinator;
+interface Resource;
+interface Synchronization;
+interface SubtransactionAwareResource;
+
+// Structure definitions
+struct otid_t {
+	long formatID; /*format identifier. 0 is OSI TP */
+	long bqual_length;
+	sequence <octet> tid;
+};
+
+struct TransIdentity {
+	Coordinator coord;
+	Terminator term;
+	otid_t otid;
+};
+
+struct PropagationContext {
+	unsigned long timeout;
+	TransIdentity current;
+	sequence <TransIdentity> parents;
+	any implementation_specific_data;
+};
+
+// TransactionalObject has been deprecated. See 10.3.10.
+interface TransactionalObject;
+
+// Heuristic exceptions
+exception HeuristicRollback {};
+exception HeuristicCommit {};
+exception HeuristicMixed {};
+exception HeuristicHazard {};
+
+// Other transaction-specific exceptions
+exception SubtransactionsUnavailable {};
+exception NotSubtransaction {};
+exception Inactive {};
+exception NotPrepared {};
+exception NoTransaction {};
+exception InvalidControl {};
+exception Unavailable {};
+exception SynchronizationUnavailable {};
+
+// Current transaction
+interface Current : CORBA::Current {
+	void begin()
+	raises(SubtransactionsUnavailable);
+	void commit(in boolean report_heuristics)
+		raises(
+			NoTransaction,
+			HeuristicMixed,
+			HeuristicHazard
+	);
+	void rollback()
+		raises(NoTransaction);
+	void rollback_only()
+		raises(NoTransaction);
+	Status get_status();
+	string get_transaction_name();
+	void set_timeout(in unsigned long seconds);
+	unsigned long get_timeout ();
+	Control get_control();
+	Control suspend();
+	void resume(in Control which)
+		raises(InvalidControl);
+};
+
+interface TransactionFactory {
+	Control create(in unsigned long time_out);
+	Control recreate(in PropagationContext ctx);
+};
+
+interface Control {
+	Terminator get_terminator()
+		raises(Unavailable);
+	Coordinator get_coordinator()
+		raises(Unavailable);
+};
+
+interface Terminator {
+	void commit(in boolean report_heuristics)
+		raises(
+			HeuristicMixed,
+			HeuristicHazard
+	);
+	void rollback();
+};
+
+interface Coordinator {
+
+	Status get_status();
+	Status get_parent_status();
+	Status get_top_level_status();
+	
+	boolean is_same_transaction(in Coordinator tc);
+	boolean is_related_transaction(in Coordinator tc);
+	boolean is_ancestor_transaction(in Coordinator tc);
+	boolean is_descendant_transaction(in Coordinator tc);
+	boolean is_top_level_transaction();
+	
+	unsigned long hash_transaction();
+	unsigned long hash_top_level_tran();
+	
+	RecoveryCoordinator register_resource(in Resource r)
+		raises(Inactive);
+		
+	void register_synchronization (in Synchronization sync)
+		raises(Inactive, SynchronizationUnavailable);
+		
+	void register_subtran_aware(in SubtransactionAwareResource r)
+		raises(Inactive, NotSubtransaction);
+		
+	void rollback_only()
+		raises(Inactive);
+		
+	string get_transaction_name();
+	Control create_subtransaction()
+		raises(SubtransactionsUnavailable, Inactive);
+
+	PropagationContext get_txcontext ()
+		raises(Unavailable);
+};
+
+interface RecoveryCoordinator {
+	Status replay_completion(in Resource r)
+raises(NotPrepared);
+};
+
+interface Resource {
+	Vote prepare()
+		raises(
+			HeuristicMixed,
+			HeuristicHazard
+		);
+	void rollback()
+	raises(
+	HeuristicCommit,
+	HeuristicMixed,
+	HeuristicHazard
+	);
+	void commit()
+	raises(
+	NotPrepared,
+	HeuristicRollback,
+	HeuristicMixed,
+	HeuristicHazard
+	);
+	void commit_one_phase()
+	raises(
+	HeuristicHazard
+	);
+	void forget();
+};
+
+// TransactionalObject has been deprecated. See 10.3.10.
+interface TransactionalObject {
+};
+
+// TransactionalObject has been deprecated //
+// and replaced by the OTSPolicy component //
+// Synchronization will use the OTSPolicy of ADAPTS //
+// Inheritance from TransactionalObject is for backward compatability //
+
+interface Synchronization :TransactionalObject {
+	void before_completion();
+	void after_completion(in Status s);
+};
+
+interface SubtransactionAwareResource : Resource {
+	void commit_subtransaction(in Coordinator parent);
+	void rollback_subtransaction();
+};
+
+// TransactionPolicyType is deprecated and replaced //
+// by InvocationPolicyType and OTSPolicyType //
+// It is retained for backward compatibility. //
+const CORBA::PolicyType TransactionPolicyType = 46;
+interface TransactionPolicy : CORBA::Policy {
+	readonly attribute TransactionPolicyValue tpv;
+};
+typedef unsigned short InvocationPolicyValue;
+const InvocationPolicyValue EITHER = 0;
+const InvocationPolicyValue SHARED = 1;
+const InvocationPolicyValue UNSHARED =2;
+typedef unsigned short OTSPolicyValue;
+const OTSPolicyValue REQUIRES = 1;
+const OTSPolicyValue FORBIDS =2;
+const OTSPolicyValue ADAPTS =3;
+typedef unsigned short NonTxTargetPolicyValue;
+const NonTxTargetPolicyValue PREVENT = 0;
+const NonTxTargetPolicyValue PERMIT = 1;
+const CORBA::PolicyType INVOCATION_POLICY_TYPE = 55;
+interface InvocationPolicy : CORBA::Policy {
+readonly attribute InvocationPolicyValue ipv;
+};
+const CORBA::PolicyType OTS_POLICY_TYPE = 56;
+interface OTSPolicy : CORBA::Policy {
+readonly attribute OTSPolicyValue tpv;
+};
+const CORBA::PolicyType NON_TX_TARGET_POLICY_TYPE = 57;
+interface NonTxTargetPolicy : CORBA::Policy {
+readonly attribute NonTxTargetPolicyValue tpv;
+};
+}; // End of CosTransactions Module
\ No newline at end of file

Added: geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/GIOP.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/GIOP.idl?rev=378927&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/GIOP.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/GIOP.idl Sun Feb 19 09:18:37 2006
@@ -0,0 +1,239 @@
+// File: GIOP.idl
+// From CORBA 3.0: Chapter 15, General Inter-ORB Protocol
+
+#define _PRE_3_0_COMPILER_ 
+#define GIOP_1_1
+#define GIOP_1_2
+
+#ifndef _GIOP_IDL_
+#define _GIOP_IDL_
+
+#ifdef _PRE_3_0_COMPILER_ 
+#pragma prefix "omg.org"
+#include <IOP.idl>
+#else
+import ::IOP;
+#endif // _PRE_3_0_COMPILER_
+
+module GIOP {                   // IDL extended for version 1.1 and 1.2
+
+#ifndef _PRE_3_0_COMPILER_ 
+    typeprefix GIOP "omg.org";
+#endif // _PRE_3_0_COMPILER_
+
+    struct Version {                            
+        octet           major;
+        octet           minor;
+    };
+
+    // Note: Principal is not used in V1.2 and beyond. However, it must
+    //       be available for V1.0 and V1.1
+    typedef sequence<octet> Principal;
+
+#ifndef GIOP_1_1
+    // GIOP 1.0
+    enum MsgType_1_0{                       // rename from MsgType
+        Request,            Reply,          CancelRequest,
+        LocateRequest,      LocateReply,
+        CloseConnection,    MessageError
+        };
+#else
+    // GIOP 1.1
+    enum MsgType_1_1{
+        Request,            Reply,          CancelRequest,
+        LocateRequest,      LocateReply,
+        CloseConnection,    MessageError,                  
+        Fragment            // GIOP 1.1 addition
+    };
+#endif // GIOP_1_1
+    typedef MsgType_1_1 MsgType_1_2;
+    typedef MsgType_1_1 MsgType_1_3;
+
+    
+    // GIOP 1.0 
+    struct MessageHeader_1_0 {// Renamed from MessageHeader
+        char                        magic [4];
+        Version                     GIOP_version;
+        boolean                     byte_order;         
+        octet                       message_type;
+        unsigned long               message_size;
+    };
+
+    // GIOP 1.1
+    struct MessageHeader_1_1 {
+        char                        magic [4];
+        Version                     GIOP_version;
+        octet                       flags;      // GIOP 1.1 change
+        octet                       message_type;
+        unsigned long               message_size;
+    };
+
+    // GIOP 1.2
+    typedef MessageHeader_1_1 MessageHeader_1_2;
+
+    // GIOP 1.3
+    typedef MessageHeader_1_1 MessageHeader_1_3;                
+
+    // GIOP 1.0
+    struct RequestHeader_1_0 {
+        IOP::ServiceContextList     service_context;
+        unsigned long               request_id;
+        boolean                     response_expected;
+        sequence <octet>            object_key;
+        string                      operation;
+        Principal                   requesting_principal;
+    };
+
+    // GIOP 1.1
+    struct RequestHeader_1_1 {
+        IOP::ServiceContextList     service_context;
+        unsigned long               request_id;
+        boolean                     response_expected;
+        octet                       reserved[3]; // Added in GIOP 1.1
+        sequence <octet>            object_key;
+        string                      operation;
+        Principal                   requesting_principal;
+    };
+
+    // GIOP 1.2
+    typedef short                   AddressingDisposition;
+    const short                     KeyAddr         = 0;
+    const short                     ProfileAddr     = 1;
+    const short                     ReferenceAddr   = 2;
+    struct IORAddressingInfo {
+        unsigned long               selected_profile_index;
+        IOP::IOR                    ior;
+    };
+    union TargetAddress switch (AddressingDisposition) {
+        case KeyAddr:               sequence <octet>    object_key;
+        case ProfileAddr:           IOP::TaggedProfile  profile;
+        case ReferenceAddr:         IORAddressingInfo   ior;
+    };
+    struct RequestHeader_1_2 {
+        unsigned long               request_id;
+        octet                       response_flags;             
+        octet                       reserved[3];
+        TargetAddress               target;
+        string                      operation;
+        // Principal not in GIOP 1.2
+        IOP::ServiceContextList     service_context;    // 1.2 change
+    };
+
+    // GIOP 1.3
+    typedef RequestHeader_1_2 RequestHeader_1_3;
+
+#ifndef GIOP_1_2
+    // GIOP 1.0 and 1.1
+    enum ReplyStatusType_1_0 {// Renamed from ReplyStatusType
+        NO_EXCEPTION,
+        USER_EXCEPTION,
+        SYSTEM_EXCEPTION,
+        LOCATION_FORWARD
+    };
+#endif
+
+    // GIOP 1.2
+    enum ReplyStatusType_1_2 {
+        NO_EXCEPTION,
+        USER_EXCEPTION,
+        SYSTEM_EXCEPTION,
+        LOCATION_FORWARD,
+        LOCATION_FORWARD_PERM,              // new value for 1.2
+        NEEDS_ADDRESSING_MODE               // new value for 1.2
+    };                  
+
+    struct ReplyHeader_1_2 {
+        unsigned long               request_id;
+        ReplyStatusType_1_2         reply_status;
+        IOP::ServiceContextList     service_context;    // 1.2 change
+    };
+
+    // GIOP 1.3
+    typedef ReplyHeader_1_2 ReplyHeader_1_3;
+
+    // GIOP 1.0
+    struct ReplyHeader_1_0 {// Renamed from ReplyHeader
+        IOP::ServiceContextList     service_context;
+        unsigned long               request_id;
+        ReplyStatusType_1_2         reply_status;
+    };
+
+    // GIOP 1.1
+    typedef ReplyHeader_1_0 ReplyHeader_1_1;
+    // Same Header contents for 1.0 and 1.1
+
+    struct SystemExceptionReplyBody {
+        string                      exception_id;
+        unsigned long               minor_code_value;
+        unsigned long               completion_status;
+    };
+
+    struct CancelRequestHeader {
+        unsigned long               request_id;
+    };
+
+    // GIOP 1.0
+    struct LocateRequestHeader_1_0 {// Renamed LocationRequestHeader
+        unsigned long               request_id;
+        sequence <octet>            object_key;
+    };
+
+    // GIOP 1.1
+    typedef LocateRequestHeader_1_0 LocateRequestHeader_1_1;
+    // Same Header contents for 1.0 and 1.1
+
+    // GIOP 1.2
+    struct LocateRequestHeader_1_2 {
+            unsigned long           request_id;
+            TargetAddress           target;
+    };
+
+    // GIOP 1.3
+    typedef LocateRequestHeader_1_2 LocateRequestHeader_1_3;
+
+#ifndef GIOP_1_2
+    // GIOP 1.0 and 1.1
+    enum LocateStatusType_1_0 {// Renamed from LocateStatusType
+            UNKNOWN_OBJECT,
+            OBJECT_HERE,
+            OBJECT_FORWARD
+    };
+#endif
+
+    // GIOP 1.2
+    enum LocateStatusType_1_2 {
+            UNKNOWN_OBJECT,
+            OBJECT_HERE,
+            OBJECT_FORWARD,
+            OBJECT_FORWARD_PERM,        // new value for GIOP 1.2
+            LOC_SYSTEM_EXCEPTION,       // new value for GIOP 1.2
+            LOC_NEEDS_ADDRESSING_MODE   // new value for GIOP 1.2
+    };
+    struct LocateReplyHeader_1_2 {
+        unsigned long               request_id;
+        LocateStatusType_1_2        locate_status;
+    };
+
+    // GIOP 1.3
+    typedef LocateReplyHeader_1_2 LocateReplyHeader_1_3;
+
+    // GIOP 1.0
+    struct LocateReplyHeader_1_0 {// Renamed from LocateReplyHeader
+            unsigned long           request_id;
+            LocateStatusType_1_2    locate_status;
+    };
+
+    // GIOP 1.1
+    typedef LocateReplyHeader_1_0 LocateReplyHeader_1_1;
+    // same Header contents for 1.0 and 1.1
+
+    // GIOP 1.2
+    struct FragmentHeader_1_2 {
+        unsigned long               request_id;
+    };
+
+    // GIOP 1.3
+    typedef FragmentHeader_1_2 FragmentHeader_1_3;
+
+};
+#endif // _GIOP_IDL_

Added: geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/GSSUP.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/GSSUP.idl?rev=378927&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/GSSUP.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/GSSUP.idl Sun Feb 19 09:18:37 2006
@@ -0,0 +1,53 @@
+#ifndef _GSSUP_IDL_
+#define _GSSUP_IDL_
+#include <CSI.idl>
+
+#pragma prefix "omg.org"
+
+module GSSUP {
+
+	// The GSS Object Identifier allocated for the
+	// username/password mechanism is defined below.
+	//
+	// { iso-itu-t (2) international-organization (23) omg (130)
+	// security (1) authentication (1) gssup-mechanism (1) }
+
+	const CSI::StringOID GSSUPMechOID = "oid:2.23.130.1.1.1";
+
+	// The following structure defines the inner contents of the
+	// username password initial context token. This structure is
+	// CDR encapsulated and appended at the end of the
+	// username/password GSS (initial context) Token.
+
+	struct InitialContextToken {
+		CSI::UTF8String username;
+		CSI::UTF8String password;
+		CSI::GSS_NT_ExportedName target_name;
+	};
+	
+	typedef unsigned long ErrorCode;
+
+	// GSSUP Mechanism-Specific Error Token
+	struct ErrorToken {
+		ErrorCode error_code;
+	};
+
+	// The context validator has chosen not to reveal the GSSUP
+	// specific cause of the failure.
+	const ErrorCode GSS_UP_S_G_UNSPECIFIED = 1;
+
+	// The user identified in the username field of the
+	// GSSUP::InitialContextToken is unknown to the target.
+	const ErrorCode GSS_UP_S_G_NOUSER = 2;
+
+	// The password supplied in the GSSUP::InitialContextToken was
+	// incorrect.
+	const ErrorCode GSS_UP_S_G_BAD_PASSWORD = 3;
+
+	// The target_name supplied in the GSSUP::InitialContextToken does
+	// not match a target_name in a mechanism definition of the target.
+	const ErrorCode GSS_UP_S_G_BAD_TARGET = 4;
+
+}; // GSSUP
+
+#endif

Added: geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/IIOP.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/IIOP.idl?rev=378927&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/IIOP.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/IIOP.idl Sun Feb 19 09:18:37 2006
@@ -0,0 +1,53 @@
+// File: IIOP.idl
+// From CORBA 3.0: Chapter 15, General Inter-ORB Protocol
+
+#define _PRE_3_0_COMPILER_ 
+
+#ifndef _IIOP_IDL_
+#define _IIOP_IDL_
+
+#ifdef _PRE_3_0_COMPILER_ 
+#pragma prefix "omg.org"
+#include <IOP.idl>
+#else
+import ::IOP;
+#endif // _PRE_3_0_COMPILER_
+
+module IIOP {       // IDL extended for version 1.1 and 1.2
+
+#ifndef _PRE_3_0_COMPILER_ 
+    typeprefix IIOP "omg.org";
+#endif // _PRE_3_0_COMPILER_
+
+    struct Version {
+        octet               major;
+        octet               minor;
+    };
+    struct ProfileBody_1_0 {// renamed from ProfileBody
+        Version             iiop_version;
+        string              host;
+        unsigned short      port;
+        sequence <octet>    object_key;
+    };
+    struct ProfileBody_1_1 {// also used for 1.2
+        Version             iiop_version;
+        string              host;
+        unsigned short      port;
+        sequence <octet>    object_key;
+        // Added in 1.1 unchanged for 1.2
+        sequence <IOP::TaggedComponent> components; 
+    };              
+
+    // BiDirectional IIOP
+
+    struct ListenPoint {
+        string              host;
+        unsigned short      port;
+    };
+    typedef sequence<ListenPoint> ListenPointList;
+    struct BiDirIIOPServiceContext {// BI_DIR_IIOP Service Context
+        ListenPointList listen_points;
+    };
+};
+#endif // _IIOP_IDL_
+

Added: geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/IOP.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/IOP.idl?rev=378927&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/IOP.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/IOP.idl Sun Feb 19 09:18:37 2006
@@ -0,0 +1,175 @@
+// File: IOP.idl
+// From CORBA 3.0: Chapter 13, ORB Interoperability Achitecture
+
+#define _PRE_3_0_COMPILER_ 
+
+#ifndef _IOP_IDL_
+#define _IOP_IDL_
+
+#ifdef _PRE_3_0_COMPILER_ 
+#pragma prefix "omg.org"
+
+// #include <orb.idl>
+#else
+import ::CORBA;
+#endif // _PRE_3_0_COMPILER_
+
+module IOP {
+
+#ifndef _PRE_3_0_COMPILER_ 
+    typeprefix IOP "omg.org";
+#endif // _PRE_3_0_COMPILER_
+
+    // IOR Profiles
+
+    // Standard Protocol Profile tag values 
+    typedef unsigned long           ProfileId;
+    const ProfileId                 TAG_INTERNET_IOP = 0;
+    const ProfileId                 TAG_MULTIPLE_COMPONENTS = 1;
+    const ProfileId                 TAG_SCCP_IOP = 2;
+
+    struct TaggedProfile {
+        ProfileId                   tag;
+        sequence <octet>            profile_data;
+    };
+    
+   
+    // The IOR
+
+    // an Interoperable Object Reference is a sequence of
+    // object-specific protocol profiles, plus a type ID.
+    struct IOR {
+        string                      type_id;
+        sequence <TaggedProfile>    profiles;
+    };
+    
+
+    // IOR Components
+
+
+    // Standard way of representing multicomponent profiles.
+    // This would be encapsulated in a TaggedProfile.
+
+    typedef unsigned long ComponentId;
+
+    struct TaggedComponent {
+        ComponentId                 tag;
+        sequence <octet>            component_data;
+    };
+
+    typedef sequence <TaggedComponent> MultipleComponentProfile;
+
+    const ComponentId           TAG_ORB_TYPE                = 0;
+    const ComponentId           TAG_CODE_SETS               = 1;
+    const ComponentId           TAG_POLICIES                = 2;   
+    const ComponentId           TAG_ALTERNATE_IIOP_ADDRESS  = 3;
+    const ComponentId           TAG_ASSOCIATION_OPTIONS     = 13;
+    const ComponentId           TAG_SEC_NAME                = 14;
+    const ComponentId           TAG_SPKM_1_SEC_MECH         = 15;
+    const ComponentId           TAG_SPKM_2_SEC_MECH         = 16;
+    const ComponentId           TAG_KerberosV5_SEC_MECH     = 17;
+    const ComponentId           TAG_CSI_ECMA_Secret_SEC_MECH= 18;
+    const ComponentId           TAG_CSI_ECMA_Hybrid_SEC_MECH= 19;
+    const ComponentId           TAG_SSL_SEC_TRANS           = 20;
+    const ComponentId           TAG_CSI_ECMA_Public_SEC_MECH= 21;
+    const ComponentId           TAG_GENERIC_SEC_MECH        = 22;
+    const ComponentId           TAG_FIREWALL_TRANS          = 23; 
+    const ComponentId           TAG_SCCP_CONTACT_INFO       = 24; 
+    const ComponentId           TAG_JAVA_CODEBASE           = 25;
+
+    const ComponentId           TAG_TRANSACTION_POLICY      = 26;
+    const ComponentId           TAG_MESSAGE_ROUTER          = 30;
+    const ComponentId           TAG_OTS_POLICY              = 31;
+    const ComponentId           TAG_INV_POLICY              = 32;
+
+    const ComponentId           TAG_CSI_SEC_MECH_LIST       = 33;
+    const ComponentId           TAG_NULL_TAG                = 34;
+    const ComponentId           TAG_SECIOP_SEC_TRANS        = 35;
+
+    const ComponentId           TAG_TLS_SEC_TRANS           = 36;
+
+    const ComponentId           TAG_ACTIVITY_POLICY         = 37;
+ 
+
+    const ComponentId           TAG_COMPLETE_OBJECT_KEY     = 5;
+    const ComponentId           TAG_ENDPOINT_ID_POSITION    = 6;
+    const ComponentId           TAG_LOCATION_POLICY         = 12;
+    const ComponentId           TAG_DCE_STRING_BINDING      = 100;
+    const ComponentId           TAG_DCE_BINDING_NAME        = 101;
+    const ComponentId           TAG_DCE_NO_PIPES            = 102;
+
+    const ComponentId           TAG_DCE_SEC_MECH            = 103;
+
+    const ComponentId           TAG_INET_SEC_TRANS          = 123;
+
+    // Service Contexts
+
+    typedef unsigned long       ServiceId;
+    struct ServiceContext {
+        ServiceId               context_id;
+        sequence <octet>        context_data;
+    };
+    typedef sequence <ServiceContext> ServiceContextList;
+    const ServiceId             TransactionService          = 0;
+    const ServiceId             CodeSets                    = 1;
+    const ServiceId             ChainBypassCheck            = 2;
+    const ServiceId             ChainBypassInfo             = 3;
+    const ServiceId             LogicalThreadId             = 4;
+    const ServiceId             BI_DIR_IIOP                 = 5;
+    const ServiceId             SendingContextRunTime       = 6;
+    const ServiceId             INVOCATION_POLICIES         = 7;
+    const ServiceId             FORWARDED_IDENTITY          = 8;
+    const ServiceId             UnknownExceptionInfo        = 9;
+    const ServiceId             RTCorbaPriority             = 10;
+    const ServiceId             RTCorbaPriorityRange        = 11;
+    const ServiceId             FT_GROUP_VERSION            = 12;
+    const ServiceId             FT_REQUEST                  = 13;
+    const ServiceId             ExceptionDetailMessage      = 14;
+    const ServiceId             SecurityAttributeService    = 15;
+    const ServiceId             ActivityService             = 16;
+
+    /*
+    
+    // Coder Decoder from Portable Interceptor
+
+    local interface Codec {
+        exception InvalidTypeForEncoding {};
+        exception FormatMismatch {};
+        exception TypeMismatch {};
+
+        CORBA::OctetSeq encode (in any data)
+            raises (InvalidTypeForEncoding);
+        any decode (in CORBA::OctetSeq data)
+            raises (FormatMismatch);
+        CORBA::OctetSeq encode_value (in any data)
+            raises (InvalidTypeForEncoding);
+        any decode_value (
+            in CORBA::OctetSeq data,
+            in CORBA::TypeCode tc)
+            raises (FormatMismatch, TypeMismatch);
+    };
+
+    // Codec Factory
+
+    typedef short EncodingFormat;
+    const EncodingFormat ENCODING_CDR_ENCAPS = 0;
+
+    struct Encoding {
+        EncodingFormat format;
+        octet major_version;
+        octet minor_version;
+    };
+
+    local interface CodecFactory {
+        exception UnknownEncoding {};
+        Codec create_codec (in Encoding enc)
+            raises (UnknownEncoding);
+    };
+    
+    */
+};
+
+// #include <IOP_DCE.idl>
+
+#endif  // _IOP_IDL_
+

Added: geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/Readme.txt
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/Readme.txt?rev=378927&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/Readme.txt (added)
+++ geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/Readme.txt Sun Feb 19 09:18:37 2006
@@ -0,0 +1,45 @@
+These files have been adapted from the Corba 3.0 specs.  New CORBA 3.0
+interfaces and types have been commented out to provide the same functionality
+as in 2.3.1.
+
+Note, these files are being used for protocol marshalling (helpers and holders)
+
+echo on
+
+rem
+rem To use this in intellij:
+rem
+rem 1. Add an external tool called idlj
+rem    program: $JDKPath$/bin/idlj.exe
+rem    parameters: -i $JDKPath$/lib -verbose -pkgPrefix IOP org.apache.geronimo.gcc.org.omg -pkgPrefix GIOP org.apache.geronimo.gcc.org.omg -pkgPrefix IIOP org.apache.geronimo.gcc.org.omg -pkgPrefix CosNaming org.apache.geronimo.gcc.org.omg -td $ProjectFileDir$/genfiles/src $FileName$
+rem    working directory: $ProjectFileDir$\idl
+rem
+rem 2. You can right click on the .idl file and choose idlj to build it.
+rem
+
+rem
+rem This is the good version of the CORBA stubs/skels
+rem these files get copied into the d:\org.apache.geronimo.gcc\work\geronimo\corba_container\src
+rem
+
+setlocal
+
+set pkgprefix=org.apache.geronimo.gcc.org.omg
+
+set opts=
+set opts=-i %java_home%\lib
+set opts=%opts% -verbose
+set opts=%opts% -pkgPrefix IOP %pkgprefix%
+set opts=%opts% -pkgPrefix GIOP %pkgprefix%
+set opts=%opts% -pkgPrefix IIOP %pkgprefix%
+set opts=%opts% -pkgPrefix CosNaming %pkgprefix%
+
+
+idlj -td gen %opts% IOP.idl
+idlj -td gen %opts% GIOP.idl
+idlj -td gen %opts% IIOP.idl
+idlj -td gen %opts% CosNaming.idl
+
+idlj -td gen %opts% org.apache.geronimo.gcc-rmi-iiop.idl
+
+endlocal

Added: geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/SSLIOP.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/SSLIOP.idl?rev=378927&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/SSLIOP.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/SSLIOP.idl Sun Feb 19 09:18:37 2006
@@ -0,0 +1,53 @@
+/*
+
+Copyright 1995 AT&T Global Information Solutions Company
+Copyright 1995 Digital Equipment Corporation
+Copyright 1995 Expersoft Corporation
+Copyright 1995 Groupe Bull
+Copyright 1995 Hewlett-Packard Company
+Copyright 1995 IBM (in collaboration with Taligent, Inc.)
+Copyright 1995 International Computers Limited
+Copyright 2002 Object Management Group, Inc.
+Copyright 1997 Netscape Communications Corporation
+Copyright 1997 Northern Telecom LImited
+Copyright 1995 Novell, Inc.
+Copyright 1995 Siemens Nixdorf Informationssysteme AG
+Copyright 1995, 1997 SunSoft, Inc.
+Copyright 1995 Tandem Computer Inc. (in collaboration with Odyssey Research Assoc., Inc.)
+Copyright 1995 Tivoli Systems, Inc.
+Copyright 1997 Visigenic Software, Inc.
+
+The companies listed above have granted to the Object Management Group, Inc. (OMG) a nonexclusive, royalty-free, paid up,
+worldwide license to copy and distribute this document and to modify this document and distribute copies of the modified version.
+Each of the copyright holders listed above has agreed that no person shall be deemed to have infringed the copyright in
+the included material of any such copyright holder by reason of having used the specification set forth herein or having conformed
+any computer software to the specification.
+
+PATENT
+
+The attention of adopters is directed to the possibility that compliance with or adoption of OMG specifications may require use
+of an invention covered by patent rights. OMG shall not be responsible for identifying patents for which a license may be
+required by any OMG specification, or for conducting legal inquiries into the legal validity or scope of those patents that are
+brought to its attention. OMG specifications are prospective and advisory only. Prospective users are responsible for protecting
+themselves against liability for infringement of patents.
+
+*/
+
+#ifndef _SSLIOP_IDL
+#define _SSLIOP_IDL
+#pragma prefix "omg.org"
+#include <IOP.idl>
+#include<Security.idl>
+
+module SSLIOP {
+	// Security mechanism SSL
+
+	const IOP::ComponentId TAG_SSL_SEC_TRANS = 20;
+
+	struct SSL {
+		Security::AssociationOptions target_supports;
+		Security::AssociationOptions target_requires;
+		unsigned short port;
+	};
+};
+#endif /* _SSLIOP_IDL */

Added: geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/Security.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/Security.idl?rev=378927&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/Security.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/Security.idl Sun Feb 19 09:18:37 2006
@@ -0,0 +1,412 @@
+//Security Service, v1.8 - OMG IDL Summary File
+//Object Management Group, Inc.
+//
+//Copyright 1995, AT&T Global Information Solutions Company
+//Copyright 1995, Digital Equipment Corporation
+//Copyright 1995, Expersoft Corporation
+//Copyright 1995, Groupe Bull
+//Copyright 1995, Hewlett-Packard Company
+//Copyright 1995, IBM (in collaboration with Taligent, Inc.)
+//Copyright 1995, International Computers Limited
+//Copyright 2000, Object Management Group, Inc.
+//Copyright 1995, Netscape Communications Corporation
+//Copyright 1997, Northern Telecom Limited
+//Copyright 1995, Novell, Inc.
+//Copyright 1995, Siemens Nixdorf Informationssysteme AG
+//Copyright 1995, 1997, SunSoft, Inc.
+//Copyright 1995, Tandem Computer, Inc. (in collaboration with Odyssey Research Assoc, Inc.)
+//Copyright 1995, Tivoli Systems, Inc.
+//Copyright 1997, Visigenic Software, Inc.
+//
+//The companies listed above have granted to the Object Management Group, Inc.
+//(OMG) a nonexclusive, royalty-free, paid up, worldwide license to copy and
+//distribute this document and to modify this document and distribute copies of
+//the modified version. Each of the copyright holders listed above has agreed
+//that no person shall be deemed to have infringed the copyright in the included
+//material of any such copyright holder by reason of having used the
+//specification set forth herein or having conformed any computer software to
+//the specification.
+//
+//This file contains OMG IDL from the Security Service, v1.8 specification.
+//OMG regularly publishes a summary file that contains all the "code" parts of
+//an OMG formal document. Every formal document line that is IDL, PIDL, or
+//language code is included in the summary file. The reason for such a listing
+//is to give readers an electronic version of the "code" so that they can
+//extract pieces of it. Readers might want to test an example, include it in
+//their own code, or use it for documentation purposes. Having the code lines
+//available electronically means there is less likelihood of a transcription
+//error.
+//
+//This subsection defines the OMG IDL for security data types common to the
+//other security modules, which is the module Security. The Security module
+//depends on the TimeBase module and the CORBA module.
+
+
+
+
+#ifndef _SECURITY_IDL_
+#define _SECURITY_IDL_
+#include "geronimo-orb.idl"
+#include "TimeBase.idl"
+#pragma prefix "omg.org"
+
+module Security {
+
+# pragma version Security 1.8
+
+	typedef string 			SecurityName;
+	typedef sequence <octet> 	Opaque;
+	
+	// Constant declarations for Security Service Options
+	
+	const CORBA::ServiceOption SecurityLevel1 = 1;
+	const CORBA::ServiceOption SecurityLevel2 = 2;
+	const CORBA::ServiceOption NonRepudiation = 3;
+	const CORBA::ServiceOption SecurityORBServiceReady = 4;
+	const CORBA::ServiceOption SecurityServiceReady = 5;
+	const CORBA::ServiceOption ReplaceORBServices = 6;
+	const CORBA::ServiceOption ReplaceSecurityServices = 7;
+	const CORBA::ServiceOption StandardSecureInteroperability = 8;
+	const CORBA::ServiceOption DCESecureInteroperability = 9;
+	
+	// Service options for Common Secure Interoperability
+	
+	const CORBA::ServiceOption CommonInteroperabilityLevel0 = 10;
+	const CORBA::ServiceOption CommonInteroperabilityLevel1 = 11;
+	const CORBA::ServiceOption CommonInteroperabilityLevel2 = 12;
+	
+	// Security mech types supported for secure association
+	const CORBA::ServiceDetailType SecurityMechanismType = 1;
+	
+	// privilege types supported in standard access policy
+	const CORBA::ServiceDetailType SecurityAttribute = 2;
+	
+	// extensible families for standard data types
+	
+	struct ExtensibleFamily {
+		unsigned short family_definer;
+		unsigned short family;
+	};
+	
+	typedef sequence<octet> 	OID;
+	
+	typedef sequence<OID> 		OIDList;
+	
+	// security attributes
+	
+	typedef unsigned long SecurityAttributeType;
+	
+	// other attributes; family = 0
+	
+	const SecurityAttributeType AuditId = 1;
+	const SecurityAttributeType AccountingId = 2;
+	const SecurityAttributeType NonRepudiationId = 3;
+
+	// privilege attributes; family = 1
+	
+	const SecurityAttributeType _Public = 1;
+	const SecurityAttributeType AccessId = 2;
+	const SecurityAttributeType PrimaryGroupId = 3;
+	const SecurityAttributeType GroupId = 4;
+	const SecurityAttributeType Role = 5;
+	const SecurityAttributeType AttributeSet = 6;
+	const SecurityAttributeType Clearance = 7;
+	const SecurityAttributeType Capability = 8;
+	
+	struct AttributeType {
+		ExtensibleFamily attribute_family;
+		SecurityAttributeType attribute_type;
+	};
+	
+	typedef sequence<AttributeType> AttributeTypeList;
+	
+	struct SecAttribute {
+		AttributeType attribute_type;
+		OID defining_authority;
+		Opaque value;
+		// the value of this attribute can be
+		// decoded only with knowledge of defining_authority
+	};
+	
+	typedef sequence <SecAttribute> AttributeList;
+	
+	// Authentication return status
+	
+	enum AuthenticationStatus {
+	SecAuthSuccess,
+		SecAuthFailure,
+		SecAuthContinue,
+		SecAuthExpired
+	};
+	
+	// Association return status
+	
+	enum AssociationStatus {
+		SecAssocSuccess,
+		SecAssocFailure,
+		SecAssocContinue
+	};
+	
+	// Authentication method
+	
+	typedef unsigned long AuthenticationMethod;
+	
+	typedef sequence<AuthenticationMethod> AuthenticationMethodList;
+	
+	// Credential types
+	
+	enum InvocationCredentialsType {
+		SecOwnCredentials,
+		SecReceivedCredentials,
+		SecTargetCredentials
+	};
+	
+	// Declarations related to Rights
+	struct Right {
+		ExtensibleFamily rights_family;
+		string the_right;
+	};
+	
+	typedef sequence <Right> RightsList;
+	
+	enum RightsCombinator {
+		SecAllRights,
+		SecAnyRight
+	};
+	
+	// Delegation related
+	
+	enum DelegationState {
+		SecInitiator,
+		SecDelegate
+	};
+	
+	enum DelegationDirective {
+		Delegate,
+		NoDelegate
+	};
+	
+	// pick up from TimeBase
+	
+	typedef TimeBase::UtcT UtcT;
+	typedef TimeBase::IntervalT IntervalT;
+	typedef TimeBase::TimeT TimeT;
+	
+	// Security features available on credentials.
+	
+	enum SecurityFeature {
+		SecNoDelegation,
+		SecSimpleDelegation,
+		SecCompositeDelegation,
+		SecNoProtection,
+		SecIntegrity,
+		SecConfidentiality,
+		SecIntegrityAndConfidentiality,
+		SecDetectReplay,
+		SecDetectMisordering,
+		SecEstablishTrustInTarget,
+		SecEstablishTrustInClient
+	};
+	
+	// Quality of protection which can be specified
+	// for an object reference and used to protect messages
+	
+	enum QOP {
+		SecQOPNoProtection,
+		SecQOPIntegrity,
+		SecQOPConfidentiality,
+		SecQOPIntegrityAndConfidentiality
+	};
+	
+	// Type of SecurityContext
+	
+	enum SecurityContextType {
+		SecClientSecurityContext,
+		SecServerSecurityContext
+	};
+	
+	// Operational State of a Security Context
+	
+	enum SecurityContextState {
+		SecContextInitialized,
+		SecContextContinued,
+		SecContextClientEstablished,
+		SecContextEstablished,
+		SecContextEstablishExpired,
+		SecContextExpired,
+		SecContextInvalid
+	};
+	
+	struct ChannelBindings {
+		unsigned long initiator_addrtype;
+		sequence<octet> initiator_address;
+		unsigned long acceptor_addrtype;
+		sequence<octet> acceptor_address;
+		sequence<octet> application_data;
+	};
+	
+	// For use with SecurityReplaceable
+	
+	struct OpaqueBuffer {
+		Opaque buffer;
+		unsigned long startpos;
+		unsigned long endpos;
+		// startpos <= endpos
+		// OpaqueBuffer is said to be empty if startpos == endpos
+	};
+	
+	// Association options which can be administered
+	// on secure invocation policy and used to
+	// initialize security context
+	
+	typedef unsigned short AssociationOptions;
+	
+	const AssociationOptions NoProtection = 1;
+	const AssociationOptions Integrity = 2;
+	const AssociationOptions Confidentiality = 4;
+	const AssociationOptions DetectReplay = 8;
+	const AssociationOptions DetectMisordering = 16;
+	const AssociationOptions EstablishTrustInTarget = 32;
+	const AssociationOptions EstablishTrustInClient = 64;
+	const AssociationOptions NoDelegation = 128;
+	const AssociationOptions SimpleDelegation = 256;
+	const AssociationOptions CompositeDelegation = 512;
+	
+	// Flag to indicate whether association options being
+	// administered are the "required" or "supported" set
+	
+	enum RequiresSupports {
+		SecRequires,
+		SecSupports
+	};
+	
+	// Direction of communication for which
+	// secure invocation policy applies
+	
+	enum CommunicationDirection {
+		SecDirectionBoth,
+		SecDirectionRequest,
+		SecDirectionReply
+	};
+	
+	// security association mechanism type
+	
+	typedef string MechanismType;
+	typedef sequence<MechanismType> MechanismTypeList;
+	
+	// AssociationOptions-Direction pair
+	
+	struct OptionsDirectionPair {
+		AssociationOptions options;
+		CommunicationDirection direction;
+	};
+	
+	typedef sequence <OptionsDirectionPair> OptionsDirectionPairList;
+	
+	// Delegation mode which can be administered
+	
+	enum DelegationMode {
+		SecDelModeNoDelegation, // i.e. use own credentials
+		SecDelModeSimpleDelegation, // delegate received credentials
+		SecDelModeCompositeDelegation // delegate both;
+	};
+	
+	// Association options supported by a given mech type
+	
+	struct MechandOptions {
+		MechanismType mechanism_type;
+		AssociationOptions options_supported;
+	};
+	
+	typedef sequence <MechandOptions> MechandOptionsList;
+	
+	// Attribute of the SecurityLevel2::EstablishTrustPolicy
+	
+	struct EstablishTrust {
+		boolean trust_in_client;
+		boolean trust_in_target;
+	};
+	
+	// Audit
+	
+	typedef unsigned long AuditChannelId;
+	typedef unsigned short EventType;
+	
+	const EventType AuditAll = 0;
+	const EventType AuditPrincipalAuth = 1;
+	const EventType AuditSessionAuth = 2;
+	const EventType AuditAuthorization = 3;
+	const EventType AuditInvocation = 4;
+	const EventType AuditSecEnvChange = 5;
+	const EventType AuditPolicyChange = 6;
+	const EventType AuditObjectCreation = 7;
+	const EventType AuditObjectDestruction = 8;
+	const EventType AuditNonRepudiation = 9;
+	
+	enum DayOfTheWeek {
+		Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday
+	};
+		
+	enum AuditCombinator {
+		SecAllSelectors,
+		SecAnySelector
+	};
+	
+	struct AuditEventType {
+		ExtensibleFamily event_family;
+		EventType event_type;
+	};
+	
+	typedef sequence <AuditEventType> AuditEventTypeList;
+
+	typedef unsigned long SelectorType;
+	
+	const SelectorType InterfaceName = 1;
+	const SelectorType ObjectRef = 2;
+	const SelectorType Operation = 3;
+	const SelectorType Initiator = 4;
+	const SelectorType SuccessFailure = 5;
+	const SelectorType Time = 6;
+	const SelectorType DayOfWeek = 7;
+	
+	// values defined for audit_needed and audit_write are:
+	// InterfaceName: CORBA::RepositoryId
+	// ObjectRef: object reference
+	// Operation: op_name
+	// Initiator: Credentials
+	// SuccessFailure: boolean
+	// Time: utc time on audit_write; time picked up from
+	// environment in audit_needed if required
+	// DayOfWeek: DayOfTheWeek
+	
+	struct SelectorValue {
+		SelectorType selector;
+		any value;
+	};
+	
+	typedef sequence <SelectorValue> SelectorValueList;
+	
+	// Constant declaration for valid Security Policy Types
+	
+	// General administrative policies
+	
+	const CORBA::PolicyType SecClientInvocationAccess = 1;
+	const CORBA::PolicyType SecTargetInvocationAccess = 2;
+	const CORBA::PolicyType SecApplicationAccess = 3;
+	const CORBA::PolicyType SecClientInvocationAudit = 4;
+	const CORBA::PolicyType SecTargetInvocationAudit = 5;
+	const CORBA::PolicyType SecApplicationAudit = 6;
+	const CORBA::PolicyType SecDelegation = 7;
+	const CORBA::PolicyType SecClientSecureInvocation = 8;
+	const CORBA::PolicyType SecTargetSecureInvocation = 9;
+	const CORBA::PolicyType SecNonRepudiation = 10;
+	
+	// Policies used to control attributes of a binding to a target
+	const CORBA::PolicyType SecMechanismsPolicy = 12;
+	const CORBA::PolicyType SecInvocationCredentialsPolicy = 13;
+	const CORBA::PolicyType SecFeaturePolicy = 14; // obsolete
+	const CORBA::PolicyType SecQOPPolicy = 15;
+	const CORBA::PolicyType SecDelegationDirectivePolicy = 38;
+	const CORBA::PolicyType SecEstablishTrustPolicy = 39;
+};
+#endif /* _SECURITY_IDL_ */

Added: geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/TimeBase.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/TimeBase.idl?rev=378927&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/TimeBase.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/TimeBase.idl Sun Feb 19 09:18:37 2006
@@ -0,0 +1,40 @@
+//File: TimeBase.idl
+//Part of the Time Service
+// Note: if your IDL compiler does not yet support the 
+//   "long long" data type, compile this module with the 
+//   preprocessor definition "NOLONGLONG". With many 
+//   compilers this would be done with a qualifier on 
+//   the command line, something like -DNOLONGLONG
+
+#ifndef _TIME_BASE_IDL_
+#define _TIME_BASE_IDL_
+#pragma prefix "omg.org"
+
+module TimeBase {
+
+#ifdef NOLONGLONG
+	struct ulonglong{
+		unsigned long 		low;
+		unsigned long		high;
+	};
+	typedef ulonglong 		TimeT;
+#else
+	typedef unsigned long long	TimeT;
+#endif
+	
+	typedef TimeT 			InaccuracyT;
+	typedef short 			TdfT;
+	struct UtcT {
+		TimeT			time;		// 8 octets
+		unsigned long	inacclo;	// 4 octets
+		unsigned short	inacchi;	// 2 octets
+		TdfT			tdf;		// 2 octets 
+									// total 16 octets.
+	};
+
+	struct IntervalT {
+		TimeT			lower_bound;
+		TimeT			upper_bound;
+	};
+};
+#endif /* ifndef _TIME_BASE_IDL_ */

Added: geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/geronimo-orb.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/geronimo-orb.idl?rev=378927&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/geronimo-orb.idl (added)
+++ geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/geronimo-orb.idl Sun Feb 19 09:18:37 2006
@@ -0,0 +1,25 @@
+#ifndef _GERONIMO_ORB_IDL_
+#define _GERONIMO_ORB_IDL_
+
+// Some definitions from the CORBA module as needed
+// by other modules. This file is for declaration
+// purposes only!!
+
+module CORBA
+{
+	typedef unsigned long ServiceOption;
+	typedef unsigned long ServiceDetailType;
+
+	typedef unsigned long PolicyType;
+
+	// actually, Current is pseudo, but we need it this way so everything compiles
+	interface Current {};
+	
+	interface Policy
+	{
+		readonly attribute PolicyType policy_type;
+		Policy copy();
+		void destroy();
+	};
+};
+#endif // _ORB_IDL_

Added: geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/org-apache-geronimo-interop-rmi-iiop.idl
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba/src/main/idl/org-apache-geronimo-interop-rmi-iiop.idl?rev=378927&view=auto
==============================================================================
    (empty)

Added: geronimo/specs/trunk/geronimo-spec-corba/src/main/java/org/apache/geronimo/interop/ApacheVMCID.java
URL: http://svn.apache.org/viewcvs/geronimo/specs/trunk/geronimo-spec-corba/src/main/java/org/apache/geronimo/interop/ApacheVMCID.java?rev=378927&view=auto
==============================================================================
--- geronimo/specs/trunk/geronimo-spec-corba/src/main/java/org/apache/geronimo/interop/ApacheVMCID.java (added)
+++ geronimo/specs/trunk/geronimo-spec-corba/src/main/java/org/apache/geronimo/interop/ApacheVMCID.java Sun Feb 19 09:18:37 2006
@@ -0,0 +1,31 @@
+/**
+ *
+ * Copyright 2005 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.geronimo.interop;
+
+
+/**
+ * @version $Revision: $ $Date: $
+ */
+public interface ApacheVMCID {
+
+    /**
+     * The vendor minor code ID reserved for Apache. This value is or'd with
+     * the high order 20 bits of the minor code to produce the minor value
+     * in a system exception.
+     */
+    static final int value = 0x41534000;
+}



Mime
View raw message