From 1ab6b96f0a61e26473c9230733609909306322c4 Mon Sep 17 00:00:00 2001 From: Ossama Othman Date: Tue, 24 Jul 2001 18:13:20 +0000 Subject: ChangeLogTag:Tue Jul 24 11:12:25 2001 Ossama Othman --- TAO/ChangeLogs/ChangeLog-02a | 18 ++++++++++++++++++ TAO/tao/IIOP_Acceptor.cpp | 12 ++++++++++-- TAO/tao/Strategies/DIOP_Acceptor.cpp | 9 +++++++-- TAO/tao/Strategies/SHMIOP_Acceptor.cpp | 9 +++++++-- TAO/tao/Strategies/UIOP_Acceptor.cpp | 7 ++++++- 5 files changed, 48 insertions(+), 7 deletions(-) diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a index c0f8d9e67c4..9d94be388c5 100644 --- a/TAO/ChangeLogs/ChangeLog-02a +++ b/TAO/ChangeLogs/ChangeLog-02a @@ -1,3 +1,21 @@ +Tue Jul 24 11:12:25 2001 Ossama Othman + + * tao/IIOP_Acceptor.cpp (create_shared_profile, + create_new_profile): + * tao/Strategies/DIOP_Acceptor.cpp + (create_shared_profile, create_new_profile): + * tao/Strategies/SHMIOP_Acceptor.cpp (create_profile): + * tao/Strategies/UIOP_Acceptor.cpp (create_profile): + + Do not add any tagged components to the profile if an IIOP 1.0 + endpoint/profile is being created. Tagged components were + introduced in IIOP 1.1. The same convention is adopted for the + other pluggable protocols distributed with TAO (UIOP, SHMIOP, + and DIOP). SSLIOP already does this check since it requires + tagged components in order to convey security association + information to the client. These changes address + interoperability issues. + Tue Jul 24 12:33:17 2001 Balachandran Natarajan * tests/Big_Reply/Client_Task.cpp (validate_connection): Some diff --git a/TAO/tao/IIOP_Acceptor.cpp b/TAO/tao/IIOP_Acceptor.cpp index 4cfe224bae8..c854f691e4e 100644 --- a/TAO/tao/IIOP_Acceptor.cpp +++ b/TAO/tao/IIOP_Acceptor.cpp @@ -133,7 +133,11 @@ TAO_IIOP_Acceptor::create_new_profiles (const TAO_ObjectKey &object_key, return -1; } - if (this->orb_core_->orb_params ()->std_profile_components () == 0) + // Do not add any tagged components to the profile if configured + // by the user not to do so, or if an IIOP 1.0 endpoint is being + // created (IIOP 1.0 did not support tagged components). + if (this->orb_core_->orb_params ()->std_profile_components () == 0 + || (this->version_.major == 1 && this->version_.minor == 0)) continue; pfile->tagged_components ().set_orb_type (TAO_ORB_TYPE); @@ -190,7 +194,11 @@ TAO_IIOP_Acceptor::create_shared_profile (const TAO_ObjectKey &object_key, return -1; } - if (this->orb_core_->orb_params ()->std_profile_components () != 0) + // Do not add any tagged components to the profile if configured + // by the user not to do so, or if an IIOP 1.0 endpoint is being + // created (IIOP 1.0 did not support tagged components). + if (this->orb_core_->orb_params ()->std_profile_components () != 0 + && (this->version_.major >= 1 && this->version_.minor >= 1)) { iiop_profile->tagged_components ().set_orb_type (TAO_ORB_TYPE); diff --git a/TAO/tao/Strategies/DIOP_Acceptor.cpp b/TAO/tao/Strategies/DIOP_Acceptor.cpp index d0febad299a..f0a8acabeb9 100644 --- a/TAO/tao/Strategies/DIOP_Acceptor.cpp +++ b/TAO/tao/Strategies/DIOP_Acceptor.cpp @@ -98,7 +98,11 @@ TAO_DIOP_Acceptor::create_new_profiles (const TAO_ObjectKey &object_key, return -1; } - if (this->orb_core_->orb_params ()->std_profile_components () == 0) + // Do not add any tagged components to the profile if configured + // by the user not to do so, or if an IIOP 1.0 endpoint is being + // created (IIOP 1.0 did not support tagged components). + if (this->orb_core_->orb_params ()->std_profile_components () == 0 + || (this->version_.major == 1 && this->version_.minor == 0)) continue; pfile->tagged_components ().set_orb_type (TAO_ORB_TYPE); @@ -155,7 +159,8 @@ TAO_DIOP_Acceptor::create_shared_profile (const TAO_ObjectKey &object_key, return -1; } - if (this->orb_core_->orb_params ()->std_profile_components () != 0) + if (this->orb_core_->orb_params ()->std_profile_components () != 0 + && (this->version_.major >= 1 && this->version_.minor >= 1)) { iiop_profile->tagged_components ().set_orb_type (TAO_ORB_TYPE); diff --git a/TAO/tao/Strategies/SHMIOP_Acceptor.cpp b/TAO/tao/Strategies/SHMIOP_Acceptor.cpp index 170a6b353b0..829561bf057 100644 --- a/TAO/tao/Strategies/SHMIOP_Acceptor.cpp +++ b/TAO/tao/Strategies/SHMIOP_Acceptor.cpp @@ -117,7 +117,12 @@ TAO_SHMIOP_Acceptor::create_profile (const TAO_ObjectKey &object_key, return -1; } - if (this->orb_core_->orb_params ()->std_profile_components () == 0) + // Do not add any tagged components to the profile if configured + // by the user not to do so, or if an SHMIOP 1.0 endpoint is being + // created (IIOP 1.0 did not support tagged components, so we follow + // the same convention for SHMIOP). + if (this->orb_core_->orb_params ()->std_profile_components () == 0 + || (this->version_.major == 1 && this->version_.minor == 0)) return 0; pfile->tagged_components ().set_orb_type (TAO_ORB_TYPE); @@ -321,7 +326,7 @@ TAO_SHMIOP_Acceptor::open_i (TAO_ORB_Core* orb_core) (void) this->base_acceptor_.acceptor().enable (ACE_CLOEXEC); // This avoids having child processes acquire the listen socket thereby // denying the server the opportunity to restart on a well-known endpoint. - // This does not affect the aberrent behavior on Win32 platforms. + // This does not affect the aberrent behavior on Win32 platforms. if (TAO_debug_level > 5) { diff --git a/TAO/tao/Strategies/UIOP_Acceptor.cpp b/TAO/tao/Strategies/UIOP_Acceptor.cpp index 7213bd93d2c..2625298ef81 100644 --- a/TAO/tao/Strategies/UIOP_Acceptor.cpp +++ b/TAO/tao/Strategies/UIOP_Acceptor.cpp @@ -128,7 +128,12 @@ TAO_UIOP_Acceptor::create_profile (const TAO_ObjectKey &object_key, return -1; } - if (this->orb_core_->orb_params ()->std_profile_components () == 0) + // Do not add any tagged components to the profile if configured + // by the user not to do so, or if an UIOP 1.0 endpoint is being + // created (IIOP 1.0 did not support tagged components, so we follow + // the same convention for UIOP). + if (this->orb_core_->orb_params ()->std_profile_components () == 0 + || (this->version_.major == 1 && this->version_.minor == 0)) return 0; pfile->tagged_components ().set_orb_type (TAO_ORB_TYPE); -- cgit v1.2.1