diff options
author | Ossama Othman <ossama-othman@users.noreply.github.com> | 2001-03-18 20:31:07 +0000 |
---|---|---|
committer | Ossama Othman <ossama-othman@users.noreply.github.com> | 2001-03-18 20:31:07 +0000 |
commit | d34d74160fc7293232612aa098e3e5fbd6464764 (patch) | |
tree | ccbdb7371f4d1c7891b50f746296844f859f8d35 /TAO/orbsvcs/orbsvcs | |
parent | 4ff7b42a63d8c73d3491da582f20beee1d8edc7e (diff) | |
download | ATCD-d34d74160fc7293232612aa098e3e5fbd6464764.tar.gz |
ChangeLogTag:Sun Mar 18 12:22:08 2001 Ossama Othman <ossama@uci.edu>
Diffstat (limited to 'TAO/orbsvcs/orbsvcs')
5 files changed, 31 insertions, 11 deletions
diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.cpp index e38c4f519c7..8f2caefdef2 100644 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.cpp +++ b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.cpp @@ -12,9 +12,8 @@ ACE_RCSID (TAO_SSLIOP, # include "SSLIOP_Current.inl" #endif /* __ACE_INLINE__ */ -TAO_SSLIOP_Current::TAO_SSLIOP_Current (size_t tss_slot, - const char *orb_id) - : tss_slot_ (tss_slot), +TAO_SSLIOP_Current::TAO_SSLIOP_Current (const char *orb_id) + : tss_slot_ (0), orb_id_ (orb_id), orb_core_ (0), setup_done_ (0), diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.h b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.h index fa2f1359e9a..1657ff64369 100644 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.h +++ b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.h @@ -53,7 +53,7 @@ class TAO_SSLIOP_Export TAO_SSLIOP_Current public: /// Constructor. - TAO_SSLIOP_Current (size_t tss_slot, const char *orb_id); + TAO_SSLIOP_Current (const char *orb_id); /// Return the peer certificate associated with the current /// request. @@ -82,6 +82,9 @@ public: CORBA::Environment &ACE_TRY_ENV = TAO_default_environment ()) ACE_THROW_SPEC ((CORBA::SystemException)); + /// Set the TSS slot ID assigned to this object. + void tss_slot (size_t slot); + /// Setup the Current. void setup (TAO_SSLIOP_Current_Impl *impl); diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.inl b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.inl index e33c55e03a8..d9dc230c9b1 100644 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.inl +++ b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.inl @@ -2,6 +2,12 @@ // // $Id$ +ACE_INLINE void +TAO_SSLIOP_Current::tss_slot (size_t slot) +{ + this->tss_slot_ = slot; +} + ACE_INLINE int TAO_SSLIOP_Current::implementation (TAO_SSLIOP_Current_Impl *impl) { diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.cpp index 22191b632e3..b927f3a363e 100644 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.cpp +++ b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.cpp @@ -30,14 +30,9 @@ TAO_SSLIOP_ORBInitializer::pre_init ( { TAO_ENV_ARG_DEFN; - CORBA::String_var orb_id = info->orb_id (ACE_TRY_ENV); ACE_CHECK; - size_t tss_slot = this->get_tss_slot_id (info, - ACE_TRY_ENV); - ACE_CHECK; - // Create the SSLIOP::Current object. // Note that a new SSLIOP::Current object is created for each ORB. // It wouldn't be very used to share security context information @@ -45,7 +40,7 @@ TAO_SSLIOP_ORBInitializer::pre_init ( // example. SSLIOP::Current_ptr current = SSLIOP::Current::_nil (); ACE_NEW_THROW_EX (current, - TAO_SSLIOP_Current (tss_slot, orb_id.in ()), + TAO_SSLIOP_Current (orb_id.in ()), CORBA::NO_MEMORY ( CORBA_SystemException::_tao_minor_code ( TAO_DEFAULT_MINOR_CODE, @@ -88,6 +83,23 @@ TAO_SSLIOP_ORBInitializer::post_init ( SSLIOP::Current::_narrow (obj.in (), ACE_TRY_ENV); ACE_CHECK; + if (!CORBA::is_nil (ssliop_current.in ())) + { + TAO_SSLIOP_Current *tao_current = + ACE_dynamic_cast (TAO_SSLIOP_Current *, + ssliop_current.in ()); + + if (tao_current != 0) + { + size_t slot = this->get_tss_slot_id (info, ACE_TRY_ENV); + ACE_CHECK; + + tao_current->tss_slot (slot); + } + else + ACE_THROW (CORBA::INTERNAL ()); + } + // Create the SSLIOP secure invocation server request interceptor. PortableInterceptor::ServerRequestInterceptor_ptr si = PortableInterceptor::ServerRequestInterceptor::_nil (); diff --git a/TAO/orbsvcs/orbsvcs/Security/Security_ORBInitializer.cpp b/TAO/orbsvcs/orbsvcs/Security/Security_ORBInitializer.cpp index 3c56268e921..5a709737ba1 100644 --- a/TAO/orbsvcs/orbsvcs/Security/Security_ORBInitializer.cpp +++ b/TAO/orbsvcs/orbsvcs/Security/Security_ORBInitializer.cpp @@ -32,7 +32,7 @@ TAO_Security_ORBInitializer::pre_init ( { if (TAO_debug_level > 0) ACE_ERROR ((LM_ERROR, - "(%P|%t) Security_ORBInitializer::post_init:\n" + "(%P|%t) Security_ORBInitializer::pre_init:\n" "(%P|%t) Unable to narrow " "\"PortableInterceptor::ORBInitInfo_ptr\" to\n" "(%P|%t) \"TAO_ORBInitInfo *.\"\n")); |