TAO::Null_SSL_State_Guard Class Reference

This class sets up null TSS SSL state upon instantiation, and restores the previous TSS SSL state when that instance goes out of scope. More...

#include <IIOP_SSL_Connection_Handler.h>

Collaboration diagram for TAO::Null_SSL_State_Guard:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Null_SSL_State_Guard (TAO::SSLIOP::Current_ptr current, int &result)
 Constructor that sets up the null TSS SSL state.

 ~Null_SSL_State_Guard (void)
 Destructor that restores the previous TSS SSL state.


Private Attributes

TAO::SSLIOP::Current_Implprevious_current_impl_
TAO::SSLIOP::Current_ptr current_
 Reference to the SSLIOP::Current object.

bool setup_done_

Detailed Description

This class sets up null TSS SSL state upon instantiation, and restores the previous TSS SSL state when that instance goes out of scope.

This guard is used to make TSS SSL state configuration and deconfiguration during an upcall exception safe. Exceptions are not supposed to be propagated up to the scope this guard is used in, so this guard may be unnecessary. However, since proper TSS SSL state configuration/deconfiguration is critical to proper security support, this guard is used to ensure that configuration/deconfiguration is exception safe.

Definition at line 81 of file IIOP_SSL_Connection_Handler.h.


Constructor & Destructor Documentation

TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE TAO::Null_SSL_State_Guard::Null_SSL_State_Guard TAO::SSLIOP::Current_ptr  current,
int &  result
 

Constructor that sets up the null TSS SSL state.

Definition at line 8 of file IIOP_SSL_Connection_Handler.inl.

00011   : previous_current_impl_ (0),
00012     current_ (current), // No need to duplicate
00013     setup_done_ (false)
00014 {
00015   // Invalidate the TSS SSL session state to make sure that SSL state
00016   // from a previous SSL connection is not confused with this non-SSL
00017   // connection.
00018   current->setup (this->previous_current_impl_,
00019                   0, // Null SSL state
00020                   this->setup_done_);
00021 
00022   result = 0;
00023 }

ACE_INLINE TAO::Null_SSL_State_Guard::~Null_SSL_State_Guard void   ) 
 

Destructor that restores the previous TSS SSL state.

Definition at line 26 of file IIOP_SSL_Connection_Handler.inl.

00027 {
00028   // Restore the previous TSS SSL state.
00029   this->current_->teardown (this->previous_current_impl_,
00030                             this->setup_done_);
00031 }


Member Data Documentation

TAO::SSLIOP::Current_ptr TAO::Null_SSL_State_Guard::current_ [private]
 

Reference to the SSLIOP::Current object.

Definition at line 103 of file IIOP_SSL_Connection_Handler.h.

TAO::SSLIOP::Current_Impl* TAO::Null_SSL_State_Guard::previous_current_impl_ [private]
 

It is stored here until the invocation completes, after which it placed back into TSS.

Definition at line 100 of file IIOP_SSL_Connection_Handler.h.

bool TAO::Null_SSL_State_Guard::setup_done_ [private]
 

Flag that specifies whether or not setup of the SSLIOP::Current object completed for the current thread and invocation.

Definition at line 107 of file IIOP_SSL_Connection_Handler.h.


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 13:55:30 2006 for TAO_SSLIOP by doxygen 1.3.6