Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TAOのSSLIOP、HTIOP、SHMIOP対応のための修正 #1013

Draft
wants to merge 19 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 10 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ if(CCACHE_PROGRAM)
set(CMAKE_CXX_COMPILER_LAUNCHER "${CCACHE_PROGRAM}")
endif()

set(SSL_ENABLE FALSE CACHE BOOL "set SSL_ENABLE")

if(NOT ORB_ROOT)
if(CORBA STREQUAL "omniORB")
if(UNIX)
Expand Down Expand Up @@ -46,6 +48,9 @@ if(NOT ORB_ROOT)
set(ACE_TAO_INCLUDE_DIRS ${TAO_Svc_Utils_INCLUDE_DIRS} ${TAO_CosNaming_INCLUDE_DIRS} ${TAO_IORTable_INCLUDE_DIRS} ${TAO_Utils_INCLUDE_DIRS} ${TAO_Strategies_INCLUDE_DIRS})
set(ACE_TAO_CFLAGS ${TAO_Svc_Utils_CFLAGS} ${TAO_CosNaming_CFLAGS} ${TAO_IORTable_CFLAGS} ${TAO_Utils_CFLAGS} ${TAO_Strategies_CFLAGS})
set(ACE_TAO_DIR ${TAO_Svc_Utils_PREFIX})
if(SSL_ENABLE)
set(ACE_TAO_LIBRARIES ${ACE_TAO_LIBRARIES} TAO_Security)
endif()
else(UNIX)
message(FATAL_ERROR "Please set ORB_ROOT.")
endif(UNIX)
Expand Down Expand Up @@ -132,7 +137,6 @@ else()
set(INSTALL_RTM_SHARE_DIR share)
endif(MSVC)

set(SSL_ENABLE FALSE CACHE BOOL "set SSL_ENABLE")
set(HTTP_ENABLE FALSE CACHE BOOL "set HTTP_ENABLE")
set(OBSERVER_ENABLE FALSE CACHE BOOL "set OBSERVER_ENABLE")

Expand Down Expand Up @@ -393,6 +397,9 @@ elseif(CORBA STREQUAL "omniORB")
endif(VXWORKS)
elseif(CORBA STREQUAL "TAO")
set(CORBA_NAME "TAO" CACHE STRING "CORBA name.")
if(SSL_ENABLE)
set(ORB_C_FLAGS_LIST ${ORB_C_FLAGS_LIST} -DSSL_ENABLE)
endif()

if(VXWORKS)
if("${VX_CPU_FAMILY}" STREQUAL "ppc")
Expand All @@ -403,7 +410,7 @@ elseif(CORBA STREQUAL "TAO")
set(ORB_C_FLAGS_LIST ${ORB_C_FLAGS_LIST} -DACE_VXWORKS=0x690 -DACE_HAS_PTHREADS -DACE_HAS_AIO_CALLS -DACE_LACKS_ISBLANK)

set(ORB_LINK_DIR ${ORB_ROOT}/lib)
set(ORB_LIBRARIES TAO_AnyTypeCode TAO_PortableServer TAO_Svc_Utils TAO_CosNaming TAO_DynamicInterface TAO_PI TAO_Utils TAO_PortableServer TAO_DiffServPolicy TAO_DynamicInterface TAO_Strategies TAO ACE)
set(ORB_LIBRARIES TAO_AnyTypeCode TAO_PortableServer TAO_Svc_Utils TAO_CosNaming TAO_DynamicInterface TAO_PI TAO_Utils TAO_PortableServer TAO_DiffServPolicy TAO_Strategies TAO ACE)
set(ORB_INCLUDE_DIR ${ORB_ROOT} ${ORB_ROOT}/TAO ${ORB_ROOT}/TAO/orbsvcs)
elseif(UNIX)
if(ORB_ROOT)
Expand All @@ -424,7 +431,7 @@ elseif(CORBA STREQUAL "TAO")
set(ORB_INCLUDE_DIR ${ORB_ROOT} ${ORB_ROOT}/TAO ${ORB_ROOT}/TAO/orbsvcs)
set(ORB_C_FLAGS_LIST ${ORB_C_FLAGS_LIST} -DWIN32_LEAN_AND_MEAN -DWITH_ACE)

