diff options
author | Ossama Othman <ossama-othman@users.noreply.github.com> | 2001-11-17 07:16:14 +0000 |
---|---|---|
committer | Ossama Othman <ossama-othman@users.noreply.github.com> | 2001-11-17 07:16:14 +0000 |
commit | 0c16c3a96ac86c4898c4954c75c54b7bca7e2811 (patch) | |
tree | 0c73693814ae4b8f21300d7f61cfc2f35c5a3663 | |
parent | fd455e47edadd499a791254139896370c364e7c1 (diff) | |
download | ATCD-0c16c3a96ac86c4898c4954c75c54b7bca7e2811.tar.gz |
ChangeLogTag:Fri Nov 16 23:11:33 2001 Ossama Othman <ossama@uci.edu>
-rw-r--r-- | TAO/ChangeLogs/ChangeLog-02a | 13 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.h | 4 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.i | 8 | ||||
-rw-r--r-- | TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp | 20 |
4 files changed, 40 insertions, 5 deletions
diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a index c42d9a3d4ca..bf5f0299900 100644 --- a/TAO/ChangeLogs/ChangeLog-02a +++ b/TAO/ChangeLogs/ChangeLog-02a @@ -1,3 +1,16 @@ +Fri Nov 16 23:11:33 2001 Ossama Othman <ossama@uci.edu> + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.h (ssl_component): + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.i (ssl_component): + + New accessor method for the SSLIOP::SSL structure associated + with the acceptor. + + * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp (get_listen_point): + + Place the SSLIOP port into the listen point, not the IIOP port. + Fixes a problem with bidirectional GIOP over SSLIOP. + Fri Nov 16 16:41:45 2001 Craig Rodrigues <crodrigu@bbn.com> * orbsvcs/orbsvcs/AV/RTCP.cpp (send_report): Moved code diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.h b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.h index 4ac62d05d57..7edbb462dbf 100644 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.h +++ b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.h @@ -81,6 +81,10 @@ public: virtual int is_collocated (const TAO_Endpoint* endpoint); //@} + /// Retrieve the SSLIOP::SSL component associated with the endpoints + /// set up by this acceptor. + const SSLIOP::SSL &ssl_component (void) const; + private: /// Implement the common part of the open*() methods. diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.i b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.i index c130d6682b1..8fe65662e6e 100644 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.i +++ b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.i @@ -1,2 +1,10 @@ // -*- C++ -*- +// // $Id$ + + +ACE_INLINE const SSLIOP::SSL & +TAO_SSLIOP_Acceptor::ssl_component (void) const +{ + return this->ssl_component_; +} diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp index a8adc8ff016..58a45f65ce4 100644 --- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp +++ b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp @@ -329,7 +329,11 @@ TAO_SSLIOP_Transport::get_listen_point ( ACE_dynamic_cast (TAO_SSLIOP_Acceptor *, acceptor); - // Get the array of endpoints serviced by <iiop_acceptor> + if (ssliop_acceptor == 0) + return -1; + + // Get the array of IIOP (not SSLIOP!) endpoints serviced by the + // SSLIOP_Acceptor. const ACE_INET_Addr *endpoint_addr = ssliop_acceptor->endpoints (); @@ -337,6 +341,10 @@ TAO_SSLIOP_Transport::get_listen_point ( size_t count = ssliop_acceptor->endpoint_count (); + // The SSL port is stored in the SSLIOP::SSL component associated + // with the SSLIOP_Acceptor. + const SSLIOP::SSL &ssl = ssliop_acceptor->ssl_component (); + // Get the local address of the connection ACE_INET_Addr local_addr; @@ -365,9 +373,7 @@ TAO_SSLIOP_Transport::get_listen_point ( -1); } - for (size_t index = 0; - index != count; - index++) + for (size_t index = 0; index < count; ++index) { if (local_addr.get_ip_address() == endpoint_addr[index].get_ip_address()) @@ -382,7 +388,11 @@ TAO_SSLIOP_Transport::get_listen_point ( // same interface IIOP::ListenPoint &point = listen_point_list[len]; point.host = CORBA::string_dup (local_interface.in ()); - point.port = endpoint_addr[index].get_port_number (); + + // All endpoints, if more than one, serviced by the + // SSLIOP_Acceptor should be listening on the same port (due + // to the bind to the INADDR_ANY address). + point.port = ssl.port; } } |