summaryrefslogtreecommitdiff
path: root/ace/SSL
diff options
context:
space:
mode:
Diffstat (limited to 'ace/SSL')
-rw-r--r--ace/SSL/ACE_SSL.dsp186
-rw-r--r--ace/SSL/ACE_SSL.dsw29
-rw-r--r--ace/SSL/Makefile634
-rw-r--r--ace/SSL/Makefile.bor28
-rw-r--r--ace/SSL/SSL_Accept_Handler.cpp108
-rw-r--r--ace/SSL/SSL_Accept_Handler.h79
-rw-r--r--ace/SSL/SSL_Connect_Handler.cpp93
-rw-r--r--ace/SSL/SSL_Connect_Handler.h79
-rw-r--r--ace/SSL/SSL_Context.cpp379
-rw-r--r--ace/SSL/SSL_Context.h242
-rw-r--r--ace/SSL/SSL_Context.i88
-rw-r--r--ace/SSL/SSL_Context.inl88
-rw-r--r--ace/SSL/SSL_Export.h44
-rw-r--r--ace/SSL/SSL_SOCK.cpp68
-rw-r--r--ace/SSL/SSL_SOCK.h94
-rw-r--r--ace/SSL/SSL_SOCK.i64
-rw-r--r--ace/SSL/SSL_SOCK_Acceptor.cpp301
-rw-r--r--ace/SSL/SSL_SOCK_Acceptor.h179
-rw-r--r--ace/SSL/SSL_SOCK_Acceptor.i98
-rw-r--r--ace/SSL/SSL_SOCK_Connector.cpp270
-rw-r--r--ace/SSL/SSL_SOCK_Connector.h230
-rw-r--r--ace/SSL/SSL_SOCK_Connector.i40
-rw-r--r--ace/SSL/SSL_SOCK_Stream.cpp428
-rw-r--r--ace/SSL/SSL_SOCK_Stream.h287
-rw-r--r--ace/SSL/SSL_SOCK_Stream.i345
-rw-r--r--ace/SSL/sslconf.h55
26 files changed, 0 insertions, 4536 deletions
diff --git a/ace/SSL/ACE_SSL.dsp b/ace/SSL/ACE_SSL.dsp
deleted file mode 100644
index 183f2bf5bfe..00000000000
--- a/ace/SSL/ACE_SSL.dsp
+++ /dev/null
@@ -1,186 +0,0 @@
-# Microsoft Developer Studio Project File - Name="ACE_SSL" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=ACE_SSL - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "ACE_SSL.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "ACE_SSL.mak" CFG="ACE_SSL - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "ACE_SSL - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "ACE_SSL - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-MTL=midl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "ACE_SSL - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir ""
-# PROP Intermediate_Dir ".\DLL\Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ACE_SSL_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MD /W3 /GX /O2 /I "../../" /D "NDEBUG" /D "_WINDOWS" /D "WIN32" /D "ACE_SSL_BUILD_DLL" /FD /c
-# SUBTRACT CPP /X /YX
-# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 ace.lib libeay32.lib ssleay32.lib /nologo /dll /pdb:none /machine:I386 /out:"..\..\bin\ACE_SSL.dll" /libpath:"../"
-
-!ELSEIF "$(CFG)" == "ACE_SSL - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
-# PROP Intermediate_Dir ".\DLL\Debug"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "ACE_SSL_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "../../" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "ACE_SSL_BUILD_DLL" /FD /c
-# SUBTRACT CPP /Fr /YX
-# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
-# ADD LINK32 aced.lib libeay32.lib ssleay32.lib /nologo /dll /debug /machine:I386 /out:"..\..\bin\ACE_SSLd.dll" /libpath:"../"
-# SUBTRACT LINK32 /pdb:none
-
-!ENDIF
-
-# Begin Target
-
-# Name "ACE_SSL - Win32 Release"
-# Name "ACE_SSL - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\SSL_Accept_Handler.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\SSL_Connect_Handler.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\SSL_Context.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\SSL_SOCK.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\SSL_SOCK_Acceptor.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\SSL_SOCK_Connector.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\SSL_SOCK_Stream.cpp
-# End Source File
-# End Group
-# Begin Group "Header Files"
-
-# PROP Default_Filter "h;hpp;hxx;hm;inl"
-# Begin Source File
-
-SOURCE=.\SSL_Accept_Handler.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\SSL_Connect_Handler.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\SSL_Context.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\SSL_Export.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\SSL_SOCK.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\SSL_SOCK_Acceptor.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\SSL_SOCK_Connector.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\SSL_SOCK_Stream.h
-# End Source File
-# Begin Source File
-
-SOURCE=.\sslconf.h
-# End Source File
-# End Group
-# Begin Group "Inline Files"
-
-# PROP Default_Filter "i"
-# Begin Source File
-
-SOURCE=.\SSL_Context.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\SSL_SOCK_Acceptor.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\SSL_SOCK_Connector.i
-# End Source File
-# Begin Source File
-
-SOURCE=.\SSL_SOCK_Stream.i
-# End Source File
-# End Group
-# End Target
-# End Project
diff --git a/ace/SSL/ACE_SSL.dsw b/ace/SSL/ACE_SSL.dsw
deleted file mode 100644
index bc356cd9b28..00000000000
--- a/ace/SSL/ACE_SSL.dsw
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "ACE_SSL"=.\ACE_SSL.dsp - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/ace/SSL/Makefile b/ace/SSL/Makefile
deleted file mode 100644
index 70530f7d170..00000000000
--- a/ace/SSL/Makefile
+++ /dev/null
@@ -1,634 +0,0 @@
-#----------------------------------------------------------------------------
-#
-# $Id$
-#
-#----------------------------------------------------------------------------
-
-ifndef ACE_ROOT
-default:
- @echo 'You must set ACE_ROOT'
-endif # ! ACE_ROOT
-
-MAKEFILE = Makefile
-LIBNAME = libACE_SSL
-LIB = $(LIBNAME).a
-SHLIB = $(LIBNAME).$(SOEXT)
-
-FILES = \
- SSL_Context \
- SSL_SOCK \
- SSL_SOCK_Acceptor \
- SSL_SOCK_Connector \
- SSL_SOCK_Stream \
- SSL_Accept_Handler \
- SSL_Connect_Handler
-
-LSRC = $(addsuffix .cpp,$(FILES))
-
-#----------------------------------------------------------------------------
-# Include macros and targets
-#----------------------------------------------------------------------------
-
-include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
-include $(ACE_ROOT)/include/makeinclude/macros.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU
-include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
-
-#----------------------------------------------------------------------------
-# Local targets (and local hacks)
-#----------------------------------------------------------------------------
-
-ifeq ($(HPUX_VERS),)
-ACE_SHLIBS = -lACE -lssl -lcrypto
-endif # HPUX_VERS
-
-#----------------------------------------------------------------------------
-# Dependencies
-#----------------------------------------------------------------------------
-
-# DO NOT DELETE THIS LINE -- g++dep uses it.
-# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
-
-
-.obj/SSL_Context.o .obj/SSL_Context.so .shobj/SSL_Context.o .shobj/SSL_Context.so: SSL_Context.cpp SSL_Context.h \
- $(ACE_ROOT)/ace/pre.h SSL_Export.h \
- $(ACE_ROOT)/ace/post.h \
- $(ACE_ROOT)/ace/ACE_export.h \
- $(ACE_ROOT)/ace/svc_export.h \
- $(ACE_ROOT)/ace/ace_wchar.h \
- $(ACE_ROOT)/ace/ace_wchar.inl \
- $(ACE_ROOT)/ace/OS_Errno.h \
- $(ACE_ROOT)/ace/OS_Export.h \
- $(ACE_ROOT)/ace/OS_Errno.inl \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/OS_Dirent.h \
- $(ACE_ROOT)/ace/OS_Dirent.inl \
- $(ACE_ROOT)/ace/OS_String.h \
- $(ACE_ROOT)/ace/OS_String.inl \
- $(ACE_ROOT)/ace/OS_Memory.h \
- $(ACE_ROOT)/ace/OS_Memory.inl \
- $(ACE_ROOT)/ace/OS_TLI.h \
- $(ACE_ROOT)/ace/OS_TLI.inl \
- $(ACE_ROOT)/ace/Min_Max.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Flag_Manip.h \
- $(ACE_ROOT)/ace/Flag_Manip.i \
- $(ACE_ROOT)/ace/Handle_Ops.h \
- $(ACE_ROOT)/ace/Handle_Ops.i \
- $(ACE_ROOT)/ace/Lib_Find.h \
- $(ACE_ROOT)/ace/Lib_Find.i \
- $(ACE_ROOT)/ace/Init_ACE.h \
- $(ACE_ROOT)/ace/Init_ACE.i \
- $(ACE_ROOT)/ace/Sock_Connect.h \
- $(ACE_ROOT)/ace/Sock_Connect.i \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread_Adapter.h \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Atomic_Op.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- SSL_Context.i sslconf.h
-
-.obj/SSL_SOCK.o .obj/SSL_SOCK.so .shobj/SSL_SOCK.o .shobj/SSL_SOCK.so: SSL_SOCK.cpp SSL_SOCK.h \
- $(ACE_ROOT)/ace/pre.h SSL_Export.h \
- $(ACE_ROOT)/ace/post.h \
- $(ACE_ROOT)/ace/ACE_export.h \
- $(ACE_ROOT)/ace/svc_export.h \
- $(ACE_ROOT)/ace/ace_wchar.h \
- $(ACE_ROOT)/ace/ace_wchar.inl \
- $(ACE_ROOT)/ace/OS_Errno.h \
- $(ACE_ROOT)/ace/OS_Export.h \
- $(ACE_ROOT)/ace/OS_Errno.inl \
- $(ACE_ROOT)/ace/SOCK.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/OS_Dirent.h \
- $(ACE_ROOT)/ace/OS_Dirent.inl \
- $(ACE_ROOT)/ace/OS_String.h \
- $(ACE_ROOT)/ace/OS_String.inl \
- $(ACE_ROOT)/ace/OS_Memory.h \
- $(ACE_ROOT)/ace/OS_Memory.inl \
- $(ACE_ROOT)/ace/OS_TLI.h \
- $(ACE_ROOT)/ace/OS_TLI.inl \
- $(ACE_ROOT)/ace/Min_Max.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Flag_Manip.h \
- $(ACE_ROOT)/ace/Flag_Manip.i \
- $(ACE_ROOT)/ace/Handle_Ops.h \
- $(ACE_ROOT)/ace/Handle_Ops.i \
- $(ACE_ROOT)/ace/Lib_Find.h \
- $(ACE_ROOT)/ace/Lib_Find.i \
- $(ACE_ROOT)/ace/Init_ACE.h \
- $(ACE_ROOT)/ace/Init_ACE.i \
- $(ACE_ROOT)/ace/Sock_Connect.h \
- $(ACE_ROOT)/ace/Sock_Connect.i \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Addr.h \
- $(ACE_ROOT)/ace/Addr.i \
- $(ACE_ROOT)/ace/IPC_SAP.h \
- $(ACE_ROOT)/ace/IPC_SAP.i \
- $(ACE_ROOT)/ace/SOCK.i SSL_SOCK.i
-
-.obj/SSL_SOCK_Acceptor.o .obj/SSL_SOCK_Acceptor.so .shobj/SSL_SOCK_Acceptor.o .shobj/SSL_SOCK_Acceptor.so: SSL_SOCK_Acceptor.cpp SSL_SOCK_Acceptor.h \
- $(ACE_ROOT)/ace/pre.h SSL_Export.h \
- $(ACE_ROOT)/ace/post.h \
- $(ACE_ROOT)/ace/ACE_export.h \
- $(ACE_ROOT)/ace/svc_export.h \
- $(ACE_ROOT)/ace/ace_wchar.h \
- $(ACE_ROOT)/ace/ace_wchar.inl \
- $(ACE_ROOT)/ace/OS_Errno.h \
- $(ACE_ROOT)/ace/OS_Export.h \
- $(ACE_ROOT)/ace/OS_Errno.inl \
- SSL_SOCK_Stream.h SSL_SOCK.h \
- $(ACE_ROOT)/ace/SOCK.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/OS_Dirent.h \
- $(ACE_ROOT)/ace/OS_Dirent.inl \
- $(ACE_ROOT)/ace/OS_String.h \
- $(ACE_ROOT)/ace/OS_String.inl \
- $(ACE_ROOT)/ace/OS_Memory.h \
- $(ACE_ROOT)/ace/OS_Memory.inl \
- $(ACE_ROOT)/ace/OS_TLI.h \
- $(ACE_ROOT)/ace/OS_TLI.inl \
- $(ACE_ROOT)/ace/Min_Max.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Flag_Manip.h \
- $(ACE_ROOT)/ace/Flag_Manip.i \
- $(ACE_ROOT)/ace/Handle_Ops.h \
- $(ACE_ROOT)/ace/Handle_Ops.i \
- $(ACE_ROOT)/ace/Lib_Find.h \
- $(ACE_ROOT)/ace/Lib_Find.i \
- $(ACE_ROOT)/ace/Init_ACE.h \
- $(ACE_ROOT)/ace/Init_ACE.i \
- $(ACE_ROOT)/ace/Sock_Connect.h \
- $(ACE_ROOT)/ace/Sock_Connect.i \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Addr.h \
- $(ACE_ROOT)/ace/Addr.i \
- $(ACE_ROOT)/ace/IPC_SAP.h \
- $(ACE_ROOT)/ace/IPC_SAP.i \
- $(ACE_ROOT)/ace/SOCK.i SSL_SOCK.i \
- SSL_Context.h \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread_Adapter.h \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Atomic_Op.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- SSL_Context.i \
- $(ACE_ROOT)/ace/SOCK_Stream.h \
- $(ACE_ROOT)/ace/SOCK_IO.h \
- $(ACE_ROOT)/ace/SOCK_IO.i \
- $(ACE_ROOT)/ace/INET_Addr.h \
- $(ACE_ROOT)/ace/INET_Addr.i \
- $(ACE_ROOT)/ace/SOCK_Stream.i \
- SSL_SOCK_Stream.i \
- $(ACE_ROOT)/ace/SOCK_Acceptor.h \
- $(ACE_ROOT)/ace/Time_Value.h \
- $(ACE_ROOT)/ace/SOCK_Acceptor.i \
- $(ACE_ROOT)/ace/Reactor.h \
- $(ACE_ROOT)/ace/Handle_Set.h \
- $(ACE_ROOT)/ace/Handle_Set.i \
- $(ACE_ROOT)/ace/Timer_Queue.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.h \
- $(ACE_ROOT)/ace/Free_List.h \
- $(ACE_ROOT)/ace/Free_List.i \
- $(ACE_ROOT)/ace/Free_List.cpp \
- $(ACE_ROOT)/ace/Test_and_Set.h \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/Test_and_Set.i \
- $(ACE_ROOT)/ace/Test_and_Set.cpp \
- $(ACE_ROOT)/ace/Timer_Queue_T.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/Reactor.i \
- $(ACE_ROOT)/ace/Reactor_Impl.h \
- SSL_SOCK_Acceptor.i SSL_Accept_Handler.h
-
-.obj/SSL_SOCK_Connector.o .obj/SSL_SOCK_Connector.so .shobj/SSL_SOCK_Connector.o .shobj/SSL_SOCK_Connector.so: SSL_SOCK_Connector.cpp SSL_SOCK_Connector.h \
- $(ACE_ROOT)/ace/pre.h SSL_Export.h \
- $(ACE_ROOT)/ace/post.h \
- $(ACE_ROOT)/ace/ACE_export.h \
- $(ACE_ROOT)/ace/svc_export.h \
- $(ACE_ROOT)/ace/ace_wchar.h \
- $(ACE_ROOT)/ace/ace_wchar.inl \
- $(ACE_ROOT)/ace/OS_Errno.h \
- $(ACE_ROOT)/ace/OS_Export.h \
- $(ACE_ROOT)/ace/OS_Errno.inl \
- SSL_SOCK_Stream.h SSL_SOCK.h \
- $(ACE_ROOT)/ace/SOCK.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/OS_Dirent.h \
- $(ACE_ROOT)/ace/OS_Dirent.inl \
- $(ACE_ROOT)/ace/OS_String.h \
- $(ACE_ROOT)/ace/OS_String.inl \
- $(ACE_ROOT)/ace/OS_Memory.h \
- $(ACE_ROOT)/ace/OS_Memory.inl \
- $(ACE_ROOT)/ace/OS_TLI.h \
- $(ACE_ROOT)/ace/OS_TLI.inl \
- $(ACE_ROOT)/ace/Min_Max.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Flag_Manip.h \
- $(ACE_ROOT)/ace/Flag_Manip.i \
- $(ACE_ROOT)/ace/Handle_Ops.h \
- $(ACE_ROOT)/ace/Handle_Ops.i \
- $(ACE_ROOT)/ace/Lib_Find.h \
- $(ACE_ROOT)/ace/Lib_Find.i \
- $(ACE_ROOT)/ace/Init_ACE.h \
- $(ACE_ROOT)/ace/Init_ACE.i \
- $(ACE_ROOT)/ace/Sock_Connect.h \
- $(ACE_ROOT)/ace/Sock_Connect.i \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Addr.h \
- $(ACE_ROOT)/ace/Addr.i \
- $(ACE_ROOT)/ace/IPC_SAP.h \
- $(ACE_ROOT)/ace/IPC_SAP.i \
- $(ACE_ROOT)/ace/SOCK.i SSL_SOCK.i \
- SSL_Context.h \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread_Adapter.h \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Atomic_Op.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- SSL_Context.i \
- $(ACE_ROOT)/ace/SOCK_Stream.h \
- $(ACE_ROOT)/ace/SOCK_IO.h \
- $(ACE_ROOT)/ace/SOCK_IO.i \
- $(ACE_ROOT)/ace/INET_Addr.h \
- $(ACE_ROOT)/ace/INET_Addr.i \
- $(ACE_ROOT)/ace/SOCK_Stream.i \
- SSL_SOCK_Stream.i \
- $(ACE_ROOT)/ace/SOCK_Connector.h \
- $(ACE_ROOT)/ace/Time_Value.h \
- $(ACE_ROOT)/ace/SOCK_Connector.i \
- $(ACE_ROOT)/ace/Reactor.h \
- $(ACE_ROOT)/ace/Handle_Set.h \
- $(ACE_ROOT)/ace/Handle_Set.i \
- $(ACE_ROOT)/ace/Timer_Queue.h \
- $(ACE_ROOT)/ace/Timer_Queue_T.h \
- $(ACE_ROOT)/ace/Free_List.h \
- $(ACE_ROOT)/ace/Free_List.i \
- $(ACE_ROOT)/ace/Free_List.cpp \
- $(ACE_ROOT)/ace/Test_and_Set.h \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/Event_Handler.i \
- $(ACE_ROOT)/ace/Test_and_Set.i \
- $(ACE_ROOT)/ace/Test_and_Set.cpp \
- $(ACE_ROOT)/ace/Timer_Queue_T.i \
- $(ACE_ROOT)/ace/Timer_Queue_T.cpp \
- $(ACE_ROOT)/ace/Signal.h \
- $(ACE_ROOT)/ace/Signal.i \
- $(ACE_ROOT)/ace/Reactor.i \
- $(ACE_ROOT)/ace/Reactor_Impl.h \
- SSL_SOCK_Connector.i SSL_Connect_Handler.h
-
-.obj/SSL_SOCK_Stream.o .obj/SSL_SOCK_Stream.so .shobj/SSL_SOCK_Stream.o .shobj/SSL_SOCK_Stream.so: SSL_SOCK_Stream.cpp \
- $(ACE_ROOT)/ace/Handle_Set.h \
- $(ACE_ROOT)/ace/pre.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/post.h \
- $(ACE_ROOT)/ace/ACE_export.h \
- $(ACE_ROOT)/ace/svc_export.h \
- $(ACE_ROOT)/ace/ace_wchar.h \
- $(ACE_ROOT)/ace/ace_wchar.inl \
- $(ACE_ROOT)/ace/OS_Errno.h \
- $(ACE_ROOT)/ace/OS_Export.h \
- $(ACE_ROOT)/ace/OS_Errno.inl \
- $(ACE_ROOT)/ace/OS_Dirent.h \
- $(ACE_ROOT)/ace/OS_Dirent.inl \
- $(ACE_ROOT)/ace/OS_String.h \
- $(ACE_ROOT)/ace/OS_String.inl \
- $(ACE_ROOT)/ace/OS_Memory.h \
- $(ACE_ROOT)/ace/OS_Memory.inl \
- $(ACE_ROOT)/ace/OS_TLI.h \
- $(ACE_ROOT)/ace/OS_TLI.inl \
- $(ACE_ROOT)/ace/Min_Max.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Flag_Manip.h \
- $(ACE_ROOT)/ace/Flag_Manip.i \
- $(ACE_ROOT)/ace/Handle_Ops.h \
- $(ACE_ROOT)/ace/Handle_Ops.i \
- $(ACE_ROOT)/ace/Lib_Find.h \
- $(ACE_ROOT)/ace/Lib_Find.i \
- $(ACE_ROOT)/ace/Init_ACE.h \
- $(ACE_ROOT)/ace/Init_ACE.i \
- $(ACE_ROOT)/ace/Sock_Connect.h \
- $(ACE_ROOT)/ace/Sock_Connect.i \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Handle_Set.i \
- SSL_SOCK_Stream.h SSL_Export.h SSL_SOCK.h \
- $(ACE_ROOT)/ace/SOCK.h \
- $(ACE_ROOT)/ace/Addr.h \
- $(ACE_ROOT)/ace/Addr.i \
- $(ACE_ROOT)/ace/IPC_SAP.h \
- $(ACE_ROOT)/ace/IPC_SAP.i \
- $(ACE_ROOT)/ace/SOCK.i SSL_SOCK.i \
- SSL_Context.h \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread_Adapter.h \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Atomic_Op.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- SSL_Context.i \
- $(ACE_ROOT)/ace/SOCK_Stream.h \
- $(ACE_ROOT)/ace/SOCK_IO.h \
- $(ACE_ROOT)/ace/SOCK_IO.i \
- $(ACE_ROOT)/ace/INET_Addr.h \
- $(ACE_ROOT)/ace/INET_Addr.i \
- $(ACE_ROOT)/ace/SOCK_Stream.i \
- SSL_SOCK_Stream.i
-
-.obj/SSL_Accept_Handler.o .obj/SSL_Accept_Handler.so .shobj/SSL_Accept_Handler.o .shobj/SSL_Accept_Handler.so: SSL_Accept_Handler.cpp SSL_Accept_Handler.h \
- $(ACE_ROOT)/ace/pre.h SSL_Export.h \
- $(ACE_ROOT)/ace/post.h \
- $(ACE_ROOT)/ace/ACE_export.h \
- $(ACE_ROOT)/ace/svc_export.h \
- $(ACE_ROOT)/ace/ace_wchar.h \
- $(ACE_ROOT)/ace/ace_wchar.inl \
- $(ACE_ROOT)/ace/OS_Errno.h \
- $(ACE_ROOT)/ace/OS_Export.h \
- $(ACE_ROOT)/ace/OS_Errno.inl \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/OS_Dirent.h \
- $(ACE_ROOT)/ace/OS_Dirent.inl \
- $(ACE_ROOT)/ace/OS_String.h \
- $(ACE_ROOT)/ace/OS_String.inl \
- $(ACE_ROOT)/ace/OS_Memory.h \
- $(ACE_ROOT)/ace/OS_Memory.inl \
- $(ACE_ROOT)/ace/OS_TLI.h \
- $(ACE_ROOT)/ace/OS_TLI.inl \
- $(ACE_ROOT)/ace/Min_Max.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Flag_Manip.h \
- $(ACE_ROOT)/ace/Flag_Manip.i \
- $(ACE_ROOT)/ace/Handle_Ops.h \
- $(ACE_ROOT)/ace/Handle_Ops.i \
- $(ACE_ROOT)/ace/Lib_Find.h \
- $(ACE_ROOT)/ace/Lib_Find.i \
- $(ACE_ROOT)/ace/Init_ACE.h \
- $(ACE_ROOT)/ace/Init_ACE.i \
- $(ACE_ROOT)/ace/Sock_Connect.h \
- $(ACE_ROOT)/ace/Sock_Connect.i \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Event_Handler.i \
- SSL_SOCK_Stream.h SSL_SOCK.h \
- $(ACE_ROOT)/ace/SOCK.h \
- $(ACE_ROOT)/ace/Addr.h \
- $(ACE_ROOT)/ace/Addr.i \
- $(ACE_ROOT)/ace/IPC_SAP.h \
- $(ACE_ROOT)/ace/IPC_SAP.i \
- $(ACE_ROOT)/ace/SOCK.i SSL_SOCK.i \
- SSL_Context.h \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread_Adapter.h \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Atomic_Op.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- SSL_Context.i \
- $(ACE_ROOT)/ace/SOCK_Stream.h \
- $(ACE_ROOT)/ace/SOCK_IO.h \
- $(ACE_ROOT)/ace/SOCK_IO.i \
- $(ACE_ROOT)/ace/INET_Addr.h \
- $(ACE_ROOT)/ace/INET_Addr.i \
- $(ACE_ROOT)/ace/SOCK_Stream.i \
- SSL_SOCK_Stream.i
-
-.obj/SSL_Connect_Handler.o .obj/SSL_Connect_Handler.so .shobj/SSL_Connect_Handler.o .shobj/SSL_Connect_Handler.so: SSL_Connect_Handler.cpp SSL_Connect_Handler.h \
- $(ACE_ROOT)/ace/pre.h SSL_Export.h \
- $(ACE_ROOT)/ace/post.h \
- $(ACE_ROOT)/ace/ACE_export.h \
- $(ACE_ROOT)/ace/svc_export.h \
- $(ACE_ROOT)/ace/ace_wchar.h \
- $(ACE_ROOT)/ace/ace_wchar.inl \
- $(ACE_ROOT)/ace/OS_Errno.h \
- $(ACE_ROOT)/ace/OS_Export.h \
- $(ACE_ROOT)/ace/OS_Errno.inl \
- $(ACE_ROOT)/ace/Event_Handler.h \
- $(ACE_ROOT)/ace/ACE.h \
- $(ACE_ROOT)/ace/OS.h \
- $(ACE_ROOT)/ace/OS_Dirent.h \
- $(ACE_ROOT)/ace/OS_Dirent.inl \
- $(ACE_ROOT)/ace/OS_String.h \
- $(ACE_ROOT)/ace/OS_String.inl \
- $(ACE_ROOT)/ace/OS_Memory.h \
- $(ACE_ROOT)/ace/OS_Memory.inl \
- $(ACE_ROOT)/ace/OS_TLI.h \
- $(ACE_ROOT)/ace/OS_TLI.inl \
- $(ACE_ROOT)/ace/Min_Max.h \
- $(ACE_ROOT)/ace/streams.h \
- $(ACE_ROOT)/ace/Basic_Types.h \
- $(ACE_ROOT)/ace/Basic_Types.i \
- $(ACE_ROOT)/ace/Trace.h \
- $(ACE_ROOT)/ace/OS.i \
- $(ACE_ROOT)/ace/Flag_Manip.h \
- $(ACE_ROOT)/ace/Flag_Manip.i \
- $(ACE_ROOT)/ace/Handle_Ops.h \
- $(ACE_ROOT)/ace/Handle_Ops.i \
- $(ACE_ROOT)/ace/Lib_Find.h \
- $(ACE_ROOT)/ace/Lib_Find.i \
- $(ACE_ROOT)/ace/Init_ACE.h \
- $(ACE_ROOT)/ace/Init_ACE.i \
- $(ACE_ROOT)/ace/Sock_Connect.h \
- $(ACE_ROOT)/ace/Sock_Connect.i \
- $(ACE_ROOT)/ace/ACE.i \
- $(ACE_ROOT)/ace/Event_Handler.i \
- SSL_SOCK_Stream.h SSL_SOCK.h \
- $(ACE_ROOT)/ace/SOCK.h \
- $(ACE_ROOT)/ace/Addr.h \
- $(ACE_ROOT)/ace/Addr.i \
- $(ACE_ROOT)/ace/IPC_SAP.h \
- $(ACE_ROOT)/ace/IPC_SAP.i \
- $(ACE_ROOT)/ace/SOCK.i SSL_SOCK.i \
- SSL_Context.h \
- $(ACE_ROOT)/ace/SString.h \
- $(ACE_ROOT)/ace/SString.i \
- $(ACE_ROOT)/ace/Malloc_Base.h \
- $(ACE_ROOT)/ace/Singleton.h \
- $(ACE_ROOT)/ace/Synch.h \
- $(ACE_ROOT)/ace/Synch.i \
- $(ACE_ROOT)/ace/Synch_T.h \
- $(ACE_ROOT)/ace/Synch_T.i \
- $(ACE_ROOT)/ace/Thread.h \
- $(ACE_ROOT)/ace/Thread_Adapter.h \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.h \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.h \
- $(ACE_ROOT)/ace/OS_Log_Msg_Attributes.inl \
- $(ACE_ROOT)/ace/Base_Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread_Adapter.inl \
- $(ACE_ROOT)/ace/Thread.i \
- $(ACE_ROOT)/ace/Atomic_Op.i \
- $(ACE_ROOT)/ace/Synch_T.cpp \
- $(ACE_ROOT)/ace/Log_Msg.h \
- $(ACE_ROOT)/ace/Log_Record.h \
- $(ACE_ROOT)/ace/Log_Priority.h \
- $(ACE_ROOT)/ace/Log_Record.i \
- $(ACE_ROOT)/ace/Singleton.i \
- $(ACE_ROOT)/ace/Singleton.cpp \
- $(ACE_ROOT)/ace/Object_Manager.h \
- $(ACE_ROOT)/ace/Object_Manager.i \
- $(ACE_ROOT)/ace/Managed_Object.h \
- $(ACE_ROOT)/ace/Managed_Object.i \
- $(ACE_ROOT)/ace/Managed_Object.cpp \
- SSL_Context.i \
- $(ACE_ROOT)/ace/SOCK_Stream.h \
- $(ACE_ROOT)/ace/SOCK_IO.h \
- $(ACE_ROOT)/ace/SOCK_IO.i \
- $(ACE_ROOT)/ace/INET_Addr.h \
- $(ACE_ROOT)/ace/INET_Addr.i \
- $(ACE_ROOT)/ace/SOCK_Stream.i \
- SSL_SOCK_Stream.i
-
-# IF YOU PUT ANYTHING HERE IT WILL GO AWAY
diff --git a/ace/SSL/Makefile.bor b/ace/SSL/Makefile.bor
deleted file mode 100644
index 36609d8c2c8..00000000000
--- a/ace/SSL/Makefile.bor
+++ /dev/null
@@ -1,28 +0,0 @@
-
-#
-# Makefile for building the ACE SSL library with Borland C++Builder
-#
-
-!ifdef SSL_ROOT
-NAME = ACE_SSL
-!endif
-
-OBJFILES = \
- $(OBJDIR)\SSL_Context.obj \
- $(OBJDIR)\SSL_SOCK.obj \
- $(OBJDIR)\SSL_SOCK_Acceptor.obj \
- $(OBJDIR)\SSL_SOCK_Connector.obj \
- $(OBJDIR)\SSL_SOCK_Stream.obj \
- $(OBJDIR)\SSL_Accept_Handler.obj \
- $(OBJDIR)\SSL_Connect_Handler.obj
-
-CFLAGS = $(ACE_CFLAGS) $(SSL_CFLAGS) $(ACE_SSL_CFLAGS) -DACE_SSL_BUILD_DLL
-
-LIBFILES = $(ACE_LIB) $(SSL_LIB)
-
-CPPDIR = .
-
-INCDIR_NAME = ace\SSL
-INCLUDES = *.h *.i
-
-!include <$(ACE_ROOT)\include\makeinclude\build_core_library.bor>
diff --git a/ace/SSL/SSL_Accept_Handler.cpp b/ace/SSL/SSL_Accept_Handler.cpp
deleted file mode 100644
index 87248b056b4..00000000000
--- a/ace/SSL/SSL_Accept_Handler.cpp
+++ /dev/null
@@ -1,108 +0,0 @@
-// -*- C++ -*-
-
-#include "SSL_Accept_Handler.h"
-#include "SSL_SOCK_Stream.h"
-
-#include <openssl/err.h>
-
-ACE_RCSID (ACE_SSL,
- SSL_Accept_Handler,
- "$Id$")
-
-
-ACE_SSL_Accept_Handler::ACE_SSL_Accept_Handler (ACE_SSL_SOCK_Stream &s)
- : ssl_stream_ (s)
-{
-}
-
-ACE_SSL_Accept_Handler::~ACE_SSL_Accept_Handler (void)
-{
-}
-
-ACE_HANDLE
-ACE_SSL_Accept_Handler::get_handle (void) const
-{
- return this->ssl_stream_.get_handle ();
-}
-
-int
-ACE_SSL_Accept_Handler::handle_input (ACE_HANDLE)
-{
- return this->ssl_accept ();
-}
-
-int
-ACE_SSL_Accept_Handler::handle_output (ACE_HANDLE)
-{
- return this->ssl_accept ();
-}
-
-int
-ACE_SSL_Accept_Handler::handle_close (ACE_HANDLE /* handle */,
- ACE_Reactor_Mask /* close_mask */)
-{
- return this->ssl_stream_.close ();
-}
-
-
-int
-ACE_SSL_Accept_Handler::ssl_accept (void)
-{
- // A race condition exists where data may be sent over an SSL
- // session after the SSL passive connection is completed but before
- // this event handler is deregistered from the Reactor.
- // Specifically data meant to be handled by SSL_read() could end up
- // being handled by the SSL_accept() call below, resulting in an SSL
- // protocol error (i.e. "SSL_ERROR_SSL" error status). The
- // following check avoids the race condition.
- if (SSL_is_init_finished (this->ssl_stream_.ssl ()))
- return 0;
-
- long verify_error = 0;
-
- // The SSL_accept() call is wrapped in a do/while(SSL_pending())
- // loop to force a full SSL record (SSL is a record-oriented
- // protocol, not a stream-oriented one) to be read prior to
- // returning to the Reactor. This is necessary to avoid some subtle
- // problems where data from another record is potentially handled
- // before the current record is fully handled.
- do
- {
- int status = ::SSL_accept (this->ssl_stream_.ssl ());
-
- status = ::SSL_get_error (this->ssl_stream_.ssl (), status);
- switch (status)
- {
- case SSL_ERROR_NONE:
- verify_error =
- ::SSL_get_verify_result (this->ssl_stream_.ssl ());
-
- if (verify_error != X509_V_OK)
- {
-#ifndef ACE_NDEBUG
- ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) X.509 certificate verification "
- "error:%s\n",
- ::X509_verify_cert_error_string (verify_error)));
-#endif /* ACE_NDEBUG */
-
- return -1;
- }
-
- return 0;
-
- case SSL_ERROR_WANT_WRITE:
- case SSL_ERROR_WANT_READ:
- break;
-
- default:
-#ifndef ACE_NDEBUG
- ERR_print_errors_fp (stderr);
-#endif /* ACE_NDEBUG */
- return -1;
- }
- }
- while (::SSL_pending (this->ssl_stream_.ssl ()));
-
- return 0;
-}
diff --git a/ace/SSL/SSL_Accept_Handler.h b/ace/SSL/SSL_Accept_Handler.h
deleted file mode 100644
index 7a683389ff2..00000000000
--- a/ace/SSL/SSL_Accept_Handler.h
+++ /dev/null
@@ -1,79 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file SSL_Accept_Handler.h
- *
- * $Id$
- *
- * @author Ossama Othman <ossama@uci.edu>
- */
-//=============================================================================
-
-
-#ifndef ACE_SSL_ACCEPT_HANDLER_H
-#define ACE_SSL_ACCEPT_HANDLER_H
-
-#include "ace/pre.h"
-
-#include "SSL_Export.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "ace/Event_Handler.h"
-
-class ACE_SSL_SOCK_Stream;
-
-/**
- * @class ACE_SSL_Accept_Handler
- *
- * @brief Event handler designed to complete non-blocking passive
- * connections.
- *
- *
- */
-class ACE_SSL_Accept_Handler : public ACE_Event_Handler
-{
-public:
-
- /// Constructor.
- ACE_SSL_Accept_Handler (ACE_SSL_SOCK_Stream &ssl_stream);
-
- /// Destructor.
- virtual ~ACE_SSL_Accept_Handler (void);
-
- /// Get the handle associated with this event handler.
- virtual ACE_HANDLE get_handle (void) const;
-
- /// Called when input events occur (e.g., connection or data).
- virtual int handle_input (ACE_HANDLE fd = ACE_INVALID_HANDLE);
-
- /// Called when output events are possible (e.g., flow control
- /// abates).
- virtual int handle_output (ACE_HANDLE fd = ACE_INVALID_HANDLE);
-
- /// Called when a handle_*() method returns -1 or when the
- /// remove_handler() method is called on an ACE_Reactor. The
- /// close_mask indicates which event has triggered the
- /// handle_close() method callback on a particular handle.
- virtual int handle_close (ACE_HANDLE handle,
- ACE_Reactor_Mask close_mask);
-
-private:
-
- /// Perform the SSL accept.
- int ssl_accept (void);
-
-private:
-
- /// Reference to the SSL_SOCK_Stream for which the passive
- /// connection is being established.
- ACE_SSL_SOCK_Stream &ssl_stream_;
-};
-
-
-#include "ace/post.h"
-
-#endif /* ACE_SSL_ACCEPT_HANDLER_H */
diff --git a/ace/SSL/SSL_Connect_Handler.cpp b/ace/SSL/SSL_Connect_Handler.cpp
deleted file mode 100644
index 8f77c9b12a1..00000000000
--- a/ace/SSL/SSL_Connect_Handler.cpp
+++ /dev/null
@@ -1,93 +0,0 @@
-// -*- C++ -*-
-
-#include "SSL_Connect_Handler.h"
-#include "SSL_SOCK_Stream.h"
-
-#include <openssl/err.h>
-
-ACE_RCSID (ACE_SSL,
- SSL_Connect_Handler,
- "$Id$")
-
-
-ACE_SSL_Connect_Handler::ACE_SSL_Connect_Handler (ACE_SSL_SOCK_Stream &s)
- : ssl_stream_ (s)
-{
-}
-
-ACE_SSL_Connect_Handler::~ACE_SSL_Connect_Handler (void)
-{
-}
-
-ACE_HANDLE
-ACE_SSL_Connect_Handler::get_handle (void) const
-{
- return this->ssl_stream_.get_handle ();
-}
-
-int
-ACE_SSL_Connect_Handler::handle_input (ACE_HANDLE)
-{
- return this->ssl_connect ();
-}
-
-int
-ACE_SSL_Connect_Handler::handle_output (ACE_HANDLE)
-{
- return this->ssl_connect ();
-}
-
-int
-ACE_SSL_Connect_Handler::handle_close (ACE_HANDLE /* handle */,
- ACE_Reactor_Mask /* close_mask */)
-{
- return this->ssl_stream_.close ();
-}
-
-
-int
-ACE_SSL_Connect_Handler::ssl_connect (void)
-{
- // A race condition exists where data may be sent over an SSL
- // session after the SSL active connection is completed but before
- // this event handler is deregistered from the Reactor.
- // Specifically data meant to be handled by SSL_read() could end up
- // being handled by the SSL_connect() call below, resulting in an SSL
- // protocol error (i.e. "SSL_ERROR_SSL" error status). The
- // following check prevents the race condition.
- if (SSL_is_init_finished (this->ssl_stream_.ssl ()))
- return 0;
-
- // The SSL_connect() call is wrapped in a do/while(SSL_pending())
- // loop to force a full SSL record (SSL is a record-oriented
- // protocol, not a stream-oriented one) to be read prior to
- // returning to the Reactor. This is necessary to avoid some subtle
- // problems where data from another record is potentially handled
- // before the current record is fully handled.
- do
- {
- int status = ::SSL_connect (this->ssl_stream_.ssl ());
-
- switch (::SSL_get_error (this->ssl_stream_.ssl (), status))
- {
- case SSL_ERROR_NONE:
- // Start out with non-blocking disabled on the SSL stream.
- this->ssl_stream_.disable (ACE_NONBLOCK);
-
- return 0;
-
- case SSL_ERROR_WANT_WRITE:
- case SSL_ERROR_WANT_READ:
- break;
-
- default:
-#ifndef ACE_NDEBUG
- ERR_print_errors_fp (stderr);
-#endif /* ACE_NDEBUG */
- return -1;
- }
- }
- while (::SSL_pending (this->ssl_stream_.ssl ()));
-
- return 0;
-}
diff --git a/ace/SSL/SSL_Connect_Handler.h b/ace/SSL/SSL_Connect_Handler.h
deleted file mode 100644
index e2f2822cad0..00000000000
--- a/ace/SSL/SSL_Connect_Handler.h
+++ /dev/null
@@ -1,79 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file SSL_Connect_Handler.h
- *
- * $Id$
- *
- * @author Ossama Othman <ossama@uci.edu>
- */
-//=============================================================================
-
-
-#ifndef ACE_SSL_CONNECT_HANDLER_H
-#define ACE_SSL_CONNECT_HANDLER_H
-
-#include "ace/pre.h"
-
-#include "SSL_Export.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "ace/Event_Handler.h"
-
-class ACE_SSL_SOCK_Stream;
-
-/**
- * @class ACE_SSL_Connect_Handler
- *
- * @brief Event handler designed to complete non-blocking active
- * connections.
- *
- *
- */
-class ACE_SSL_Connect_Handler : public ACE_Event_Handler
-{
-public:
-
- /// Constructor.
- ACE_SSL_Connect_Handler (ACE_SSL_SOCK_Stream &ssl_stream);
-
- /// Destructor.
- virtual ~ACE_SSL_Connect_Handler (void);
-
- /// Get the handle associated with this event handler.
- virtual ACE_HANDLE get_handle (void) const;
-
- /// Called when input events occur (e.g., connection or data).
- virtual int handle_input (ACE_HANDLE fd = ACE_INVALID_HANDLE);
-
- /// Called when output events are possible (e.g., flow control
- /// abates).
- virtual int handle_output (ACE_HANDLE fd = ACE_INVALID_HANDLE);
-
- /// Called when a handle_*() method returns -1 or when the
- /// remove_handler() method is called on an ACE_Reactor. The
- /// close_mask indicates which event has triggered the
- /// handle_close() method callback on a particular handle.
- virtual int handle_close (ACE_HANDLE handle,
- ACE_Reactor_Mask close_mask);
-
-private:
-
- /// Perform the SSL connect.
- int ssl_connect (void);
-
-private:
-
- /// Reference to the SSL_SOCK_Stream for which the active
- /// connection is being established.
- ACE_SSL_SOCK_Stream &ssl_stream_;
-};
-
-
-#include "ace/post.h"
-
-#endif /* ACE_SSL_CONNECT_HANDLER_H */
diff --git a/ace/SSL/SSL_Context.cpp b/ace/SSL/SSL_Context.cpp
deleted file mode 100644
index 73cc9b67d2c..00000000000
--- a/ace/SSL/SSL_Context.cpp
+++ /dev/null
@@ -1,379 +0,0 @@
-// -*- C++ -*-
-//
-// $Id$
-
-#include "SSL_Context.h"
-
-#include "sslconf.h"
-
-#if !defined(__ACE_INLINE__)
-#include "SSL_Context.i"
-#endif /* __ACE_INLINE__ */
-
-#include "ace/Synch.h"
-#include "ace/Object_Manager.h"
-#include "ace/Log_Msg.h"
-
-#include <openssl/x509.h>
-#include <openssl/err.h>
-#include <openssl/rand.h>
-
-ACE_RCSID (ACE_SSL,
- SSL_Context,
- "$Id$")
-
-#ifdef ACE_HAS_THREADS
-ACE_mutex_t * ACE_SSL_Context::lock_ = 0;
-#endif /* ACE_HAS_THREADS */
-
-
-int ACE_SSL_Context::library_init_count_ = 0;
-
-ACE_SSL_Context::ACE_SSL_Context (void)
- : context_ (0),
- mode_ (-1),
- default_verify_mode_ (SSL_VERIFY_NONE)
-{
- ACE_SSL_Context::ssl_library_init ();
-}
-
-ACE_SSL_Context::~ACE_SSL_Context (void)
-{
- if (this->context_)
- {
- ::SSL_CTX_free (this->context_);
- this->context_ = 0;
- }
-
- ACE_SSL_Context::ssl_library_fini ();
-}
-
-void
-ACE_SSL_Context::ssl_library_init (void)
-{
- ACE_MT (ACE_GUARD (ACE_Recursive_Thread_Mutex,
- ace_ssl_mon,
- *ACE_Static_Object_Lock::instance ()));
-
- if (ACE_SSL_Context::library_init_count_ == 0)
- {
- ::SSL_library_init ();
- ::SSL_load_error_strings ();
- ::SSLeay_add_ssl_algorithms ();
-
- // Seed the random number generator. Note that the random
- // number generator can be seeded more than once to "stir" its
- // state.
-
-#ifdef WIN32
- // Seed the random number generator by sampling the screen.
- ::RAND_screen ();
-#endif /* WIN32 */
-
-#if OPENSSL_VERSION_NUMBER >= 0x00905100L
- // OpenSSL < 0.9.5 doesn't have EGD support.
-
- const char *egd_socket_file =
- ACE_OS::getenv (ACE_SSL_EGD_FILE_ENV);
-
- if (egd_socket_file != 0)
- (void) this->egd_file (egd_socket_file);
-#endif /* OPENSSL_VERSION_NUMBER */
-
- const char *rand_file =
- ACE_OS::getenv (ACE_SSL_RAND_FILE_ENV);
-
- if (rand_file != 0)
- (void) this->seed_file (rand_file);
-
- // Initialize the mutexes that will be used by the crypto
- // library.
-
-#ifdef ACE_HAS_THREADS
- int num_locks = ::CRYPTO_num_locks ();
-
- ACE_NEW (ACE_SSL_Context::lock_,
- ACE_mutex_t[num_locks]);
-
- for (int i = 0; i < num_locks; ++i)
- {
- // rwlock_init(&(ACE_SSL_Context::lock_[i]), USYNC_THREAD,
- // 0);
- if (ACE_OS::mutex_init(&(ACE_SSL_Context::lock_[i]),
- USYNC_THREAD) != 0)
- ACE_ERROR ((LM_ERROR,
- "(%P|%t) ACE_SSL_Context::ssl_library_init - %p\n",
- "mutex_init"));
- }
-
-# if !defined (WIN32)
- // This call isn't necessary on some platforms. See the CRYPTO
- // library's threads(3) man page for details.
- ::CRYPTO_set_id_callback (ACE_SSL_thread_id);
-# endif /* WIN32 */
- ::CRYPTO_set_locking_callback (ACE_SSL_locking_callback);
-#endif /* ACE_HAS_THREADS */
- }
- ACE_SSL_Context::library_init_count_++;
-}
-
-void
-ACE_SSL_Context::ssl_library_fini (void)
-{
- ACE_MT (ACE_GUARD (ACE_Recursive_Thread_Mutex,
- ace_ssl_mon,
- *ACE_Static_Object_Lock::instance ()));
-
- ACE_SSL_Context::library_init_count_--;
- if (ACE_SSL_Context::library_init_count_ == 0)
- {
-#ifdef ACE_HAS_THREADS
- int num_locks = ::CRYPTO_num_locks ();
-
- ::CRYPTO_set_locking_callback (0);
- for (int i = 0; i < num_locks; ++i)
- ACE_OS::mutex_destroy (&(ACE_SSL_Context::lock_[i]));
-
- delete [] ACE_SSL_Context::lock_;
-#endif /* ACE_HAS_THREADS */
-
- ::ERR_free_strings ();
- ::EVP_cleanup ();
- }
-}
-
-int
-ACE_SSL_Context::set_mode (int mode)
-{
- ACE_MT (ACE_GUARD_RETURN (ACE_Recursive_Thread_Mutex,
- ace_ssl_mon,
- *ACE_Static_Object_Lock::instance (),
- -1));
-
- if (this->context_ != 0)
- return -1;
-
- SSL_METHOD *method = 0;
-
- switch (mode)
- {
- case ACE_SSL_Context::SSLv2_client:
- method = ::SSLv2_client_method ();
- break;
- case ACE_SSL_Context::SSLv2_server:
- method = ::SSLv2_server_method ();
- break;
- case ACE_SSL_Context::SSLv2:
- method = ::SSLv2_method ();
- break;
- case ACE_SSL_Context::SSLv3_client:
- method = ::SSLv3_client_method ();
- break;
- case ACE_SSL_Context::SSLv3_server:
- method = ::SSLv3_server_method ();
- break;
- case ACE_SSL_Context::SSLv3:
- method = ::SSLv3_method ();
- break;
- case ACE_SSL_Context::SSLv23_client:
- method = ::SSLv23_client_method ();
- break;
- case ACE_SSL_Context::SSLv23_server:
- method = ::SSLv23_server_method ();
- break;
- case ACE_SSL_Context::SSLv23:
- method = ::SSLv23_method ();
- break;
- case ACE_SSL_Context::TLSv1_client:
- method = ::TLSv1_client_method ();
- break;
- case ACE_SSL_Context::TLSv1_server:
- method = ::TLSv1_server_method ();
- break;
- case ACE_SSL_Context::TLSv1:
- method = ::TLSv1_method ();
- break;
- default:
- method = ::SSLv3_method ();
- break;
- }
-
- this->context_ = ::SSL_CTX_new (method);
- if (this->context_ == 0)
- {
-#ifndef ACE_NDEBUG
- ::ERR_print_errors_fp (stderr);
-#endif /* ACE_NDEBUG */
- return -1;
- }
-
- this->mode_ = mode;
-
- const char *cert_file = ACE_OS::getenv (ACE_SSL_CERT_FILE_ENV);
- if (cert_file == 0)
- cert_file = ACE_DEFAULT_SSL_CERT_FILE;
- const char *cert_dir = ACE_OS::getenv (ACE_SSL_CERT_DIR_ENV);
- if (cert_dir == 0)
- cert_dir = ACE_DEFAULT_SSL_CERT_DIR;
-
- // Load the trusted certificate authorities.
- //
- // NOTE: SSL_CTX_load_verify_locations() returns 0 on error.
- if (::SSL_CTX_load_verify_locations (this->context_,
- cert_file,
- cert_dir) <= 0)
- {
-#ifndef ACE_NDEBUG
- // @@ For some reason, this call causes a seg fault.
- // ::ERR_print_errors_fp (stderr);
-#endif /* ACE_NDEBUG */
-
- return -1;
- }
-
- return 0;
-}
-
-int
-ACE_SSL_Context::get_mode (void) const
-{
- return this->mode_;
-}
-
-int
-ACE_SSL_Context::private_key (const char *file_name,
- int type)
-{
- if (this->private_key_.type () != -1)
- return 0;
-
- this->check_context ();
-
- this->private_key_ = ACE_SSL_Data_File (file_name, type);
-
- if (::SSL_CTX_use_PrivateKey_file (this->context_,
- this->private_key_.file_name (),
- this->private_key_.type ()) <= 0)
- return -1;
- else
- return this->verify_private_key ();
-}
-
-int
-ACE_SSL_Context::verify_private_key (void)
-{
- this->check_context ();
-
- return (::SSL_CTX_check_private_key (this->context_) <=0 ? -1 : 0);
-}
-
-int
-ACE_SSL_Context::certificate (const char *file_name,
- int type)
-{
- if (this->certificate_.type () != -1)
- return 0;
-
- this->certificate_ = ACE_SSL_Data_File (file_name, type);
-
- this->check_context ();
-
- if (::SSL_CTX_use_certificate_file (this->context_,
- this->certificate_.file_name (),
- this->certificate_.type ()) <= 0)
- return -1;
- else
- return 0;
-}
-
-int
-ACE_SSL_Context::random_seed (const char * seed)
-{
- ::RAND_seed (seed, ACE_OS::strlen (seed));
-
-#if OPENSSL_VERSION_NUMBER >= 0x00905100L
- // RAND_status() returns 1 if the PRNG has enough entropy.
- return (::RAND_status () == 1 ? 0 : -1);
-#else
- return 0; // Ugly, but OpenSSL <= 0.9.4 doesn't have RAND_status().
-#endif /* OPENSSL_VERSION_NUMBER >= 0x00905100L */
-}
-
-int
-ACE_SSL_Context::egd_file (const char * socket_file)
-{
-#if OPENSSL_VERSION_NUMBER < 0x00905100L
- // OpenSSL < 0.9.5 doesn't have EGD support.
- ACE_UNUSED_ARG (socket_file);
- ACE_NOTSUP_RETURN (-1);
-#else
- // RAND_egd() returns the amount of entropy used to seed the random
- // number generator. The actually value should be greater than 16,
- // i.e. 128 bits.
- if (::RAND_egd (socket_file) > 0)
- return 0;
- else
- return -1;
-#endif /* OPENSSL_VERSION_NUMBER >= 0x00905100L */
-}
-
-int
-ACE_SSL_Context::seed_file (const char * seed_file, long bytes)
-{
- // RAND_load_file() returns the number of bytes used to seed the
- // random number generator.
- if (::RAND_load_file (seed_file, bytes) > 0)
- return 0;
- else
- return -1;
-}
-
-
-// ****************************************************************
-
-#ifdef ACE_HAS_THREADS
-
-void
-ACE_SSL_locking_callback (int mode,
- int type,
- const char * /* file */,
- int /* line */)
-{
- // #ifdef undef
- // fprintf(stderr,"thread=%4d mode=%s lock=%s %s:%d\n",
- // CRYPTO_thread_id(),
- // (mode&CRYPTO_LOCK)?"l":"u",
- // (type&CRYPTO_READ)?"r":"w",file,line);
- // #endif
- // /*
- // if (CRYPTO_LOCK_SSL_CERT == type)
- // fprintf(stderr,"(t,m,f,l) %ld %d %s %d\n",
- // CRYPTO_thread_id(),
- // mode,file,line);
- // */
- if (mode & CRYPTO_LOCK)
- ACE_OS::mutex_lock (&(ACE_SSL_Context::lock_[type]));
- else
- ACE_OS::mutex_unlock (&(ACE_SSL_Context::lock_[type]));
-}
-
-unsigned long
-ACE_SSL_thread_id (void)
-{
- return (unsigned long) ACE_OS::thr_self ();
-}
-#endif /* ACE_HAS_THREADS */
-
-// ****************************************************************
-
-
-
-#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-
-template class ACE_Singleton<ACE_SSL_Context,ACE_SYNCH_MUTEX>;
-
-#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
-
-#pragma instantiate ACE_Singleton<ACE_SSL_Context,ACE_SYNCH_MUTEX>
-
-#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/ace/SSL/SSL_Context.h b/ace/SSL/SSL_Context.h
deleted file mode 100644
index 1c29fc533bc..00000000000
--- a/ace/SSL/SSL_Context.h
+++ /dev/null
@@ -1,242 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file SSL_Context.h
- *
- * $Id$
- *
- * @author Carlos O'Ryan <coryan@ece.uci.edu>
- */
-//=============================================================================
-
-
-#ifndef ACE_SSL_CONTEXT_H
-#define ACE_SSL_CONTEXT_H
-
-#include "ace/pre.h"
-
-#include "SSL_Export.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "ace/SString.h"
-#include "ace/Singleton.h"
-#include "ace/Synch.h"
-
-#include <openssl/ssl.h>
-
-#ifdef ACE_HAS_THREADS
-extern "C"
-{
-
- /// Mutex locking/unlocking callback for OpenSSL multithread
- /// support.
- void ACE_SSL_locking_callback (int mode,
- int type,
- const char * file,
- int line);
-
- /// Return the current thread ID. OpenSSL uses this on platforms
- /// that need it.
- unsigned long ACE_SSL_thread_id (void);
-}
-#endif /* ACE_HAS_THREADS */
-
-
-class ACE_SSL_Export ACE_SSL_Data_File
-{
-public:
-
- /// Default constructor
- ACE_SSL_Data_File (void);
-
- /// Contructor from a file name and the file type.
- ACE_SSL_Data_File (const char *file_name,
- int type = SSL_FILETYPE_PEM);
-
- /// The file name
- const char *file_name (void) const;
-
- /// The type
- int type (void) const;
-
-private:
-
- /// The file name
- ACE_CString file_name_;
-
- /// The type, used by the SSL library to parse the file contents.
- int type_;
-};
-
-// ****************************************************************
-
-
-/**
- * @class ACE_SSL_Context
- *
- * @brief A wrapper for the OpenSSL SSL_CTX related functions.
- *
- * This class provides a wrapper for the SSL_CTX data structure.
- * Since most applications have a single SSL_CTX structure, this class
- * can be used as a singleton.
- */
-class ACE_SSL_Export ACE_SSL_Context
-{
- friend void ACE_SSL_locking_callback (int, int, const char *, int);
-
-public:
-
- enum {
- INVALID_METHOD = -1,
- SSLv2_client = 1,
- SSLv2_server,
- SSLv2,
- SSLv3_client,
- SSLv3_server,
- SSLv3,
- SSLv23_client,
- SSLv23_server,
- SSLv23,
- TLSv1_client,
- TLSv1_server,
- TLSv1
- };
-
- /// Constructor
- ACE_SSL_Context (void);
-
- /// Destructor
- ~ACE_SSL_Context (void);
-
- /// The Singleton context, the SSL components use the singleton if
- /// nothing else is available.
- static ACE_SSL_Context *instance (void);
-
- /**
- * Set the CTX mode. The mode can be set only once, afterwards the
- * function has no effect and returns -1.
- * Once the mode is set the underlying SSL_CTX is initialized and
- * the class can be used.
- * If the mode is not set, then the class automatically initializes
- * itself to the default mode.
- */
- int set_mode (int mode = ACE_SSL_Context::SSLv23);
-
- int get_mode (void) const;
-
- /// Get the SSL context
- SSL_CTX *context (void);
-
- /// Get the file name and file format used for the private key
- int private_key_type (void) const;
- const char *private_key_file_name (void) const;
-
- /// Set the private key file.
- int private_key (const char *file_name,
- int type = SSL_FILETYPE_PEM);
-
- /// Verify if the private key is valid
- int verify_private_key (void);
-
- /// Get the file name and file format used for the certificate file
- int certificate_type (void) const;
- const char *certificate_file_name (void) const;
-
- /// Set the certificate file.
- int certificate (const char *file_name,
- int type = SSL_FILETYPE_PEM);
-
- /**
- * Set and query the default verify mode for this context, it is
- * inherited by all the ACE_SSL objects created using the context.
- * It can be overriden on a per-ACE_SSL object.
- */
- void default_verify_mode (int mode);
- int default_verify_mode (void) const;
-
- /**
- * @name OpenSSL Random Number Generator Seed Related Methods
- *
- * These are methods that can be used to seed OpenSSL's
- * pseudo-random number generator. These methods can be called more
- * than once.
- */
- //@{
- /// Seed the underlying random number generator. This value should
- /// have at least 128 bits of entropy.
- int random_seed (const char * seed);
-
- /// Set the Entropy Gathering Daemon (EGD) UNIX domain socket file to
- /// read random seed values from.
- int egd_file (const char * socket_file);
-
- /**
- * Set the file that contains the random seed value state, and the
- * amount of bytes to read. "-1" bytes causes the entire file to be
- * read.
- */
- int seed_file (const char * seed_file, long bytes = -1);
- //@}
-
-private:
-
- /// Verify if the context has been initialized or not.
- void check_context (void);
-
- /// @@ More to document
- void ssl_library_init ();
- void ssl_library_fini ();
-
- // = Prevent assignment and initialization.
- //@{
- ACE_UNIMPLEMENTED_FUNC (void operator= (const ACE_SSL_Context &))
- ACE_UNIMPLEMENTED_FUNC (ACE_SSL_Context (const ACE_SSL_Context &))
- //@}
-
-private:
- // @@ Carlos, I protected this variable with an ACE_GUARD, just like
- // what we do for the orb_init_count_ variable in
- // tao/ORB.cpp. The code isn't pretty but it should suffice
- // until the SSL context is stored in a Singleton.
- // -Ossama
-
- /// The SSL_CTX structure
- SSL_CTX *context_;
-
- /// Cache the mode so we can answer fast
- int mode_;
-
- /// The private key and certificate file
- ACE_SSL_Data_File private_key_;
- ACE_SSL_Data_File certificate_;
-
- /// The default verify mode.
- int default_verify_mode_;
-
- /// Reference count of the number of times the ACE_SSL_Context was
- /// initialized.
- static int library_init_count_;
-
- // @@ This should also be done with a singleton, otherwise it is not
- // thread safe and/or portable to some weird platforms...
-
-#ifdef ACE_HAS_THREADS
- /// Array of mutexes used internally by OpenSSL when the SSL
- /// application is multithreaded.
- static ACE_mutex_t * lock_;
-
- // @@ This should also be managed by a singleton.
-#endif
-};
-
-#if defined(__ACE_INLINE__)
-#include "SSL_Context.i"
-#endif /* __ACE_INLINE__ */
-
-#include "ace/post.h"
-
-#endif /* ACE_SSL_CONTEXT_H */
diff --git a/ace/SSL/SSL_Context.i b/ace/SSL/SSL_Context.i
deleted file mode 100644
index ede327c482b..00000000000
--- a/ace/SSL/SSL_Context.i
+++ /dev/null
@@ -1,88 +0,0 @@
-// -*- C++ -*-
-//
-// $Id$
-
-
-ACE_INLINE
-ACE_SSL_Data_File::ACE_SSL_Data_File (void)
- : type_ (-1)
-{
-}
-
-ACE_INLINE
-ACE_SSL_Data_File::ACE_SSL_Data_File (const char *file_name,
- int type)
- : file_name_ (file_name),
- type_ (type)
-{
-}
-
-ACE_INLINE const char*
-ACE_SSL_Data_File::file_name (void) const
-{
- return this->file_name_.c_str ();
-}
-
-ACE_INLINE int
-ACE_SSL_Data_File::type (void) const
-{
- return this->type_;
-}
-
-// ****************************************************************
-
-ACE_INLINE ACE_SSL_Context*
-ACE_SSL_Context::instance (void)
-{
- return ACE_Singleton<ACE_SSL_Context,ACE_SYNCH_MUTEX>::instance ();
-}
-
-ACE_INLINE void
-ACE_SSL_Context::check_context (void)
-{
- if (this->context_ == 0)
- this->set_mode ();
-}
-
-ACE_INLINE SSL_CTX *
-ACE_SSL_Context::context (void)
-{
- this->check_context ();
- return this->context_;
-}
-
-ACE_INLINE int
-ACE_SSL_Context::private_key_type (void) const
-{
- return this->private_key_.type ();
-}
-
-ACE_INLINE const char*
-ACE_SSL_Context::private_key_file_name (void) const
-{
- return this->private_key_.file_name ();
-}
-
-ACE_INLINE int
-ACE_SSL_Context::certificate_type (void) const
-{
- return this->certificate_.type ();
-}
-
-ACE_INLINE const char*
-ACE_SSL_Context::certificate_file_name (void) const
-{
- return this->certificate_.file_name ();
-}
-
-ACE_INLINE void
-ACE_SSL_Context::default_verify_mode (int mode)
-{
- this->default_verify_mode_ = mode;
-}
-
-ACE_INLINE int
-ACE_SSL_Context::default_verify_mode (void) const
-{
- return this->default_verify_mode_;
-}
diff --git a/ace/SSL/SSL_Context.inl b/ace/SSL/SSL_Context.inl
deleted file mode 100644
index ede327c482b..00000000000
--- a/ace/SSL/SSL_Context.inl
+++ /dev/null
@@ -1,88 +0,0 @@
-// -*- C++ -*-
-//
-// $Id$
-
-
-ACE_INLINE
-ACE_SSL_Data_File::ACE_SSL_Data_File (void)
- : type_ (-1)
-{
-}
-
-ACE_INLINE
-ACE_SSL_Data_File::ACE_SSL_Data_File (const char *file_name,
- int type)
- : file_name_ (file_name),
- type_ (type)
-{
-}
-
-ACE_INLINE const char*
-ACE_SSL_Data_File::file_name (void) const
-{
- return this->file_name_.c_str ();
-}
-
-ACE_INLINE int
-ACE_SSL_Data_File::type (void) const
-{
- return this->type_;
-}
-
-// ****************************************************************
-
-ACE_INLINE ACE_SSL_Context*
-ACE_SSL_Context::instance (void)
-{
- return ACE_Singleton<ACE_SSL_Context,ACE_SYNCH_MUTEX>::instance ();
-}
-
-ACE_INLINE void
-ACE_SSL_Context::check_context (void)
-{
- if (this->context_ == 0)
- this->set_mode ();
-}
-
-ACE_INLINE SSL_CTX *
-ACE_SSL_Context::context (void)
-{
- this->check_context ();
- return this->context_;
-}
-
-ACE_INLINE int
-ACE_SSL_Context::private_key_type (void) const
-{
- return this->private_key_.type ();
-}
-
-ACE_INLINE const char*
-ACE_SSL_Context::private_key_file_name (void) const
-{
- return this->private_key_.file_name ();
-}
-
-ACE_INLINE int
-ACE_SSL_Context::certificate_type (void) const
-{
- return this->certificate_.type ();
-}
-
-ACE_INLINE const char*
-ACE_SSL_Context::certificate_file_name (void) const
-{
- return this->certificate_.file_name ();
-}
-
-ACE_INLINE void
-ACE_SSL_Context::default_verify_mode (int mode)
-{
- this->default_verify_mode_ = mode;
-}
-
-ACE_INLINE int
-ACE_SSL_Context::default_verify_mode (void) const
-{
- return this->default_verify_mode_;
-}
diff --git a/ace/SSL/SSL_Export.h b/ace/SSL/SSL_Export.h
deleted file mode 100644
index ec478095d18..00000000000
--- a/ace/SSL/SSL_Export.h
+++ /dev/null
@@ -1,44 +0,0 @@
-// -*- C++ -*-
-// $Id$
-// Definition for Win32 Export directives.
-// This file is generated automatically by
-// generate_export_file.pl
-// ------------------------------
-#if !defined (ACE_SSL_EXPORT_H)
-#define ACE_SSL_EXPORT_H
-
-#include "ace/config-all.h"
-
-#if defined (ACE_AS_STATIC_LIBS) && !defined (ACE_SSL_HAS_DLL)
-# define ACE_SSL_HAS_DLL 0
-#endif /* ACE_AS_STATIC_LIBS && ACE_SSL_HAS_DLL */
-
-#if !defined (ACE_SSL_HAS_DLL)
-#define ACE_SSL_HAS_DLL 1
-#endif /* ! ACE_SSL_HAS_DLL */
-
-#if defined (ACE_SSL_HAS_DLL)
-# if (ACE_SSL_HAS_DLL == 1)
-# if defined (ACE_SSL_BUILD_DLL)
-# define ACE_SSL_Export ACE_Proper_Export_Flag
-# define ACE_SSL_SINGLETON_DECLARATION(T) ACE_EXPORT_SINGLETON_DECLARATION (T)
-# define ACE_SSL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_EXPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# else
-# define ACE_SSL_Export ACE_Proper_Import_Flag
-# define ACE_SSL_SINGLETON_DECLARATION(T) ACE_IMPORT_SINGLETON_DECLARATION (T)
-# define ACE_SSL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK) ACE_IMPORT_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* ACE_SSL_BUILD_DLL */
-# else
-# define ACE_SSL_Export
-# define ACE_SSL_SINGLETON_DECLARATION(T)
-# define ACE_SSL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-# endif /* ! ACE_SSL_HAS_DLL == 1 */
-#else
-# define ACE_SSL_Export
-# define ACE_SSL_SINGLETON_DECLARATION(T)
-# define ACE_SSL_SINGLETON_DECLARE(SINGLETON_TYPE, CLASS, LOCK)
-#endif /* ACE_SSL_HAS_DLL */
-
-#endif /* ACE_SSL_EXPORT_H */
-
-// End of auto generated file.
diff --git a/ace/SSL/SSL_SOCK.cpp b/ace/SSL/SSL_SOCK.cpp
deleted file mode 100644
index 8a1729bbcea..00000000000
--- a/ace/SSL/SSL_SOCK.cpp
+++ /dev/null
@@ -1,68 +0,0 @@
-// -*- C++ -*-
-//
-// $Id$
-
-
-#include "SSL_SOCK.h"
-
-#if defined (ACE_LACKS_INLINE_FUNCTIONS)
-#include "SSL_SOCK.i"
-#endif
-
-ACE_RCSID(ACE_SSL, SSL_SOCK, "$Id$")
-
-
-ACE_SSL_SOCK::ACE_SSL_SOCK (void)
-{
- ACE_TRACE ("ACE_SSL_SOCK::ACE_SSL_SOCK");
-}
-
-ACE_SSL_SOCK::~ACE_SSL_SOCK (void)
-{
- ACE_TRACE ("ACE_SSL_SOCK::~ACE_SSL_SOCK");
-}
-
-int
-ACE_SSL_SOCK::enable (int value) const
-{
- ACE_TRACE ("ACE_SSL_SOCK::enable");
-
- switch (value)
- {
-#ifdef SIGURG
- case SIGURG:
- case ACE_SIGURG:
-#endif /* SIGURG */
- case SIGIO:
- case ACE_SIGIO:
- case ACE_CLOEXEC:
- ACE_NOTSUP_RETURN (-1);
- case ACE_NONBLOCK:
- return ACE_IPC_SAP::enable (value);
- default:
- return -1;
- }
- return 0;
-}
-
-int
-ACE_SSL_SOCK::disable (int value) const
-{
- ACE_TRACE("ACE_SSL_SOCK::disable");
- switch (value)
- {
-#ifdef SIGURG
- case SIGURG:
- case ACE_SIGURG:
-#endif /* SIGURG */
- case SIGIO:
- case ACE_SIGIO:
- case ACE_CLOEXEC:
- ACE_NOTSUP_RETURN (-1);
- case ACE_NONBLOCK:
- return ACE_IPC_SAP::disable (value);
- default:
- return -1;
- }
- return 0;
-}
diff --git a/ace/SSL/SSL_SOCK.h b/ace/SSL/SSL_SOCK.h
deleted file mode 100644
index 17a8e6c50bd..00000000000
--- a/ace/SSL/SSL_SOCK.h
+++ /dev/null
@@ -1,94 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file SSL_SOCK.h
- *
- * $Id$
- *
- * @author Ossama Othman <ossama@ece.uci.edu>
- */
-//=============================================================================
-
-
-#ifndef ACE_SSL_SOCK_H
-#define ACE_SSL_SOCK_H
-
-#include "ace/pre.h"
-
-#include "SSL_Export.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "ace/SOCK.h"
-
-#if defined (ACE_HAS_TEMPLATE_TYPEDEFS)
-# define ACE_SSL_SOCK_ACCEPTOR ACE_SSL_SOCK_Acceptor
-# define ACE_SSL_SOCK_CONNECTOR ACE_SSL_SOCK_Connector
-# define ACE_SSL_SOCK_STREAM ACE_SSL_SOCK_Stream
-#else
-# define ACE_SSL_SOCK_ACCEPTOR ACE_SSL_SOCK_Acceptor, ACE_INET_Addr
-# define ACE_SSL_SOCK_CONNECTOR ACE_SSL_SOCK_Connector, ACE_INET_Addr
-# define ACE_SSL_SOCK_STREAM ACE_SSL_SOCK_Stream, ACE_INET_Addr
-#endif /* ACE_HAS_TEMPLATE_TYPEDEFS */
-
-/**
- * @class ACE_SSL_SOCK
- *
- * @brief An abstract class that forms the basis for more specific
- * classes, such as "ACE_SSL_SOCK_Acceptor" and
- * "ACE_SSL_SOCK_Stream". Do not instantiate this class.
- *
- * This class provides functions that are common to all of the
- * ACE_SSL_SOCK_* classes. ACE_SSL_SOCK provides the ability
- * to get and set socket options, get the local and remote
- * addresses, and close the socket.
- */
-class ACE_SSL_Export ACE_SSL_SOCK : public ACE_SOCK
-{
-public:
-
- /// Default destructor.
- ~ACE_SSL_SOCK (void);
-
- /**
- * Override ACE_SOCK base class implementations with these SSL
- * specific ones.
- */
- //@{
- int set_option (int level,
- int option,
- void *optval,
- int optlen) const;
- int get_option (int level,
- int option,
- void *optval,
- int *optlen) const;
- int enable (int value) const;
- int disable (int value) const;
- void set_handle (ACE_HANDLE);
- ACE_HANDLE get_handle (void) const;
- int control (int cmd, void *arg) const;
- //@}
-
-protected:
-
- /// Default constructor is private to prevent instances of this class
- /// from being defined.
- ACE_SSL_SOCK (void);
-
-};
-
-#if !defined (ACE_LACKS_INLINE_FUNCTIONS)
-#include "SSL_SOCK.i"
-#endif /* ACE_LACKS_INLINE_FUNCTIONS */
-
-#include "ace/post.h"
-
-#endif /* ACE_SSL_SOCK_H */
-
-
-
-
diff --git a/ace/SSL/SSL_SOCK.i b/ace/SSL/SSL_SOCK.i
deleted file mode 100644
index dc21bfbdba1..00000000000
--- a/ace/SSL/SSL_SOCK.i
+++ /dev/null
@@ -1,64 +0,0 @@
-// -*- C++ -*-
-// $Id$
-
-ASYS_INLINE void
-ACE_SSL_SOCK::set_handle (ACE_HANDLE fd)
-{
- this->ACE_SOCK::set_handle (fd);
-}
-
-ASYS_INLINE ACE_HANDLE
-ACE_SSL_SOCK::get_handle (void) const
-{
- // return this->ssl_ ? (ACE_HANDLE) ::SSL_get_fd (this->ssl_) : ACE_INVALID_HANDLE;
- return this->ACE_SOCK::get_handle ();
-}
-
-
-ASYS_INLINE int
-ACE_SSL_SOCK::control (int cmd, void *arg) const
-{
- return ACE_OS::ioctl (this->get_handle (), cmd, arg);
-}
-
-ASYS_INLINE int
-ACE_SSL_SOCK::set_option (int level,
- int option,
- void *optval,
- int optlen) const
-{
-// switch (option)
-// {
-// case SO_SNDBUF:
-// return ::BIO_set_write_buffer_size (this->io_bio_, *((int *) optval));
-// case SO_RCVCBUF:
-// return ::BIO_set_read_buffer_size (this->io_bio_, *((int *) optval));
-// default:
- return ACE_OS::setsockopt (this->get_handle (),
- level,
- option, (char *) optval,
- optlen);
-// }
-}
-
-// Provides access to the ACE_OS::getsockopt system call.
-
-ASYS_INLINE int
-ACE_SSL_SOCK::get_option (int level,
- int option,
- void *optval,
- int *optlen) const
-{
-// switch (option)
-// {
-// case SO_SNDBUF:
-// return ::BIO_get_write_buffer_size (this->io_bio_, *((int *) optval));
-// case SO_RCVCBUF:
-// return ::BIO_get_read_buffer_size (this->io_bio_, *((int *) optval));
-// default:
- return ACE_OS::getsockopt (this->get_handle (),
- level,
- option, (char *) optval,
- optlen);
-// }
-}
diff --git a/ace/SSL/SSL_SOCK_Acceptor.cpp b/ace/SSL/SSL_SOCK_Acceptor.cpp
deleted file mode 100644
index 387c94a9726..00000000000
--- a/ace/SSL/SSL_SOCK_Acceptor.cpp
+++ /dev/null
@@ -1,301 +0,0 @@
-// -*- C++ -*-
-//
-// $Id$
-
-
-#include "SSL_SOCK_Acceptor.h"
-#include "SSL_Accept_Handler.h"
-
-#include "ace/Log_Msg.h"
-
-ACE_ALLOC_HOOK_DEFINE(ACE_SSL_SOCK_Acceptor)
-
-#if defined (ACE_LACKS_INLINE_FUNCTIONS)
-#include "SSL_SOCK_Acceptor.i"
-#endif /* ACE_LACKS_INLINE_FUNCTIONS */
-
-ACE_RCSID (ACE_SSL,
- SSL_SOCK_Acceptor,
- "$Id$")
-
-ACE_SSL_SOCK_Acceptor::~ACE_SSL_SOCK_Acceptor (void)
-{
- ACE_TRACE ("ACE_SSL_SOCK_Acceptor::~ACE_SSL_SOCK_Acceptor");
-}
-
-int
-ACE_SSL_SOCK_Acceptor::shared_accept_start (ACE_Time_Value *timeout,
- int restart,
- int &in_blocking_mode) const
-{
- ACE_TRACE ("ACE_SSL_SOCK_Acceptor::shared_accept_start");
-
- ACE_HANDLE handle = this->get_handle ();
-
- // Handle the case where we're doing a timed <accept>.
- if (timeout != 0)
- {
- if (ACE::handle_timed_accept (handle,
- timeout,
- restart) == -1)
- return -1;
- else
- {
- in_blocking_mode = ACE_BIT_DISABLED (ACE::get_flags (handle),
- ACE_NONBLOCK);
- // Set the handle into non-blocking mode if it's not already
- // in it.
- if (in_blocking_mode
- && ACE::set_flags (handle,
- ACE_NONBLOCK) == -1)
- return -1;
- }
- }
-
- return 0;
-}
-
-int
-ACE_SSL_SOCK_Acceptor::shared_accept_finish (ACE_SSL_SOCK_Stream& new_stream,
- int in_blocking_mode,
- int reset_new_handle) const
-{
- ACE_TRACE ("ACE_SSL_SOCK_Acceptor::shared_accept_finish ()");
-
- ACE_HANDLE new_handle = new_stream.get_handle ();
-
- // Check to see if we were originally in blocking mode, and if so,
- // set the <new_stream>'s handle and <this> handle to be in blocking
- // mode.
- if (in_blocking_mode)
- {
- // Save/restore errno.
- ACE_Errno_Guard error (errno);
-
- // Only disable ACE_NONBLOCK if we weren't in non-blocking mode
- // originally.
- ACE::clr_flags (this->get_handle (),
- ACE_NONBLOCK);
- ACE::clr_flags (new_handle,
- ACE_NONBLOCK);
- }
-
-#if defined (ACE_HAS_WINSOCK2) && (ACE_HAS_WINSOCK2 != 0)
- if (reset_new_handle)
- // Reset the event association inherited by the new handle.
- ::WSAEventSelect ((SOCKET) new_handle, 0, 0);
-#else
- ACE_UNUSED_ARG (reset_new_handle);
-#endif /* ACE_WIN32 */
-
- if (new_handle == ACE_INVALID_HANDLE)
- return -1;
-
- return 0;
-}
-
-int
-ACE_SSL_SOCK_Acceptor::ssl_accept (ACE_SSL_SOCK_Stream &new_stream) const
-{
- if (SSL_is_init_finished (new_stream.ssl ()))
- return 0;
-
- if (!SSL_in_accept_init (new_stream.ssl ()))
- ::SSL_set_accept_state (new_stream.ssl ());
-
- int status = ::SSL_accept (new_stream.ssl ());
-
- if (::SSL_get_error (new_stream.ssl (), status) != SSL_ERROR_NONE)
- {
-#ifndef ACE_NDEBUG
- ERR_print_errors_fp (stderr);
-#endif /* ACE_NDEBUG */
-
- return -1;
- }
-
- long verify_error =
- ::SSL_get_verify_result (new_stream.ssl ());
-
- if (verify_error != X509_V_OK)
- {
-#ifndef ACE_NDEBUG
- ACE_DEBUG ((LM_DEBUG,
- "(%P|%t) X.509 certificate verification "
- "error:%s\n",
- ::X509_verify_cert_error_string (verify_error)));
-#endif /* ACE_NDEBUG */
-
- return -1;
- }
-
- return 0;
-}
-
-int
-ACE_SSL_SOCK_Acceptor::ssl_accept (ACE_SSL_SOCK_Stream &new_stream,
- ACE_Time_Value *timeout) const
-{
- if (SSL_is_init_finished (new_stream.ssl ()))
- return 0;
-
- if (!SSL_in_accept_init (new_stream.ssl ()))
- ::SSL_set_accept_state (new_stream.ssl ());
-
- // Register an event handler to complete the non-blocking SSL
- // accept. A specialized event handler is necessary since since
- // the ACE Acceptor strategies are not designed for protocols
- // that require additional handshakes after the initial accept.
- ACE_SSL_Accept_Handler eh (new_stream);
-
- if (this->reactor_->register_handler (
- new_stream.get_handle (),
- &eh,
- ACE_Event_Handler::READ_MASK |
- ACE_Event_Handler::WRITE_MASK) == -1)
- return -1;
-
- // Make the current thread take ownership of the Reactor.
- this->reactor_->owner (ACE_Thread::self ());
-
- // Have the Reactor complete the SSL passive connection. Run the
- // event loop until the passive connection is completed. Since
- // the Reactor is used, this isn't a busy wait.
- while (SSL_in_accept_init (new_stream.ssl ()))
- if (this->reactor_->handle_events (timeout) == -1)
- {
- reactor_->remove_handler (&eh,
- ACE_Event_Handler::READ_MASK |
- ACE_Event_Handler::WRITE_MASK);
- return -1;
- }
-
- // SSL passive connection was completed. Deregister the event
- // handler from the Reactor, but don't close it.
- return
- this->reactor_->remove_handler (&eh,
- ACE_Event_Handler::READ_MASK |
- ACE_Event_Handler::WRITE_MASK |
- ACE_Event_Handler::DONT_CALL);
-}
-
-// General purpose routine for accepting new connections.
-int
-ACE_SSL_SOCK_Acceptor::accept (ACE_SSL_SOCK_Stream &new_stream,
- ACE_Addr *remote_addr,
- ACE_Time_Value *timeout,
- int restart,
- int reset_new_handle) const
-{
- ACE_TRACE ("ACE_SSL_SOCK_Acceptor::accept");
-
- int in_blocking_mode = 0;
- if (this->shared_accept_start (timeout,
- restart,
- in_blocking_mode) == -1)
- return -1;
- else
- {
- // On Win32 the third parameter to <accept> must be a NULL
- // pointer if we want to ignore the client's address.
- int *len_ptr = 0;
- sockaddr *addr = 0;
- int len = 0;
-
- if (remote_addr != 0)
- {
- len = remote_addr->get_size ();
- len_ptr = &len;
- addr = (sockaddr *) remote_addr->get_addr ();
- }
-
- ACE_HANDLE handle;
- do
- handle = ACE_OS::accept (this->get_handle (),
- addr,
- len_ptr);
- while (handle == ACE_INVALID_HANDLE
- && restart != 0
- && errno == EINTR
- && timeout == 0);
-
- // Reset the size of the addr, which is only necessary for UNIX
- // domain sockets.
- if (handle != ACE_INVALID_HANDLE
- && remote_addr != 0)
- remote_addr->set_size (len);
-
- new_stream.set_handle (handle);
- }
-
- if (this->shared_accept_finish (new_stream,
- in_blocking_mode,
- reset_new_handle) != 0)
- return -1;
-
- if (in_blocking_mode)
- return this->ssl_accept (new_stream);
-
- return this->ssl_accept (new_stream, timeout);
-}
-
-int
-ACE_SSL_SOCK_Acceptor::accept (ACE_SSL_SOCK_Stream &new_stream,
- ACE_Accept_QoS_Params qos_params,
- ACE_Addr *remote_addr,
- ACE_Time_Value *timeout,
- int restart,
- int reset_new_handle) const
-{
- ACE_TRACE ("ACE_SSL_SOCK_Acceptor::accept");
-
- int in_blocking_mode = 0;
- if (this->shared_accept_start (timeout,
- restart,
- in_blocking_mode) == -1)
- return -1;
- else
- {
- // On Win32 the third parameter to <accept> must be a NULL
- // pointer if we want to ignore the client's address.
- int *len_ptr = 0;
- sockaddr *addr = 0;
- int len = 0;
-
- if (remote_addr != 0)
- {
- len = remote_addr->get_size ();
- len_ptr = &len;
- addr = (sockaddr *) remote_addr->get_addr ();
- }
-
- ACE_HANDLE handle;
- do
- handle = ACE_OS::accept (this->get_handle (),
- addr,
- len_ptr,
- qos_params);
- while (handle == ACE_INVALID_HANDLE
- && restart != 0
- && errno == EINTR
- && timeout == 0);
-
- // Reset the size of the addr, which is only necessary for UNIX
- // domain sockets.
- if (handle != ACE_INVALID_HANDLE
- && remote_addr != 0)
- remote_addr->set_size (len);
-
- new_stream.set_handle (handle);
- }
-
- if (this->shared_accept_finish (new_stream,
- in_blocking_mode,
- reset_new_handle) != 0)
- return -1;
-
- if (in_blocking_mode)
- return this->ssl_accept (new_stream);
-
- return this->ssl_accept (new_stream, timeout);
-}
diff --git a/ace/SSL/SSL_SOCK_Acceptor.h b/ace/SSL/SSL_SOCK_Acceptor.h
deleted file mode 100644
index 22653ccf8a8..00000000000
--- a/ace/SSL/SSL_SOCK_Acceptor.h
+++ /dev/null
@@ -1,179 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file SSL_SOCK_Acceptor.h
- *
- * $Id$
- *
- * @author John Heitmann
- * @author Chris Zimman
- * @author Ossama Othman <ossama@uci.edu>
- */
-//=============================================================================
-
-
-#ifndef ACE_SSL_SOCK_ACCEPTOR_H
-#define ACE_SSL_SOCK_ACCEPTOR_H
-
-#include "ace/pre.h"
-
-#include "SSL_Export.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "SSL_SOCK_Stream.h"
-
-#include "ace/SOCK_Acceptor.h"
-#include "ace/Reactor.h"
-
-/**
- * @class ACE_SSL_SOCK_Acceptor
- *
- * @brief Defines a factory that creates new <ACE_SSL_SOCK_Stream>s
- * passively.
- *
- * The ACE_SSL_SOCK_Acceptor has its own ACE_SOCK_Acceptor
- * which handles virtually all of the socket acceptance. This
- * class is a wrapper which only adds the SSL acceptance.
- */
-class ACE_SSL_Export ACE_SSL_SOCK_Acceptor : public ACE_SSL_SOCK
-{
-public:
-
- /// Default constructor.
- ACE_SSL_SOCK_Acceptor (ACE_Reactor *reactor =
- ACE_Reactor::instance ());
-
- /// Default dtor.
- ~ACE_SSL_SOCK_Acceptor (void);
-
- /**
- * Initiate a passive mode SSL/BSD-style acceptor socket.
- * "local_sap" is the address that we're going to listen for
- * connections on.
- */
- ACE_SSL_SOCK_Acceptor (const ACE_Addr &local_sap,
- int reuse_addr = 0,
- int protocol_family = PF_INET,
- int backlog = ACE_DEFAULT_BACKLOG,
- int protocol = 0,
- ACE_Reactor *reactor =
- ACE_Reactor::instance ()
-);
-
- /// Initialize a passive-mode QoS-enabled acceptor socket. Returns 0
- /// on success and -1 on failure.
- ACE_SSL_SOCK_Acceptor (const ACE_Addr &local_sap,
- ACE_Protocol_Info *protocolinfo,
- ACE_SOCK_GROUP g,
- u_long flags,
- int reuse_addr,
- int protocol_family,
- int backlog = ACE_DEFAULT_BACKLOG,
- int protocol = 0,
- ACE_Reactor *reactor =
- ACE_Reactor::instance ());
-
- /**
- * Initiate a passive mode SSL/BSD-style acceptor socket.
- * "local_sap" is the address that we're going to listen for
- * connections on.
- */
- int open (const ACE_Addr &local_sap,
- int reuse_addr = 0,
- int protocol_family = PF_INET,
- int backlog = ACE_DEFAULT_BACKLOG,
- int protocol = 0);
-
- /// Close the listening socket.
- int close (void);
-
- /**
- * @name Passive Connection "accept" Methods
- */
- //@{
- /**
- * Accept a new <ACE_SSL_SOCK_Stream> connection. A <timeout> of 0
- * means block forever, a <timeout> of {0, 0} means poll. <restart>
- * == 1 means "restart if interrupted," i.e., if errno == EINTR.
- */
- int accept (ACE_SSL_SOCK_Stream &new_stream,
- ACE_Addr *remote_addr = 0,
- ACE_Time_Value *timeout = 0,
- int restart = 1,
- int reset_new_handle = 0) const;
-
- /**
- * Accept a new <ACE_SSL_SOCK_Stream> connection using the RVSP QoS
- * information in <qos_params>. A <timeout> of 0 means block
- * forever, a <timeout> of {0, 0} means poll. <restart> == 1 means
- * "restart if interrupted," i.e., if errno == EINTR.
- */
- int accept (ACE_SSL_SOCK_Stream &new_stream,
- ACE_Accept_QoS_Params qos_params,
- ACE_Addr *remote_addr = 0,
- ACE_Time_Value *timeout = 0,
- int restart = 1,
- int reset_new_handle = 0) const;
- //@}
-
- /// Set the Reactor used when completing the SSL passive
- /// connection.
- void reactor (ACE_Reactor *r);
-
- /// Return the Reactor used when completing the SSL passive
- /// connection.
- ACE_Reactor *reactor (void) const;
-
- /// Meta-type info
- //@{
- typedef ACE_INET_Addr PEER_ADDR;
- typedef ACE_SSL_SOCK_Stream PEER_STREAM;
- //@}
-
- /// Declare the dynamic allocation hooks.
- ACE_ALLOC_HOOK_DECLARE;
-
-protected:
-
- /// Perform operations that must occur before <ACE_OS::accept> is
- /// called.
- int shared_accept_start (ACE_Time_Value *timeout,
- int restart,
- int &in_blocking_mode) const;
-
- /// Perform operations that must occur after <ACE_OS::accept> is
- /// called.
- int shared_accept_finish (ACE_SSL_SOCK_Stream &new_stream,
- int in_blocking_mode,
- int reset_new_handle) const;
-
- /// Complete blocking SSL passive connection establishment.
- int ssl_accept (ACE_SSL_SOCK_Stream &new_stream) const;
-
- /// Complete non-blocking SSL passive connection establishment.
- int ssl_accept (ACE_SSL_SOCK_Stream &new_stream,
- ACE_Time_Value *timeout) const;
-
-private:
-
- /// The BSD-socket workhorse
- ACE_SOCK_Acceptor acceptor_;
-
- /// Pointer to the Reactor responsible for dispatching the event
- /// handler responsible for completing the SSL passive connection.
- ACE_Reactor *reactor_;
-
-};
-
-#if !defined (ACE_LACKS_INLINE_FUNCTIONS)
-#include "SSL_SOCK_Acceptor.i"
-#endif /* ACE_LACKS_INLINE_FUNCTIONS */
-
-#include "ace/post.h"
-
-#endif /* ACE_SSL_SOCK_ACCEPTOR_H */
-
diff --git a/ace/SSL/SSL_SOCK_Acceptor.i b/ace/SSL/SSL_SOCK_Acceptor.i
deleted file mode 100644
index 50682b75877..00000000000
--- a/ace/SSL/SSL_SOCK_Acceptor.i
+++ /dev/null
@@ -1,98 +0,0 @@
-// -*- C++ -*-
-// $Id$
-
-// SSL_SOCK_Acceptor.i
-
-
-ASYS_INLINE
-ACE_SSL_SOCK_Acceptor::ACE_SSL_SOCK_Acceptor (ACE_Reactor *reactor)
- : acceptor_ (),
- reactor_ (reactor)
-{
- ACE_TRACE ("ACE_SSL_SOCK_Acceptor::ACE_SSL_SOCK_Acceptor");
-}
-
-ASYS_INLINE
-ACE_SSL_SOCK_Acceptor::ACE_SSL_SOCK_Acceptor (const ACE_Addr &local_sap,
- int reuse_addr,
- int protocol_family,
- int backlog,
- int protocol,
- ACE_Reactor *reactor)
- : acceptor_ (local_sap,
- reuse_addr,
- protocol_family,
- backlog,
- protocol),
- reactor_ (reactor)
-{
- ACE_TRACE ("ACE_SSL_SOCK_Acceptor::ACE_SSL_SOCK_Acceptor");
-
- this->set_handle (this->acceptor_.get_handle ());
-}
-
-ASYS_INLINE
-ACE_SSL_SOCK_Acceptor::ACE_SSL_SOCK_Acceptor (const ACE_Addr &local_sap,
- ACE_Protocol_Info *protocolinfo,
- ACE_SOCK_GROUP g,
- u_long flags,
- int reuse_addr,
- int protocol_family,
- int backlog,
- int protocol,
- ACE_Reactor *reactor)
- : acceptor_ (local_sap,
- protocolinfo,
- g,
- flags,
- reuse_addr,
- protocol_family,
- backlog,
- protocol),
- reactor_ (reactor)
-{
- ACE_TRACE ("ACE_SSL_SOCK_Acceptor::ACE_SSL_SOCK_Acceptor");
-
- this->set_handle (this->acceptor_.get_handle ());
-}
-
-ASYS_INLINE int
-ACE_SSL_SOCK_Acceptor::open (const ACE_Addr &local_sap,
- int reuse_addr,
- int protocol_family,
- int backlog,
- int protocol)
-{
- ACE_TRACE ("ACE_SSL_SOCK_Acceptor::open");
- if (this->acceptor_.open (local_sap,
- reuse_addr,
- protocol_family,
- backlog,
- protocol) != 0)
- return -1;
- else
- this->set_handle (this->acceptor_.get_handle ());
-
- return 0;
-}
-
-ASYS_INLINE int
-ACE_SSL_SOCK_Acceptor::close (void)
-{
- ACE_TRACE ("ACE_SSL_SOCK_Acceptor::close ()");
- return this->acceptor_.close ();
-}
-
-ASYS_INLINE void
-ACE_SSL_SOCK_Acceptor::reactor (ACE_Reactor *r)
-{
- // NOTE: Be careful not to change the Reactor in the middle of a
- // non-blocking accept().
- this->reactor_ = r;
-}
-
-ASYS_INLINE ACE_Reactor *
-ACE_SSL_SOCK_Acceptor::reactor (void) const
-{
- return this->reactor_;
-}
diff --git a/ace/SSL/SSL_SOCK_Connector.cpp b/ace/SSL/SSL_SOCK_Connector.cpp
deleted file mode 100644
index 7be1fc77b60..00000000000
--- a/ace/SSL/SSL_SOCK_Connector.cpp
+++ /dev/null
@@ -1,270 +0,0 @@
-// -*- C++ -*-
-//
-// $Id$
-
-
-#include "SSL_SOCK_Connector.h"
-#include "SSL_Connect_Handler.h"
-
-#include "ace/INET_Addr.h"
-#include "ace/Synch_T.h"
-
-#include <openssl/err.h>
-
-#if defined (ACE_LACKS_INLINE_FUNCTIONS)
-#include "SSL_SOCK_Connector.i"
-#endif /* ACE_LACKS_INLINE_FUNCTIONS */
-
-ACE_RCSID (ACE_SSL,
- SSL_SOCK_Connector,
- "$Id$")
-
-ACE_ALLOC_HOOK_DEFINE(ACE_SSL_SOCK_Connector)
-
-
-ACE_SSL_SOCK_Connector::~ACE_SSL_SOCK_Connector (void)
-{
- ACE_TRACE ("ACE_SSL_SOCK_Connector::~ACE_SSL_SOCK_Connector");
-}
-
-
-int
-ACE_SSL_SOCK_Connector::ssl_connect (ACE_SSL_SOCK_Stream &new_stream)
-{
- if (SSL_is_init_finished (new_stream.ssl ()))
- return 0;
-
- // Check if a connection is already pending for the given SSL
- // structure.
- if (!SSL_in_connect_init (new_stream.ssl ()))
- ::SSL_set_connect_state (new_stream.ssl ());
-
- int status = ::SSL_connect (new_stream.ssl ());
-
- if (::SSL_get_error (new_stream.ssl (), status) != SSL_ERROR_NONE)
- {
-#ifndef ACE_NDEBUG
- ERR_print_errors_fp (stderr);
-#endif /* ACE_NDEBUG */
-
- return -1;
- }
-
- return 0;
-}
-
-int
-ACE_SSL_SOCK_Connector::ssl_connect (ACE_SSL_SOCK_Stream &new_stream,
- const ACE_Time_Value *max_wait_time)
-{
- if (SSL_is_init_finished (new_stream.ssl ()))
- return 0;
-
- // Check if a connection is already pending for the given SSL
- // structure.
- if (!SSL_in_connect_init (new_stream.ssl ()))
- ::SSL_set_connect_state (new_stream.ssl ());
-
- // Register an event handler to complete the non-blocking SSL
- // connect. A specialized event handler is necessary since since
- // the ACE Connector strategies are not designed for protocols
- // that require additional handshakes after the initial connect.
- ACE_SSL_Connect_Handler eh (new_stream);
-
- if (this->reactor_->register_handler (
- new_stream.get_handle (),
- &eh,
- ACE_Event_Handler::READ_MASK |
- ACE_Event_Handler::WRITE_MASK) == -1)
- return -1;
-
- ACE_Time_Value tv;
- if (max_wait_time != 0)
- tv += (*max_wait_time); // Make a copy.
-
- ACE_Time_Value *timeout = (max_wait_time == 0 ? 0 : &tv);
-
- // Make the current thread take ownership of the Reactor.
- this->reactor_->owner (ACE_Thread::self ());
-
- // Have the Reactor complete the SSL active connection. Run the
- // event loop until the active connection is completed. Since
- // the Reactor is used, this isn't a busy wait.
- while (SSL_in_connect_init (new_stream.ssl ()))
- if (this->reactor_->handle_events (timeout) == -1)
- {
- reactor_->remove_handler (&eh,
- ACE_Event_Handler::READ_MASK |
- ACE_Event_Handler::WRITE_MASK);
- return -1;
- }
-
- // SSL active connection was completed. Deregister the event
- // handler from the Reactor.
- return
- this->reactor_->remove_handler (&eh,
- ACE_Event_Handler::READ_MASK |
- ACE_Event_Handler::WRITE_MASK |
- ACE_Event_Handler::DONT_CALL);
-}
-
-int
-ACE_SSL_SOCK_Connector::connect (ACE_SSL_SOCK_Stream &new_stream,
- const ACE_Addr &remote_sap,
- const ACE_Time_Value *timeout,
- const ACE_Addr &local_sap,
- int reuse_addr,
- int flags,
- int perms,
- int protocol_family,
- int protocol)
-{
- ACE_TRACE ("ACE_SSL_SOCK_Connector::connect");
-
- if (this->connector_.connect (new_stream.peer (),
- remote_sap,
- timeout,
- local_sap,
- reuse_addr,
- flags,
- perms,
- protocol_family,
- protocol) == -1)
- return -1;
- else if (new_stream.get_handle () == ACE_INVALID_HANDLE)
- new_stream.set_handle (new_stream.peer ().get_handle ());
-
- // Enable non-blocking, if required.
- if (timeout != 0 && new_stream.enable (ACE_NONBLOCK) == 0)
- return this->ssl_connect (new_stream, timeout);
- else
- return this->ssl_connect (new_stream);
-}
-
-int
-ACE_SSL_SOCK_Connector::connect (ACE_SSL_SOCK_Stream &new_stream,
- const ACE_Addr &remote_sap,
- ACE_QoS_Params qos_params,
- const ACE_Time_Value *timeout,
- const ACE_Addr &local_sap,
- ACE_Protocol_Info *protocolinfo,
- ACE_SOCK_GROUP g,
- u_long flags,
- int reuse_addr,
- int perms,
- int protocol_family,
- int protocol)
-{
- ACE_TRACE ("ACE_SSL_SOCK_Connector::connect");
-
- if (this->connector_.connect (new_stream.peer (),
- remote_sap,
- qos_params,
- timeout,
- local_sap,
- protocolinfo,
- g,
- flags,
- reuse_addr,
- perms,
- protocol_family,
- protocol) == -1)
- return -1;
- else if (new_stream.get_handle () == ACE_INVALID_HANDLE)
- new_stream.set_handle (new_stream.peer ().get_handle ());
-
- // Enable non-blocking, if required.
- if (timeout != 0 && new_stream.enable (ACE_NONBLOCK) == 0)
- return this->ssl_connect (new_stream, timeout);
- else
- return this->ssl_connect (new_stream);
-}
-
-// Try to complete a non-blocking connection.
-
-int
-ACE_SSL_SOCK_Connector::complete (ACE_SSL_SOCK_Stream &new_stream,
- ACE_Addr *remote_sap,
- const ACE_Time_Value *tv)
-{
- ACE_TRACE ("ACE_SSL_SOCK_Connector::complete");
-
- if (this->connector_.complete (new_stream.peer (),
- remote_sap,
- tv) == -1)
- return -1;
- else if (new_stream.get_handle () == ACE_INVALID_HANDLE)
- new_stream.set_handle (new_stream.peer ().get_handle ());
-
- return this->ssl_connect (new_stream, tv);
-}
-
-
-ACE_SSL_SOCK_Connector::ACE_SSL_SOCK_Connector (
- ACE_SSL_SOCK_Stream &new_stream,
- const ACE_Addr &remote_sap,
- const ACE_Time_Value *timeout,
- const ACE_Addr &local_sap,
- int reuse_addr,
- int flags,
- int perms,
- int protocol_family,
- int protocol,
- ACE_Reactor *reactor)
- : connector_ (),
- reactor_ (reactor)
-{
- ACE_TRACE ("ACE_SSL_SOCK_Connector::ACE_SSL_SOCK_Connector");
- if (this->connect (new_stream,
- remote_sap,
- timeout,
- local_sap,
- reuse_addr,
- flags,
- perms,
- protocol_family,
- protocol) == -1
- && timeout != 0
- && !(errno == EWOULDBLOCK || errno == ETIME))
- ACE_ERROR ((LM_ERROR,
- "%p\n",
- ACE_TEXT ("ACE_SSL_SOCK_Connector::ACE_SSL_SOCK_Connector")));
-}
-
-ACE_SSL_SOCK_Connector::ACE_SSL_SOCK_Connector (
- ACE_SSL_SOCK_Stream &new_stream,
- const ACE_Addr &remote_sap,
- ACE_QoS_Params qos_params,
- const ACE_Time_Value *timeout,
- const ACE_Addr &local_sap,
- ACE_Protocol_Info *protocolinfo,
- ACE_SOCK_GROUP g,
- u_long flags,
- int reuse_addr,
- int perms,
- int protocol_family,
- int protocol,
- ACE_Reactor *reactor)
- : connector_ (),
- reactor_ (reactor)
-{
- ACE_TRACE ("ACE_SSL_SOCK_Connector::ACE_SSL_SOCK_Connector");
-
- if (this->connect (new_stream,
- remote_sap,
- qos_params,
- timeout,
- local_sap,
- protocolinfo,
- g,
- flags,
- reuse_addr,
- perms,
- protocol_family,
- protocol) == -1
- && timeout != 0
- && !(errno == EWOULDBLOCK || errno == ETIME))
- ACE_ERROR ((LM_ERROR,
- "%p\n",
- ACE_TEXT ("ACE_SSL_SOCK_Connector::ACE_SSL_SOCK_Connector")));
-}
diff --git a/ace/SSL/SSL_SOCK_Connector.h b/ace/SSL/SSL_SOCK_Connector.h
deleted file mode 100644
index 94eae827c18..00000000000
--- a/ace/SSL/SSL_SOCK_Connector.h
+++ /dev/null
@@ -1,230 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file SSL_SOCK_Connector.h
- *
- * $Id$
- *
- * @author Ossama Othman <ossama@uci.edu>
- * @author Carlos O'Ryan <coryan@uci.edu>
- * @author John Heitmann
- * @author Chris Zimman
- */
-//=============================================================================
-
-
-#ifndef ACE_SSL_SOCK_CONNECTOR_H
-#define ACE_SSL_SOCK_CONNECTOR_H
-
-#include "ace/pre.h"
-
-#include "SSL_Export.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include "SSL_SOCK_Stream.h"
-
-#include "ace/SOCK_Connector.h"
-#include "ace/Reactor.h"
-
-/**
- * @class ACE_SSL_SOCK_Connector
- *
- * @brief Defines a factory that creates new <ACE_SSL_SOCK_Stream>s
- * actively.
- *
- * The ACE_SSL_SOCK_Connector doesn't have a socket of its own,
- * i.e., it simply "borrows" the one from the ACE_SSL_SOCK_Stream
- * that's being connected. The reason for this is that the
- * underlying socket API doesn't use a "factory" socket to connect
- * "data-mode" sockets. Therefore, there's no need to inherit
- * ACE_SSL_SOCK_Connector from ACE_SSL_SOCK.
- */
-class ACE_SSL_Export ACE_SSL_SOCK_Connector
-{
-
-public:
-
- /// Default constructor.
- ACE_SSL_SOCK_Connector (ACE_Reactor *reactor =
- ACE_Reactor::instance ());
-
- /**
- * Actively connect and produce a <new_stream> if things go well.
- * The <remote_sap> is the address that we are trying to connect
- * with. The <timeout> is the amount of time to wait to connect.
- * If it's 0 then we block indefinitely. If *timeout == {0, 0} then
- * the connection is done using non-blocking mode. In this case, if
- * the connection can't be made immediately the value of -1 is
- * returned with <errno == EWOULDBLOCK>. If *timeout > {0, 0} then
- * this is the amount of time to wait before timing out. If the
- * time expires before the connection is made <errno == ETIME>. The
- * <local_sap> is the value of local address to bind to. If it's
- * the default value of <ACE_Addr::sap_any> then the user is letting
- * the OS do the binding. If <reuse_addr> == 1 then the
- * <local_addr> is reused, even if it hasn't been cleanedup yet.
- */
- ACE_SSL_SOCK_Connector (ACE_SSL_SOCK_Stream &new_stream,
- const ACE_Addr &remote_sap,
- const ACE_Time_Value *timeout = 0,
- const ACE_Addr &local_sap = ACE_Addr::sap_any,
- int reuse_addr = 0,
- int flags = 0,
- int perms = 0,
- int protocol_family = PF_INET,
- int protocol = 0,
- ACE_Reactor *reactor =
- ACE_Reactor::instance ());
-
- /**
- * Actively connect and produce a <new_stream> if things go well.
- * The <remote_sap> is the address that we are trying to connect
- * with. The <qos_params> contains QoS parameters that are passed
- * to RSVP. The <timeout> is the amount of time to wait to connect.
- * If it's 0 then we block indefinitely. If *timeout == {0, 0} then
- * the connection is done using non-blocking mode. In this case, if
- * the connection can't be made immediately the value of -1 is
- * returned with <errno == EWOULDBLOCK>. If *timeout > {0, 0} then
- * this is the amount of time to wait before timing out. If the
- * time expires before the connection is made <errno == ETIME>. The
- * <local_sap> is the value of local address to bind to. If it's
- * the default value of <ACE_Addr::sap_any> then the user is letting
- * the OS do the binding. If <reuse_addr> == 1 then the
- * <local_addr> is reused, even if it hasn't been cleanedup yet.
- */
- ACE_SSL_SOCK_Connector (ACE_SSL_SOCK_Stream &new_stream,
- const ACE_Addr &remote_sap,
- ACE_QoS_Params qos_params,
- const ACE_Time_Value *timeout = 0,
- const ACE_Addr &local_sap = ACE_Addr::sap_any,
- ACE_Protocol_Info *protocolinfo = 0,
- ACE_SOCK_GROUP g = 0,
- u_long flags = 0,
- int reuse_addr = 0,
- int perms = 0,
- int protocol_family = PF_INET,
- int protocol = 0,
- ACE_Reactor *reactor =
- ACE_Reactor::instance ());
-
- /// Default dtor.
- ~ACE_SSL_SOCK_Connector (void);
-
- /**
- * Actively connect and produce a <new_stream> if things go well.
- * The <remote_sap> is the address that we are trying to connect
- * with. The <timeout> is the amount of time to wait to connect.
- * If it's 0 then we block indefinitely. If *timeout == {0, 0} then
- * the connection is done using non-blocking mode. In this case, if
- * the connection can't be made immediately the value of -1 is
- * returned with <errno == EWOULDBLOCK>. If *timeout > {0, 0} then
- * this is the amount of time to wait before timing out. If the
- * time expires before the connection is made <errno == ETIME>. The
- * <local_sap> is the value of local address to bind to. If it's
- * the default value of <ACE_Addr::sap_any> then the user is letting
- * the OS do the binding. If <reuse_addr> == 1 then the
- * <local_addr> is reused, even if it hasn't been cleanedup yet.
- */
- int connect (ACE_SSL_SOCK_Stream &new_stream,
- const ACE_Addr &remote_sap,
- const ACE_Time_Value *timeout = 0,
- const ACE_Addr &local_sap = ACE_Addr::sap_any,
- int reuse_addr = 0,
- int flags = 0,
- int perms = 0,
- int protocol_family = PF_INET,
- int protocol = 0);
-
- /**
- * Actively connect and produce a <new_stream> if things go well.
- * The <remote_sap> is the address that we are trying to connect
- * with. The <qos_params> contains QoS parameters that are passed
- * to RSVP. The <timeout> is the amount of time to wait to connect.
- * If it's 0 then we block indefinitely. If *timeout == {0, 0} then
- * the connection is done using non-blocking mode. In this case, if
- * the connection can't be made immediately the value of -1 is
- * returned with <errno == EWOULDBLOCK>. If *timeout > {0, 0} then
- * this is the amount of time to wait before timing out. If the
- * time expires before the connection is made <errno == ETIME>. The
- * <local_sap> is the value of local address to bind to. If it's
- * the default value of <ACE_Addr::sap_any> then the user is letting
- * the OS do the binding. If <reuse_addr> == 1 then the
- * <local_addr> is reused, even if it hasn't been cleanedup yet.
- */
- int connect (ACE_SSL_SOCK_Stream &new_stream,
- const ACE_Addr &remote_sap,
- ACE_QoS_Params qos_params,
- const ACE_Time_Value *timeout = 0,
- const ACE_Addr &local_sap = ACE_Addr::sap_any,
- ACE_Protocol_Info *protocolinfo = 0,
- ACE_SOCK_GROUP g = 0,
- u_long flags = 0,
- int reuse_addr = 0,
- int perms = 0,
- int protocol_family = PF_INET,
- int protocol = 0);
-
- /**
- * Try to complete a non-blocking connection.
- * If connection completion is successful then <new_stream> contains
- * the connected ACE_SSL_SOCK_Stream. If <remote_sap> is non-NULL
- * then it will contain the address of the connected peer.
- */
- int complete (ACE_SSL_SOCK_Stream &new_stream,
- ACE_Addr *remote_sap = 0,
- const ACE_Time_Value *timeout = 0);
-
- /// Resets any event associations on this handle
- int reset_new_handle (ACE_HANDLE handle);
-
- /// Set the Reactor used when completing the SSL active
- /// connection.
- void reactor (ACE_Reactor *r);
-
- /// Return the Reactor used when completing the SSL active
- /// connection.
- ACE_Reactor *reactor (void) const;
-
- /// Meta-type info
- //@{
- typedef ACE_INET_Addr PEER_ADDR;
- typedef ACE_SSL_SOCK_Stream PEER_STREAM;
- //@}
-
- /// Dump the state of an object.
- void dump (void) const;
-
- /// Declare the dynamic allocation hooks.
- ACE_ALLOC_HOOK_DECLARE;
-
-protected:
-
- /// Complete blocking SSL active connection.
- int ssl_connect (ACE_SSL_SOCK_Stream &new_stream);
-
- /// Complete non-blocking SSL active connection.
- int ssl_connect (ACE_SSL_SOCK_Stream &new_stream,
- const ACE_Time_Value *timeout);
-
-private:
-
- /// The class that does all of the non-secure socket connection.
- /// It is default contructed, and subsequently used by connect().
- ACE_SOCK_Connector connector_;
-
- /// Pointer to the Reactor responsible for dispatching the event
- /// handler responsible for completing the SSL active connection.
- ACE_Reactor *reactor_;
-};
-
-#if !defined (ACE_LACKS_INLINE_FUNCTIONS)
-#include "SSL_SOCK_Connector.i"
-#endif /* ACE_LACKS_INLINE_FUNCTIONS */
-
-#include "ace/post.h"
-
-#endif /* ACE_SSL_SOCK_CONNECTOR_H */
-
diff --git a/ace/SSL/SSL_SOCK_Connector.i b/ace/SSL/SSL_SOCK_Connector.i
deleted file mode 100644
index 176eec49170..00000000000
--- a/ace/SSL/SSL_SOCK_Connector.i
+++ /dev/null
@@ -1,40 +0,0 @@
-/* -*- C++ -*- */
-// $Id$
-
-// SSL_SOCK_Connector.i
-
-ASYS_INLINE
-ACE_SSL_SOCK_Connector::ACE_SSL_SOCK_Connector (ACE_Reactor *reactor)
- : connector_ (),
- reactor_ (reactor)
-{
- ACE_TRACE ("ACE_SSL_SOCK_Connector::ACE_SSL_SOCK_Connector");
-}
-
-ASYS_INLINE int
-ACE_SSL_SOCK_Connector::reset_new_handle (ACE_HANDLE handle)
-{
- ACE_TRACE ("ACE_SSL_SOCK_Connector::reset_new_handle");
- return this->connector_.reset_new_handle (handle);
-}
-
-ASYS_INLINE void
-ACE_SSL_SOCK_Connector::dump (void) const
-{
- ACE_TRACE ("ACE_SSL_SOCK_Connector::dump");
-}
-
-ASYS_INLINE void
-ACE_SSL_SOCK_Connector::reactor (ACE_Reactor *r)
-{
- // NOTE: Be careful not to change the Reactor in the middle of a
- // non-blocking connect().
-
- this->reactor_ = r;
-}
-
-ASYS_INLINE ACE_Reactor *
-ACE_SSL_SOCK_Connector::reactor (void) const
-{
- return this->reactor_;
-}
diff --git a/ace/SSL/SSL_SOCK_Stream.cpp b/ace/SSL/SSL_SOCK_Stream.cpp
deleted file mode 100644
index 6ba0771a926..00000000000
--- a/ace/SSL/SSL_SOCK_Stream.cpp
+++ /dev/null
@@ -1,428 +0,0 @@
-// -*- C++ -*-
-//
-// $Id$
-
-#include "ace/Handle_Set.h"
-
-#include <openssl/err.h>
-
-#include "SSL_SOCK_Stream.h"
-
-#if defined (ACE_LACKS_INLINE_FUNCTIONS)
-#include "SSL_SOCK_Stream.i"
-#endif
-
-ACE_RCSID (ACE_SSL,
- SSL_SOCK_Stream,
- "$Id$")
-
-ACE_ALLOC_HOOK_DEFINE(ACE_SSL_SOCK_Stream)
-
-ssize_t
-ACE_SSL_SOCK_Stream::sendv (const iovec iov[], size_t n) const
-{
- ACE_TRACE ("ACE_SSL_SOCK_Stream::sendv");
-
- // There is subtle problem in this method that occurs when using
- // non-blocking IO. The semantics of a non-blocking scatter write
- // (sendv()) are not possible to retain with the emulation in this
- // method.
-
- ssize_t bytes_sent = 0;
-
- for (size_t i = 0; i < n; ++i)
- {
- int result = this->send (iov[i].iov_base,
- iov[i].iov_len);
- if (result == -1)
- return -1;
- else
- bytes_sent += result;
- }
-
- return bytes_sent;
-}
-
-ssize_t
-ACE_SSL_SOCK_Stream::recvv (iovec *io_vec,
- const ACE_Time_Value *timeout) const
-{
- ACE_TRACE ("ACE_SSL_SOCK_Stream::recvv");
-
- // From <ACE_SOCK_IO::recvv>.
-#if defined (FIONREAD)
- ACE_Handle_Set handle_set;
- handle_set.reset ();
- handle_set.set_bit (this->get_handle ());
-
- io_vec->iov_base = 0;
-
- // Check the status of the current socket.
- switch (ACE_OS::select (int (this->get_handle ()) + 1,
- handle_set,
- 0, 0,
- timeout))
- {
- case -1:
- return -1;
- /* NOTREACHED */
- case 0:
- errno = ETIME;
- return -1;
- /* NOTREACHED */
- default:
- // Goes fine, fallthrough to get data
- break;
- }
-
- u_long inlen;
-
-
- if (ACE_OS::ioctl (this->get_handle (),
- FIONREAD,
- (u_long *) &inlen) == -1)
- return -1;
- else if (inlen > 0)
- {
- ACE_NEW_RETURN (io_vec->iov_base,
- char[inlen],
- -1);
- io_vec->iov_len = this->recv (io_vec->iov_base,
- inlen);
- return io_vec->iov_len;
- }
- else
- return 0;
-#else
- ACE_UNUSED_ARG (io_vec);
- ACE_UNUSED_ARG (timeout);
- ACE_NOTSUP_RETURN (-1);
-#endif /* FIONREAD */
-}
-
-ssize_t
-ACE_SSL_SOCK_Stream::send (const void *buf,
- size_t len,
- int flags,
- const ACE_Time_Value *timeout) const
-{
- ACE_TRACE ("ACE_SSL_SOCK_Stream::send");
-
- if (timeout == 0)
- return this->send (buf, len, flags);
-
- int val = 0;
- if (ACE::enter_send_timedwait (this->get_handle (),
- timeout,
- val) == -1)
- return -1;
-
- ssize_t bytes_transferred = this->send (buf, len, flags);
-
- ACE::restore_non_blocking_mode (this->get_handle (), val);
-
- return bytes_transferred;
-}
-
-ssize_t
-ACE_SSL_SOCK_Stream::recv (void *buf,
- size_t n,
- int flags,
- const ACE_Time_Value *timeout) const
-{
- ACE_TRACE ("ACE_SSL_SOCK_Stream::recv");
-
- if (timeout == 0)
- return this->recv (buf, n, flags);
-
- int val = 0;
- if (ACE::enter_recv_timedwait (this->get_handle (),
- timeout,
- val) == -1)
- return -1;
-
- ssize_t bytes_transferred = this->recv (buf, n, flags);
-
- ACE::restore_non_blocking_mode (this->get_handle (), val);
-
- return bytes_transferred;
-}
-
-
-ssize_t
-ACE_SSL_SOCK_Stream::send (size_t n, ...) const
-{
- ACE_TRACE ("ACE_SSL_SOCK_Stream::send");
-
- size_t total_tuples = n / 2;
-
- va_list argp;
- va_start (argp, n);
-
- ssize_t bytes_sent = 0;
-
- // NOTE: This method used to fill an IO vector (e.g. iovec) and then
- // send it using a scatter write (sendv()). However, it is
- // not possible to emulate a non-blocking scatter write over
- // SSL. As such, there is no point in attempting to use
- // scatter writes over SSL.
- for (size_t i = 0; i < total_tuples; ++i)
- {
- ssize_t result = this->send_n (va_arg (argp, char *),
- va_arg (argp, ssize_t));
-
- if (result == -1)
- {
- va_end (argp);
- return -1;
- }
- else
- bytes_sent += result;
- }
-
- va_end (argp);
-
- return bytes_sent;
-}
-
-ssize_t
-ACE_SSL_SOCK_Stream::recv (size_t n, ...) const
-{
- ACE_TRACE ("ACE_SSL_SOCK_Stream::recv");
-
- size_t total_tuples = n / 2;
-
- va_list argp;
- va_start (argp, n);
-
- ssize_t bytes_recv = 0;
-
- for (size_t i = 0; i < total_tuples; ++i)
- {
- ssize_t result = this->recv_n (va_arg (argp, char *),
- va_arg (argp, ssize_t));
-
- if (result == -1)
- {
- va_end (argp);
- return -1;
- }
- else
- bytes_recv += result;
- }
-
- va_end (argp);
-
- return bytes_recv;
-}
-
-ssize_t
-ACE_SSL_SOCK_Stream::send_n (const void *buf,
- size_t len,
- int flags,
- const ACE_Time_Value *timeout) const
-{
- ACE_TRACE ("ACE_SSL_SOCK_Stream::send_n");
-
- // No support for send flags in SSL.
- if (flags != 0)
- ACE_NOTSUP_RETURN (-1);
-
- /* This code mimics ACE::send_n */
- // Total number of bytes written.
- size_t bytes_transferred = 0;
-
- // Actual number of bytes written in each <send> attempt
- ssize_t n = 0;
-
- for (bytes_transferred = 0;
- bytes_transferred < len;
- bytes_transferred += n)
- {
- n = this->send ((const char*) buf + bytes_transferred,
- len - bytes_transferred,
- flags,
- timeout);
-
- if (n < 0)
- {
- if (errno == EWOULDBLOCK)
- {
- // If blocked, try again.
- n = 0;
- continue;
- }
- else
- return -1;
- }
- else if (n == 0)
- break;
- }
-
- return bytes_transferred;
-}
-
-ssize_t
-ACE_SSL_SOCK_Stream::recv_n (void *buf,
- size_t len,
- int flags,
- const ACE_Time_Value *timeout) const
-{
- ACE_TRACE ("ACE_SSL_SOCK_Stream::recv_n");
-
- if (flags != 0)
- {
- if ((flags | MSG_PEEK) != MSG_PEEK)
- ACE_NOTSUP_RETURN (-1);
- }
-
- size_t bytes_transferred = 0;
- ssize_t n = 0;
-
- for (bytes_transferred = 0;
- bytes_transferred < len;
- bytes_transferred += n)
- {
- n = this->recv ((char*) buf + bytes_transferred,
- len - bytes_transferred,
- flags,
- timeout);
-
- if (n < 0)
- {
- if (errno == EWOULDBLOCK)
- {
- // If blocked, try again.
- n = 0;
- continue;
- }
- else
- return -1;
- }
- else if (n == 0)
- break;
- }
-
- return bytes_transferred;
-}
-
-ssize_t
-ACE_SSL_SOCK_Stream::recv_n (void *buf, int len, int flags) const
-{
- ACE_TRACE ("ACE_SSL_SOCK_Stream::recv_n");
-
- if (flags != 0)
- {
- if ((flags | MSG_PEEK) != MSG_PEEK)
- ACE_NOTSUP_RETURN (-1);
- }
-
- ssize_t bytes_transferred = 0;
- ssize_t n = 0;
-
- for (bytes_transferred = 0;
- bytes_transferred < len;
- bytes_transferred += n)
- {
- n = this->recv ((char*) buf + bytes_transferred,
- len - bytes_transferred,
- flags);
-
- if (n < 0)
- {
- if (errno == EWOULDBLOCK)
- {
- // If blocked, try again.
- n = 0;
- continue;
- }
- else
- return -1;
- }
- else if (n == 0)
- break;
- }
-
- return bytes_transferred;
-}
-
-ssize_t
-ACE_SSL_SOCK_Stream::send_n (const void *buf, int len, int flags) const
-{
- ACE_TRACE ("ACE_SSL_SOCK_Stream::send_n");
-
- // Send flags are unsupported in SSL
- if (flags != 0)
- ACE_NOTSUP_RETURN (-1);
-
- /* The following code mimics <ACE::send_n> */
- size_t bytes_transferred = 0;
- ssize_t n = 0;
-
- for (bytes_transferred = 0;
- bytes_transferred < (size_t) len;
- bytes_transferred += n)
- {
- n = this->send ((const char*) buf + bytes_transferred,
- len - bytes_transferred,
- flags);
-
- if (n < 0)
- {
- if (errno == EWOULDBLOCK)
- {
- // If blocked, try again.
- n = 0;
- continue;
- }
- else
- return -1;
- }
- else if (n == 0)
- break;
- }
-
- return bytes_transferred;
-}
-
-ssize_t
-ACE_SSL_SOCK_Stream::sendv_n (const iovec iov[], size_t iovcnt) const
-{
- ACE_TRACE ("ACE_SSL_SOCK_Stream::sendv_n");
-
- ssize_t bytes_sent = 0;
-
- for (size_t i = 0; i < iovcnt; ++i)
- {
- int result = this->send_n (iov[i].iov_base,
- iov[i].iov_len);
-
- if (result == -1)
- return -1;
- else
- bytes_sent += result;
- }
-
- return bytes_sent;
-}
-
-ssize_t
-ACE_SSL_SOCK_Stream::recvv_n (iovec iov[], size_t iovcnt) const
-{
- ACE_TRACE ("ACE_SSL_SOCK_Stream::recvv_n");
-
- ssize_t bytes_read = 0;
-
- for (size_t i = 0; i < iovcnt; ++i)
- {
- int result = this->recv_n (iov[i].iov_base,
- iov[i].iov_len);
-
- if (result == -1)
- return -1;
- else
- bytes_read += result;
- }
-
- return bytes_read;
-}
diff --git a/ace/SSL/SSL_SOCK_Stream.h b/ace/SSL/SSL_SOCK_Stream.h
deleted file mode 100644
index 2d8eaffcf99..00000000000
--- a/ace/SSL/SSL_SOCK_Stream.h
+++ /dev/null
@@ -1,287 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file SSL_SOCK_Stream.h
- *
- * $Id$
- *
- * @author John Heitmann
- * @author Carlos O'Ryan <coryan@uci.edu>
- * @author Ossama Othman <ossama@uci.edu>
- */
-//=============================================================================
-
-
-#ifndef ACE_SSL_SOCK_STREAM_H
-#define ACE_SSL_SOCK_STREAM_H
-
-#include "ace/pre.h"
-
-#include "SSL_Export.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
-#include <openssl/err.h>
-
-#include "SSL_SOCK.h"
-#include "SSL_Context.h"
-
-#include "ace/Synch_T.h"
-#include "ace/SOCK_Stream.h"
-
-
-/**
- * @class ACE_SSL_SOCK_Stream
- *
- * @brief Defines methods in the ACE_SSL_SOCK_Stream abstraction.
- *
- * This adds SSL functionality to an ACE_SOCK_IO interface by
- * wrapping around an ACE_SSL_SOCK_Stream implementation.
- *
- * @note The user must currently ensure that assignment or copy
- * operations are atomic!
- */
-class ACE_SSL_Export ACE_SSL_SOCK_Stream : public ACE_SSL_SOCK
-{
-
- friend class ACE_SSL_SOCK_Connector;
- friend class ACE_SSL_SOCK_Acceptor;
-
-public:
-
- /// Constructor
- ACE_SSL_SOCK_Stream (ACE_SSL_Context *context =
- ACE_SSL_Context::instance ());
-
- /// Destructor
- ~ACE_SSL_SOCK_Stream (void);
-
- /**
- * Send an <n> byte buffer to the ssl socket using
- * the semantics of <send(3n)>. ACE+SSL supports no
- * flags for sending at this time.
- */
- ssize_t send (const void *buf,
- size_t n,
- int flags) const;
-
- /**
- * Recv an <n> byte buffer from the ssl socket using
- * the semantics of <recv(3n)>. ACE+SSL supports MSG_PEEK,
- * but no other flags at this time.
- */
- ssize_t recv (void *buf,
- size_t n,
- int flags) const;
-
-
- /// Send an <n> byte buffer to the ssl socket using
- /// the semantics of <write(2)>.
- ssize_t send (const void *buf,
- size_t n) const;
-
- /// Recv an <n> byte buffer from the ssl socket using
- /// the semantics of <read(2)>.
- ssize_t recv (void *buf,
- size_t n) const;
-
- /// Send an <iovec> of size <n> to the ssl socket.
- ssize_t sendv (const iovec iov[],
- size_t n) const;
-
- /**
- * Allows a client to read from a socket without having to provide a
- * buffer to read. This method determines how much data is in the
- * socket, allocates a buffer of this size, reads in the data, and
- * returns the number of bytes read. The caller is responsible for
- * deleting the member in the <iov_base> field of <io_vec> using
- * delete [] io_vec->iov_base.
- */
- ssize_t recvv (iovec *io_vec,
- const ACE_Time_Value *timeout = 0) const;
-
- /**
- * Wait to to <timeout> amount of time to send up to <n> bytes into
- * <buf> (uses the <send> call). If <send> times out
- * a -1 is returned with <errno == ETIME>. If it succeeds the
- * number of bytes sent is returned. No flags are supported.
- */
- ssize_t send (const void *buf,
- size_t n,
- int flags,
- const ACE_Time_Value *timeout) const;
-
- /**
- * Wait up to <timeout> amount of time to receive up to <n> bytes
- * into <buf> (uses the <recv> call). If <recv> times
- * out a -1 is returned with <errno == ETIME>. If it succeeds the
- * number of bytes received is returned. MSG_PEEK is the only
- * supported flag.
- */
- ssize_t recv (void *buf,
- size_t n,
- int flags,
- const ACE_Time_Value *timeout) const;
-
- /**
- * Wait to to <timeout> amount of time to send up to <n> bytes into
- * <buf> (uses the <send> call). If <send> times out
- * a -1 is returned with <errno == ETIME>. If it succeeds the
- * number of bytes sent is returned.
- */
- ssize_t send (const void *buf,
- size_t n,
- const ACE_Time_Value *timeout) const;
-
- /**
- * Wait up to <timeout> amount of time to receive up to <n> bytes
- * into <buf> (uses the <recv> call). If <recv> times
- * out a -1 is returned with <errno == ETIME>. If it succeeds the
- * number of bytes received is returned.
- */
- ssize_t recv (void *buf,
- size_t n,
- const ACE_Time_Value *timeout) const;
-
- /// Send <n> varargs messages to the connected ssl socket.
- ssize_t send (size_t n,
- ...) const;
-
- /// Recv <n> varargs messages to the connected ssl socket.
- ssize_t recv (size_t n,
- ...) const;
-
- /// Send <n> bytes, keep trying until <n> are sent.
- ssize_t send_n (const void *buf, int n) const;
-
- /// Recv <n> bytes, keep trying until <n> are received.
- ssize_t recv_n (void *buf, int n) const;
-
- /**
- * @note In the following four methods, only MSG_PEEK is supported
- * for recv_n, and no flags are supported for send_n.
- */
- //@{
- /// Send <n> bytes, keep trying until <n> are sent.
- ssize_t send_n (const void *buf, int n, int flags) const;
-
- /// Recv <n> bytes, keep trying until <n> are sent.
- ssize_t recv_n (void *buf, int n, int flags) const;
-
- /**
- * Try to send exactly <len> bytes into <buf> (uses
- * the <send> call). If <send> blocks for longer than <timeout> the
- * number of bytes actually sent is returned with <errno == ETIME>.
- * If a timeout does not occur, <send_n> return <len> (i.e., the
- * number of bytes requested to be sent).
- */
- ssize_t send_n (const void *buf,
- size_t len,
- int flags,
- const ACE_Time_Value *timeout) const;
-
- /**
- * Try to recv exactly <len> bytes into <buf> (uses
- * the <recv> call). The <ACE_Time_Value> indicates how long
- * to blocking trying to receive. If <timeout> == 0, the caller
- * will block until action is possible, else will wait until the
- * relative time specified in *<timeout> elapses). If <recv> blocks
- * for longer than <timeout> the number of bytes actually read is
- * returned with <errno == ETIME>. If a timeout does not occur,
- * <recv_n> return <len> (i.e., the number of bytes requested to be
- * read).
- */
- ssize_t recv_n (void *buf,
- size_t len,
- int flags,
- const ACE_Time_Value *timeout) const;
- //@}
-
- /**
- * Send an <iovec> of size <n> to the connected socket.
- * Will block until all bytes are sent or an error
- * occurs.
- */
- ssize_t sendv_n (const iovec iov[],
- size_t n) const;
-
- /// Receive an <iovec> of size <n> to the connected socket.
- ssize_t recvv_n (iovec iov[],
- size_t n) const;
-
-
- /**
- * Selectively close endpoints.
- */
- //@{
- /// Close down the reader.
- int close_reader (void);
-
- /// Close down the writer.
- int close_writer (void);
- //@}
-
- ///Close down the socket.
- int close (void);
-
- /// Meta-type info
- typedef ACE_INET_Addr PEER_ADDR;
-
- /// Declare the dynamic allocation hooks.
- ACE_ALLOC_HOOK_DECLARE;
-
- /**
- * Overridden set_handle() method.
- *
- * Only an ACE_SSL_SOCK_Acceptor or ACE_SSL_SOCK_Connector should
- * access this method since some state in the underlying "ssl_" data
- * structure is set during SSL connection establishment.
- */
- void set_handle (ACE_HANDLE fd);
-
- /// Return a pointer to the underlying SSL structure.
- SSL *ssl (void) const;
-
-protected:
-
- /// Return the underlying <ACE_SOCK_Stream> which SSL runs atop of.
- ACE_SOCK_Stream & peer (void);
-
- /// Underlying send() helper method common to all public send()
- /// methods.
- ssize_t send_i (const void *buf,
- size_t n,
- int flags) const;
-
- /// Underlying send() helper method common to all public send()
- /// methods.
- ssize_t recv_i (void *buf,
- size_t n,
- int flags) const;
-
-private:
-
- ACE_UNIMPLEMENTED_FUNC (void operator= (const ACE_SSL_SOCK_Stream &))
- ACE_UNIMPLEMENTED_FUNC (ACE_SSL_SOCK_Stream (const ACE_SSL_SOCK_Stream &))
-
-protected:
-
- /// The SSL session.
- SSL *ssl_;
-
- /// The stream which works under the ssl connection.
- ACE_SOCK_Stream stream_;
-
-};
-
-#if !defined (ACE_LACKS_INLINE_FUNCTIONS)
-#include "SSL_SOCK_Stream.i"
-#endif /* ACE_LACKS_INLINE_FUNCTIONS */
-
-#include "ace/post.h"
-
-#endif /* ACE_SSL_SOCK_STREAM_H */
-
diff --git a/ace/SSL/SSL_SOCK_Stream.i b/ace/SSL/SSL_SOCK_Stream.i
deleted file mode 100644
index a317eb52724..00000000000
--- a/ace/SSL/SSL_SOCK_Stream.i
+++ /dev/null
@@ -1,345 +0,0 @@
-// -*- C++ -*-
-//
-// $Id$
-
-// SSL_SOCK_Stream.i
-
-ASYS_INLINE void
-ACE_SSL_SOCK_Stream::set_handle (ACE_HANDLE fd)
-{
- if (this->ssl_ == 0 || fd == ACE_INVALID_HANDLE)
- {
- this->ACE_SSL_SOCK::set_handle (ACE_INVALID_HANDLE);
- return;
- }
- else
- {
- (void) ::SSL_set_fd (this->ssl_, (int) fd);
- this->ACE_SSL_SOCK::set_handle (fd);
- this->stream_.set_handle (fd);
- }
-}
-
-ASYS_INLINE
-ACE_SSL_SOCK_Stream::ACE_SSL_SOCK_Stream (ACE_SSL_Context *context)
- : ssl_ (0),
- stream_ ()
-{
- ACE_TRACE ("ACE_SSL_SOCK_Stream::ACE_SSL_SOCK_Stream");
-
- ACE_SSL_Context * ctx =
- (context == 0 ? ACE_SSL_Context::instance () : context);
-
- this->ssl_ = ::SSL_new (ctx->context ());
-
- if (this->ssl_ == 0)
- ACE_ERROR ((LM_ERROR,
- "(%P|%t) ACE_SSL_SOCK_Stream "
- "- cannot allocate new SSL structure %p\n",
- ACE_TEXT ("")));
-
- ::SSL_set_verify (this->ssl_,
- ctx->default_verify_mode (),
- 0);
-}
-
-ASYS_INLINE
-ACE_SSL_SOCK_Stream::~ACE_SSL_SOCK_Stream (void)
-{
- ACE_TRACE ("ACE_SSL_SOCK_Stream::~ACE_SSL_SOCK_Stream");
-
- ::SSL_free (this->ssl_);
- this->ssl_ = 0;
-
- // @@ Question: should we reference count the Context object or
- // leave that to the application developer? We do not reference
- // count reactors (for example) and following some simple rules
- // seems to work fine!
-}
-
-ASYS_INLINE ssize_t
-ACE_SSL_SOCK_Stream::send_i (const void *buf,
- size_t n,
- int flags) const
-{
- ACE_TRACE ("ACE_SSL_SOCK_Stream::send_i");
-
- // NOTE: Caller must provide thread-synchronization.
-
- // No send flags are supported in SSL.
- if (flags != 0)
- ACE_NOTSUP_RETURN (-1);
-
- int bytes_sent = 0;
-
- // The SSL_write() call is wrapped in a do/while(SSL_pending())
- // loop to force a full SSL record (SSL is a record-oriented
- // protocol, not a stream-oriented one) to be read prior to
- // returning to the Reactor. This is necessary to avoid some subtle
- // problems where data from another record is potentially handled
- // before the current record is fully handled.
- do
- {
- bytes_sent = ::SSL_write (this->ssl_,
- ACE_static_cast (const char*, buf),
- n);
-
- switch (::SSL_get_error (this->ssl_, bytes_sent))
- {
- case SSL_ERROR_NONE:
- return bytes_sent;
-
- case SSL_ERROR_WANT_READ:
- case SSL_ERROR_WANT_WRITE:
- break;
-
- case SSL_ERROR_ZERO_RETURN:
- // @@ This appears to be the right/expected thing to do.
- // However, it'd be nice if someone could verify this.
- //
- // The peer has notified us that it is shutting down via
- // the SSL "close_notify" message so we need to
- // shutdown, too.
-
- (void) ::SSL_shutdown (this->ssl_);
- return bytes_sent;
-
- default:
-#ifndef ACE_NDEBUG
- ERR_print_errors_fp (stderr);
-#endif /* ACE_NDEBUG */
- return -1;
- }
- }
- while (::SSL_pending (this->ssl_));
-
- // If we get this far then we would have blocked.
- errno = EWOULDBLOCK;
-
- return bytes_sent;
-}
-
-ASYS_INLINE ssize_t
-ACE_SSL_SOCK_Stream::send (const void *buf,
- size_t n,
- int flags) const
-{
- return this->send_i (buf, n, flags);
-}
-
-ASYS_INLINE ssize_t
-ACE_SSL_SOCK_Stream::recv_i (void *buf,
- size_t n,
- int flags) const
-{
- ACE_TRACE ("ACE_SSL_SOCK_Stream::recv_i");
-
- // NOTE: Caller must provide thread-synchronization.
-
- int bytes_read = 0;
-
- // The SSL_read() and SSL_peek() calls are wrapped in a
- // do/while(SSL_pending()) loop to force a full SSL record (SSL is a
- // record-oriented protocol, not a stream-oriented one) to be read
- // prior to returning to the Reactor. This is necessary to avoid
- // some subtle problems where data from another record is
- // potentially handled before the current record is fully handled.
- do
- {
- if (flags)
- {
- if (ACE_BIT_ENABLED (flags, MSG_PEEK))
- bytes_read = ::SSL_peek (this->ssl_,
- ACE_static_cast (char *, buf),
- n);
- else
- ACE_NOTSUP_RETURN (-1);
- }
- else
- bytes_read = ::SSL_read (this->ssl_,
- ACE_static_cast (char *, buf),
- n);
-
- int status = ::SSL_get_error (this->ssl_, bytes_read);
- switch (status)
- {
- case SSL_ERROR_NONE:
- return bytes_read;
-
- case SSL_ERROR_WANT_READ:
- case SSL_ERROR_WANT_WRITE:
- break;
-
- case SSL_ERROR_ZERO_RETURN:
- // @@ This appears to be the right/expected thing to do.
- // However, it'd be nice if someone could verify this.
- //
- // The peer has notified us that it is shutting down via
- // the SSL "close_notify" message so we need to
- // shutdown, too.
- (void) ::SSL_shutdown (this->ssl_);
- return bytes_read;
-
- case SSL_ERROR_SYSCALL:
- if (bytes_read == 0)
- // An EOF occured but the SSL "close_notify" message was
- // not sent. This is a protocol error, but we ignore it.
- return 0;
-
- // If not an EOF, then fall through to "default" case.
-
- default:
-#ifndef ACE_NDEBUG
- ERR_print_errors_fp (stderr);
-#endif /* ACE_NDEBUG */
- return -1;
- }
- }
- while (::SSL_pending (this->ssl_));
-
- // If we get this far then we would have blocked.
- errno = EWOULDBLOCK;
-
- return bytes_read;
-}
-
-ASYS_INLINE ssize_t
-ACE_SSL_SOCK_Stream::recv (void *buf,
- size_t n,
- int flags) const
-{
- return this->recv_i (buf, n, flags);
-}
-
-ASYS_INLINE ssize_t
-ACE_SSL_SOCK_Stream::send (const void *buf,
- size_t n) const
-{
- ACE_TRACE ("ACE_SSL_SOCK_Stream::send");
-
- return this->send_i (buf, n, 0);
-}
-
-ASYS_INLINE ssize_t
-ACE_SSL_SOCK_Stream::recv (void *buf,
- size_t n) const
-{
- ACE_TRACE ("ACE_SSL_SOCK_Stream::recv");
-
- return this->recv_i (buf, n, 0);
-}
-
-ASYS_INLINE ssize_t
-ACE_SSL_SOCK_Stream::send (const void *buf,
- size_t len,
- const ACE_Time_Value *timeout) const
-{
- ACE_TRACE ("ACE_SSL_SOCK_Stream::send");
- return this->send (buf, len, 0, timeout);
-}
-
-ASYS_INLINE ssize_t
-ACE_SSL_SOCK_Stream::recv (void *buf,
- size_t n,
- const ACE_Time_Value *timeout) const
-{
- ACE_TRACE ("ACE_SSL_SOCK_Stream::recv");
- return this->recv (buf, n, 0, timeout);
-}
-
-ASYS_INLINE ssize_t
-ACE_SSL_SOCK_Stream::recv_n (void *buf, int buf_size) const
-{
- ACE_TRACE ("ACE_SSL_SOCK_Stream::recv_n");
- return this->recv_n (buf, buf_size, 0);
-}
-
-ASYS_INLINE ssize_t
-ACE_SSL_SOCK_Stream::send_n (const void *buf, int len) const
-{
- ACE_TRACE ("ACE_SSL_SOCK_Stream::send_n");
- return this->send_n (buf, len, 0);
-}
-
-ASYS_INLINE int
-ACE_SSL_SOCK_Stream::close_reader (void)
-{
- ACE_TRACE ("ACE_SSL_SOCK_Stream::close_reader");
- return this->stream_.close_reader ();
-}
-
-ASYS_INLINE int
-ACE_SSL_SOCK_Stream::close_writer (void)
-{
- ACE_TRACE ("ACE_SSL_SOCK_Stream::close_writer");
- return this->stream_.close_writer ();
-}
-
-ASYS_INLINE int
-ACE_SSL_SOCK_Stream::close (void)
-{
- ACE_TRACE ("ACE_SSL_SOCK_Stream::close");
-
- if (this->ssl_ == 0 || this->get_handle () == ACE_INVALID_HANDLE)
- return 0; // SSL_SOCK_Stream was never opened.
-
- int status = 0;
-
- // The SSL_close() call is wrapped in a do/while(SSL_pending())
- // loop to force a full SSL record (SSL is a record-oriented
- // protocol, not a stream-oriented one) to be read prior to
- // returning to the Reactor. This is necessary to avoid some subtle
- // problems where data from another record is potentially handled
- // before the current record is fully handled.
- do
- {
- // SSL_shutdown() returns 1 on successful shutdown of the SSL
- // connection, not 0.
- status = ::SSL_shutdown (this->ssl_);
-
- switch (::SSL_get_error (this->ssl_, status))
- {
- case SSL_ERROR_NONE:
- case SSL_ERROR_SYSCALL: // Ignore this error condition.
-
- // Don't set the handle in OpenSSL; only in the
- // SSL_SOCK_Stream. We do this to avoid any potential side
- // effects. Invoking ACE_SSL_SOCK::set_handle() bypasses the
- // OpenSSL SSL_set_fd() call ACE_SSL_SOCK_Stream::set_handle()
- // does.
- this->ACE_SSL_SOCK::set_handle (ACE_INVALID_HANDLE);
-
- return this->stream_.close ();
-
- case SSL_ERROR_WANT_READ:
- case SSL_ERROR_WANT_WRITE:
- break;
-
- default:
- ACE_Errno_Guard error (errno); // Save/restore errno
- (void) this->stream_.close ();
-
- return -1;
- }
- }
- while (::SSL_pending (this->ssl_));
-
- // @@ Would this ever happen?
- // If we get this far then we would have blocked.
- errno = EWOULDBLOCK;
-
- return -1;
-}
-
-ASYS_INLINE ACE_SOCK_Stream &
-ACE_SSL_SOCK_Stream::peer (void)
-{
- ACE_TRACE ("ACE_SSL_SOCK_Stream::peer");
- return this->stream_;
-}
-
-ASYS_INLINE SSL *
-ACE_SSL_SOCK_Stream::ssl (void) const
-{
- return this->ssl_;
-}
diff --git a/ace/SSL/sslconf.h b/ace/SSL/sslconf.h
deleted file mode 100644
index ae9f155befb..00000000000
--- a/ace/SSL/sslconf.h
+++ /dev/null
@@ -1,55 +0,0 @@
-// -*- C++ -*-
-
-//=============================================================================
-/**
- * @file sslconf.h
- *
- * $Id$
- *
- * @author Carlos O'Ryan <coryan@ece.uci.edu>
- */
-//=============================================================================
-
-
-#ifndef ACE_SSLCONF_H
-#define ACE_SSLCONF_H
-
-#include "ace/pre.h"
-
-#include "ace/config-all.h"
-
-#if !defined (ACE_DEFAULT_SSL_CERT_FILE)
-# ifdef WIN32
-# define ACE_DEFAULT_SSL_CERT_FILE "cert.pem"
-# else
-# define ACE_DEFAULT_SSL_CERT_FILE "/etc/ssl/cert.pem"
-# endif /* WIN32 */
-#endif /* ACE_DEFAULT_SSL_CERT_FILE */
-
-#if !defined (ACE_DEFAULT_SSL_CERT_DIR)
-# ifdef WIN32
-# define ACE_DEFAULT_SSL_CERT_DIR "certs"
-# else
-# define ACE_DEFAULT_SSL_CERT_DIR "/etc/ssl/certs"
-# endif /* WIN32 */
-#endif /* ACE_DEFAULT_SSL_CERT_DIR */
-
-#if !defined (ACE_SSL_CERT_FILE_ENV)
-#define ACE_SSL_CERT_FILE_ENV "SSL_CERT_FILE"
-#endif /* ACE_SSL_CERT_FILE_ENV */
-
-#if !defined (ACE_SSL_CERT_DIR_ENV)
-#define ACE_SSL_CERT_DIR_ENV "SSL_CERT_DIR"
-#endif /* ACE_SSL_CERT_DIR_ENV */
-
-#if !defined (ACE_SSL_EGD_FILE_ENV)
-#define ACE_SSL_EGD_FILE_ENV "SSL_EGD_FILE"
-#endif /* ACE_SSL_EGD_FILE_ENV */
-
-#if !defined (ACE_SSL_RAND_FILE_ENV)
-#define ACE_SSL_RAND_FILE_ENV "SSL_RAND_FILE"
-#endif /* ACE_SSL_RAND_FILE_ENV */
-
-#include "ace/post.h"
-
-#endif /* ACE_SSLCONF_H */