set(ORB_LIBRARIES_INSTALL ${ORB_LIBRARIES1};TAO_IDL_FE;TAO_IDL_FEd;TAO_IDL_BE;TAO_IDL_BEd;)
set(ORB_LIBRARIES_INSTALL ${ORB_LIBRARIES1};TAO_IDL_FE;TAO_IDL_FEd;TAO_IDL_BE;TAO_IDL_BEd;TAO_Codeset;TAO_Codesetd;TAO_CosNaming_Skel;TAO_CosNaming_Serv;TAO_CosNaming_Servd;TAO_ImR_Client;TAO_ImR_Clientd;TAO_Messaging;TAO_Messagingd;TAO_Valuetype;TAO_Valuetyped;TAO_IORManip;TAO_IORManipd;TAO_CosNaming_Skeld;TAO_HTIOP;TAO_HTIOPd;ACE_HTBP;ACE_HTBPd;)
set(ORB_INSTALL_DIR ${OPENRTM_VERSION}/ACE/${RTM_VC_VER}/)
foreach(library ${ORB_LIBRARIES_INSTALL})
if((NOT (${library} STREQUAL "optimized")) AND (NOT (${library} STREQUAL "debug")))
Expand Down
70 changes: 69 additions & 1 deletion etc/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,73 @@ else()
endif()

if(CORBA STREQUAL "TAO")
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/tao_udp/svc.conf DESTINATION ${INSTALL_RTM_ETC_DIR}/tao_udp COMPONENT ext)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/tao_diop/svc.diop.conf DESTINATION ${INSTALL_RTM_ETC_DIR}/tao_diop COMPONENT ext)

configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/tao_diop/rtc.diop.conf.in ${PROJECT_BINARY_DIR}/rtc.diop.conf @ONLY)
install(
FILES ${PROJECT_BINARY_DIR}/rtc.diop.conf
DESTINATION ${INSTALL_RTM_ETC_DIR}/tao_diop
COMPONENT ext)



install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/tao_htiop/HT_Config.conf DESTINATION ${INSTALL_RTM_ETC_DIR}/tao_htiop COMPONENT ext)

configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/tao_htiop/svc.htiop.conf.in ${PROJECT_BINARY_DIR}/svc.htiop.conf @ONLY)
install(
FILES ${PROJECT_BINARY_DIR}/svc.htiop.conf
DESTINATION ${INSTALL_RTM_ETC_DIR}/tao_htiop
COMPONENT ext)

configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/tao_htiop/rtc.htiop.conf.in ${PROJECT_BINARY_DIR}/rtc.htiop.conf @ONLY)
install(
FILES ${PROJECT_BINARY_DIR}/rtc.htiop.conf
DESTINATION ${INSTALL_RTM_ETC_DIR}/tao_htiop
COMPONENT ext)



configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/tao_ssliop/rtc.ssliop.conf.in ${PROJECT_BINARY_DIR}/rtc.ssliop.conf @ONLY)
install(
FILES ${PROJECT_BINARY_DIR}/rtc.ssliop.conf
DESTINATION ${INSTALL_RTM_ETC_DIR}/tao_ssliop
COMPONENT ext)

configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/tao_ssliop/svc.ssliop.conf.in ${PROJECT_BINARY_DIR}/svc.ssliop.conf @ONLY)
install(
FILES ${PROJECT_BINARY_DIR}/svc.ssliop.conf
DESTINATION ${INSTALL_RTM_ETC_DIR}/tao_ssliop
COMPONENT ext)


install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/tao_shmiop/svc.shmiop.conf DESTINATION ${INSTALL_RTM_ETC_DIR}/tao_shmiop COMPONENT ext)

configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/tao_shmiop/rtc.shmiop.conf.in ${PROJECT_BINARY_DIR}/rtc.shmiop.conf @ONLY)
install(
FILES ${PROJECT_BINARY_DIR}/rtc.shmiop.conf
DESTINATION ${INSTALL_RTM_ETC_DIR}/tao_shmiop
COMPONENT ext)


configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/svc.names.htiop.conf.in ${PROJECT_BINARY_DIR}/svc.names.htiop.conf @ONLY)
install(
FILES ${PROJECT_BINARY_DIR}/svc.names.htiop.conf
DESTINATION ${INSTALL_RTM_ETC_DIR}
COMPONENT ext)

configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/svc.names.ssliop.conf.in ${PROJECT_BINARY_DIR}/svc.names.ssliop.conf @ONLY)
install(
FILES ${PROJECT_BINARY_DIR}/svc.names.ssliop.conf
DESTINATION ${INSTALL_RTM_ETC_DIR}
COMPONENT ext)


endif()
10 changes: 10 additions & 0 deletions etc/HT_Config.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@

[htbp]
# The Proxy_port and proxy_host values control how the HTIOP "inside" peers
# to connect to "outside" peers. In situations where the process inside a
# protected enclave is required to vector all HTTP traffic through some
# third-party proxy, such as Squid, then put the host and port for that
# proxy here.

#proxy_port=3128
#proxy_host=rtai.ociweb.com
6 changes: 6 additions & 0 deletions etc/svc.names.htiop.conf.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

dynamic HTIOP_Factory Service_Object *
TAO_HTIOP:_make_TAO_HTIOP_Protocol_Factory ()
"-config @CMAKE_INSTALL_PREFIX@/@INSTALL_RTM_ETC_DIR@/HT_Config.conf"

static Resource_Factory "-ORBProtocolFactory HTIOP_Factory"
4 changes: 4 additions & 0 deletions etc/svc.names.ssliop.conf.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
dynamic SSLIOP_Factory Service_Object *
TAO_SSLIOP:_make_TAO_SSLIOP_Protocol_Factory()
"-SSLAuthenticate SERVER_AND_CLIENT -SSLPrivateKey PEM:@CMAKE_INSTALL_PREFIX@/@INSTALL_RTM_ETC_DIR@/ssl/server.pem -SSLCertificate PEM:@CMAKE_INSTALL_PREFIX@/@INSTALL_RTM_ETC_DIR@/ssl/root.crt -SSLPassword passward -SSLCAfile PEM:@CMAKE_INSTALL_PREFIX@/@INSTALL_RTM_ETC_DIR@/ssl/root.crt"
static Resource_Factory "-ORBProtocolFactory SSLIOP_Factory"
5 changes: 5 additions & 0 deletions etc/tao_diop/rtc.diop.conf.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
logger.enable: YES
logger.log_level: DEBUG
#logger.file_name: stdout

corba.args: -ORBEndpoint iiop://: -ORBEndpoint diop://: -ORBSvcConf @CMAKE_INSTALL_PREFIX@/@INSTALL_RTM_ETC_DIR@/tao_diop/svc.diop.conf
File renamed without changes.
10 changes: 10 additions & 0 deletions etc/tao_htiop/HT_Config.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@

[htbp]
# The Proxy_port and proxy_host values control how the HTIOP "inside" peers
# to connect to "outside" peers. In situations where the process inside a
# protected enclave is required to vector all HTTP traffic through some
# third-party proxy, such as Squid, then put the host and port for that
# proxy here.

#proxy_port=3128
#proxy_host=rtai.ociweb.com
8 changes: 8 additions & 0 deletions etc/tao_htiop/rtc.htiop.conf.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
logger.enable: YES
logger.log_level: DEBUG
#logger.file_name: stdout

corba.args: -ORBEndpoint htiop:// -ORBSvcConf @CMAKE_INSTALL_PREFIX@/@INSTALL_RTM_ETC_DIR@/tao_htiop/svc.htiop.conf

corba.nameservers: corbaloc:htiop:127.0.0.1:2809
corba.master_manager: htiop://127.0.0.1:2810
6 changes: 6 additions & 0 deletions etc/tao_htiop/svc.htiop.conf.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

dynamic HTIOP_Factory Service_Object *
TAO_HTIOP:_make_TAO_HTIOP_Protocol_Factory ()
"-config @CMAKE_INSTALL_PREFIX@/@INSTALL_RTM_ETC_DIR@/tao_htiop/HT_Config.conf"

