summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOssama Othman <ossama-othman@users.noreply.github.com>2002-05-18 15:21:55 +0000
committerOssama Othman <ossama-othman@users.noreply.github.com>2002-05-18 15:21:55 +0000
commitb819882ed380d918119d0d25ea13c65a1c23c0f4 (patch)
tree610445283efc1f82099edaddfbadaa3159a20f45
parentb240197ac249230a63ac446b2e84756993469912 (diff)
downloadATCD-b819882ed380d918119d0d25ea13c65a1c23c0f4.tar.gz
ChangeLogTag:Sat May 18 08:19:48 2002 Ossama Othman <ossama@uci.edu>
-rw-r--r--ChangeLog9
-rw-r--r--ChangeLogs/ChangeLog-02a9
-rw-r--r--ChangeLogs/ChangeLog-03a9
-rw-r--r--ace/SSL/SSL_Connector.cpp196
-rw-r--r--ace/SSL/SSL_Connector.h137
5 files changed, 27 insertions, 333 deletions
diff --git a/ChangeLog b/ChangeLog
index ef8068a7631..8598b2d172b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+Sat May 18 08:19:48 2002 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Connector.h:
+ * ace/SSL/SSL_Connector.cpp:
+
+ Temporarily removed these files since there are still some
+ thread-safefy issues to be addressed in the implementation.
+ Better to wait until after the forthcoming beta to ship them.
+
Fri May 17 07:32:49 2002 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
* ace/Log_Msg.cpp: Replaced ACE_NEW_RETURN_I with ACE_NEW_RETURN.
diff --git a/ChangeLogs/ChangeLog-02a b/ChangeLogs/ChangeLog-02a
index ef8068a7631..8598b2d172b 100644
--- a/ChangeLogs/ChangeLog-02a
+++ b/ChangeLogs/ChangeLog-02a
@@ -1,3 +1,12 @@
+Sat May 18 08:19:48 2002 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Connector.h:
+ * ace/SSL/SSL_Connector.cpp:
+
+ Temporarily removed these files since there are still some
+ thread-safefy issues to be addressed in the implementation.
+ Better to wait until after the forthcoming beta to ship them.
+
Fri May 17 07:32:49 2002 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
* ace/Log_Msg.cpp: Replaced ACE_NEW_RETURN_I with ACE_NEW_RETURN.
diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a
index ef8068a7631..8598b2d172b 100644
--- a/ChangeLogs/ChangeLog-03a
+++ b/ChangeLogs/ChangeLog-03a
@@ -1,3 +1,12 @@
+Sat May 18 08:19:48 2002 Ossama Othman <ossama@uci.edu>
+
+ * ace/SSL/SSL_Connector.h:
+ * ace/SSL/SSL_Connector.cpp:
+
+ Temporarily removed these files since there are still some
+ thread-safefy issues to be addressed in the implementation.
+ Better to wait until after the forthcoming beta to ship them.
+
Fri May 17 07:32:49 2002 Douglas C. Schmidt <schmidt@tango.doc.wustl.edu>
* ace/Log_Msg.cpp: Replaced ACE_NEW_RETURN_I with ACE_NEW_RETURN.
diff --git a/ace/SSL/SSL_Connector.cpp b/ace/SSL/SSL_Connector.cpp
deleted file mode 100644
index 8d4e55dd3da..00000000000
--- a/ace/SSL/SSL_Connector.cpp
+++ /dev/null
@@ -1,196 +0,0 @@
-#include "SSL_Connector.h"
-
-ACE_RCSID (ACE_SSL,
- SSL_Connector,
- "$Id$")
-
-
-// Shorthand names.
-#define SVH SVC_HANDLER
-#define PR_CO_1 ACE_PEER_CONNECTOR_1
-#define PR_CO_2 ACE_PEER_CONNECTOR_2
-#define PR_AD ACE_PEER_CONNECTOR_ADDR
-
-
-template <class SVH, PR_CO_1>
-ACE_SSL_Connector<SVH, PR_CO_2>::ACE_SSL_Connector (ACE_Reactor *r,
- int flags)
- : ACE_Connector<SVH, PR_CO_2> (r, flags)
-{
-}
-
-template <class SVH, PR_CO_1> int
-ACE_SSL_Connector<SVH, PR_CO_2>::handle_input (ACE_HANDLE handle)
-{
- ACE_TRACE ("ACE_SSL_Connector<SVH, PR_CO_2>::handle_input");
-
- // The TCP connection has either failed or it was previously
- // completed. If it was previously completed then complete the SSL
- // connection/handshake.
-
- // @@ It doesn't look like we'll ever get here since the
- // ACE_SSL_SOCK_Connector::ssl_connect() method doesn't return
- // until the SSL connection/handshake is completed. In case its
- // implementation ever changes, this method may be needed.
-
- int result = 0;
- ACE_Connector<SVH, PR_CO_2>::AST * ast = 0;
-
- if (this->handler_map_.find (handle, ast) == 0)
- {
- ACE_SSL_SOCK_Stream & new_stream = ast->svc_handler ()->peer ();
-
- PR_AD raddr;
-
- // Check to see if the TCP connection was previously completed.
- if (new_stream.peer ().get_remote_addr (raddr) == -1)
- {
- ACE_Timer_Queue * tq = this->reactor ()->timer_queue ();
-
- ACE_Time_Value timer_buf (0);
- ACE_Time_Value * tv = tq->calculate_timeout (0, &timer_buf);
-
- if (this->connector ().complete (new_stream, 0, tv) == 0)
- return this->ACE_Connector<SVH, PR_CO_2>::handle_output (handle);
- }
-
- if (errno != EWOULDBLOCK)
- // Connection failed. Cleanup resources.
- return this->ACE_Connector<SVH, PR_CO_2>::handle_input (handle);
- }
-
- return result;
-}
-
-template <class SVH, PR_CO_1> int
-ACE_SSL_Connector<SVH, PR_CO_2>::handle_output (ACE_HANDLE handle)
-{
- ACE_TRACE ("ACE_SSL_Connector<SVH, PR_CO_2>::handle_output");
-
- // The TCP connection has completed. Now complete the SSL
- // connection/handshake.
-
- ACE_Connector<SVH, PR_CO_2>::AST * ast = 0;
- if (this->handler_map_.find (handle, ast) == 0)
- {
- ACE_SSL_SOCK_Stream & new_stream = ast->svc_handler ()->peer ();
-
- ACE_Timer_Queue * tq = this->reactor ()->timer_queue ();
-
- ACE_Time_Value timer_buf (0);
- ACE_Time_Value * tv = tq->calculate_timeout (0, &timer_buf);
-
- // Delegate completion to the underlying connector.
- if (this->connector ().complete (new_stream, 0, tv) == 0)
- return this->ACE_Connector<SVH, PR_CO_2>::handle_output (handle);
- else if (errno != EWOULDBLOCK)
- // Connection failed. Cleanup resources.
- return this->ACE_Connector<SVH, PR_CO_2>::handle_input (handle);
- }
-
- return 0;
-}
-
-// ------------------------------------------------------------
-
-template <class SVH, PR_CO_1>
-ACE_SSL_Strategy_Connector<SVH, PR_CO_2>::ACE_SSL_Strategy_Connector
- (ACE_Reactor *reactor,
- ACE_Creation_Strategy<SVC_HANDLER> *cre_s,
- ACE_Connect_Strategy<SVC_HANDLER, ACE_PEER_CONNECTOR_2> *conn_s,
- ACE_Concurrency_Strategy<SVC_HANDLER> *con_s,
- int flags)
- : ACE_Strategy_Connector<SVH, PR_CO_2> (reactor,
- cre_s,
- conn_s,
- con_s,
- flags)
-{
- ACE_TRACE ("ACE_SSL_Strategy_Connector<SVH, PR_CO_2>::ACE_SSL_Strategy_Connector");
-}
-
-template <class SVH, PR_CO_1> int
-ACE_SSL_Strategy_Connector<SVH, PR_CO_2>::handle_input (ACE_HANDLE handle)
-{
- ACE_TRACE ("ACE_SSL_Strategy_Connector<SVH, PR_CO_2>::handle_input");
-
-
- // @@ Mucho code duplication here, but I couldn't get around the
- // multiple inheritance issues introduced when inheriting from
- // both ACE_Strategy_Connector and ACE_SSL_Connector.
- // -Ossama
-
-
- // The TCP connection has either failed or it was previously
- // completed. If it was previously completed then complete the SSL
- // connection/handshake.
-
- // @@ It doesn't look like we'll ever get here since the
- // ACE_SSL_SOCK_Connector::ssl_connect() method doesn't return
- // until the SSL connection/handshake is completed. In case its
- // implementation ever changes, this method may be needed.
-
- int result = 0;
- ACE_Connector<SVH, PR_CO_2>::AST * ast = 0;
-
- if (this->handler_map_.find (handle, ast) == 0)
- {
- ACE_SSL_SOCK_Stream & new_stream = ast->svc_handler ()->peer ();
-
- PR_AD raddr;
-
- // Check to see if the TCP connection was previously completed.
- if (new_stream.peer ().get_remote_addr (raddr) == -1)
- {
- ACE_Timer_Queue * tq = this->reactor ()->timer_queue ();
-
- ACE_Time_Value timer_buf (0);
- ACE_Time_Value * tv = tq->calculate_timeout (0, &timer_buf);
-
- if (this->connector ().complete (new_stream, 0, tv) == 0)
- return this->ACE_Connector<SVH, PR_CO_2>::handle_output (handle);
- }
-
- if (errno != EWOULDBLOCK)
- // Connection failed. Cleanup resources.
- return this->ACE_Connector<SVH, PR_CO_2>::handle_input (handle);
- }
-
- return result;
-}
-
-template <class SVH, PR_CO_1> int
-ACE_SSL_Strategy_Connector<SVH, PR_CO_2>::handle_output (ACE_HANDLE handle)
-{
- ACE_TRACE ("ACE_SSL_Strategy_Connector<SVH, PR_CO_2>::handle_output");
-
-
- // @@ Mucho code duplication here, but I couldn't get around the
- // multiple inheritance issues introduced when inheriting from
- // both ACE_Strategy_Connector and ACE_SSL_Connector.
- // -Ossama
-
-
- // The TCP connection has completed. Now complete the SSL
- // connection/handshake.
-
- ACE_Connector<SVH, PR_CO_2>::AST * ast = 0;
- if (this->handler_map_.find (handle, ast) == 0)
- {
- ACE_SSL_SOCK_Stream & new_stream = ast->svc_handler ()->peer ();
-
- ACE_Timer_Queue * tq = this->reactor ()->timer_queue ();
-
- ACE_Time_Value timer_buf (0);
- ACE_Time_Value * tv = tq->calculate_timeout (0, &timer_buf);
-
- // Delegate completion to the underlying connector.
- if (this->connector ().complete (new_stream, 0, tv) == 0)
- return this->ACE_Connector<SVH, PR_CO_2>::handle_output (handle);
- else if (errno != EWOULDBLOCK)
- // Connection failed. Cleanup resources.
- return this->ACE_Connector<SVH, PR_CO_2>::handle_input (handle);
- }
-
- return 0;
-}
diff --git a/ace/SSL/SSL_Connector.h b/ace/SSL/SSL_Connector.h
deleted file mode 100644
index 378ae2780dd..00000000000
--- a/ace/SSL/SSL_Connector.h
+++ /dev/null
@@ -1,137 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file SSL_Connector.h
- *
- * $Id$
- *
- * ACE_SSL-specific implementations of the core classes in
- * ace/Connector.h.
- *
- * @author Ossama Othman <ossama@uci.edu>
- */
-//=============================================================================
-
-#ifndef ACE_SSL_CONNECTOR_H
-#define ACE_SSL_CONNECTOR_H
-
-#include "ace/pre.h"
-
-#include "ace/Connector.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-
-/**
- * @class ACE_SSL_Connector
- *
- * @brief Class that facilitates non-blocking SSL connections by use
- * of the Template Method design pattern.
- *
- * The standard ACE_Connector class assumes that a connection is
- * established once the stream handle becomes writable. However, that
- * only holds for protocols with a single handshake, such as TCP.
- * Protocols with multiple handshakes, such as SSL, require special
- * handling to prevent the connection from being considered completed
- * once the stream handle becomes writable.
- */
-template <class SVC_HANDLER, ACE_PEER_CONNECTOR_1>
-class ACE_SSL_Connector
- : public ACE_Connector<SVC_HANDLER, ACE_PEER_CONNECTOR_2>
-{
-public:
-
- /// Constructor.
- /**
- * @note See the ACE_Connector constructor documentation for
- * details.
- */
- ACE_SSL_Connector (ACE_Reactor *r = ACE_Reactor::instance (),
- int flags = 0);
-
-protected:
-
- /**
- * handle_input() is normally called when a non-blocking connection
- * fails, i.e. when the stream handle becomes readable. However,
- * once the first (TCP) handshake is completed, the second (SSL)
- * handshake may need to perform reads. In that case, the stream
- * handle becoming readable should not be considered a connection
- * failure.
- */
- virtual int handle_input (ACE_HANDLE);
-
- /**
- * handle_output() is normally called when a non-blocking connection
- * succeeds, i.e. when the stream handle becomes writable. However,
- * this only applies for single handshake protocols, such as TCP.
- * Multi-handshake protocols, such as SSL, require additional
- * handling once the initial handshake is completed.
- */
- virtual int handle_output (ACE_HANDLE);
-
-};
-
-// ------------------------------------------------------------
-
-/**
- * @class ACE_SSL_Strategy_Connector
- *
- * @brief Class that facilitates non-blocking SSL connections by use
- * of the Template Method design pattern.
- *
- * This class is analogous to the ACE_Strategy_Connector class, but
- * utilizes the functionality introduced by the ACE_SSL_Connector
- * class to handle non-blocking SSL connections correctly.
- */
-template <class SVC_HANDLER, ACE_PEER_CONNECTOR_1>
-class ACE_SSL_Strategy_Connector
- : public ACE_Strategy_Connector <SVC_HANDLER, ACE_PEER_CONNECTOR_2>
-{
-public:
-
- ACE_SSL_Strategy_Connector (ACE_Reactor *r = ACE_Reactor::instance (),
- ACE_Creation_Strategy<SVC_HANDLER> * = 0,
- ACE_Connect_Strategy<SVC_HANDLER, ACE_PEER_CONNECTOR_2> * = 0,
- ACE_Concurrency_Strategy<SVC_HANDLER> * = 0,
- int flags = 0);
-
-protected:
-
- /**
- * handle_input() is normally called when a non-blocking connection
- * fails, i.e. when the stream handle becomes readable. However,
- * once the first (TCP) handshake is completed, the second (SSL)
- * handshake may need to perform reads. In that case, the stream
- * handle becoming readable should not be considered a connection
- * failure.
- */
- virtual int handle_input (ACE_HANDLE);
-
- /**
- * handle_output() is normally called when a non-blocking connection
- * succeeds, i.e. when the stream handle becomes writable. However,
- * this only applies for single handshake protocols, such as TCP.
- * Multi-handshake protocols, such as SSL, require additional
- * handling once the initial handshake is completed.
- */
- virtual int handle_output (ACE_HANDLE);
-
-};
-
-
-#if defined (ACE_TEMPLATES_REQUIRE_SOURCE)
-#include "SSL_Connector.cpp"
-#endif /* ACE_TEMPLATES_REQUIRE_SOURCE */
-
-#if defined (ACE_TEMPLATES_REQUIRE_PRAGMA)
-#pragma implementation ("SSL_Connector.cpp")
-#endif /* ACE_TEMPLATES_REQUIRE_PRAGMA */
-
-
-#include "ace/post.h"
-
-#endif /* ACE_SSL_CONNECTOR_H */