summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs
diff options
context:
space:
mode:
authorOssama Othman <ossama-othman@users.noreply.github.com>2001-03-18 20:31:07 +0000
committerOssama Othman <ossama-othman@users.noreply.github.com>2001-03-18 20:31:07 +0000
commitd34d74160fc7293232612aa098e3e5fbd6464764 (patch)
treeccbdb7371f4d1c7891b50f746296844f859f8d35 /TAO/orbsvcs/orbsvcs
parent4ff7b42a63d8c73d3491da582f20beee1d8edc7e (diff)
downloadATCD-d34d74160fc7293232612aa098e3e5fbd6464764.tar.gz
ChangeLogTag:Sun Mar 18 12:22:08 2001 Ossama Othman <ossama@uci.edu>
Diffstat (limited to 'TAO/orbsvcs/orbsvcs')
-rw-r--r--TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.cpp5
-rw-r--r--TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.h5
-rw-r--r--TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Current.inl6
-rw-r--r--TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_ORBInitializer.cpp24
-rw-r--r--TAO/orbsvcs/orbsvcs/Security/Security_ORBInitializer.cpp2
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"));