static Advanced_Resource_Factory "-ORBProtocolFactory HTIOP_Factory"
9 changes: 9 additions & 0 deletions etc/tao_shmiop/rtc.shmiop.conf.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
logger.enable: YES
logger.log_level: DEBUG
#logger.file_name: stdout

corba.args: -ORBEndpoint shmiop:// -ORBSvcConf @CMAKE_INSTALL_PREFIX@/@INSTALL_RTM_ETC_DIR@/tao_shmiop/svc.shmiop.conf


#corba.nameservers: corbaloc:shmiop:1.0@:2809
#corba.master_manager: shmiop://1.0@hostname:2810
1 change: 1 addition & 0 deletions etc/tao_shmiop/svc.shmiop.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
static Advanced_Resource_Factory "-ORBProtocolFactory SHMIOP_Factory -ORBProtocolFactory IIOP_Factory -ORBReactorType select_st"
8 changes: 8 additions & 0 deletions etc/tao_ssliop/rtc.ssliop.conf.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
logger.enable: YES
logger.log_level: DEBUG
#logger.file_name: stdout

corba.args: -ORBEndpoint ssliop://: -ORBSvcConf @CMAKE_INSTALL_PREFIX@/@INSTALL_RTM_ETC_DIR@/tao_ssliop/svc.ssliop.conf

corba.nameservers: corbaloc:ssliop:127.0.0.1:2809
corba.master_manager: ssliop://127.0.0.1:2810
4 changes: 4 additions & 0 deletions etc/tao_ssliop/svc.ssliop.conf.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
dynamic SSLIOP_Factory Service_Object *
TAO_SSLIOP:_make_TAO_SSLIOP_Protocol_Factory()
"-SSLAuthenticate SERVER_AND_CLIENT -SSLPrivateKey PEM:@CMAKE_INSTALL_PREFIX@/@INSTALL_RTM_ETC_DIR@/ssl/server.pem -SSLCertificate PEM:@CMAKE_INSTALL_PREFIX@/@INSTALL_RTM_ETC_DIR@/ssl/root.crt -SSLPassword passward -SSLCAfile PEM:@CMAKE_INSTALL_PREFIX@/@INSTALL_RTM_ETC_DIR@/ssl/root.crt"
static Advanced_Resource_Factory "-ORBProtocolFactory SSLIOP_Factory"
11 changes: 8 additions & 3 deletions src/ext/ssl/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@ project (SSLTransport
LANGUAGES CXX)


set(SSL_FILES ${CMAKE_CURRENT_SOURCE_DIR}/root.crt ${CMAKE_CURRENT_SOURCE_DIR}/server.pem)
install(FILES ${SSL_FILES} DESTINATION ${INSTALL_RTM_ETC_DIR}/ssl COMPONENT ext)

if(NOT CORBA STREQUAL "omniORB")
return()
endif()


set(OPENSSL_ROOT ${OPENSSL_ROOT} CACHE PATH "set OPENSSL_ROOT")

if(OPENSSL_ROOT)
Expand Down Expand Up @@ -55,9 +63,6 @@ if(WIN32)
else(WIN32)
endif(WIN32)

set(SSL_FILES ${CMAKE_CURRENT_SOURCE_DIR}/root.crt ${CMAKE_CURRENT_SOURCE_DIR}/server.pem)
install(FILES ${SSL_FILES} DESTINATION ${INSTALL_RTM_ETC_DIR}/ssl COMPONENT ext)


