summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOssama Othman <ossama-othman@users.noreply.github.com>2002-05-18 15:03:11 +0000
committerOssama Othman <ossama-othman@users.noreply.github.com>2002-05-18 15:03:11 +0000
commit8cb67757a8a52e8e8efebd7894b49727b0c06ec7 (patch)
tree445ccec5e336a852c915b51546f9820bd5adfc2e
parent62acaf13cc3ecb034e06ba3630c2cd2bd5fe44f9 (diff)
downloadATCD-8cb67757a8a52e8e8efebd7894b49727b0c06ec7.tar.gz
ChangeLogTag:Sat May 18 07:59:59 2002 Ossama Othman <ossama@uci.edu>
-rw-r--r--TAO/ChangeLogs/ChangeLog-02a9
-rw-r--r--TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp17
-rw-r--r--TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h3
3 files changed, 23 insertions, 6 deletions
diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a
index f899dcd82c9..982b23251d8 100644
--- a/TAO/ChangeLogs/ChangeLog-02a
+++ b/TAO/ChangeLogs/ChangeLog-02a
@@ -1,3 +1,12 @@
+Sat May 18 07:59:59 2002 Ossama Othman <ossama@uci.edu>
+
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h:
+ * orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp (open):
+
+ Configure the connector to use blocked connections. The recent
+ non-blocking connect fixes had some thread safety issues. To be
+ addressed after the forthcoming beta.
+
Fri May 17 18:55:09 2002 Priyanka Gontla <pgontla@ece.uci.edu>
* tests/ORT/client.dsp :
diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp
index d2930046a40..8a4ba4a32ec 100644
--- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp
+++ b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.cpp
@@ -16,7 +16,7 @@
#include "tao/Thread_Lane_Resources.h"
#include "tao/Stub.h"
#include "tao/Transport_Connector.h"
-#include "tao/Connect_Strategy.h"
+#include "tao/Blocked_Connect_Strategy.h"
#include "ace/Auto_Ptr.h"
ACE_RCSID (TAO_SSLIOP,
@@ -27,7 +27,7 @@ ACE_RCSID (TAO_SSLIOP,
template class TAO_Connect_Concurrency_Strategy<TAO_SSLIOP_Connection_Handler>;
template class TAO_Connect_Creation_Strategy<TAO_SSLIOP_Connection_Handler>;
-template class ACE_SSL_Strategy_Connector<TAO_SSLIOP_Connection_Handler, ACE_SSL_SOCK_CONNECTOR>;
+template class ACE_Strategy_Connector<TAO_SSLIOP_Connection_Handler, ACE_SSL_SOCK_CONNECTOR>;
template class ACE_Connect_Strategy<TAO_SSLIOP_Connection_Handler, ACE_SSL_SOCK_CONNECTOR>;
template class ACE_Connector<TAO_SSLIOP_Connection_Handler, ACE_SSL_SOCK_CONNECTOR>;
template class ACE_Svc_Tuple<TAO_SSLIOP_Connection_Handler>;
@@ -43,7 +43,7 @@ template class ACE_Auto_Basic_Ptr<TAO_SSLIOP_Connection_Handler>;
#pragma instantiate TAO_Connect_Concurrency_Strategy<TAO_SSLIOP_Connection_Handler>
#pragma instantiate TAO_Connect_Creation_Strategy<TAO_SSLIOP_Connection_Handler>
-#pragma instantiate ACE_SSL_Strategy_Connector<TAO_SSLIOP_Connection_Handler, ACE_SSL_SOCK_CONNECTOR>
+#pragma instantiate ACE_Strategy_Connector<TAO_SSLIOP_Connection_Handler, ACE_SSL_SOCK_CONNECTOR>
#pragma instantiate ACE_Connect_Strategy<TAO_SSLIOP_Connection_Handler, ACE_SSL_SOCK_CONNECTOR>
#pragma instantiate ACE_Connector<TAO_SSLIOP_Connection_Handler, ACE_SSL_SOCK_CONNECTOR>
@@ -72,6 +72,14 @@ TAO_SSLIOP_Connector::TAO_SSLIOP_Connector (Security::QOP qop)
int
TAO_SSLIOP_Connector::open (TAO_ORB_Core *orb_core)
{
+ // Since the ACE_Strategy_Connector (and ACE_Connector) cannot
+ // handle non-blocking connections with protocols that have more
+ // than once handshake, such as SSL, force blocking connections for
+ // SSLIOP. This deficiency will be addressed soon.
+ ACE_NEW_RETURN (this->active_connect_strategy_,
+ TAO_Blocked_Connect_Strategy (orb_core),
+ -1);
+
if (this->TAO_IIOP_SSL_Connector::open (orb_core) == -1)
return -1;
@@ -88,7 +96,8 @@ TAO_SSLIOP_Connector::open (TAO_ORB_Core *orb_core)
(orb_core->thr_mgr (),
orb_core,
&(this->handler_state_),
- this->lite_flag_),
+ 0 /* Forcibly disable TAO's GIOPlite feature.
+ It introduces a security hole. */),
-1);
// Our activation strategy
diff --git a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h
index 2f4cf7331f3..d52dd76644f 100644
--- a/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h
+++ b/TAO/orbsvcs/orbsvcs/SSLIOP/SSLIOP_Connector.h
@@ -26,7 +26,6 @@
#endif /* ACE_LACKS_PRAGMA_ONCE */
#include "ace/SSL/SSL_SOCK_Connector.h"
-#include "ace/SSL/SSL_Connector.h"
#include "IIOP_SSL_Connector.h"
#include "SSLIOP_Connection_Handler.h"
@@ -109,7 +108,7 @@ public:
ACE_SSL_SOCK_CONNECTOR>
TAO_SSLIOP_CONNECT_STRATEGY ;
- typedef ACE_SSL_Strategy_Connector<TAO_SSLIOP_Connection_Handler,
+ typedef ACE_Strategy_Connector<TAO_SSLIOP_Connection_Handler,
ACE_SSL_SOCK_CONNECTOR>
TAO_SSLIOP_BASE_CONNECTOR;