Author: adc Date: Sat Feb 5 17:51:53 2005 New Revision: 151532 URL: http://svn.apache.org/viewcvs?view=rev&rev=151532 Log: Some more idl files.
Added: geronimo/trunk/modules/interop/src/idl/SSLIOP.idl geronimo/trunk/modules/interop/src/idl/Security.idl geronimo/trunk/modules/interop/src/idl/TimeBase.idl geronimo/trunk/modules/interop/src/idl/orb.idl Modified: geronimo/trunk/modules/interop/maven.xml Modified: geronimo/trunk/modules/interop/maven.xml URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/interop/maven.xml?view=diff&r1=151531&r2=151532 ============================================================================== --- geronimo/trunk/modules/interop/maven.xml (original) +++ geronimo/trunk/modules/interop/maven.xml Sat Feb 5 17:51:53 2005 @@ -281,7 +281,100 @@ <ant:arg line="${pkg.prefix}"/> <ant:arg line="${maven.src.dir}/idl/CSIIOP.idl"/> </ant:exec> -</goal> + </goal> + + <goal name="interop:idlj:security-service"> + <ant:echo message="Interop :: idlj :: SecurityService :: TimeBase"/> + <ant:exec dir="${basedir}" executable="idlj"> + <ant:arg line="-td"/> + <ant:arg line="${maven.build.src}"/> + <ant:arg line="-i"/> + <ant:arg line="${java.home}/lib"/> + <ant:arg line="-i"/> + <ant:arg line="${maven.src.dir}/idl"/> + <ant:arg line="-verbose"/> + <ant:arg line="-pkgPrefix"/> + <ant:arg line="IOP"/> + <ant:arg line="${pkg.prefix}"/> + <ant:arg line="-pkgPrefix"/> + <ant:arg line="IIOP"/> + <ant:arg line="${pkg.prefix}"/> + <ant:arg line="-pkgPrefix"/> + <ant:arg line="GIOP"/> + <ant:arg line="${pkg.prefix}"/> + <ant:arg line="-pkgPrefix"/> + <ant:arg line="CosNaming"/> + <ant:arg line="${pkg.prefix}"/> + <ant:arg line="-pkgPrefix"/> + <ant:arg line="TimeBase"/> + <ant:arg line="${pkg.prefix}"/> + <ant:arg line="-pkgPrefix"/> + <ant:arg line="SecurityService"/> + <ant:arg line="${pkg.prefix}"/> + <ant:arg line="${maven.src.dir}/idl/TimeBase.idl"/> + </ant:exec> + + <ant:echo message="Interop :: idlj :: SecurityService :: SecurityService"/> + <ant:exec dir="${basedir}" executable="idlj"> + <ant:arg line="-td"/> + <ant:arg line="${maven.build.src}"/> + <ant:arg line="-i"/> + <ant:arg line="${java.home}/lib"/> + <ant:arg line="-i"/> + <ant:arg line="${maven.src.dir}/idl"/> + <ant:arg line="-verbose"/> + <ant:arg line="-pkgPrefix"/> + <ant:arg line="IOP"/> + <ant:arg line="${pkg.prefix}"/> + <ant:arg line="-pkgPrefix"/> + <ant:arg line="IIOP"/> + <ant:arg line="${pkg.prefix}"/> + <ant:arg line="-pkgPrefix"/> + <ant:arg line="GIOP"/> + <ant:arg line="${pkg.prefix}"/> + <ant:arg line="-pkgPrefix"/> + <ant:arg line="CosNaming"/> + <ant:arg line="${pkg.prefix}"/> + <ant:arg line="-pkgPrefix"/> + <ant:arg line="TimeBase"/> + <ant:arg line="${pkg.prefix}"/> + <ant:arg line="-pkgPrefix"/> + <ant:arg line="SecurityService"/> + <ant:arg line="${pkg.prefix}"/> + <ant:arg line="${maven.src.dir}/idl/Security.idl"/> + </ant:exec> + + <ant:echo message="Interop :: idlj :: SecurityService :: SSLIOP"/> + <ant:exec dir="${basedir}" executable="idlj"> + <ant:arg line="-td"/> + <ant:arg line="${maven.build.src}"/> + <ant:arg line="-i"/> + <ant:arg line="${java.home}/lib"/> + <ant:arg line="-i"/> + <ant:arg line="${maven.src.dir}/idl"/> + <ant:arg line="-verbose"/> + <ant:arg line="-pkgPrefix"/> + <ant:arg line="IOP"/> + <ant:arg line="${pkg.prefix}"/> + <ant:arg line="-pkgPrefix"/> + <ant:arg line="IIOP"/> + <ant:arg line="${pkg.prefix}"/> + <ant:arg line="-pkgPrefix"/> + <ant:arg line="GIOP"/> + <ant:arg line="${pkg.prefix}"/> + <ant:arg line="-pkgPrefix"/> + <ant:arg line="CosNaming"/> + <ant:arg line="${pkg.prefix}"/> + <ant:arg line="-pkgPrefix"/> + <ant:arg line="TimeBase"/> + <ant:arg line="${pkg.prefix}"/> + <ant:arg line="-pkgPrefix"/> + <ant:arg line="SecurityService"/> + <ant:arg line="${pkg.prefix}"/> + <ant:arg line="${maven.src.dir}/idl/SSLIOP.idl"/> + </ant:exec> + + </goal> <goal name="interop:idlj:costxn"> <!-- Are there any CosTransaction IDL files that require generation? --> @@ -301,6 +394,7 @@ <attainGoal name="interop:idlj:cosnaming"/> <attainGoal name="interop:idlj:interop-rmi-iiop"/> <attainGoal name="interop:idlj:csi"/> + <attainGoal name="interop:idlj:security-service"/> </goal> <preGoal name="java:compile"> Added: geronimo/trunk/modules/interop/src/idl/SSLIOP.idl URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/interop/src/idl/SSLIOP.idl?view=auto&rev=151532 ============================================================================== --- geronimo/trunk/modules/interop/src/idl/SSLIOP.idl (added) +++ geronimo/trunk/modules/interop/src/idl/SSLIOP.idl Sat Feb 5 17:51:53 2005 @@ -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/trunk/modules/interop/src/idl/Security.idl URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/interop/src/idl/Security.idl?view=auto&rev=151532 ============================================================================== --- geronimo/trunk/modules/interop/src/idl/Security.idl (added) +++ geronimo/trunk/modules/interop/src/idl/Security.idl Sat Feb 5 17:51:53 2005 @@ -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 <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/trunk/modules/interop/src/idl/TimeBase.idl URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/interop/src/idl/TimeBase.idl?view=auto&rev=151532 ============================================================================== --- geronimo/trunk/modules/interop/src/idl/TimeBase.idl (added) +++ geronimo/trunk/modules/interop/src/idl/TimeBase.idl Sat Feb 5 17:51:53 2005 @@ -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/trunk/modules/interop/src/idl/orb.idl URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/interop/src/idl/orb.idl?view=auto&rev=151532 ============================================================================== --- geronimo/trunk/modules/interop/src/idl/orb.idl (added) +++ geronimo/trunk/modules/interop/src/idl/orb.idl Sat Feb 5 17:51:53 2005 @@ -0,0 +1,10 @@ +#ifndef _ORB_IDL_ +#define _ORB_IDL_ +module CORBA +{ + typedef unsigned long ServiceOption; + typedef unsigned long ServiceDetailType; + + typedef unsigned long PolicyType; +}; +#endif // _ORB_IDL_