set(INSTALL_SSLTRANSPORT_DIR ${INSTALL_RTM_EXT_DIR}/ssl)
configure_file(
Expand Down
29 changes: 29 additions & 0 deletions src/lib/rtm/Manager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,10 @@
#endif
#endif

#if defined(ORB_IS_TAO) && defined(SSL_ENABLE)
#include <orbsvcs/SecurityLevel2C.h>
#endif

#include <fstream>
#include <iostream>
#include <utility>
Expand Down Expand Up @@ -1539,6 +1543,31 @@ std::vector<coil::Properties> Manager::getLoadableModules()
CORBA::Object_var obj =
m_pORB->resolve_initial_references((char*)"RootPOA");
m_pPOA = PortableServer::POA::_narrow(obj);
#if defined(ORB_IS_TAO) && defined(SSL_ENABLE)
for(size_t i=0;i < args.size();i++)
{
if(args[i].find("-ORB") != std::string::npos && args[i].find("Endpoint") != std::string::npos)
{
if(i < args.size()-1)
{
if(args[i+1].find("ssliop://") != std::string::npos)
{
CORBA::Object_var sec_man =
m_pORB->resolve_initial_references ("SecurityLevel2:SecurityManager");
SecurityLevel2::SecurityManager_var sec2manager =
SecurityLevel2::SecurityManager::_narrow (sec_man.in ());
SecurityLevel2::AccessDecision_var ad_tmp = sec2manager->access_decision ();
TAO::SL2::AccessDecision_var ad =
TAO::SL2::AccessDecision::_narrow (ad_tmp.in ());
ad->default_collocated_decision (true);
break;
}
}
}
}

#endif

#endif
if (CORBA::is_nil(m_pPOA))
{
Expand Down
37 changes: 25 additions & 12 deletions utils/cmake/OpenRTMConfig_TAO_Linux.cmake.in
Original file line number Diff line number Diff line change
Expand Up @@ -64,28 +64,41 @@ set(OPENRTM_SHORT_VERSION @RTM_SHORT_VERSION@)
set(OPENRTM_ORB TAO)
set(OPENRTM_IDL_WRAPPER rtm2-skelwrapper)
set(OPENRTM_IDL_WRAPPER_FLAGS --include-dir= --skel-suffix=Skel --stub-suffix=Stub)
set(OPENRTM_IDLC @IDL_COMPILE_COMMAND@)
set(OPENRTM_IDLC tao_idl)



# TAO version
set(TAO_DIR @ORB_ROOT@)
if(test${TAO_DIR} STREQUAL "test")
set(OPENRTM_IDLFLAGS -as -DTAO_IDL -I/usr/include -I/usr/local/include -I${OPENRTM_INCLUDE_DIR}/rtm/idl)
else()
set(OPENRTM_IDLFLAGS -as -DTAO_IDL -I${TAO_DIR}/include -I${OPENRTM_INCLUDE_DIR}/rtm/idl)
if(NOT PKG_CONFIG_FOUND)
include(CMakeFindDependencyMacro)
find_dependency(PkgConfig)
endif()
set(TAO_CFLAGS @ORB_C_FLAGS_LIST@;)
set(TAO_INCLUDE_DIRS @ORB_INCLUDE_DIR@)
#
# Getting TAO settings
#
pkg_check_modules(TAO_Svc_Utils REQUIRED TAO_Svc_Utils)
pkg_check_modules(TAO_CosNaming REQUIRED TAO_CosNaming)
pkg_check_modules(TAO_IORTable REQUIRED TAO_IORTable)
pkg_check_modules(TAO_Utils REQUIRED TAO_Utils)
pkg_check_modules(TAO_Strategies REQUIRED TAO_Strategies)
set(ACE_TAO_LIBRARIES ${TAO_Svc_Utils_LIBRARIES} ${TAO_CosNaming_LIBRARIES} ${TAO_IORTable_LIBRARIES} ${TAO_Utils_LIBRARIES} ${TAO_Strategies_LIBRARIES})
set(ACE_TAO_LIBRARY_DIRS ${TAO_Svc_Utils_LIBRARY_DIRS} ${TAO_CosNaming_LIBRARY_DIRS} ${TAO_IORTable_LIBRARY_DIRS} ${TAO_Utils_LIBRARY_DIRS} ${TAO_Strategies_LIBRARY_DIRS})
set(ACE_TAO_INCLUDE_DIRS ${TAO_Svc_Utils_INCLUDE_DIRS} ${TAO_CosNaming_INCLUDE_DIRS} ${TAO_IORTable_INCLUDE_DIRS} ${TAO_Utils_INCLUDE_DIRS} ${TAO_Strategies_INCLUDE_DIRS})
set(ACE_TAO_CFLAGS ${TAO_Svc_Utils_CFLAGS} ${TAO_CosNaming_CFLAGS} ${TAO_IORTable_CFLAGS} ${TAO_Utils_CFLAGS} ${TAO_Strategies_CFLAGS})
set(ACE_TAO_DIR ${TAO_Svc_Utils_PREFIX})


set(TAO_CFLAGS ${ACE_TAO_CFLAGS};)
set(TAO_INCLUDE_DIRS ${ACE_TAO_INCLUDE_DIRS})
set(TAO_LDFLAGS )
set(TAO_LIBRARY_DIRS @ORB_LINK_DIR@)
set(TAO_LIBRARIES @ORB_LIBRARIES@)
set(TAO_LIBRARY_DIRS ${ACE_TAO_LIBRARY_DIRS})
set(TAO_LIBRARIES ${ACE_TAO_LIBRARIES})

set(OPENRTM_CFLAGS ${OPENRTM_CFLAGS} ${TAO_CFLAGS})
set(OPENRTM_INCLUDE_DIRS ${OPENRTM_INCLUDE_DIRS} ${TAO_INCLUDE_DIRS})
set(OPENRTM_LDFLAGS ${OPENRTM_LDFLAGS} ${TAO_LDFLAGS})
set(OPENRTM_LIBRARY_DIRS ${OPENRTM_LIBRARY_DIRS} ${TAO_LIBRARY_DIRS})

set(OPENRTM_LIB_DIR ${OPENRTM_LIB_DIR} ${TAO_LIBRARY_DIRS})
set(OPENRTM_IDLFLAGS -as -DTAO_IDL -I${ACE_TAO_DIR}/include -I${OPENRTM_INCLUDE_DIR}/rtm/idl)


message(STATUS "OpenRTM-aist configuration done")
Expand Down
28 changes: 28 additions & 0 deletions utils/openrtmNames/openrtmNames.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,9 @@
#endif
#elif defined(ORB_IS_TAO)
#include <tao/IORTable/IORTable.h>
#ifdef SSL_ENABLE
#include <orbsvcs/SecurityLevel2C.h>
#endif
#endif
#include <rtm/ManagerConfig.h>
#include <coil/stringutil.h>
Expand Down Expand Up @@ -98,6 +101,31 @@ int main(int argc, char **argv)
#endif
orb = CORBA::ORB_init(cargvsize, cargv.get());

#ifdef ORB_IS_TAO
#ifdef SSL_ENABLE
for(size_t i=0;i < args.size();i++)
{
if(args[i].find("-ORB") != std::string::npos && args[i].find("Endpoint") != std::string::npos)
{
if(i < args.size()-1)
{
if(args[i+1].find("ssliop://") != std::string::npos)
{
CORBA::Object_var sec_man =
orb->resolve_initial_references ("SecurityLevel2:SecurityManager");
SecurityLevel2::SecurityManager_var sec2manager =
SecurityLevel2::SecurityManager::_narrow (sec_man.in ());
SecurityLevel2::AccessDecision_var ad_tmp = sec2manager->access_decision ();
TAO::SL2::AccessDecision_var ad =
TAO::SL2::AccessDecision::_narrow (ad_tmp.in ());
ad->default_collocated_decision (true);
break;
}
}
}
}
#endif
#endif

CORBA::Object_var root_obj = orb->resolve_initial_references("RootPOA");
root_poa = PortableServer::POA::_narrow(root_obj);
Expand Down
7 changes: 6 additions & 1 deletion utils/rtm-config/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,12 @@ elseif(CORBA STREQUAL "TAO")
if(WIN32)
set(IDLCOMMAND_FLAGS -as -DTAO_IDL -I${OPENRTM_DIR}/ACE/${RTM_VC_VER}/TAO)
else()
set(IDLCOMMAND_FLAGS -as -DTAO_IDL -I${ORB_ROOT}/TAO)
if(ORB_ROOT)
set(IDLCOMMAND_FLAGS -as -DTAO_IDL -I${ORB_ROOT}/TAO)
else()
set(IDLCOMMAND_FLAGS -as -DTAO_IDL -I${ACE_TAO_DIR}/include)
endif()

endif()
endif()

Expand Down
Loading