summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Mitz <mitza@ociweb.com>2017-12-01 13:30:52 -0600
committerAdam Mitz <mitza@ociweb.com>2017-12-01 13:30:52 -0600
commit023a87ef783547246ee4c596c52dc8ea10dba6b8 (patch)
tree13bf8f85c1aa15f7b60e8dc8ed3115cf15cb25f0
parent4cfd0f592e8a2bce85c306d5592b6a842d200eae (diff)
downloadATCD-023a87ef783547246ee4c596c52dc8ea10dba6b8.tar.gz
Bug 1220 fix applied to SSLIOP (fixed for IIOP long ago).
-rw-r--r--TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp15
1 files changed, 6 insertions, 9 deletions
diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp
index cd43a64f64c..704b3cde555 100644
--- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp
+++ b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp
@@ -338,19 +338,16 @@ TAO::SSLIOP::Acceptor::is_collocated (const TAO_Endpoint *endpoint)
if (endp == 0)
return 0;
+ const TAO_IIOP_Endpoint *iiop = endp->iiop_endpoint ();
+
for (size_t i = 0; i < this->endpoint_count_; ++i)
{
- // @@ TODO The following code looks funky, why only the address
- // is compared? What about the IIOP address? Why force a
- // DNS lookup every time an SSLIOP object is decoded:
- //
- // http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=1220
- //
- if (endp->iiop_endpoint ()->object_addr () == this->addrs_[i])
- return 1; // Collocated
+ if (iiop->port () == this->addrs_[i].get_port_number ()
+ && ACE_OS::strcmp (iiop->host (), this->hosts_[i]) == 0)
+ return 1;
}
- return 0; // Not collocated
+ return 0;
}
int