Main Page Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members

# TAO_IIOP_SSL_Transport Class Reference

IIOP Transport designed to be "SSL aware," i.e. it is aware of the existence of the SSLIOP Transport. It makes sure that SSL session state from a previous connection is not associated with the non-SSL connection handled by this handler. More...

`#include <IIOP_SSL_Transport.h>`

Inheritance diagram for TAO_IIOP_SSL_Transport

[legend]
Collaboration diagram for TAO_IIOP_SSL_Transport:

[legend]
List of all members.

## Public Methods
| TAO_IIOP_SSL_Transport (TAO_IIOP_SSL_Connection_Handler *handler, TAO_ORB_Core *orb_core, TAO_SSLIOP_Current_ptr current, CORBA::Boolean flag = 0)
| Constructor.
| ~TAO_IIOP_SSL_Transport (void)
| Default destructor.
virtual int | handle_input_i (TAO_Resume_Handle &rh, ACE_Time_Value *max_wait_time = 0, int block = 0)
## Protected Attributes
TAO_SSLIOP_Current_var | current_
| Reference to the SSLIOP::Current object (downcast to gain access to the low-level management methods).

## Detailed Description

IIOP Transport designed to be "SSL aware," i.e. it is aware of the existence of the SSLIOP Transport. It makes sure that SSL session state from a previous connection is not associated with the non-SSL connection handled by this handler.

However, this class overrides the handle_input_i() method to invalidate the current TSS SSL state during a standard IIOP (insecure) upcall. This prevents SSL session state from a previous SSL connection from being associated with non-SSL connections processed by this connection handler. In particular, this is very important for closing a security hole in nested upcalls. For example, an SSLIOP request is made. During that secure upcall, an insecure nested upcall is made. A naive implementation would associate the TSS SSL state from the secure upcall with the insecure upcall. This implementation closes that security hole.

## Constructor & Destructor Documentation

TAO_IIOP_SSL_Transport::TAO_IIOP_SSL_Transport ( | TAO_IIOP_SSL_Connection_Handler * handler,
| TAO_ORB_Core * orb_core,
| TAO_SSLIOP_Current_ptr current,
| CORBA::Boolean flag = 0 )`[inline]`

| Constructor.

TAO_IIOP_SSL_Transport::~TAO_IIOP_SSL_Transport ( | void )

| Default destructor.

## Member Function Documentation

int TAO_IIOP_SSL_Transport::handle_input_i ( | TAO_Resume_Handle & rh,
| ACE_Time_Value * max_wait_time = 0,
| int block = 0 )`[virtual]`

| Reimplemented from TAO_Transport.

## Member Data Documentation

TAO_SSLIOP_Current_var TAO_IIOP_SSL_Transport::current_`[protected]`

| Reference to the SSLIOP::Current object (downcast to gain access to the low-level management methods).

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

- IIOP_SSL_Transport.h
- IIOP_SSL_Transport.cpp