TAO_SSLIOP
2.1.2
|
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>
Overridden Template Methods | |
Please check the documentation in "tao/Transport.h" for more details. | |
TAO::SSLIOP::Current_var | current_ |
Reference to the TAO::SSLIOP::Current object. | |
virtual int | handle_input (TAO_Resume_Handle &rh, ACE_Time_Value *max_wait_time=0) |
Reference to the TAO::SSLIOP::Current object. |
Additional Inherited Members | |
![]() | |
enum | Drain_Result_Enum |
![]() | |
![]() | |
DR_ERROR | |
DR_OK | |
DR_QUEUE_EMPTY | |
DR_WOULDBLOCK | |
![]() | |
![]() | |
virtual | ~TAO_IIOP_Transport (void) |
int | process_parsed_messages (TAO_Queued_Data *qd, TAO_Resume_Handle &rh) |
int | send_message_shared_i (TAO_Stub *stub, TAO_Message_Semantics message_semantics, const ACE_Message_Block *message_block, ACE_Time_Value *max_wait_time) |
int | queue_message_i (const ACE_Message_Block *message_block, ACE_Time_Value *max_wait_time, bool back=true) |
ACE_Time_Value const * | io_timeout (TAO::Transport::Drain_Constraints const &dc) const |
virtual ACE_Event_Handler * | event_handler_i (void) |
virtual ssize_t | send (iovec *iov, int iovcnt, size_t &bytes_transferred, const ACE_Time_Value *timeout=0) |
virtual ssize_t | sendfile (TAO_MMAP_Allocator *allocator, iovec *iov, int iovcnt, size_t &bytes_transferred, TAO::Transport::Drain_Constraints const &dc) |
virtual ssize_t | recv (char *buf, size_t len, const ACE_Time_Value *s=0) |
![]() | |
CORBA::ULong const | tag_ |
TAO_ORB_Core *const | orb_core_ |
TAO::Transport_Cache_Manager::HASH_MAP_ENTRY * | cache_map_entry_ |
TAO_Transport_Mux_Strategy * | tms_ |
TAO_Wait_Strategy * | ws_ |
int | bidirectional_flag_ |
TAO::Connection_Role | opening_connection_role_ |
TAO_Queued_Message * | head_ |
TAO_Queued_Message * | tail_ |
TAO_Incoming_Message_Queue | incoming_message_queue_ |
TAO::Incoming_Message_Stack | incoming_message_stack_ |
ACE_Time_Value | current_deadline_ |
long | flush_timer_id_ |
TAO_Transport_Timer | transport_timer_ |
ACE_Lock * | handler_lock_ |
size_t | id_ |
unsigned long | purging_order_ |
size_t | recv_buffer_size_ |
size_t | sent_byte_count_ |
bool | is_connected_ |
![]() |
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() 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.
TAO::IIOP_SSL_Transport::IIOP_SSL_Transport | ( | IIOP_SSL_Connection_Handler * | handler, |
TAO_ORB_Core * | orb_core | ||
) |
Constructor.
TAO::IIOP_SSL_Transport::~IIOP_SSL_Transport | ( | void | ) |
Default destructor.
|
virtual |
Reference to the TAO::SSLIOP::Current object.
Reimplemented from TAO_IIOP_Transport.
|
protected |
Reference to the TAO::SSLIOP::Current object.