summaryrefslogtreecommitdiff
path: root/examples/C++NPv2/TPC_Logging_Server.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/C++NPv2/TPC_Logging_Server.cpp')
-rw-r--r--examples/C++NPv2/TPC_Logging_Server.cpp106
1 files changed, 0 insertions, 106 deletions
diff --git a/examples/C++NPv2/TPC_Logging_Server.cpp b/examples/C++NPv2/TPC_Logging_Server.cpp
deleted file mode 100644
index b6ce76e1d40..00000000000
--- a/examples/C++NPv2/TPC_Logging_Server.cpp
+++ /dev/null
@@ -1,106 +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)
-