diff options
author | nobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2005-06-18 18:53:27 +0000 |
---|---|---|
committer | nobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2005-06-18 18:53:27 +0000 |
commit | 152c0f5c127eac99b5c9097aa4db2b34e14e6dd0 (patch) | |
tree | 0d399a92623e98588cd34e4fe0c2cf7fed880173 /examples/C++NPv2/TPC_Logging_Server.cpp | |
parent | 7e7f4a5d3e77a42e648b7dd2e1b9cf23a3780955 (diff) | |
download | ATCD-MyACE.tar.gz |
This commit was manufactured by cvs2svn to create branch 'MyACE'.MyACE
Diffstat (limited to 'examples/C++NPv2/TPC_Logging_Server.cpp')
-rw-r--r-- | examples/C++NPv2/TPC_Logging_Server.cpp | 111 |
1 files changed, 0 insertions, 111 deletions
diff --git a/examples/C++NPv2/TPC_Logging_Server.cpp b/examples/C++NPv2/TPC_Logging_Server.cpp deleted file mode 100644 index c001f25c453..00000000000 --- a/examples/C++NPv2/TPC_Logging_Server.cpp +++ /dev/null @@ -1,111 +0,0 @@ -/* -** $Id$ -** -** This is the Thread-per-connection logging server example from Chapter 7. -** -** Copyright 2002 Addison Wesley. All Rights Reserved. -*/ - -#include "ace/OS_NS_string.h" -#include "ace/FILE_Addr.h" -#include "ace/FILE_Connector.h" -#include "ace/os_include/os_netdb.h" -#include "Reactor_Logging_Server_Adapter.h" -#include "TPC_Logging_Server.h" -#include "TPCLS_export.h" - -int TPC_Logging_Handler::open (void *) { - static const ACE_TCHAR LOGFILE_SUFFIX[] = ACE_TEXT (".log"); - ACE_TCHAR filename[MAXHOSTNAMELEN + sizeof (LOGFILE_SUFFIX)]; - ACE_INET_Addr logging_peer_addr; - - peer ().get_remote_addr (logging_peer_addr); - logging_peer_addr.get_host_name (filename, MAXHOSTNAMELEN); - ACE_OS::strcat (filename, LOGFILE_SUFFIX); - - ACE_FILE_Connector connector; - connector.connect (log_file_, - ACE_FILE_Addr (filename), - 0, // No timeout. - ACE_Addr::sap_any, // Ignored. - 0, // Don't try to reuse the addr. - O_RDWR | O_CREAT | O_APPEND, - ACE_DEFAULT_FILE_PERMS); - - logging_handler_.peer ().set_handle (peer ().get_handle ()); - - return activate (THR_NEW_LWP | THR_DETACHED); -} - - -#if !defined (TPC_CERTIFICATE_FILENAME) -# define TPC_CERTIFICATE_FILENAME "tpc-cert.pem" -#endif /* !TPC_CERTIFICATE_FILENAME */ -#if !defined (TPC_KEY_FILENAME) -# define TPC_KEY_FILENAME "tpc-key.pem" -#endif /* !TPC_KEY_FILENAME */ - -int TPC_Logging_Acceptor::open - (const ACE_SOCK_Acceptor::PEER_ADDR &local_addr, - ACE_Reactor *reactor, - int flags, int use_select, int reuse_addr) { - if (PARENT::open (local_addr, reactor, flags, - use_select, reuse_addr) != 0) - return -1; - OpenSSL_add_ssl_algorithms (); - ssl_ctx_ = SSL_CTX_new (SSLv3_server_method ()); - if (ssl_ctx_ == 0) return -1; - - if (SSL_CTX_use_certificate_file (ssl_ctx_, - TPC_CERTIFICATE_FILENAME, - SSL_FILETYPE_PEM) <= 0 - || SSL_CTX_use_PrivateKey_file (ssl_ctx_, - TPC_KEY_FILENAME, - SSL_FILETYPE_PEM) <= 0 - || !SSL_CTX_check_private_key (ssl_ctx_)) - return -1; - ssl_ = SSL_new (ssl_ctx_); - return ssl_ == 0 ? -1 : 0; -} - - -int TPC_Logging_Acceptor::handle_close (ACE_HANDLE h, - ACE_Reactor_Mask mask) { - PARENT::handle_close (h, mask); - delete this; - return 0; -} - - -int TPC_Logging_Acceptor::accept_svc_handler - (TPC_Logging_Handler *sh) { - if (PARENT::accept_svc_handler (sh) == -1) return -1; - SSL_clear (ssl_); // Reset for new SSL connection. -#if defined (ACE_WIN32) - // ACE_WIN32 is the only platform where ACE_HANDLE is not an int. - // See ace/config-lite.h for the typedefs. - SSL_set_fd (ssl_, reinterpret_cast<int> (sh->get_handle ())); -#else - SSL_set_fd (ssl_, sh->get_handle ()); -#endif /* ACE_WIN32 */ - - SSL_set_verify - (ssl_, - SSL_VERIFY_PEER | SSL_VERIFY_FAIL_IF_NO_PEER_CERT, - 0); - if (SSL_accept (ssl_) == -1 - || SSL_shutdown (ssl_) == -1) return -1; - return 0; -} - - -typedef Reactor_Logging_Server_Adapter<TPC_Logging_Acceptor> - TPC_Logging_Server; - -ACE_FACTORY_DEFINE (TPCLS, TPC_Logging_Server) - -#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION) -template class Reactor_Logging_Server_Adapter<TPC_Logging_Acceptor>; -#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA) -#pragma instantiate Reactor_Logging_Server_Adapter<TPC_Logging_Acceptor> -#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */ |