summaryrefslogtreecommitdiff
path: root/TAO
diff options
context:
space:
mode:
authorOssama Othman <ossama-othman@users.noreply.github.com>2003-05-19 18:06:55 +0000
committerOssama Othman <ossama-othman@users.noreply.github.com>2003-05-19 18:06:55 +0000
commitb028f8e6a066177cbf2c6ad56fb7a47a324f0d3d (patch)
tree906b05524154b4472545e2351bd6481fa4f0c8ce /TAO
parent92eef8323cf4a43764ae911b40369d536b0a44bf (diff)
downloadATCD-b028f8e6a066177cbf2c6ad56fb7a47a324f0d3d.tar.gz
ChangeLogTag:Mon May 19 11:05:26 2003 Ossama Othman <ossama@dre.vanderbilt.edu>
Diffstat (limited to 'TAO')
-rw-r--r--TAO/ChangeLog24
-rw-r--r--TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp4
-rw-r--r--TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp10
3 files changed, 36 insertions, 2 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index 1c36f5dcbd0..3d9bc2427a6 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,27 @@
+Mon May 19 11:05:26 2003 Ossama Othman <ossama@dre.vanderbilt.edu>
+
+ From Knut-Håvard Aksnes <knut@orion.no>
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp (parse_options):
+
+ Fixed support for "hostname_in_ior" endpoint option. [Bug 1370]
+
+ From David Kinder <david.kinder@sophos.com>
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp (ssliop_connect):
+
+ The base_connector_.connect() call will increment the handler's
+ reference count once more. This is not needed as we already
+ hold a reference to the handler. Therefore we discard this
+ second reference. Fixes a memory leak. [Bug 1506]
+
+ (retrieve_credentials):
+
+ For the default certificate and private key case, assign the
+ return value of the TAO_SSLIOP_Credentials_var::out() call to a
+ reference to a TAO_SSLIOP_Credentials_ptr. Previously, the
+ return value was assigned to a local TAO_SSLIOP_Credentials_ptr
+ variable that was lost when leaving the scope of this method.
+ Fixes a memory leak. [Bug 1508]
+
Mon May 19 15:51:20 2003 Simon McQueen <sm@prismtechnologies.com>
* orbsvcs/tests/Notify/Basic/Makefile:
diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp
index 6d91e7a8e49..ebdb1bec8b0 100644
--- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp
+++ b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Acceptor.cpp
@@ -622,6 +622,10 @@ TAO_SSLIOP_Acceptor::parse_options (const char *str)
value.c_str ()),
-1);
}
+ else if (name == "hostname_in_ior")
+ {
+ this->hostname_in_ior_ = value.rep ();
+ }
else
ACE_ERROR_RETURN ((LM_ERROR,
ACE_TEXT ("TAO (%P|%t) Invalid ")
diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp
index 5edc019039b..ae62a8ecb47 100644
--- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp
+++ b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp
@@ -527,6 +527,12 @@ TAO_SSLIOP_Connector::ssliop_connect (TAO_SSLIOP_Endpoint *ssl_endpoint,
remote_address,
synch_options);
+ // base_connector_.connect () will increment the handler's
+ // reference count once more. This is not needed as we already
+ // hold a reference to the handler, therefore we discard this
+ // second reference.
+ svc_handler->decr_refcount ();
+
// We dont have to wait since we only use a blocked connect
// strategy.
if (result == -1 && errno == EWOULDBLOCK)
@@ -557,7 +563,7 @@ TAO_SSLIOP_Connector::ssliop_connect (TAO_SSLIOP_Endpoint *ssl_endpoint,
// Reduce the refcount to the svc_handler that we have. The
// increment to the handler is done in make_svc_handler (). Now
// that we dont need the reference to it anymore we can decrement
- // the refcount whether the connection is successful ot not.
+ // the refcount whether the connection is successful or not.
svc_handler->decr_refcount ();
if (result == -1)
@@ -691,7 +697,7 @@ TAO_SSLIOP_Connector::retrieve_credentials (TAO_Stub *stub,
// Use the default certificate and private key, i.e. the one set
// in the SSL_CTX that was used when creating the SSL data
// structure.
- TAO_SSLIOP_Credentials_ptr c = ssliop_credentials.out ();
+ TAO_SSLIOP_Credentials_ptr & c = ssliop_credentials.out ();
ACE_NEW_THROW_EX (c,
TAO_SSLIOP_Credentials (::SSL_get_certificate (ssl),
::SSL_get_privatekey (ssl)),