summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOssama Othman <ossama-othman@users.noreply.github.com>2001-11-17 07:16:14 +0000
committerOssama Othman <ossama-othman@users.noreply.github.com>2001-11-17 07:16:14 +0000
commit0c16c3a96ac86c4898c4954c75c54b7bca7e2811 (patch)
tree0c73693814ae4b8f21300d7f61cfc2f35c5a3663
parentfd455e47edadd499a791254139896370c364e7c1 (diff)
downloadATCD-0c16c3a96ac86c4898c4954c75c54b7bca7e2811.tar.gz
ChangeLogTag:Fri Nov 16 23:11:33 2001 Ossama Othman <ossama@uci.edu>
-rw-r--r--TAO/ChangeLogs/ChangeLog-02a13
-rw-r--r--TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.h4
-rw-r--r--TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.i8
-rw-r--r--TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Transport.cpp20
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;
}
}