TAO_SSLIOP  2.2.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Attributes | Private Attributes | Friends | List of all members
TAO_SSLIOP_Endpoint Class Reference

#include <SSLIOP_Endpoint.h>

Inheritance diagram for TAO_SSLIOP_Endpoint:
Inheritance graph
Collaboration diagram for TAO_SSLIOP_Endpoint:
Collaboration graph

Public Member Functions

 TAO_SSLIOP_Endpoint (const ::SSLIOP::SSL *ssl_component, TAO_IIOP_Endpoint *iiop_endp)
 Constructor. More...
 
virtual ~TAO_SSLIOP_Endpoint (void)
 Destructor. More...
 
TAO_SSLIOP_Endpointoperator= (const TAO_SSLIOP_Endpoint &other)
 
int credentials_set (void) const
 
TAO_Endpoint Methods

See Endpoint.h for their documentation.

virtual TAO_Endpointnext (void)
 
virtual int addr_to_string (char *buffer, size_t length)
 
CORBA::Boolean is_equivalent (const TAO_Endpoint *other_endpoint)
 
virtual TAO_Endpointduplicate (void)
 
virtual CORBA::ULong hash (void)
 
SSLIOP_Endpoint-specific Methods
const ::SSLIOP::SSLssl_component (void) const
 Return SSL component corresponding to this endpoint. More...
 
TAO_IIOP_Endpointiiop_endpoint (void) const
 Accessor to our IIOP counterpart. More...
 
void iiop_endpoint (TAO_IIOP_Endpoint *endpoint, bool destroy)
 Mutator to our IIOP counterpart. More...
 
const ACE_INET_Addrobject_addr (void) const
 Return the SSLIOP-specific ACE_INET_Addr. More...
 
void set_sec_attrs (::Security::QOP qop, const ::Security::EstablishTrust &trust, const TAO::SSLIOP::OwnCredentials_ptr creds)
 
::Security::QOP qop (void) const
 Get the Quality-of-Protection settings for this endpoint. More...
 
::Security::EstablishTrust trust (void) const
 Get the establishment of trust settings for this endpoint. More...
 
TAO::SSLIOP::OwnCredentialscredentials (void) const
 Get the credentials for this endpoint. More...
 
- Public Member Functions inherited from TAO_Endpoint
 TAO_Endpoint (CORBA::ULong tag, CORBA::Short priority=TAO_INVALID_PRIORITY)
 
virtual ~TAO_Endpoint (void)
 
CORBA::ULong tag (void) const
 
void priority (CORBA::Short priority)
 
CORBA::Short priority (void) const
 
virtual TAO_Endpointnext_filtered (TAO_ORB_Core *, TAO_Endpoint *root)
 

Protected Attributes

::SSLIOP::SSL ssl_component_
 
- Protected Attributes inherited from TAO_Endpoint
TAO_SYNCH_MUTEX addr_lookup_lock_
 
CORBA::ULong hash_val_
 
CORBA::ULong const tag_
 
CORBA::Short priority_
 

Private Attributes

ACE_INET_Addr object_addr_
 
TAO_SSLIOP_Endpointnext_
 
TAO_IIOP_Endpointiiop_endpoint_
 IIOP counterpart. More...
 
bool destroy_iiop_endpoint_
 
::Security::QOP qop_
 Quailty-of-Protection settings for this endpoint object. More...
 
::Security::EstablishTrust trust_
 Establishment of trust settings for this endpoint object. More...
 
TAO::SSLIOP::OwnCredentials_var credentials_
 SSLIOP-specific credentials for this endpoint object. More...
 
int credentials_set_
 A flag indicating that credentials_ was explicitly initialized. More...
 

Friends

class TAO_SSLIOP_Profile
 

Constructor & Destructor Documentation

TAO_SSLIOP_Endpoint::TAO_SSLIOP_Endpoint ( const ::SSLIOP::SSL ssl_component,
TAO_IIOP_Endpoint iiop_endp 
)

Constructor.

TAO_SSLIOP_Endpoint::~TAO_SSLIOP_Endpoint ( void  )
virtual

Destructor.

Member Function Documentation

int TAO_SSLIOP_Endpoint::addr_to_string ( char *  buffer,
size_t  length 
)
virtual

Return true if this endpoint is equivalent to other_endpoint The relationship is defined as equivalency of their qop, hostname and ssl ports (if non-zero). Two endpoints may be equivalent even if their iiop counterparts are not. In fact, there are cases (as with the LPL processing) when those counterparts are not known at all.

Implements TAO_Endpoint.

TAO::SSLIOP::OwnCredentials * TAO_SSLIOP_Endpoint::credentials ( void  ) const

Get the credentials for this endpoint.

Note
This method does not follow C++ mapping memory management rules. Specifically, no duplication or reference counting occurs in this method. This is so that no additional locks occur when checking the transport cache.
int TAO_SSLIOP_Endpoint::credentials_set ( void  ) const

Credentials are not supplied by the constructor, and it is valid to have a nil credential, for instance if the SSL_use_certificate() method returns 0. Therefore it is necessary to have a new method to distinguish between a credential that is nil because it has not been set, vs one that was set to nil explicitly.

TAO_Endpoint * TAO_SSLIOP_Endpoint::duplicate ( void  )
virtual

Return a copy of the corresponding endpoints by allocating memory.

Implements TAO_Endpoint.

Reimplemented in TAO_SSLIOP_Synthetic_Endpoint.

CORBA::ULong TAO_SSLIOP_Endpoint::hash ( void  )
virtual

Return a hash value for this object. Note that only the IP address and port are used to generate the hash value. This may cause a few more hash table collisions in the transport cache, because a synthesized SSLIOP endpoints for an address will have the same hash value as a fully qualified one. The redeeming feature is that it makes / bi-directional SSLIOP work by allowing descendent class (Synthetic_Endpoint) instances to be used as keys in the cache manager and match other fully qualified endpoint. (which were used earlier to cache a particular transport)

Implements TAO_Endpoint.

TAO_IIOP_Endpoint * TAO_SSLIOP_Endpoint::iiop_endpoint ( void  ) const

Accessor to our IIOP counterpart.

void TAO_SSLIOP_Endpoint::iiop_endpoint ( TAO_IIOP_Endpoint endpoint,
bool  destroy 
)

Mutator to our IIOP counterpart.

Parameters
endpointThe new endpoint
destroyIf set to true, the TAO::SSLIOP::Endpoint object retains ownership of the given TAO_IIOP_Endpoint.
CORBA::Boolean TAO_SSLIOP_Endpoint::is_equivalent ( const TAO_Endpoint other_endpoint)
virtual

Return true if this endpoint is equivalent to other_endpoint The relationship is defined as equivalency of their qop, hostname and ssl ports (if non-zero). Two endpoints may be equivalent even if their iiop counterparts are not. In fact, there are cases (as with the LPL processing) when those counterparts are not known at all.

Implements TAO_Endpoint.

Reimplemented in TAO_SSLIOP_Synthetic_Endpoint.

TAO_Endpoint * TAO_SSLIOP_Endpoint::next ( void  )
virtual

Return true if this endpoint is equivalent to other_endpoint The relationship is defined as equivalency of their qop, hostname and ssl ports (if non-zero). Two endpoints may be equivalent even if their iiop counterparts are not. In fact, there are cases (as with the LPL processing) when those counterparts are not known at all.

Implements TAO_Endpoint.

const ACE_INET_Addr & TAO_SSLIOP_Endpoint::object_addr ( void  ) const

Return the SSLIOP-specific ACE_INET_Addr.

TAO_SSLIOP_Endpoint & TAO_SSLIOP_Endpoint::operator= ( const TAO_SSLIOP_Endpoint other)

Need to have an assignment operator since the SSLIOP_Profile class may have to reorder its list of endpoints based on filtering by the EndpointPolicy.

Security::QOP TAO_SSLIOP_Endpoint::qop ( void  ) const

Get the Quality-of-Protection settings for this endpoint.

void TAO_SSLIOP_Endpoint::set_sec_attrs ( ::Security::QOP  qop,
const ::Security::EstablishTrust trust,
const TAO::SSLIOP::OwnCredentials_ptr  creds 
)

Set the Quality-of-Protection, establishment of trust, and credentials for this endpoint. This is all done in one function so that the guard may be used uniformly.

const ::SSLIOP::SSL & TAO_SSLIOP_Endpoint::ssl_component ( void  ) const

Return SSL component corresponding to this endpoint.

Security::EstablishTrust TAO_SSLIOP_Endpoint::trust ( void  ) const

Get the establishment of trust settings for this endpoint.

Friends And Related Function Documentation

friend class TAO_SSLIOP_Profile
friend

Member Data Documentation

TAO::SSLIOP::OwnCredentials_var TAO_SSLIOP_Endpoint::credentials_
private

SSLIOP-specific credentials for this endpoint object.

int TAO_SSLIOP_Endpoint::credentials_set_
private

A flag indicating that credentials_ was explicitly initialized.

bool TAO_SSLIOP_Endpoint::destroy_iiop_endpoint_
private

Flag that determines whether or not the iiop_endpoint_ member is deallocated with delete().

TAO_IIOP_Endpoint* TAO_SSLIOP_Endpoint::iiop_endpoint_
private

IIOP counterpart.

Since SSLIOP is an 'extension' of IIOP, each SSLIOP_Endpoint contains SSL-specific information plus a pointer to the IIOP_Endpoint containing the IIOP portion of our address.

TAO_SSLIOP_Endpoint* TAO_SSLIOP_Endpoint::next_
private

IIOP Endpoints can be strung into a list. Return the next endpoint in the list, if any.

ACE_INET_Addr TAO_SSLIOP_Endpoint::object_addr_
mutableprivate

Cached instance of ACE_INET_Addr for use in making invocations, etc.

::Security::QOP TAO_SSLIOP_Endpoint::qop_
private

Quailty-of-Protection settings for this endpoint object.

::SSLIOP::SSL TAO_SSLIOP_Endpoint::ssl_component_
protected

Cache the SSL tagged component in a decoded format. Notice that we do not need to marshal this object!

::Security::EstablishTrust TAO_SSLIOP_Endpoint::trust_
private

Establishment of trust settings for this endpoint object.


The documentation for this class was generated from the following files: