mirror of
https://github.com/VCMP-SqMod/SqMod.git
synced 2025-12-23 00:17:21 +01:00
Major plugin refactor and cleanup.
Switched to POCO library for unified platform/library interface. Deprecated the external module API. It was creating more problems than solving. Removed most built-in libraries in favor of system libraries for easier maintenance. Cleaned and secured code with help from static analyzers.
This commit is contained in:
49
vendor/POCO/Net/CMakeLists.txt
vendored
Normal file
49
vendor/POCO/Net/CMakeLists.txt
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
# Sources
|
||||
file(GLOB SRCS_G "src/*.cpp")
|
||||
POCO_SOURCES_AUTO(SRCS ${SRCS_G})
|
||||
|
||||
# Headers
|
||||
file(GLOB_RECURSE HDRS_G "include/*.h")
|
||||
POCO_HEADERS_AUTO(SRCS ${HDRS_G})
|
||||
|
||||
# Version Resource
|
||||
if(MSVC AND BUILD_SHARED_LIBS)
|
||||
source_group("Resources" FILES ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
|
||||
list(APPEND SRCS ${PROJECT_SOURCE_DIR}/DLLVersion.rc)
|
||||
endif()
|
||||
|
||||
add_library(Net ${SRCS})
|
||||
add_library(Poco::Net ALIAS Net)
|
||||
set_target_properties(Net
|
||||
PROPERTIES
|
||||
VERSION ${SHARED_LIBRARY_VERSION} SOVERSION ${SHARED_LIBRARY_VERSION}
|
||||
OUTPUT_NAME PocoNet
|
||||
DEFINE_SYMBOL Net_EXPORTS
|
||||
)
|
||||
|
||||
target_link_libraries(Net PUBLIC Poco::Foundation)
|
||||
# Windows and WindowsCE need additional libraries
|
||||
if(WIN32)
|
||||
target_link_libraries(Net PUBLIC "iphlpapi.lib")
|
||||
if(WINCE)
|
||||
target_link_libraries(Net PUBLIC "ws2.lib")
|
||||
else()
|
||||
target_link_libraries(Net PUBLIC "ws2_32.lib")
|
||||
endif()
|
||||
endif(WIN32)
|
||||
|
||||
target_include_directories(Net
|
||||
PUBLIC
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
||||
$<INSTALL_INTERFACE:include>
|
||||
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src
|
||||
)
|
||||
|
||||
POCO_INSTALL(Net)
|
||||
POCO_GENERATE_PACKAGE(Net)
|
||||
|
||||
if(ENABLE_TESTS)
|
||||
add_subdirectory(samples)
|
||||
add_subdirectory(testsuite)
|
||||
endif()
|
||||
|
||||
43
vendor/POCO/Net/Makefile
vendored
Normal file
43
vendor/POCO/Net/Makefile
vendored
Normal file
@@ -0,0 +1,43 @@
|
||||
#
|
||||
# Makefile
|
||||
#
|
||||
# Makefile for Poco Net
|
||||
#
|
||||
|
||||
include $(POCO_BASE)/build/rules/global
|
||||
|
||||
SHAREDOPT_CXX += -DNet_EXPORTS
|
||||
|
||||
objects = \
|
||||
Net DNS HTTPResponse HostEntry Socket \
|
||||
DatagramSocket HTTPServer IPAddress IPAddressImpl SocketAddress SocketAddressImpl \
|
||||
HTTPBasicCredentials HTTPCookie HTMLForm MediaType DialogSocket \
|
||||
DatagramSocketImpl FilePartSource HTTPServerConnection MessageHeader \
|
||||
HTTPChunkedStream HTTPServerConnectionFactory MulticastSocket SocketStream \
|
||||
HTTPClientSession HTTPServerParams MultipartReader StreamSocket SocketImpl \
|
||||
HTTPFixedLengthStream HTTPServerRequest HTTPServerRequestImpl MultipartWriter StreamSocketImpl \
|
||||
HTTPHeaderStream HTTPServerResponse HTTPServerResponseImpl NameValueCollection TCPServer \
|
||||
HTTPMessage HTTPServerSession NetException TCPServerConnection HTTPBufferAllocator \
|
||||
HTTPAuthenticationParams HTTPCredentials HTTPDigestCredentials \
|
||||
HTTPRequest HTTPSession HTTPSessionInstantiator HTTPSessionFactory NetworkInterface \
|
||||
HTTPRequestHandler HTTPStream HTTPIOStream ServerSocket TCPServerDispatcher TCPServerConnectionFactory \
|
||||
HTTPRequestHandlerFactory HTTPStreamFactory ServerSocketImpl TCPServerParams \
|
||||
QuotedPrintableEncoder QuotedPrintableDecoder StringPartSource \
|
||||
FTPClientSession FTPStreamFactory PartHandler PartSource PartStore NullPartHandler \
|
||||
SocketReactor SocketNotifier SocketNotification AbstractHTTPRequestHandler \
|
||||
MailRecipient MailMessage MailStream SMTPClientSession POP3ClientSession \
|
||||
RawSocket RawSocketImpl ICMPClient ICMPEventArgs ICMPPacket ICMPPacketImpl \
|
||||
ICMPSocket ICMPSocketImpl ICMPv4PacketImpl \
|
||||
NTPClient NTPEventArgs NTPPacket \
|
||||
RemoteSyslogChannel RemoteSyslogListener SMTPChannel \
|
||||
WebSocket WebSocketImpl \
|
||||
OAuth10Credentials OAuth20Credentials \
|
||||
PollSet UDPClient UDPServerParams \
|
||||
NTLMCredentials SSPINTLMCredentials HTTPNTLMCredentials \
|
||||
EscapeHTMLStream
|
||||
|
||||
target = PocoNet
|
||||
target_version = $(LIBVERSION)
|
||||
target_libs = PocoFoundation
|
||||
|
||||
include $(POCO_BASE)/build/rules/lib
|
||||
17
vendor/POCO/Net/Net.progen
vendored
Normal file
17
vendor/POCO/Net/Net.progen
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
vc.project.guid = B057A1FE-09F7-465E-B8B5-E1B659051D76
|
||||
vc.project.name = Net
|
||||
vc.project.target = Poco${vc.project.name}
|
||||
vc.project.type = library
|
||||
vc.project.pocobase = ..
|
||||
vc.project.outdir = ${vc.project.pocobase}
|
||||
vc.project.platforms = Win32
|
||||
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
|
||||
vc.project.prototype = ${vc.project.name}_vs90.vcproj
|
||||
vc.project.compiler.include = ..\\Foundation\\include
|
||||
vc.project.compiler.defines =
|
||||
vc.project.compiler.defines.shared = ${vc.project.name}_EXPORTS
|
||||
vc.project.compiler.defines.debug_shared = ${vc.project.compiler.defines.shared}
|
||||
vc.project.compiler.defines.release_shared = ${vc.project.compiler.defines.shared}
|
||||
vc.project.linker.dependencies.Win32 = ws2_32.lib iphlpapi.lib
|
||||
vc.solution.create = true
|
||||
vc.solution.include = testsuite\\TestSuite
|
||||
102
vendor/POCO/Net/Net_vs140.sln
vendored
Normal file
102
vendor/POCO/Net/Net_vs140.sln
vendored
Normal file
@@ -0,0 +1,102 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 14
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Net", "Net_vs140.vcxproj", "{B057A1FE-09F7-465E-B8B5-E1B659051D76}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_vs140.vcxproj", "{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76} = {B057A1FE-09F7-465E-B8B5-E1B659051D76}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
debug_shared|Win32 = debug_shared|Win32
|
||||
release_shared|Win32 = release_shared|Win32
|
||||
debug_static_mt|Win32 = debug_static_mt|Win32
|
||||
release_static_mt|Win32 = release_static_mt|Win32
|
||||
debug_static_md|Win32 = debug_static_md|Win32
|
||||
release_static_md|Win32 = release_static_md|Win32
|
||||
debug_shared|x64 = debug_shared|x64
|
||||
release_shared|x64 = release_shared|x64
|
||||
debug_static_mt|x64 = debug_static_mt|x64
|
||||
release_static_mt|x64 = release_static_mt|x64
|
||||
debug_static_md|x64 = debug_static_md|x64
|
||||
release_static_md|x64 = release_static_md|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_shared|Win32.Build.0 = debug_shared|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_shared|Win32.ActiveCfg = release_shared|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_shared|Win32.Build.0 = release_shared|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_shared|Win32.Deploy.0 = release_shared|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_md|Win32.Build.0 = release_static_md|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_shared|x64.ActiveCfg = debug_shared|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_shared|x64.Build.0 = debug_shared|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_shared|x64.Deploy.0 = debug_shared|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_shared|x64.ActiveCfg = release_shared|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_shared|x64.Build.0 = release_shared|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_shared|x64.Deploy.0 = release_shared|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_mt|x64.Build.0 = release_static_mt|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_md|x64.ActiveCfg = debug_static_md|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_md|x64.Build.0 = debug_static_md|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_md|x64.Deploy.0 = debug_static_md|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_md|x64.ActiveCfg = release_static_md|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_md|x64.Build.0 = release_static_md|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_md|x64.Deploy.0 = release_static_md|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_shared|Win32.Build.0 = debug_shared|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_shared|Win32.ActiveCfg = release_shared|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_shared|Win32.Build.0 = release_shared|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_shared|Win32.Deploy.0 = release_shared|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_md|Win32.Build.0 = release_static_md|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_shared|x64.ActiveCfg = debug_shared|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_shared|x64.Build.0 = debug_shared|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_shared|x64.Deploy.0 = debug_shared|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_shared|x64.ActiveCfg = release_shared|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_shared|x64.Build.0 = release_shared|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_shared|x64.Deploy.0 = release_shared|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_mt|x64.Build.0 = release_static_mt|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_md|x64.ActiveCfg = debug_static_md|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_md|x64.Build.0 = debug_static_md|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_md|x64.Deploy.0 = debug_static_md|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_md|x64.ActiveCfg = release_static_md|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_md|x64.Build.0 = release_static_md|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_md|x64.Deploy.0 = release_static_md|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
997
vendor/POCO/Net/Net_vs140.vcxproj
vendored
Normal file
997
vendor/POCO/Net/Net_vs140.vcxproj
vendored
Normal file
@@ -0,0 +1,997 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="debug_shared|Win32">
|
||||
<Configuration>debug_shared</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_shared|x64">
|
||||
<Configuration>debug_shared</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_static_md|Win32">
|
||||
<Configuration>debug_static_md</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_static_md|x64">
|
||||
<Configuration>debug_static_md</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_static_mt|Win32">
|
||||
<Configuration>debug_static_mt</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_static_mt|x64">
|
||||
<Configuration>debug_static_mt</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_shared|Win32">
|
||||
<Configuration>release_shared</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_shared|x64">
|
||||
<Configuration>release_shared</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_static_md|Win32">
|
||||
<Configuration>release_static_md</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_static_md|x64">
|
||||
<Configuration>release_static_md</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_static_mt|Win32">
|
||||
<Configuration>release_static_mt</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_static_mt|x64">
|
||||
<Configuration>release_static_mt</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectName>Net</ProjectName>
|
||||
<ProjectGuid>{B057A1FE-09F7-465E-B8B5-E1B659051D76}</ProjectGuid>
|
||||
<RootNamespace>Net</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
|
||||
<ImportGroup Label="ExtensionSettings"/>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros"/>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.25420.1</_ProjectFileVersion>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">PocoNetd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">PocoNetmdd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">PocoNetmtd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">PocoNet</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">PocoNetmd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">PocoNetmt</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">PocoNet64d</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">PocoNetmdd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">PocoNetmtd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">PocoNet64</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">PocoNetmd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">PocoNetmt</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">
|
||||
<OutDir>..\bin\</OutDir>
|
||||
<IntDir>obj\Net\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">
|
||||
<OutDir>..\bin\</OutDir>
|
||||
<IntDir>obj\Net\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">
|
||||
<OutDir>..\lib\</OutDir>
|
||||
<IntDir>obj\Net\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">
|
||||
<OutDir>..\lib\</OutDir>
|
||||
<IntDir>obj\Net\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">
|
||||
<OutDir>..\lib\</OutDir>
|
||||
<IntDir>obj\Net\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">
|
||||
<OutDir>..\lib\</OutDir>
|
||||
<IntDir>obj\Net\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">
|
||||
<OutDir>..\bin64\</OutDir>
|
||||
<IntDir>obj64\Net\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">
|
||||
<OutDir>..\bin64\</OutDir>
|
||||
<IntDir>obj64\Net\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">
|
||||
<OutDir>..\lib64\</OutDir>
|
||||
<IntDir>obj64\Net\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">
|
||||
<OutDir>..\lib64\</OutDir>
|
||||
<IntDir>obj64\Net\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">
|
||||
<OutDir>..\lib64\</OutDir>
|
||||
<IntDir>obj64\Net\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">
|
||||
<OutDir>..\lib64\</OutDir>
|
||||
<IntDir>obj64\Net\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;Net_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\bin\PocoNetd.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>..\bin\PocoNetd.pdb</ProgramDatabaseFile>
|
||||
<AdditionalLibraryDirectories>..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<ImportLibrary>..\lib\PocoNetd.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;Net_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\bin\PocoNet.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<ImportLibrary>..\lib\PocoNet.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<ProgramDataBaseFileName>..\lib\PocoNetmtd.pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\lib\PocoNetmtd.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\lib\PocoNetmt.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<ProgramDataBaseFileName>..\lib\PocoNetmdd.pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\lib\PocoNetmdd.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<ProgramDataBaseFileName>..\lib\PocoNetmd.pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\lib\PocoNetmd.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;Net_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\bin64\PocoNet64d.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>..\bin64\PocoNet64d.pdb</ProgramDatabaseFile>
|
||||
<AdditionalLibraryDirectories>..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<ImportLibrary>..\lib64\PocoNetd.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;Net_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\bin64\PocoNet64.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<ImportLibrary>..\lib64\PocoNet.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<ProgramDataBaseFileName>..\lib64\PocoNetmtd.pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\lib64\PocoNetmtd.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\lib64\PocoNetmt.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<ProgramDataBaseFileName>..\lib64\PocoNetmdd.pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\lib64\PocoNetmdd.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\lib64\PocoNetmd.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="include\Poco\Net\AbstractHTTPRequestHandler.h"/>
|
||||
<ClInclude Include="include\Poco\Net\DatagramSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\DatagramSocketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\DialogSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\DNS.h"/>
|
||||
<ClInclude Include="include\Poco\Net\FilePartSource.h"/>
|
||||
<ClInclude Include="include\Poco\Net\FTPClientSession.h"/>
|
||||
<ClInclude Include="include\Poco\Net\FTPStreamFactory.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HostEntry.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTMLForm.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPAuthenticationParams.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPBasicCredentials.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPBasicStreamBuf.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPBufferAllocator.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPChunkedStream.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPClientSession.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPCookie.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPCredentials.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPDigestCredentials.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPFixedLengthStream.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPHeaderStream.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPIOStream.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPMessage.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPNTLMCredentials.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPRequest.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPRequestHandler.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPRequestHandlerFactory.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPResponse.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServer.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerConnection.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerConnectionFactory.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerParams.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerRequest.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerRequestImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerResponse.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerResponseImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerSession.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPSession.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPSessionFactory.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPSessionInstantiator.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPStream.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPStreamFactory.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ICMPClient.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ICMPEventArgs.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ICMPPacket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ICMPPacketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ICMPSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ICMPSocketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ICMPv4PacketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\IPAddress.h"/>
|
||||
<ClInclude Include="include\Poco\Net\IPAddressImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\MailMessage.h"/>
|
||||
<ClInclude Include="include\Poco\Net\MailRecipient.h"/>
|
||||
<ClInclude Include="include\Poco\Net\MailStream.h"/>
|
||||
<ClInclude Include="include\Poco\Net\MediaType.h"/>
|
||||
<ClInclude Include="include\Poco\Net\MessageHeader.h"/>
|
||||
<ClInclude Include="include\Poco\Net\MulticastSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\MultipartReader.h"/>
|
||||
<ClInclude Include="include\Poco\Net\MultipartWriter.h"/>
|
||||
<ClInclude Include="include\Poco\Net\MultiSocketPoller.h"/>
|
||||
<ClInclude Include="include\Poco\Net\NameValueCollection.h"/>
|
||||
<ClInclude Include="include\Poco\Net\Net.h"/>
|
||||
<ClInclude Include="include\Poco\Net\NetException.h"/>
|
||||
<ClInclude Include="include\Poco\Net\NetworkInterface.h"/>
|
||||
<ClInclude Include="include\Poco\Net\NTLMCredentials.h"/>
|
||||
<ClInclude Include="include\Poco\Net\NTPClient.h"/>
|
||||
<ClInclude Include="include\Poco\Net\NTPEventArgs.h"/>
|
||||
<ClInclude Include="include\Poco\Net\NTPPacket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\NullPartHandler.h"/>
|
||||
<ClInclude Include="include\Poco\Net\OAuth10Credentials.h"/>
|
||||
<ClInclude Include="include\Poco\Net\OAuth20Credentials.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ParallelSocketAcceptor.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ParallelSocketReactor.h"/>
|
||||
<ClInclude Include="include\Poco\Net\PartHandler.h"/>
|
||||
<ClInclude Include="include\Poco\Net\PartSource.h"/>
|
||||
<ClInclude Include="include\Poco\Net\PartStore.h"/>
|
||||
<ClInclude Include="include\Poco\Net\PollSet.h"/>
|
||||
<ClInclude Include="include\Poco\Net\POP3ClientSession.h"/>
|
||||
<ClInclude Include="include\Poco\Net\QuotedPrintableDecoder.h"/>
|
||||
<ClInclude Include="include\Poco\Net\QuotedPrintableEncoder.h"/>
|
||||
<ClInclude Include="include\Poco\Net\RawSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\RawSocketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\RemoteSyslogChannel.h"/>
|
||||
<ClInclude Include="include\Poco\Net\RemoteSyslogListener.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ServerSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ServerSocketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SingleSocketPoller.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SMTPChannel.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SMTPClientSession.h"/>
|
||||
<ClInclude Include="include\Poco\Net\Socket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SocketAcceptor.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SocketAddress.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SocketAddressImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SocketConnector.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SocketDefs.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SocketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SocketNotification.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SocketNotifier.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SocketReactor.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SocketStream.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SSPINTLMCredentials.h"/>
|
||||
<ClInclude Include="include\Poco\Net\StreamSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\StreamSocketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\StringPartSource.h"/>
|
||||
<ClInclude Include="include\Poco\Net\TCPServer.h"/>
|
||||
<ClInclude Include="include\Poco\Net\TCPServerConnection.h"/>
|
||||
<ClInclude Include="include\Poco\Net\TCPServerConnectionFactory.h"/>
|
||||
<ClInclude Include="include\Poco\Net\TCPServerDispatcher.h"/>
|
||||
<ClInclude Include="include\Poco\Net\TCPServerParams.h"/>
|
||||
<ClInclude Include="include\Poco\Net\UDPClient.h"/>
|
||||
<ClInclude Include="include\Poco\Net\UDPHandler.h"/>
|
||||
<ClInclude Include="include\Poco\Net\UDPServer.h"/>
|
||||
<ClInclude Include="include\Poco\Net\UDPServerParams.h"/>
|
||||
<ClInclude Include="include\Poco\Net\UDPSocketReader.h"/>
|
||||
<ClInclude Include="include\Poco\Net\WebSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\WebSocketImpl.h"/>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="src\AbstractHTTPRequestHandler.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\DatagramSocket.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\DatagramSocketImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\DialogSocket.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\DNS.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\FilePartSource.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\FTPClientSession.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\FTPStreamFactory.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HostEntry.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTMLForm.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPAuthenticationParams.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPBasicCredentials.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPBufferAllocator.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPChunkedStream.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPClientSession.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPCookie.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPCredentials.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPDigestCredentials.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPFixedLengthStream.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPHeaderStream.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPIOStream.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPMessage.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPNTLMCredentials.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPRequest.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPRequestHandler.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPRequestHandlerFactory.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPResponse.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServer.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerConnection.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerConnectionFactory.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerParams.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerRequest.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerRequestImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerResponse.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerResponseImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerSession.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPSession.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPSessionFactory.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPSessionInstantiator.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPStream.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPStreamFactory.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPClient.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPEventArgs.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPPacket.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPPacketImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPSocket.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPSocketImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPv4PacketImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\IPAddress.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\IPAddressImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MailMessage.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MailRecipient.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MailStream.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MediaType.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MessageHeader.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MulticastSocket.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MultipartReader.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MultipartWriter.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NameValueCollection.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\Net.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NetException.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NetworkInterface.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NTLMCredentials.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NTPClient.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NTPEventArgs.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NTPPacket.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NullPartHandler.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\OAuth10Credentials.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\OAuth20Credentials.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PartHandler.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PartSource.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PartStore.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PollSet.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\POP3ClientSession.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\QuotedPrintableDecoder.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\QuotedPrintableEncoder.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocket.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocketImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RemoteSyslogChannel.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RemoteSyslogListener.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ServerSocket.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ServerSocketImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SMTPChannel.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SMTPClientSession.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\Socket.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketAddress.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketAddressImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketNotification.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketNotifier.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketReactor.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketStream.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SSPINTLMCredentials.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\StreamSocket.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\StreamSocketImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\StringPartSource.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\TCPServer.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\TCPServerConnection.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\TCPServerConnectionFactory.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\TCPServerDispatcher.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\TCPServerParams.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\UDPClient.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\UDPServerParams.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\WebSocket.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\WebSocketImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\DLLVersion.rc">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">true</ExcludedFromBuild>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
|
||||
<ImportGroup Label="ExtensionTargets"/>
|
||||
</Project>
|
||||
837
vendor/POCO/Net/Net_vs140.vcxproj.filters
vendored
Normal file
837
vendor/POCO/Net/Net_vs140.vcxproj.filters
vendored
Normal file
@@ -0,0 +1,837 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="NetCore">
|
||||
<UniqueIdentifier>{0a45cf1d-405f-4e8c-8944-d9acb0d6d2d5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Header Files">
|
||||
<UniqueIdentifier>{ce0d7536-e98c-43ca-9130-e4f855c013af}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Source Files">
|
||||
<UniqueIdentifier>{4ec20ea8-9fd4-4b50-90e2-154c60d7ba51}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets">
|
||||
<UniqueIdentifier>{b8e855f7-e744-467b-9cb0-89bd1c65fcb4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Header Files">
|
||||
<UniqueIdentifier>{3fb19cca-eec1-4eed-b32e-676adae615e2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Source Files">
|
||||
<UniqueIdentifier>{4199711d-858b-4f4e-9a50-153731e7001b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages">
|
||||
<UniqueIdentifier>{605c378e-32fd-4895-a46e-7b810867a1a4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Header Files">
|
||||
<UniqueIdentifier>{8e112f4f-27c7-469e-84e6-0cf423067b4a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Source Files">
|
||||
<UniqueIdentifier>{b212d74d-2fae-421b-98e9-2a6dc8cb1be1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP">
|
||||
<UniqueIdentifier>{d8fbe38e-6c77-407e-97a2-135be5740ab6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Header Files">
|
||||
<UniqueIdentifier>{b6528ab4-9097-456f-a69c-02ef458553f9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Source Files">
|
||||
<UniqueIdentifier>{b60ba742-6932-40a6-901b-26187c69346a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer">
|
||||
<UniqueIdentifier>{413268b7-7de6-4560-ada7-4a5477d0b412}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Header Files">
|
||||
<UniqueIdentifier>{4f5ac6d6-3be8-44e7-9e21-14cefe8d740d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Source Files">
|
||||
<UniqueIdentifier>{fdaf2e08-16b6-4cee-a756-d256984c9430}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer">
|
||||
<UniqueIdentifier>{be918e70-e2dc-40db-a75b-67af32dcbf7b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Header Files">
|
||||
<UniqueIdentifier>{a350553e-f804-4e03-9455-394054c2b98d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Source Files">
|
||||
<UniqueIdentifier>{93939c49-48c3-489d-bbfc-66a35a7b8c6e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient">
|
||||
<UniqueIdentifier>{1f269583-c489-426c-b084-87e6d2b7bcf0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Header Files">
|
||||
<UniqueIdentifier>{55e143f8-a805-4ee9-874f-431f1fbad749}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Source Files">
|
||||
<UniqueIdentifier>{65b45d1a-3cc6-4ea7-bbfd-35402d963002}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML">
|
||||
<UniqueIdentifier>{3875c305-d680-494a-8fe3-282ec7ff4207}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Header Files">
|
||||
<UniqueIdentifier>{c2e5b43a-f466-4046-ac55-1465a492bf6a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Source Files">
|
||||
<UniqueIdentifier>{0a833c03-9929-479c-84e1-3f002c48134c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient">
|
||||
<UniqueIdentifier>{3460d085-f04f-41d5-85d6-509792fd165f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Header Files">
|
||||
<UniqueIdentifier>{1b87bb5b-9c9f-4e0d-9b69-77f52a798199}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Source Files">
|
||||
<UniqueIdentifier>{2f32031e-eede-4aa1-a602-7e4005ef9412}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor">
|
||||
<UniqueIdentifier>{db5b0984-c469-49d9-aaaf-366f752f359f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Header Files">
|
||||
<UniqueIdentifier>{20113a7a-3c13-4f23-bb68-8d8415f5876e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Source Files">
|
||||
<UniqueIdentifier>{48e377c0-8879-48d1-93f5-51836607f602}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail">
|
||||
<UniqueIdentifier>{7f18b340-3744-444b-b7e1-6c243f903ab4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Header Files">
|
||||
<UniqueIdentifier>{d1d1ade2-7c80-4fe3-af71-e196cd602dfc}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Source Files">
|
||||
<UniqueIdentifier>{cfd54cf8-3dc1-4093-9509-a0674063f6b3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP">
|
||||
<UniqueIdentifier>{d561e649-7e52-4479-ae70-d01cfbc057a5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Header Files">
|
||||
<UniqueIdentifier>{abd6027a-3fb9-4e1c-9c8f-09e0bdbf7ba6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Source Files">
|
||||
<UniqueIdentifier>{4c691673-4f88-4547-b7d8-41e341f77931}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP">
|
||||
<UniqueIdentifier>{23098c7a-0c66-4b35-99b1-8a1bc8e07f91}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Header Files">
|
||||
<UniqueIdentifier>{5bf85845-8814-4c70-a4bc-199a8ed02d66}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Source Files">
|
||||
<UniqueIdentifier>{2ac4523d-0c4d-4e02-adaa-700e227380d9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging">
|
||||
<UniqueIdentifier>{621f3d52-f58f-4892-93d9-2685e5edbc35}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Header Files">
|
||||
<UniqueIdentifier>{0a677753-c25b-4af5-b71a-504a88895d6f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Source Files">
|
||||
<UniqueIdentifier>{56f9999c-2fb6-41ad-8225-b3bd826cd25b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket">
|
||||
<UniqueIdentifier>{21f8b7d0-9958-482f-bc66-b8ccfbd5d176}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Header Files">
|
||||
<UniqueIdentifier>{49d3a4a9-4bb2-47fa-a0cc-0348b3f21199}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Source Files">
|
||||
<UniqueIdentifier>{96952ee4-3c90-4c16-a229-9dc40e8b6300}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth">
|
||||
<UniqueIdentifier>{7b8d02f8-9f84-43ae-ba31-3f44da834829}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Header Files">
|
||||
<UniqueIdentifier>{9afd6926-1a61-4250-a1a9-11f3efc1c38d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Source Files">
|
||||
<UniqueIdentifier>{cefe4358-6cb1-4651-9b8e-4e52151dde52}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="UDP">
|
||||
<UniqueIdentifier>{0bc36e64-ff49-4938-90ae-ba9ba12ad27d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="UDP\Source Files">
|
||||
<UniqueIdentifier>{75c5a4e9-0459-49cc-9e2d-161eafeddb48}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="UDP\Header Files">
|
||||
<UniqueIdentifier>{87f7a634-fb09-43fb-80f7-6424419d720b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTLM">
|
||||
<UniqueIdentifier>{73db6087-4396-409b-ad87-c58900587847}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTLM\Header Files">
|
||||
<UniqueIdentifier>{b3a5b2d8-05e2-4d10-9eb4-16e60c1d6010}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTLM\Source Files">
|
||||
<UniqueIdentifier>{92f3c8cb-f970-4251-b095-7224790d7c2e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="include\Poco\Net\DNS.h">
|
||||
<Filter>NetCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HostEntry.h">
|
||||
<Filter>NetCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\IPAddress.h">
|
||||
<Filter>NetCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\IPAddressImpl.h">
|
||||
<Filter>NetCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\Net.h">
|
||||
<Filter>NetCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\NetException.h">
|
||||
<Filter>NetCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\NetworkInterface.h">
|
||||
<Filter>NetCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SocketAddress.h">
|
||||
<Filter>NetCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SocketAddressImpl.h">
|
||||
<Filter>NetCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SocketDefs.h">
|
||||
<Filter>NetCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\DatagramSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\DatagramSocketImpl.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\DialogSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\MulticastSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\PollSet.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\RawSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\RawSocketImpl.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\ServerSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\ServerSocketImpl.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\Socket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SocketImpl.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SocketStream.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\StreamSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\StreamSocketImpl.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\FilePartSource.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\MediaType.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\MessageHeader.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\MultipartReader.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\MultipartWriter.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\NameValueCollection.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\NullPartHandler.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\PartHandler.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\PartSource.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\PartStore.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\QuotedPrintableDecoder.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\QuotedPrintableEncoder.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\StringPartSource.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPAuthenticationParams.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPBasicCredentials.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPBasicStreamBuf.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPBufferAllocator.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPChunkedStream.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPCookie.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPCredentials.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPDigestCredentials.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPFixedLengthStream.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPHeaderStream.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPMessage.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPNTLMCredentials.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPRequest.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPResponse.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPSession.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPStream.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\TCPServer.h">
|
||||
<Filter>TCPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\TCPServerConnection.h">
|
||||
<Filter>TCPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\TCPServerConnectionFactory.h">
|
||||
<Filter>TCPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\TCPServerDispatcher.h">
|
||||
<Filter>TCPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\TCPServerParams.h">
|
||||
<Filter>TCPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\AbstractHTTPRequestHandler.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPRequestHandler.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPRequestHandlerFactory.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServer.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerConnection.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerConnectionFactory.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerParams.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerRequest.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerRequestImpl.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerResponse.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerResponseImpl.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerSession.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPClientSession.h">
|
||||
<Filter>HTTPClient\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPIOStream.h">
|
||||
<Filter>HTTPClient\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPSessionFactory.h">
|
||||
<Filter>HTTPClient\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPSessionInstantiator.h">
|
||||
<Filter>HTTPClient\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPStreamFactory.h">
|
||||
<Filter>HTTPClient\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTMLForm.h">
|
||||
<Filter>HTML\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\FTPClientSession.h">
|
||||
<Filter>FTPClient\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\FTPStreamFactory.h">
|
||||
<Filter>FTPClient\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\ParallelSocketAcceptor.h">
|
||||
<Filter>Reactor\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\ParallelSocketReactor.h">
|
||||
<Filter>Reactor\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SocketAcceptor.h">
|
||||
<Filter>Reactor\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SocketConnector.h">
|
||||
<Filter>Reactor\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SocketNotification.h">
|
||||
<Filter>Reactor\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SocketNotifier.h">
|
||||
<Filter>Reactor\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SocketReactor.h">
|
||||
<Filter>Reactor\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\MailMessage.h">
|
||||
<Filter>Mail\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\MailRecipient.h">
|
||||
<Filter>Mail\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\MailStream.h">
|
||||
<Filter>Mail\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\POP3ClientSession.h">
|
||||
<Filter>Mail\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SMTPClientSession.h">
|
||||
<Filter>Mail\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\ICMPClient.h">
|
||||
<Filter>ICMP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\ICMPEventArgs.h">
|
||||
<Filter>ICMP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\ICMPPacket.h">
|
||||
<Filter>ICMP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\ICMPPacketImpl.h">
|
||||
<Filter>ICMP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\ICMPSocket.h">
|
||||
<Filter>ICMP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\ICMPSocketImpl.h">
|
||||
<Filter>ICMP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\ICMPv4PacketImpl.h">
|
||||
<Filter>ICMP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\NTPClient.h">
|
||||
<Filter>NTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\NTPEventArgs.h">
|
||||
<Filter>NTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\NTPPacket.h">
|
||||
<Filter>NTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\RemoteSyslogChannel.h">
|
||||
<Filter>Logging\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\RemoteSyslogListener.h">
|
||||
<Filter>Logging\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SMTPChannel.h">
|
||||
<Filter>Logging\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\WebSocket.h">
|
||||
<Filter>WebSocket\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\WebSocketImpl.h">
|
||||
<Filter>WebSocket\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\OAuth10Credentials.h">
|
||||
<Filter>OAuth\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\OAuth20Credentials.h">
|
||||
<Filter>OAuth\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\MultiSocketPoller.h">
|
||||
<Filter>UDP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SingleSocketPoller.h">
|
||||
<Filter>UDP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\UDPClient.h">
|
||||
<Filter>UDP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\UDPHandler.h">
|
||||
<Filter>UDP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\UDPServer.h">
|
||||
<Filter>UDP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\UDPServerParams.h">
|
||||
<Filter>UDP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\UDPSocketReader.h">
|
||||
<Filter>UDP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\NTLMCredentials.h">
|
||||
<Filter>NTLM\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SSPINTLMCredentials.h">
|
||||
<Filter>NTLM\Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="src\DNS.cpp">
|
||||
<Filter>NetCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HostEntry.cpp">
|
||||
<Filter>NetCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\IPAddress.cpp">
|
||||
<Filter>NetCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\IPAddressImpl.cpp">
|
||||
<Filter>NetCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\Net.cpp">
|
||||
<Filter>NetCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NetException.cpp">
|
||||
<Filter>NetCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NetworkInterface.cpp">
|
||||
<Filter>NetCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketAddress.cpp">
|
||||
<Filter>NetCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketAddressImpl.cpp">
|
||||
<Filter>NetCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\DatagramSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\DatagramSocketImpl.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\DialogSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MulticastSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PollSet.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocketImpl.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ServerSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ServerSocketImpl.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\Socket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketImpl.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketStream.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\StreamSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\StreamSocketImpl.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\FilePartSource.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MediaType.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MessageHeader.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MultipartReader.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MultipartWriter.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NameValueCollection.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NullPartHandler.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PartHandler.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PartSource.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PartStore.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\QuotedPrintableDecoder.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\QuotedPrintableEncoder.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\StringPartSource.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPAuthenticationParams.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPBasicCredentials.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPBufferAllocator.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPChunkedStream.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPCookie.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPCredentials.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPDigestCredentials.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPFixedLengthStream.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPHeaderStream.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPMessage.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPNTLMCredentials.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPRequest.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPResponse.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPSession.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPStream.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\TCPServer.cpp">
|
||||
<Filter>TCPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\TCPServerConnection.cpp">
|
||||
<Filter>TCPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\TCPServerConnectionFactory.cpp">
|
||||
<Filter>TCPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\TCPServerDispatcher.cpp">
|
||||
<Filter>TCPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\TCPServerParams.cpp">
|
||||
<Filter>TCPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\AbstractHTTPRequestHandler.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPRequestHandler.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPRequestHandlerFactory.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServer.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerConnection.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerConnectionFactory.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerParams.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerRequest.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerRequestImpl.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerResponse.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerResponseImpl.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerSession.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPClientSession.cpp">
|
||||
<Filter>HTTPClient\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPIOStream.cpp">
|
||||
<Filter>HTTPClient\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPSessionFactory.cpp">
|
||||
<Filter>HTTPClient\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPSessionInstantiator.cpp">
|
||||
<Filter>HTTPClient\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPStreamFactory.cpp">
|
||||
<Filter>HTTPClient\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTMLForm.cpp">
|
||||
<Filter>HTML\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\FTPClientSession.cpp">
|
||||
<Filter>FTPClient\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\FTPStreamFactory.cpp">
|
||||
<Filter>FTPClient\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketNotification.cpp">
|
||||
<Filter>Reactor\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketNotifier.cpp">
|
||||
<Filter>Reactor\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketReactor.cpp">
|
||||
<Filter>Reactor\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MailMessage.cpp">
|
||||
<Filter>Mail\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MailRecipient.cpp">
|
||||
<Filter>Mail\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MailStream.cpp">
|
||||
<Filter>Mail\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\POP3ClientSession.cpp">
|
||||
<Filter>Mail\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SMTPClientSession.cpp">
|
||||
<Filter>Mail\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPClient.cpp">
|
||||
<Filter>ICMP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPEventArgs.cpp">
|
||||
<Filter>ICMP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPPacket.cpp">
|
||||
<Filter>ICMP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPPacketImpl.cpp">
|
||||
<Filter>ICMP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPSocket.cpp">
|
||||
<Filter>ICMP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPSocketImpl.cpp">
|
||||
<Filter>ICMP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPv4PacketImpl.cpp">
|
||||
<Filter>ICMP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NTPClient.cpp">
|
||||
<Filter>NTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NTPEventArgs.cpp">
|
||||
<Filter>NTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NTPPacket.cpp">
|
||||
<Filter>NTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RemoteSyslogChannel.cpp">
|
||||
<Filter>Logging\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RemoteSyslogListener.cpp">
|
||||
<Filter>Logging\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SMTPChannel.cpp">
|
||||
<Filter>Logging\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\WebSocket.cpp">
|
||||
<Filter>WebSocket\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\WebSocketImpl.cpp">
|
||||
<Filter>WebSocket\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\OAuth10Credentials.cpp">
|
||||
<Filter>OAuth\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\OAuth20Credentials.cpp">
|
||||
<Filter>OAuth\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\UDPClient.cpp">
|
||||
<Filter>UDP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\UDPServerParams.cpp">
|
||||
<Filter>UDP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NTLMCredentials.cpp">
|
||||
<Filter>NTLM\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SSPINTLMCredentials.cpp">
|
||||
<Filter>NTLM\Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\DLLVersion.rc" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
102
vendor/POCO/Net/Net_vs150.sln
vendored
Normal file
102
vendor/POCO/Net/Net_vs150.sln
vendored
Normal file
@@ -0,0 +1,102 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Net", "Net_vs150.vcxproj", "{B057A1FE-09F7-465E-B8B5-E1B659051D76}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_vs150.vcxproj", "{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76} = {B057A1FE-09F7-465E-B8B5-E1B659051D76}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
debug_shared|Win32 = debug_shared|Win32
|
||||
release_shared|Win32 = release_shared|Win32
|
||||
debug_static_mt|Win32 = debug_static_mt|Win32
|
||||
release_static_mt|Win32 = release_static_mt|Win32
|
||||
debug_static_md|Win32 = debug_static_md|Win32
|
||||
release_static_md|Win32 = release_static_md|Win32
|
||||
debug_shared|x64 = debug_shared|x64
|
||||
release_shared|x64 = release_shared|x64
|
||||
debug_static_mt|x64 = debug_static_mt|x64
|
||||
release_static_mt|x64 = release_static_mt|x64
|
||||
debug_static_md|x64 = debug_static_md|x64
|
||||
release_static_md|x64 = release_static_md|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_shared|Win32.Build.0 = debug_shared|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_shared|Win32.ActiveCfg = release_shared|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_shared|Win32.Build.0 = release_shared|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_shared|Win32.Deploy.0 = release_shared|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_md|Win32.Build.0 = release_static_md|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_shared|x64.ActiveCfg = debug_shared|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_shared|x64.Build.0 = debug_shared|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_shared|x64.Deploy.0 = debug_shared|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_shared|x64.ActiveCfg = release_shared|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_shared|x64.Build.0 = release_shared|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_shared|x64.Deploy.0 = release_shared|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_mt|x64.Build.0 = release_static_mt|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_md|x64.ActiveCfg = debug_static_md|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_md|x64.Build.0 = debug_static_md|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_md|x64.Deploy.0 = debug_static_md|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_md|x64.ActiveCfg = release_static_md|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_md|x64.Build.0 = release_static_md|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_md|x64.Deploy.0 = release_static_md|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_shared|Win32.Build.0 = debug_shared|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_shared|Win32.ActiveCfg = release_shared|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_shared|Win32.Build.0 = release_shared|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_shared|Win32.Deploy.0 = release_shared|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_md|Win32.Build.0 = release_static_md|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_shared|x64.ActiveCfg = debug_shared|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_shared|x64.Build.0 = debug_shared|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_shared|x64.Deploy.0 = debug_shared|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_shared|x64.ActiveCfg = release_shared|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_shared|x64.Build.0 = release_shared|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_shared|x64.Deploy.0 = release_shared|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_mt|x64.Build.0 = release_static_mt|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_md|x64.ActiveCfg = debug_static_md|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_md|x64.Build.0 = debug_static_md|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_md|x64.Deploy.0 = debug_static_md|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_md|x64.ActiveCfg = release_static_md|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_md|x64.Build.0 = release_static_md|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_md|x64.Deploy.0 = release_static_md|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
997
vendor/POCO/Net/Net_vs150.vcxproj
vendored
Normal file
997
vendor/POCO/Net/Net_vs150.vcxproj
vendored
Normal file
@@ -0,0 +1,997 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="debug_shared|Win32">
|
||||
<Configuration>debug_shared</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_shared|x64">
|
||||
<Configuration>debug_shared</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_static_md|Win32">
|
||||
<Configuration>debug_static_md</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_static_md|x64">
|
||||
<Configuration>debug_static_md</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_static_mt|Win32">
|
||||
<Configuration>debug_static_mt</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_static_mt|x64">
|
||||
<Configuration>debug_static_mt</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_shared|Win32">
|
||||
<Configuration>release_shared</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_shared|x64">
|
||||
<Configuration>release_shared</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_static_md|Win32">
|
||||
<Configuration>release_static_md</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_static_md|x64">
|
||||
<Configuration>release_static_md</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_static_mt|Win32">
|
||||
<Configuration>release_static_mt</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_static_mt|x64">
|
||||
<Configuration>release_static_mt</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectName>Net</ProjectName>
|
||||
<ProjectGuid>{B057A1FE-09F7-465E-B8B5-E1B659051D76}</ProjectGuid>
|
||||
<RootNamespace>Net</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
|
||||
<ImportGroup Label="ExtensionSettings"/>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros"/>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>15.0.28307.799</_ProjectFileVersion>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">PocoNetd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">PocoNetmdd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">PocoNetmtd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">PocoNet</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">PocoNetmd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">PocoNetmt</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">PocoNet64d</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">PocoNetmdd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">PocoNetmtd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">PocoNet64</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">PocoNetmd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">PocoNetmt</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">
|
||||
<OutDir>..\bin\</OutDir>
|
||||
<IntDir>obj\Net\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">
|
||||
<OutDir>..\bin\</OutDir>
|
||||
<IntDir>obj\Net\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">
|
||||
<OutDir>..\lib\</OutDir>
|
||||
<IntDir>obj\Net\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">
|
||||
<OutDir>..\lib\</OutDir>
|
||||
<IntDir>obj\Net\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">
|
||||
<OutDir>..\lib\</OutDir>
|
||||
<IntDir>obj\Net\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">
|
||||
<OutDir>..\lib\</OutDir>
|
||||
<IntDir>obj\Net\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">
|
||||
<OutDir>..\bin64\</OutDir>
|
||||
<IntDir>obj64\Net\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">
|
||||
<OutDir>..\bin64\</OutDir>
|
||||
<IntDir>obj64\Net\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">
|
||||
<OutDir>..\lib64\</OutDir>
|
||||
<IntDir>obj64\Net\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">
|
||||
<OutDir>..\lib64\</OutDir>
|
||||
<IntDir>obj64\Net\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">
|
||||
<OutDir>..\lib64\</OutDir>
|
||||
<IntDir>obj64\Net\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">
|
||||
<OutDir>..\lib64\</OutDir>
|
||||
<IntDir>obj64\Net\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;Net_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\bin\PocoNetd.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>..\bin\PocoNetd.pdb</ProgramDatabaseFile>
|
||||
<AdditionalLibraryDirectories>..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<ImportLibrary>..\lib\PocoNetd.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;Net_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\bin\PocoNet.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<ImportLibrary>..\lib\PocoNet.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<ProgramDataBaseFileName>..\lib\PocoNetmtd.pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\lib\PocoNetmtd.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\lib\PocoNetmt.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<ProgramDataBaseFileName>..\lib\PocoNetmdd.pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\lib\PocoNetmdd.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<ProgramDataBaseFileName>..\lib\PocoNetmd.pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\lib\PocoNetmd.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;Net_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\bin64\PocoNet64d.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>..\bin64\PocoNet64d.pdb</ProgramDatabaseFile>
|
||||
<AdditionalLibraryDirectories>..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<ImportLibrary>..\lib64\PocoNetd.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;Net_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\bin64\PocoNet64.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<ImportLibrary>..\lib64\PocoNet.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<ProgramDataBaseFileName>..\lib64\PocoNetmtd.pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\lib64\PocoNetmtd.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\lib64\PocoNetmt.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<ProgramDataBaseFileName>..\lib64\PocoNetmdd.pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\lib64\PocoNetmdd.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\lib64\PocoNetmd.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="include\Poco\Net\AbstractHTTPRequestHandler.h"/>
|
||||
<ClInclude Include="include\Poco\Net\DatagramSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\DatagramSocketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\DialogSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\DNS.h"/>
|
||||
<ClInclude Include="include\Poco\Net\FilePartSource.h"/>
|
||||
<ClInclude Include="include\Poco\Net\FTPClientSession.h"/>
|
||||
<ClInclude Include="include\Poco\Net\FTPStreamFactory.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HostEntry.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTMLForm.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPAuthenticationParams.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPBasicCredentials.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPBasicStreamBuf.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPBufferAllocator.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPChunkedStream.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPClientSession.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPCookie.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPCredentials.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPDigestCredentials.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPFixedLengthStream.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPHeaderStream.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPIOStream.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPMessage.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPNTLMCredentials.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPRequest.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPRequestHandler.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPRequestHandlerFactory.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPResponse.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServer.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerConnection.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerConnectionFactory.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerParams.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerRequest.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerRequestImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerResponse.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerResponseImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerSession.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPSession.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPSessionFactory.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPSessionInstantiator.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPStream.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPStreamFactory.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ICMPClient.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ICMPEventArgs.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ICMPPacket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ICMPPacketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ICMPSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ICMPSocketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ICMPv4PacketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\IPAddress.h"/>
|
||||
<ClInclude Include="include\Poco\Net\IPAddressImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\MailMessage.h"/>
|
||||
<ClInclude Include="include\Poco\Net\MailRecipient.h"/>
|
||||
<ClInclude Include="include\Poco\Net\MailStream.h"/>
|
||||
<ClInclude Include="include\Poco\Net\MediaType.h"/>
|
||||
<ClInclude Include="include\Poco\Net\MessageHeader.h"/>
|
||||
<ClInclude Include="include\Poco\Net\MulticastSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\MultipartReader.h"/>
|
||||
<ClInclude Include="include\Poco\Net\MultipartWriter.h"/>
|
||||
<ClInclude Include="include\Poco\Net\MultiSocketPoller.h"/>
|
||||
<ClInclude Include="include\Poco\Net\NameValueCollection.h"/>
|
||||
<ClInclude Include="include\Poco\Net\Net.h"/>
|
||||
<ClInclude Include="include\Poco\Net\NetException.h"/>
|
||||
<ClInclude Include="include\Poco\Net\NetworkInterface.h"/>
|
||||
<ClInclude Include="include\Poco\Net\NTLMCredentials.h"/>
|
||||
<ClInclude Include="include\Poco\Net\NTPClient.h"/>
|
||||
<ClInclude Include="include\Poco\Net\NTPEventArgs.h"/>
|
||||
<ClInclude Include="include\Poco\Net\NTPPacket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\NullPartHandler.h"/>
|
||||
<ClInclude Include="include\Poco\Net\OAuth10Credentials.h"/>
|
||||
<ClInclude Include="include\Poco\Net\OAuth20Credentials.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ParallelSocketAcceptor.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ParallelSocketReactor.h"/>
|
||||
<ClInclude Include="include\Poco\Net\PartHandler.h"/>
|
||||
<ClInclude Include="include\Poco\Net\PartSource.h"/>
|
||||
<ClInclude Include="include\Poco\Net\PartStore.h"/>
|
||||
<ClInclude Include="include\Poco\Net\PollSet.h"/>
|
||||
<ClInclude Include="include\Poco\Net\POP3ClientSession.h"/>
|
||||
<ClInclude Include="include\Poco\Net\QuotedPrintableDecoder.h"/>
|
||||
<ClInclude Include="include\Poco\Net\QuotedPrintableEncoder.h"/>
|
||||
<ClInclude Include="include\Poco\Net\RawSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\RawSocketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\RemoteSyslogChannel.h"/>
|
||||
<ClInclude Include="include\Poco\Net\RemoteSyslogListener.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ServerSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ServerSocketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SingleSocketPoller.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SMTPChannel.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SMTPClientSession.h"/>
|
||||
<ClInclude Include="include\Poco\Net\Socket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SocketAcceptor.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SocketAddress.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SocketAddressImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SocketConnector.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SocketDefs.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SocketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SocketNotification.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SocketNotifier.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SocketReactor.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SocketStream.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SSPINTLMCredentials.h"/>
|
||||
<ClInclude Include="include\Poco\Net\StreamSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\StreamSocketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\StringPartSource.h"/>
|
||||
<ClInclude Include="include\Poco\Net\TCPServer.h"/>
|
||||
<ClInclude Include="include\Poco\Net\TCPServerConnection.h"/>
|
||||
<ClInclude Include="include\Poco\Net\TCPServerConnectionFactory.h"/>
|
||||
<ClInclude Include="include\Poco\Net\TCPServerDispatcher.h"/>
|
||||
<ClInclude Include="include\Poco\Net\TCPServerParams.h"/>
|
||||
<ClInclude Include="include\Poco\Net\UDPClient.h"/>
|
||||
<ClInclude Include="include\Poco\Net\UDPHandler.h"/>
|
||||
<ClInclude Include="include\Poco\Net\UDPServer.h"/>
|
||||
<ClInclude Include="include\Poco\Net\UDPServerParams.h"/>
|
||||
<ClInclude Include="include\Poco\Net\UDPSocketReader.h"/>
|
||||
<ClInclude Include="include\Poco\Net\WebSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\WebSocketImpl.h"/>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="src\AbstractHTTPRequestHandler.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\DatagramSocket.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\DatagramSocketImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\DialogSocket.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\DNS.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\FilePartSource.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\FTPClientSession.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\FTPStreamFactory.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HostEntry.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTMLForm.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPAuthenticationParams.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPBasicCredentials.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPBufferAllocator.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPChunkedStream.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPClientSession.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPCookie.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPCredentials.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPDigestCredentials.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPFixedLengthStream.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPHeaderStream.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPIOStream.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPMessage.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPNTLMCredentials.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPRequest.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPRequestHandler.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPRequestHandlerFactory.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPResponse.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServer.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerConnection.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerConnectionFactory.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerParams.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerRequest.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerRequestImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerResponse.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerResponseImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerSession.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPSession.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPSessionFactory.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPSessionInstantiator.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPStream.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPStreamFactory.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPClient.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPEventArgs.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPPacket.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPPacketImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPSocket.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPSocketImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPv4PacketImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\IPAddress.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\IPAddressImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MailMessage.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MailRecipient.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MailStream.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MediaType.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MessageHeader.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MulticastSocket.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MultipartReader.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MultipartWriter.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NameValueCollection.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\Net.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NetException.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NetworkInterface.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NTLMCredentials.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NTPClient.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NTPEventArgs.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NTPPacket.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NullPartHandler.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\OAuth10Credentials.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\OAuth20Credentials.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PartHandler.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PartSource.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PartStore.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PollSet.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\POP3ClientSession.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\QuotedPrintableDecoder.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\QuotedPrintableEncoder.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocket.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocketImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RemoteSyslogChannel.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RemoteSyslogListener.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ServerSocket.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ServerSocketImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SMTPChannel.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SMTPClientSession.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\Socket.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketAddress.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketAddressImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketNotification.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketNotifier.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketReactor.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketStream.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SSPINTLMCredentials.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\StreamSocket.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\StreamSocketImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\StringPartSource.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\TCPServer.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\TCPServerConnection.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\TCPServerConnectionFactory.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\TCPServerDispatcher.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\TCPServerParams.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\UDPClient.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\UDPServerParams.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\WebSocket.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\WebSocketImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\DLLVersion.rc">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">true</ExcludedFromBuild>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
|
||||
<ImportGroup Label="ExtensionTargets"/>
|
||||
</Project>
|
||||
837
vendor/POCO/Net/Net_vs150.vcxproj.filters
vendored
Normal file
837
vendor/POCO/Net/Net_vs150.vcxproj.filters
vendored
Normal file
@@ -0,0 +1,837 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="NetCore">
|
||||
<UniqueIdentifier>{239827ae-5adc-4d36-80c9-b1096233ec41}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Header Files">
|
||||
<UniqueIdentifier>{8101a68f-1839-4208-8527-1c833754e1cc}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Source Files">
|
||||
<UniqueIdentifier>{d3c2746a-7784-4eca-a92f-74cf6bac55fe}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets">
|
||||
<UniqueIdentifier>{befe9a57-348a-4935-beff-d854bb86f84a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Header Files">
|
||||
<UniqueIdentifier>{fb696397-9e24-4080-9cc9-66f3a3fd961b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Source Files">
|
||||
<UniqueIdentifier>{d9a6da7a-e707-4368-b438-3f76d0bdc967}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages">
|
||||
<UniqueIdentifier>{78dfc7c7-2942-4486-b2a1-ffab157202d0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Header Files">
|
||||
<UniqueIdentifier>{3677ec16-109d-4ddf-864c-eb04f9effb00}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Source Files">
|
||||
<UniqueIdentifier>{727c0655-4e6f-4279-a442-99d59ae9dad9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP">
|
||||
<UniqueIdentifier>{da98e2f9-1e30-4359-be01-81f933209fdd}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Header Files">
|
||||
<UniqueIdentifier>{600f3721-177d-4d8d-aa28-347102398649}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Source Files">
|
||||
<UniqueIdentifier>{cd886491-7c68-45cf-80d9-dda75bfcf20c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer">
|
||||
<UniqueIdentifier>{2407a972-dcb1-4b42-a629-517ca991a12e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Header Files">
|
||||
<UniqueIdentifier>{af1ad2d7-279e-43c3-bce6-af7e69dc5849}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Source Files">
|
||||
<UniqueIdentifier>{da97b9f6-21fb-429c-973d-9d0e6516965e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer">
|
||||
<UniqueIdentifier>{73c580a7-977d-4ccd-9ec0-af68aeb3a070}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Header Files">
|
||||
<UniqueIdentifier>{6f0ac528-7b1e-431f-b450-8cdb50454176}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Source Files">
|
||||
<UniqueIdentifier>{44d555d4-9216-4f85-9bd7-b13d5f697ffe}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient">
|
||||
<UniqueIdentifier>{ead5f394-5d17-40c7-ac15-6683e8af081d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Header Files">
|
||||
<UniqueIdentifier>{c7fca225-0ea7-472b-8054-47152d303a9e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Source Files">
|
||||
<UniqueIdentifier>{adcd85dc-690f-4fb3-8aef-07f6a27bca57}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML">
|
||||
<UniqueIdentifier>{931a36e8-e822-4c80-be45-bf2d3abe31e9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Header Files">
|
||||
<UniqueIdentifier>{d59bb33e-2fcd-4e59-9751-7b5df4c4dc81}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Source Files">
|
||||
<UniqueIdentifier>{29e0501d-bef8-45de-af8d-3ec7c03c7c8d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient">
|
||||
<UniqueIdentifier>{0d11e281-a630-42e7-bb41-9f758f773590}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Header Files">
|
||||
<UniqueIdentifier>{4ac7487d-e32c-46b2-a420-f65e78cdf554}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Source Files">
|
||||
<UniqueIdentifier>{316afd58-a77e-45fc-bf9f-4cc9346a1170}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor">
|
||||
<UniqueIdentifier>{caa0b154-ed0e-449d-9752-8342f1df38f9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Header Files">
|
||||
<UniqueIdentifier>{11749f2e-0d40-4fc3-8734-412de6ca63a2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Source Files">
|
||||
<UniqueIdentifier>{07c3605d-2512-49d0-b768-0e235538161b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail">
|
||||
<UniqueIdentifier>{663c071c-3018-4639-8d22-f950cd4522aa}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Header Files">
|
||||
<UniqueIdentifier>{b9dda1b7-cd4d-43c2-8571-edf0eae39f00}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Source Files">
|
||||
<UniqueIdentifier>{3fc7f8ec-16c3-4faa-a953-eba76071fcb0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP">
|
||||
<UniqueIdentifier>{eea9d341-e693-4930-bc1f-8d5c2d973345}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Header Files">
|
||||
<UniqueIdentifier>{67efa3d7-9561-40f4-88cd-0fbb7258a1d2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Source Files">
|
||||
<UniqueIdentifier>{b0fd95ae-fe17-40c8-8ab1-582aec3bf89a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP">
|
||||
<UniqueIdentifier>{7e8a7042-6a66-4d91-a1da-380d499e6d31}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Header Files">
|
||||
<UniqueIdentifier>{f1e8c3a8-1683-40b0-8cee-a169346bea14}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Source Files">
|
||||
<UniqueIdentifier>{a27aa5d6-2182-430f-83a8-a326e3c6deb2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging">
|
||||
<UniqueIdentifier>{dd4972cc-d017-4d78-beef-b34075a2f2b7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Header Files">
|
||||
<UniqueIdentifier>{9646e5fb-c236-42dd-bbe2-0b03b7c2a9fe}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Source Files">
|
||||
<UniqueIdentifier>{1cbd581a-7210-4060-aa56-30e0c6d01fe3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket">
|
||||
<UniqueIdentifier>{873d07fd-720a-4605-999e-589a9c029bca}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Header Files">
|
||||
<UniqueIdentifier>{f065a00c-ee35-4dce-b8b5-c90a64abc51d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Source Files">
|
||||
<UniqueIdentifier>{2ed8c485-4ce4-4c72-8ded-b63f3173bd77}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth">
|
||||
<UniqueIdentifier>{3a73f811-0019-47ee-bc8a-806360a7f5e0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Header Files">
|
||||
<UniqueIdentifier>{00ed0031-c423-4e57-acd4-f73f566a280e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Source Files">
|
||||
<UniqueIdentifier>{dcea2d12-dd9b-4212-953d-54418a1264ce}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="UDP">
|
||||
<UniqueIdentifier>{30a2ef85-a849-4eb7-8072-e12fcf03b5ac}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="UDP\Source Files">
|
||||
<UniqueIdentifier>{f5051b03-5114-4cae-8275-bddf1f9fbd74}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="UDP\Header Files">
|
||||
<UniqueIdentifier>{ed022509-d7d3-423a-a42d-fae1b15eb844}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTLM">
|
||||
<UniqueIdentifier>{4adbd39b-646b-496a-a1bc-4ae2aa62379c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTLM\Header Files">
|
||||
<UniqueIdentifier>{c941912a-c069-435f-a7ab-eac69d08c8b7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTLM\Source Files">
|
||||
<UniqueIdentifier>{3fcbc27d-8b06-442a-af0a-2df69bfb2434}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="include\Poco\Net\DNS.h">
|
||||
<Filter>NetCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HostEntry.h">
|
||||
<Filter>NetCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\IPAddress.h">
|
||||
<Filter>NetCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\IPAddressImpl.h">
|
||||
<Filter>NetCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\Net.h">
|
||||
<Filter>NetCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\NetException.h">
|
||||
<Filter>NetCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\NetworkInterface.h">
|
||||
<Filter>NetCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SocketAddress.h">
|
||||
<Filter>NetCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SocketAddressImpl.h">
|
||||
<Filter>NetCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SocketDefs.h">
|
||||
<Filter>NetCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\DatagramSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\DatagramSocketImpl.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\DialogSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\MulticastSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\PollSet.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\RawSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\RawSocketImpl.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\ServerSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\ServerSocketImpl.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\Socket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SocketImpl.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SocketStream.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\StreamSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\StreamSocketImpl.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\FilePartSource.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\MediaType.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\MessageHeader.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\MultipartReader.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\MultipartWriter.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\NameValueCollection.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\NullPartHandler.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\PartHandler.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\PartSource.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\PartStore.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\QuotedPrintableDecoder.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\QuotedPrintableEncoder.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\StringPartSource.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPAuthenticationParams.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPBasicCredentials.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPBasicStreamBuf.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPBufferAllocator.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPChunkedStream.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPCookie.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPCredentials.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPDigestCredentials.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPFixedLengthStream.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPHeaderStream.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPMessage.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPNTLMCredentials.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPRequest.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPResponse.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPSession.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPStream.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\TCPServer.h">
|
||||
<Filter>TCPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\TCPServerConnection.h">
|
||||
<Filter>TCPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\TCPServerConnectionFactory.h">
|
||||
<Filter>TCPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\TCPServerDispatcher.h">
|
||||
<Filter>TCPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\TCPServerParams.h">
|
||||
<Filter>TCPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\AbstractHTTPRequestHandler.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPRequestHandler.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPRequestHandlerFactory.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServer.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerConnection.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerConnectionFactory.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerParams.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerRequest.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerRequestImpl.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerResponse.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerResponseImpl.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerSession.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPClientSession.h">
|
||||
<Filter>HTTPClient\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPIOStream.h">
|
||||
<Filter>HTTPClient\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPSessionFactory.h">
|
||||
<Filter>HTTPClient\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPSessionInstantiator.h">
|
||||
<Filter>HTTPClient\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPStreamFactory.h">
|
||||
<Filter>HTTPClient\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTMLForm.h">
|
||||
<Filter>HTML\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\FTPClientSession.h">
|
||||
<Filter>FTPClient\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\FTPStreamFactory.h">
|
||||
<Filter>FTPClient\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\ParallelSocketAcceptor.h">
|
||||
<Filter>Reactor\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\ParallelSocketReactor.h">
|
||||
<Filter>Reactor\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SocketAcceptor.h">
|
||||
<Filter>Reactor\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SocketConnector.h">
|
||||
<Filter>Reactor\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SocketNotification.h">
|
||||
<Filter>Reactor\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SocketNotifier.h">
|
||||
<Filter>Reactor\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SocketReactor.h">
|
||||
<Filter>Reactor\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\MailMessage.h">
|
||||
<Filter>Mail\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\MailRecipient.h">
|
||||
<Filter>Mail\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\MailStream.h">
|
||||
<Filter>Mail\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\POP3ClientSession.h">
|
||||
<Filter>Mail\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SMTPClientSession.h">
|
||||
<Filter>Mail\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\ICMPClient.h">
|
||||
<Filter>ICMP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\ICMPEventArgs.h">
|
||||
<Filter>ICMP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\ICMPPacket.h">
|
||||
<Filter>ICMP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\ICMPPacketImpl.h">
|
||||
<Filter>ICMP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\ICMPSocket.h">
|
||||
<Filter>ICMP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\ICMPSocketImpl.h">
|
||||
<Filter>ICMP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\ICMPv4PacketImpl.h">
|
||||
<Filter>ICMP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\NTPClient.h">
|
||||
<Filter>NTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\NTPEventArgs.h">
|
||||
<Filter>NTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\NTPPacket.h">
|
||||
<Filter>NTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\RemoteSyslogChannel.h">
|
||||
<Filter>Logging\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\RemoteSyslogListener.h">
|
||||
<Filter>Logging\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SMTPChannel.h">
|
||||
<Filter>Logging\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\WebSocket.h">
|
||||
<Filter>WebSocket\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\WebSocketImpl.h">
|
||||
<Filter>WebSocket\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\OAuth10Credentials.h">
|
||||
<Filter>OAuth\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\OAuth20Credentials.h">
|
||||
<Filter>OAuth\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\MultiSocketPoller.h">
|
||||
<Filter>UDP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SingleSocketPoller.h">
|
||||
<Filter>UDP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\UDPClient.h">
|
||||
<Filter>UDP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\UDPHandler.h">
|
||||
<Filter>UDP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\UDPServer.h">
|
||||
<Filter>UDP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\UDPServerParams.h">
|
||||
<Filter>UDP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\UDPSocketReader.h">
|
||||
<Filter>UDP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\NTLMCredentials.h">
|
||||
<Filter>NTLM\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SSPINTLMCredentials.h">
|
||||
<Filter>NTLM\Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="src\DNS.cpp">
|
||||
<Filter>NetCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HostEntry.cpp">
|
||||
<Filter>NetCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\IPAddress.cpp">
|
||||
<Filter>NetCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\IPAddressImpl.cpp">
|
||||
<Filter>NetCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\Net.cpp">
|
||||
<Filter>NetCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NetException.cpp">
|
||||
<Filter>NetCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NetworkInterface.cpp">
|
||||
<Filter>NetCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketAddress.cpp">
|
||||
<Filter>NetCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketAddressImpl.cpp">
|
||||
<Filter>NetCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\DatagramSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\DatagramSocketImpl.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\DialogSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MulticastSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PollSet.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocketImpl.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ServerSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ServerSocketImpl.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\Socket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketImpl.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketStream.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\StreamSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\StreamSocketImpl.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\FilePartSource.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MediaType.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MessageHeader.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MultipartReader.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MultipartWriter.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NameValueCollection.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NullPartHandler.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PartHandler.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PartSource.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PartStore.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\QuotedPrintableDecoder.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\QuotedPrintableEncoder.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\StringPartSource.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPAuthenticationParams.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPBasicCredentials.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPBufferAllocator.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPChunkedStream.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPCookie.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPCredentials.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPDigestCredentials.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPFixedLengthStream.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPHeaderStream.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPMessage.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPNTLMCredentials.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPRequest.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPResponse.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPSession.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPStream.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\TCPServer.cpp">
|
||||
<Filter>TCPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\TCPServerConnection.cpp">
|
||||
<Filter>TCPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\TCPServerConnectionFactory.cpp">
|
||||
<Filter>TCPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\TCPServerDispatcher.cpp">
|
||||
<Filter>TCPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\TCPServerParams.cpp">
|
||||
<Filter>TCPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\AbstractHTTPRequestHandler.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPRequestHandler.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPRequestHandlerFactory.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServer.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerConnection.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerConnectionFactory.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerParams.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerRequest.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerRequestImpl.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerResponse.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerResponseImpl.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerSession.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPClientSession.cpp">
|
||||
<Filter>HTTPClient\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPIOStream.cpp">
|
||||
<Filter>HTTPClient\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPSessionFactory.cpp">
|
||||
<Filter>HTTPClient\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPSessionInstantiator.cpp">
|
||||
<Filter>HTTPClient\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPStreamFactory.cpp">
|
||||
<Filter>HTTPClient\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTMLForm.cpp">
|
||||
<Filter>HTML\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\FTPClientSession.cpp">
|
||||
<Filter>FTPClient\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\FTPStreamFactory.cpp">
|
||||
<Filter>FTPClient\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketNotification.cpp">
|
||||
<Filter>Reactor\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketNotifier.cpp">
|
||||
<Filter>Reactor\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketReactor.cpp">
|
||||
<Filter>Reactor\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MailMessage.cpp">
|
||||
<Filter>Mail\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MailRecipient.cpp">
|
||||
<Filter>Mail\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MailStream.cpp">
|
||||
<Filter>Mail\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\POP3ClientSession.cpp">
|
||||
<Filter>Mail\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SMTPClientSession.cpp">
|
||||
<Filter>Mail\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPClient.cpp">
|
||||
<Filter>ICMP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPEventArgs.cpp">
|
||||
<Filter>ICMP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPPacket.cpp">
|
||||
<Filter>ICMP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPPacketImpl.cpp">
|
||||
<Filter>ICMP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPSocket.cpp">
|
||||
<Filter>ICMP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPSocketImpl.cpp">
|
||||
<Filter>ICMP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPv4PacketImpl.cpp">
|
||||
<Filter>ICMP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NTPClient.cpp">
|
||||
<Filter>NTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NTPEventArgs.cpp">
|
||||
<Filter>NTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NTPPacket.cpp">
|
||||
<Filter>NTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RemoteSyslogChannel.cpp">
|
||||
<Filter>Logging\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RemoteSyslogListener.cpp">
|
||||
<Filter>Logging\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SMTPChannel.cpp">
|
||||
<Filter>Logging\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\WebSocket.cpp">
|
||||
<Filter>WebSocket\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\WebSocketImpl.cpp">
|
||||
<Filter>WebSocket\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\OAuth10Credentials.cpp">
|
||||
<Filter>OAuth\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\OAuth20Credentials.cpp">
|
||||
<Filter>OAuth\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\UDPClient.cpp">
|
||||
<Filter>UDP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\UDPServerParams.cpp">
|
||||
<Filter>UDP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NTLMCredentials.cpp">
|
||||
<Filter>NTLM\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SSPINTLMCredentials.cpp">
|
||||
<Filter>NTLM\Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\DLLVersion.rc" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
102
vendor/POCO/Net/Net_vs160.sln
vendored
Normal file
102
vendor/POCO/Net/Net_vs160.sln
vendored
Normal file
@@ -0,0 +1,102 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio Version 16
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Net", "Net_vs160.vcxproj", "{B057A1FE-09F7-465E-B8B5-E1B659051D76}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_vs160.vcxproj", "{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76} = {B057A1FE-09F7-465E-B8B5-E1B659051D76}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
debug_shared|Win32 = debug_shared|Win32
|
||||
release_shared|Win32 = release_shared|Win32
|
||||
debug_static_mt|Win32 = debug_static_mt|Win32
|
||||
release_static_mt|Win32 = release_static_mt|Win32
|
||||
debug_static_md|Win32 = debug_static_md|Win32
|
||||
release_static_md|Win32 = release_static_md|Win32
|
||||
debug_shared|x64 = debug_shared|x64
|
||||
release_shared|x64 = release_shared|x64
|
||||
debug_static_mt|x64 = debug_static_mt|x64
|
||||
release_static_mt|x64 = release_static_mt|x64
|
||||
debug_static_md|x64 = debug_static_md|x64
|
||||
release_static_md|x64 = release_static_md|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_shared|Win32.Build.0 = debug_shared|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_shared|Win32.ActiveCfg = release_shared|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_shared|Win32.Build.0 = release_shared|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_shared|Win32.Deploy.0 = release_shared|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_md|Win32.Build.0 = release_static_md|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_shared|x64.ActiveCfg = debug_shared|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_shared|x64.Build.0 = debug_shared|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_shared|x64.Deploy.0 = debug_shared|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_shared|x64.ActiveCfg = release_shared|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_shared|x64.Build.0 = release_shared|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_shared|x64.Deploy.0 = release_shared|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_mt|x64.Build.0 = release_static_mt|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_md|x64.ActiveCfg = debug_static_md|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_md|x64.Build.0 = debug_static_md|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_md|x64.Deploy.0 = debug_static_md|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_md|x64.ActiveCfg = release_static_md|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_md|x64.Build.0 = release_static_md|x64
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_md|x64.Deploy.0 = release_static_md|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_shared|Win32.Build.0 = debug_shared|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_shared|Win32.ActiveCfg = release_shared|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_shared|Win32.Build.0 = release_shared|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_shared|Win32.Deploy.0 = release_shared|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_md|Win32.Build.0 = release_static_md|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_shared|x64.ActiveCfg = debug_shared|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_shared|x64.Build.0 = debug_shared|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_shared|x64.Deploy.0 = debug_shared|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_shared|x64.ActiveCfg = release_shared|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_shared|x64.Build.0 = release_shared|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_shared|x64.Deploy.0 = release_shared|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_mt|x64.ActiveCfg = debug_static_mt|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_mt|x64.Build.0 = debug_static_mt|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_mt|x64.Deploy.0 = debug_static_mt|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_mt|x64.ActiveCfg = release_static_mt|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_mt|x64.Build.0 = release_static_mt|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_mt|x64.Deploy.0 = release_static_mt|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_md|x64.ActiveCfg = debug_static_md|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_md|x64.Build.0 = debug_static_md|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_md|x64.Deploy.0 = debug_static_md|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_md|x64.ActiveCfg = release_static_md|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_md|x64.Build.0 = release_static_md|x64
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_md|x64.Deploy.0 = release_static_md|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
997
vendor/POCO/Net/Net_vs160.vcxproj
vendored
Normal file
997
vendor/POCO/Net/Net_vs160.vcxproj
vendored
Normal file
@@ -0,0 +1,997 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="debug_shared|Win32">
|
||||
<Configuration>debug_shared</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_shared|x64">
|
||||
<Configuration>debug_shared</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_static_md|Win32">
|
||||
<Configuration>debug_static_md</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_static_md|x64">
|
||||
<Configuration>debug_static_md</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_static_mt|Win32">
|
||||
<Configuration>debug_static_mt</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="debug_static_mt|x64">
|
||||
<Configuration>debug_static_mt</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_shared|Win32">
|
||||
<Configuration>release_shared</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_shared|x64">
|
||||
<Configuration>release_shared</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_static_md|Win32">
|
||||
<Configuration>release_static_md</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_static_md|x64">
|
||||
<Configuration>release_static_md</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_static_mt|Win32">
|
||||
<Configuration>release_static_mt</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release_static_mt|x64">
|
||||
<Configuration>release_static_mt</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectName>Net</ProjectName>
|
||||
<ProjectGuid>{B057A1FE-09F7-465E-B8B5-E1B659051D76}</ProjectGuid>
|
||||
<RootNamespace>Net</RootNamespace>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<CharacterSet>MultiByte</CharacterSet>
|
||||
<PlatformToolset>v142</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
|
||||
<ImportGroup Label="ExtensionSettings"/>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'" Label="PropertySheets">
|
||||
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros"/>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>15.0.28307.799</_ProjectFileVersion>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">PocoNetd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">PocoNetmdd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">PocoNetmtd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">PocoNet</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">PocoNetmd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">PocoNetmt</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">PocoNet64d</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">PocoNetmdd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">PocoNetmtd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">PocoNet64</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">PocoNetmd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">PocoNetmt</TargetName>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">
|
||||
<OutDir>..\bin\</OutDir>
|
||||
<IntDir>obj\Net\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">
|
||||
<OutDir>..\bin\</OutDir>
|
||||
<IntDir>obj\Net\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">
|
||||
<OutDir>..\lib\</OutDir>
|
||||
<IntDir>obj\Net\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">
|
||||
<OutDir>..\lib\</OutDir>
|
||||
<IntDir>obj\Net\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">
|
||||
<OutDir>..\lib\</OutDir>
|
||||
<IntDir>obj\Net\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">
|
||||
<OutDir>..\lib\</OutDir>
|
||||
<IntDir>obj\Net\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">
|
||||
<OutDir>..\bin64\</OutDir>
|
||||
<IntDir>obj64\Net\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">
|
||||
<OutDir>..\bin64\</OutDir>
|
||||
<IntDir>obj64\Net\$(Configuration)\</IntDir>
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">
|
||||
<OutDir>..\lib64\</OutDir>
|
||||
<IntDir>obj64\Net\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">
|
||||
<OutDir>..\lib64\</OutDir>
|
||||
<IntDir>obj64\Net\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">
|
||||
<OutDir>..\lib64\</OutDir>
|
||||
<IntDir>obj64\Net\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">
|
||||
<OutDir>..\lib64\</OutDir>
|
||||
<IntDir>obj64\Net\$(Configuration)\</IntDir>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;Net_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\bin\PocoNetd.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>..\bin\PocoNetd.pdb</ProgramDatabaseFile>
|
||||
<AdditionalLibraryDirectories>..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<ImportLibrary>..\lib\PocoNetd.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;Net_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\bin\PocoNet.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<ImportLibrary>..\lib\PocoNet.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<ProgramDataBaseFileName>..\lib\PocoNetmtd.pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\lib\PocoNetmtd.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\lib\PocoNetmt.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<ProgramDataBaseFileName>..\lib\PocoNetmdd.pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\lib\PocoNetmdd.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<ProgramDataBaseFileName>..\lib\PocoNetmd.pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\lib\PocoNetmd.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;Net_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\bin64\PocoNet64d.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ProgramDatabaseFile>..\bin64\PocoNet64d.pdb</ProgramDatabaseFile>
|
||||
<AdditionalLibraryDirectories>..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<ImportLibrary>..\lib64\PocoNetd.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;Net_EXPORTS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>ws2_32.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>..\bin64\PocoNet64.dll</OutputFile>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<GenerateDebugInformation>false</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<ImportLibrary>..\lib64\PocoNet.lib</ImportLibrary>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<ProgramDataBaseFileName>..\lib64\PocoNetmtd.pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\lib64\PocoNetmtd.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\lib64\PocoNetmt.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
|
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>true</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<ProgramDataBaseFileName>..\lib64\PocoNetmdd.pdb</ProgramDataBaseFileName>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\lib64\PocoNetmdd.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<OmitFramePointers>true</OmitFramePointers>
|
||||
<AdditionalIncludeDirectories>.\include;..\Foundation\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
|
||||
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
|
||||
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||
<PrecompiledHeader/>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<DebugInformationFormat/>
|
||||
<CompileAs>Default</CompileAs>
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<OutputFile>..\lib64\PocoNetmd.lib</OutputFile>
|
||||
</Lib>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="include\Poco\Net\AbstractHTTPRequestHandler.h"/>
|
||||
<ClInclude Include="include\Poco\Net\DatagramSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\DatagramSocketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\DialogSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\DNS.h"/>
|
||||
<ClInclude Include="include\Poco\Net\FilePartSource.h"/>
|
||||
<ClInclude Include="include\Poco\Net\FTPClientSession.h"/>
|
||||
<ClInclude Include="include\Poco\Net\FTPStreamFactory.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HostEntry.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTMLForm.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPAuthenticationParams.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPBasicCredentials.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPBasicStreamBuf.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPBufferAllocator.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPChunkedStream.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPClientSession.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPCookie.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPCredentials.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPDigestCredentials.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPFixedLengthStream.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPHeaderStream.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPIOStream.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPMessage.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPNTLMCredentials.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPRequest.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPRequestHandler.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPRequestHandlerFactory.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPResponse.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServer.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerConnection.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerConnectionFactory.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerParams.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerRequest.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerRequestImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerResponse.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerResponseImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerSession.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPSession.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPSessionFactory.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPSessionInstantiator.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPStream.h"/>
|
||||
<ClInclude Include="include\Poco\Net\HTTPStreamFactory.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ICMPClient.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ICMPEventArgs.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ICMPPacket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ICMPPacketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ICMPSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ICMPSocketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ICMPv4PacketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\IPAddress.h"/>
|
||||
<ClInclude Include="include\Poco\Net\IPAddressImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\MailMessage.h"/>
|
||||
<ClInclude Include="include\Poco\Net\MailRecipient.h"/>
|
||||
<ClInclude Include="include\Poco\Net\MailStream.h"/>
|
||||
<ClInclude Include="include\Poco\Net\MediaType.h"/>
|
||||
<ClInclude Include="include\Poco\Net\MessageHeader.h"/>
|
||||
<ClInclude Include="include\Poco\Net\MulticastSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\MultipartReader.h"/>
|
||||
<ClInclude Include="include\Poco\Net\MultipartWriter.h"/>
|
||||
<ClInclude Include="include\Poco\Net\MultiSocketPoller.h"/>
|
||||
<ClInclude Include="include\Poco\Net\NameValueCollection.h"/>
|
||||
<ClInclude Include="include\Poco\Net\Net.h"/>
|
||||
<ClInclude Include="include\Poco\Net\NetException.h"/>
|
||||
<ClInclude Include="include\Poco\Net\NetworkInterface.h"/>
|
||||
<ClInclude Include="include\Poco\Net\NTLMCredentials.h"/>
|
||||
<ClInclude Include="include\Poco\Net\NTPClient.h"/>
|
||||
<ClInclude Include="include\Poco\Net\NTPEventArgs.h"/>
|
||||
<ClInclude Include="include\Poco\Net\NTPPacket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\NullPartHandler.h"/>
|
||||
<ClInclude Include="include\Poco\Net\OAuth10Credentials.h"/>
|
||||
<ClInclude Include="include\Poco\Net\OAuth20Credentials.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ParallelSocketAcceptor.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ParallelSocketReactor.h"/>
|
||||
<ClInclude Include="include\Poco\Net\PartHandler.h"/>
|
||||
<ClInclude Include="include\Poco\Net\PartSource.h"/>
|
||||
<ClInclude Include="include\Poco\Net\PartStore.h"/>
|
||||
<ClInclude Include="include\Poco\Net\PollSet.h"/>
|
||||
<ClInclude Include="include\Poco\Net\POP3ClientSession.h"/>
|
||||
<ClInclude Include="include\Poco\Net\QuotedPrintableDecoder.h"/>
|
||||
<ClInclude Include="include\Poco\Net\QuotedPrintableEncoder.h"/>
|
||||
<ClInclude Include="include\Poco\Net\RawSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\RawSocketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\RemoteSyslogChannel.h"/>
|
||||
<ClInclude Include="include\Poco\Net\RemoteSyslogListener.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ServerSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ServerSocketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SingleSocketPoller.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SMTPChannel.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SMTPClientSession.h"/>
|
||||
<ClInclude Include="include\Poco\Net\Socket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SocketAcceptor.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SocketAddress.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SocketAddressImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SocketConnector.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SocketDefs.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SocketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SocketNotification.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SocketNotifier.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SocketReactor.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SocketStream.h"/>
|
||||
<ClInclude Include="include\Poco\Net\SSPINTLMCredentials.h"/>
|
||||
<ClInclude Include="include\Poco\Net\StreamSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\StreamSocketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\StringPartSource.h"/>
|
||||
<ClInclude Include="include\Poco\Net\TCPServer.h"/>
|
||||
<ClInclude Include="include\Poco\Net\TCPServerConnection.h"/>
|
||||
<ClInclude Include="include\Poco\Net\TCPServerConnectionFactory.h"/>
|
||||
<ClInclude Include="include\Poco\Net\TCPServerDispatcher.h"/>
|
||||
<ClInclude Include="include\Poco\Net\TCPServerParams.h"/>
|
||||
<ClInclude Include="include\Poco\Net\UDPClient.h"/>
|
||||
<ClInclude Include="include\Poco\Net\UDPHandler.h"/>
|
||||
<ClInclude Include="include\Poco\Net\UDPServer.h"/>
|
||||
<ClInclude Include="include\Poco\Net\UDPServerParams.h"/>
|
||||
<ClInclude Include="include\Poco\Net\UDPSocketReader.h"/>
|
||||
<ClInclude Include="include\Poco\Net\WebSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\WebSocketImpl.h"/>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="src\AbstractHTTPRequestHandler.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\DatagramSocket.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\DatagramSocketImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\DialogSocket.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\DNS.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\FilePartSource.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\FTPClientSession.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\FTPStreamFactory.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HostEntry.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTMLForm.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPAuthenticationParams.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPBasicCredentials.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPBufferAllocator.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPChunkedStream.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPClientSession.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPCookie.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPCredentials.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPDigestCredentials.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPFixedLengthStream.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPHeaderStream.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPIOStream.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPMessage.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPNTLMCredentials.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPRequest.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPRequestHandler.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPRequestHandlerFactory.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPResponse.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServer.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerConnection.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerConnectionFactory.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerParams.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerRequest.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerRequestImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerResponse.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerResponseImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerSession.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPSession.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPSessionFactory.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPSessionInstantiator.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPStream.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPStreamFactory.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPClient.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPEventArgs.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPPacket.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPPacketImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPSocket.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPSocketImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPv4PacketImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\IPAddress.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\IPAddressImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MailMessage.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MailRecipient.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MailStream.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MediaType.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MessageHeader.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MulticastSocket.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MultipartReader.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MultipartWriter.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NameValueCollection.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\Net.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NetException.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NetworkInterface.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NTLMCredentials.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NTPClient.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NTPEventArgs.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NTPPacket.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NullPartHandler.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\OAuth10Credentials.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\OAuth20Credentials.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PartHandler.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PartSource.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PartStore.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PollSet.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\POP3ClientSession.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\QuotedPrintableDecoder.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\QuotedPrintableEncoder.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocket.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocketImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RemoteSyslogChannel.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RemoteSyslogListener.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ServerSocket.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ServerSocketImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SMTPChannel.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SMTPClientSession.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\Socket.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketAddress.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketAddressImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketNotification.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketNotifier.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketReactor.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketStream.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SSPINTLMCredentials.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\StreamSocket.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\StreamSocketImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\StringPartSource.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\TCPServer.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\TCPServerConnection.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\TCPServerConnectionFactory.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\TCPServerDispatcher.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\TCPServerParams.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\UDPClient.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\UDPServerParams.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\WebSocket.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\WebSocketImpl.cpp">
|
||||
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\DLLVersion.rc">
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">true</ExcludedFromBuild>
|
||||
</ResourceCompile>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
|
||||
<ImportGroup Label="ExtensionTargets"/>
|
||||
</Project>
|
||||
837
vendor/POCO/Net/Net_vs160.vcxproj.filters
vendored
Normal file
837
vendor/POCO/Net/Net_vs160.vcxproj.filters
vendored
Normal file
@@ -0,0 +1,837 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="NetCore">
|
||||
<UniqueIdentifier>{f3199240-37b8-4bb4-ac1c-0906329897cc}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Header Files">
|
||||
<UniqueIdentifier>{d8943613-7550-4675-82ad-0a7be1278142}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Source Files">
|
||||
<UniqueIdentifier>{6b4ebbb0-8ff8-49df-99ec-cfc91f7f8c57}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets">
|
||||
<UniqueIdentifier>{bb1ed3a0-8586-4932-899c-b8c9983b987c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Header Files">
|
||||
<UniqueIdentifier>{e9a0f2ec-5ad7-4ada-b3f3-7b1569998405}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Source Files">
|
||||
<UniqueIdentifier>{970a4c84-b436-452c-8bae-5e7f2f8e56c6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages">
|
||||
<UniqueIdentifier>{f3ec7881-aea2-4c14-bf4e-cc61b7a1feec}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Header Files">
|
||||
<UniqueIdentifier>{af7b292e-d534-4d98-878d-3bbd79fbdeae}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Source Files">
|
||||
<UniqueIdentifier>{d49ce66e-150b-4a33-9278-173a2e04cb26}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP">
|
||||
<UniqueIdentifier>{2f6cf3fb-5dde-4b83-aa46-2c22f4ffcd9e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Header Files">
|
||||
<UniqueIdentifier>{d46b9945-fec2-4331-a7e5-425e48f382d0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Source Files">
|
||||
<UniqueIdentifier>{82924c98-796c-4d58-8a4c-221f8dbf3832}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer">
|
||||
<UniqueIdentifier>{37a7d1d4-ba66-441d-8397-f70863c24e57}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Header Files">
|
||||
<UniqueIdentifier>{6cd57e64-3b29-45bb-8914-ad5dcc4749d2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Source Files">
|
||||
<UniqueIdentifier>{490d21b5-6f9b-429a-af6c-9b09fde2fc9d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer">
|
||||
<UniqueIdentifier>{10e4060f-0729-4cfe-8a18-dd76c1e658a2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Header Files">
|
||||
<UniqueIdentifier>{524f108a-ef8b-4370-8288-4757b60f56a8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Source Files">
|
||||
<UniqueIdentifier>{bb1b0e28-f00f-4547-bba3-1511819f6b5d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient">
|
||||
<UniqueIdentifier>{ee4c32d5-a5f7-4a9b-a292-b6e80846f9c7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Header Files">
|
||||
<UniqueIdentifier>{d9a9d332-abe8-4eb9-a99f-f8891edcab13}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Source Files">
|
||||
<UniqueIdentifier>{f7aade05-fedb-4e6e-bf3e-cbbd0dd68fcc}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML">
|
||||
<UniqueIdentifier>{53882c2f-0d5a-4651-9973-0518a428b599}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Header Files">
|
||||
<UniqueIdentifier>{8afc7fe7-a7a7-4b5f-bb6f-2b5135469ce5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Source Files">
|
||||
<UniqueIdentifier>{5184cf74-1921-42a1-8c0c-bf25018c7183}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient">
|
||||
<UniqueIdentifier>{c70f4de9-5446-400f-b8f6-d7fc95ee39ba}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Header Files">
|
||||
<UniqueIdentifier>{fd978abe-d60e-4bf3-ad05-d4dcd892bae5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Source Files">
|
||||
<UniqueIdentifier>{3b507534-f333-475f-a5e1-071a158bf9be}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor">
|
||||
<UniqueIdentifier>{7e11a9fc-71b6-4410-b72c-860d8823fab6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Header Files">
|
||||
<UniqueIdentifier>{08ea5b81-3864-4e31-af6b-1a523ab2413e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Source Files">
|
||||
<UniqueIdentifier>{3c7c4b59-c2b1-4004-9faf-b5d4f4e69a97}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail">
|
||||
<UniqueIdentifier>{bd974e0c-7d92-4145-8906-538e977bff81}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Header Files">
|
||||
<UniqueIdentifier>{c4700113-cfd8-4b27-9c89-d7c39d65cd56}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Source Files">
|
||||
<UniqueIdentifier>{8e465dc3-3fbe-44cc-a4ea-5dcea7cea9ee}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP">
|
||||
<UniqueIdentifier>{74762eca-5fc1-4539-9227-2f346284b282}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Header Files">
|
||||
<UniqueIdentifier>{fcf41aac-ca44-413c-ab4d-9e8149f9d7ef}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Source Files">
|
||||
<UniqueIdentifier>{156fa7ac-6875-47d8-b6a6-e5d0dfebb0ef}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP">
|
||||
<UniqueIdentifier>{8f4114ae-6caa-4b0d-9adb-005a7a11c908}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Header Files">
|
||||
<UniqueIdentifier>{31d61489-81fd-4640-a353-deec477d51b4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Source Files">
|
||||
<UniqueIdentifier>{3ed9fccd-14a7-4316-b1d3-5fba2feb4f3c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging">
|
||||
<UniqueIdentifier>{be5629b7-0de6-4bc7-87f4-b0a3e1e693f9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Header Files">
|
||||
<UniqueIdentifier>{117ea39f-0765-41f6-a8a3-9eb5f3540a8e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Source Files">
|
||||
<UniqueIdentifier>{46c8f502-7524-44e7-b0bf-7dc01548f81d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket">
|
||||
<UniqueIdentifier>{e6c7690d-2d9c-4b5f-a520-dee649cfc5ba}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Header Files">
|
||||
<UniqueIdentifier>{3817692e-d4f9-4b4e-848b-5028bf26dafb}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Source Files">
|
||||
<UniqueIdentifier>{84b9b80b-432a-408e-9b59-307a74a82433}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth">
|
||||
<UniqueIdentifier>{25612bca-de52-43c2-8b17-39bfdf5d72cb}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Header Files">
|
||||
<UniqueIdentifier>{09d406e8-85f0-4f55-aa9a-8082f253b233}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Source Files">
|
||||
<UniqueIdentifier>{0cfdcf61-539a-4bde-b00e-00b76c709d82}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="UDP">
|
||||
<UniqueIdentifier>{423210c1-5aa2-40e7-805b-aeef75e2e8b5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="UDP\Source Files">
|
||||
<UniqueIdentifier>{481a261d-8e84-4b3e-bb59-9d9475b422c1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="UDP\Header Files">
|
||||
<UniqueIdentifier>{235554ca-546d-4029-be23-d1f95a170375}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTLM">
|
||||
<UniqueIdentifier>{c7051688-57f9-4df4-a1e5-ecc2fd0b4b2e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTLM\Header Files">
|
||||
<UniqueIdentifier>{04ff6927-881e-440c-83cc-994b36a40f40}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTLM\Source Files">
|
||||
<UniqueIdentifier>{851e4029-e3e4-417a-a7fa-6c81a1b887a3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="include\Poco\Net\DNS.h">
|
||||
<Filter>NetCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HostEntry.h">
|
||||
<Filter>NetCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\IPAddress.h">
|
||||
<Filter>NetCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\IPAddressImpl.h">
|
||||
<Filter>NetCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\Net.h">
|
||||
<Filter>NetCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\NetException.h">
|
||||
<Filter>NetCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\NetworkInterface.h">
|
||||
<Filter>NetCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SocketAddress.h">
|
||||
<Filter>NetCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SocketAddressImpl.h">
|
||||
<Filter>NetCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SocketDefs.h">
|
||||
<Filter>NetCore\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\DatagramSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\DatagramSocketImpl.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\DialogSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\MulticastSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\PollSet.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\RawSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\RawSocketImpl.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\ServerSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\ServerSocketImpl.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\Socket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SocketImpl.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SocketStream.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\StreamSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\StreamSocketImpl.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\FilePartSource.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\MediaType.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\MessageHeader.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\MultipartReader.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\MultipartWriter.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\NameValueCollection.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\NullPartHandler.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\PartHandler.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\PartSource.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\PartStore.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\QuotedPrintableDecoder.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\QuotedPrintableEncoder.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\StringPartSource.h">
|
||||
<Filter>Messages\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPAuthenticationParams.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPBasicCredentials.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPBasicStreamBuf.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPBufferAllocator.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPChunkedStream.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPCookie.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPCredentials.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPDigestCredentials.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPFixedLengthStream.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPHeaderStream.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPMessage.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPNTLMCredentials.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPRequest.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPResponse.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPSession.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPStream.h">
|
||||
<Filter>HTTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\TCPServer.h">
|
||||
<Filter>TCPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\TCPServerConnection.h">
|
||||
<Filter>TCPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\TCPServerConnectionFactory.h">
|
||||
<Filter>TCPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\TCPServerDispatcher.h">
|
||||
<Filter>TCPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\TCPServerParams.h">
|
||||
<Filter>TCPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\AbstractHTTPRequestHandler.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPRequestHandler.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPRequestHandlerFactory.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServer.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerConnection.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerConnectionFactory.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerParams.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerRequest.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerRequestImpl.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerResponse.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerResponseImpl.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPServerSession.h">
|
||||
<Filter>HTTPServer\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPClientSession.h">
|
||||
<Filter>HTTPClient\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPIOStream.h">
|
||||
<Filter>HTTPClient\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPSessionFactory.h">
|
||||
<Filter>HTTPClient\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPSessionInstantiator.h">
|
||||
<Filter>HTTPClient\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTTPStreamFactory.h">
|
||||
<Filter>HTTPClient\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\HTMLForm.h">
|
||||
<Filter>HTML\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\FTPClientSession.h">
|
||||
<Filter>FTPClient\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\FTPStreamFactory.h">
|
||||
<Filter>FTPClient\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\ParallelSocketAcceptor.h">
|
||||
<Filter>Reactor\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\ParallelSocketReactor.h">
|
||||
<Filter>Reactor\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SocketAcceptor.h">
|
||||
<Filter>Reactor\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SocketConnector.h">
|
||||
<Filter>Reactor\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SocketNotification.h">
|
||||
<Filter>Reactor\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SocketNotifier.h">
|
||||
<Filter>Reactor\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SocketReactor.h">
|
||||
<Filter>Reactor\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\MailMessage.h">
|
||||
<Filter>Mail\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\MailRecipient.h">
|
||||
<Filter>Mail\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\MailStream.h">
|
||||
<Filter>Mail\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\POP3ClientSession.h">
|
||||
<Filter>Mail\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SMTPClientSession.h">
|
||||
<Filter>Mail\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\ICMPClient.h">
|
||||
<Filter>ICMP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\ICMPEventArgs.h">
|
||||
<Filter>ICMP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\ICMPPacket.h">
|
||||
<Filter>ICMP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\ICMPPacketImpl.h">
|
||||
<Filter>ICMP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\ICMPSocket.h">
|
||||
<Filter>ICMP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\ICMPSocketImpl.h">
|
||||
<Filter>ICMP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\ICMPv4PacketImpl.h">
|
||||
<Filter>ICMP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\NTPClient.h">
|
||||
<Filter>NTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\NTPEventArgs.h">
|
||||
<Filter>NTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\NTPPacket.h">
|
||||
<Filter>NTP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\RemoteSyslogChannel.h">
|
||||
<Filter>Logging\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\RemoteSyslogListener.h">
|
||||
<Filter>Logging\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SMTPChannel.h">
|
||||
<Filter>Logging\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\WebSocket.h">
|
||||
<Filter>WebSocket\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\WebSocketImpl.h">
|
||||
<Filter>WebSocket\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\OAuth10Credentials.h">
|
||||
<Filter>OAuth\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\OAuth20Credentials.h">
|
||||
<Filter>OAuth\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\MultiSocketPoller.h">
|
||||
<Filter>UDP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SingleSocketPoller.h">
|
||||
<Filter>UDP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\UDPClient.h">
|
||||
<Filter>UDP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\UDPHandler.h">
|
||||
<Filter>UDP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\UDPServer.h">
|
||||
<Filter>UDP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\UDPServerParams.h">
|
||||
<Filter>UDP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\UDPSocketReader.h">
|
||||
<Filter>UDP\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\NTLMCredentials.h">
|
||||
<Filter>NTLM\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\SSPINTLMCredentials.h">
|
||||
<Filter>NTLM\Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="src\DNS.cpp">
|
||||
<Filter>NetCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HostEntry.cpp">
|
||||
<Filter>NetCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\IPAddress.cpp">
|
||||
<Filter>NetCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\IPAddressImpl.cpp">
|
||||
<Filter>NetCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\Net.cpp">
|
||||
<Filter>NetCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NetException.cpp">
|
||||
<Filter>NetCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NetworkInterface.cpp">
|
||||
<Filter>NetCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketAddress.cpp">
|
||||
<Filter>NetCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketAddressImpl.cpp">
|
||||
<Filter>NetCore\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\DatagramSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\DatagramSocketImpl.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\DialogSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MulticastSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PollSet.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocketImpl.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ServerSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ServerSocketImpl.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\Socket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketImpl.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketStream.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\StreamSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\StreamSocketImpl.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\FilePartSource.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MediaType.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MessageHeader.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MultipartReader.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MultipartWriter.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NameValueCollection.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NullPartHandler.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PartHandler.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PartSource.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PartStore.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\QuotedPrintableDecoder.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\QuotedPrintableEncoder.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\StringPartSource.cpp">
|
||||
<Filter>Messages\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPAuthenticationParams.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPBasicCredentials.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPBufferAllocator.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPChunkedStream.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPCookie.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPCredentials.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPDigestCredentials.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPFixedLengthStream.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPHeaderStream.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPMessage.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPNTLMCredentials.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPRequest.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPResponse.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPSession.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPStream.cpp">
|
||||
<Filter>HTTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\TCPServer.cpp">
|
||||
<Filter>TCPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\TCPServerConnection.cpp">
|
||||
<Filter>TCPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\TCPServerConnectionFactory.cpp">
|
||||
<Filter>TCPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\TCPServerDispatcher.cpp">
|
||||
<Filter>TCPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\TCPServerParams.cpp">
|
||||
<Filter>TCPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\AbstractHTTPRequestHandler.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPRequestHandler.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPRequestHandlerFactory.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServer.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerConnection.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerConnectionFactory.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerParams.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerRequest.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerRequestImpl.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerResponse.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerResponseImpl.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPServerSession.cpp">
|
||||
<Filter>HTTPServer\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPClientSession.cpp">
|
||||
<Filter>HTTPClient\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPIOStream.cpp">
|
||||
<Filter>HTTPClient\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPSessionFactory.cpp">
|
||||
<Filter>HTTPClient\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPSessionInstantiator.cpp">
|
||||
<Filter>HTTPClient\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTTPStreamFactory.cpp">
|
||||
<Filter>HTTPClient\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\HTMLForm.cpp">
|
||||
<Filter>HTML\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\FTPClientSession.cpp">
|
||||
<Filter>FTPClient\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\FTPStreamFactory.cpp">
|
||||
<Filter>FTPClient\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketNotification.cpp">
|
||||
<Filter>Reactor\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketNotifier.cpp">
|
||||
<Filter>Reactor\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SocketReactor.cpp">
|
||||
<Filter>Reactor\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MailMessage.cpp">
|
||||
<Filter>Mail\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MailRecipient.cpp">
|
||||
<Filter>Mail\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\MailStream.cpp">
|
||||
<Filter>Mail\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\POP3ClientSession.cpp">
|
||||
<Filter>Mail\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SMTPClientSession.cpp">
|
||||
<Filter>Mail\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPClient.cpp">
|
||||
<Filter>ICMP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPEventArgs.cpp">
|
||||
<Filter>ICMP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPPacket.cpp">
|
||||
<Filter>ICMP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPPacketImpl.cpp">
|
||||
<Filter>ICMP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPSocket.cpp">
|
||||
<Filter>ICMP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPSocketImpl.cpp">
|
||||
<Filter>ICMP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\ICMPv4PacketImpl.cpp">
|
||||
<Filter>ICMP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NTPClient.cpp">
|
||||
<Filter>NTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NTPEventArgs.cpp">
|
||||
<Filter>NTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NTPPacket.cpp">
|
||||
<Filter>NTP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RemoteSyslogChannel.cpp">
|
||||
<Filter>Logging\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RemoteSyslogListener.cpp">
|
||||
<Filter>Logging\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SMTPChannel.cpp">
|
||||
<Filter>Logging\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\WebSocket.cpp">
|
||||
<Filter>WebSocket\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\WebSocketImpl.cpp">
|
||||
<Filter>WebSocket\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\OAuth10Credentials.cpp">
|
||||
<Filter>OAuth\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\OAuth20Credentials.cpp">
|
||||
<Filter>OAuth\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\UDPClient.cpp">
|
||||
<Filter>UDP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\UDPServerParams.cpp">
|
||||
<Filter>UDP\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\NTLMCredentials.cpp">
|
||||
<Filter>NTLM\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\SSPINTLMCredentials.cpp">
|
||||
<Filter>NTLM\Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="..\DLLVersion.rc" />
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
60
vendor/POCO/Net/Net_vs90.sln
vendored
Normal file
60
vendor/POCO/Net/Net_vs90.sln
vendored
Normal file
@@ -0,0 +1,60 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 10.00
|
||||
# Visual Studio 2008
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Net", "Net_vs90.vcproj", "{B057A1FE-09F7-465E-B8B5-E1B659051D76}"
|
||||
EndProject
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestSuite", "testsuite\TestSuite_vs90.vcproj", "{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76} = {B057A1FE-09F7-465E-B8B5-E1B659051D76}
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
debug_shared|Win32 = debug_shared|Win32
|
||||
release_shared|Win32 = release_shared|Win32
|
||||
debug_static_mt|Win32 = debug_static_mt|Win32
|
||||
release_static_mt|Win32 = release_static_mt|Win32
|
||||
debug_static_md|Win32 = debug_static_md|Win32
|
||||
release_static_md|Win32 = release_static_md|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_shared|Win32.Build.0 = debug_shared|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_shared|Win32.ActiveCfg = release_shared|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_shared|Win32.Build.0 = release_shared|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_shared|Win32.Deploy.0 = release_shared|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_md|Win32.Build.0 = release_static_md|Win32
|
||||
{B057A1FE-09F7-465E-B8B5-E1B659051D76}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_shared|Win32.ActiveCfg = debug_shared|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_shared|Win32.Build.0 = debug_shared|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_shared|Win32.Deploy.0 = debug_shared|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_shared|Win32.ActiveCfg = release_shared|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_shared|Win32.Build.0 = release_shared|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_shared|Win32.Deploy.0 = release_shared|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_mt|Win32.ActiveCfg = debug_static_mt|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_mt|Win32.Build.0 = debug_static_mt|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_mt|Win32.Deploy.0 = debug_static_mt|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_mt|Win32.ActiveCfg = release_static_mt|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_mt|Win32.Build.0 = release_static_mt|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_mt|Win32.Deploy.0 = release_static_mt|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_md|Win32.ActiveCfg = debug_static_md|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_md|Win32.Build.0 = debug_static_md|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.debug_static_md|Win32.Deploy.0 = debug_static_md|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_md|Win32.ActiveCfg = release_static_md|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_md|Win32.Build.0 = release_static_md|Win32
|
||||
{D5EFBF27-B934-4B8D-8AE5-6EC00374819C}.release_static_md|Win32.Deploy.0 = release_static_md|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
1649
vendor/POCO/Net/Net_vs90.vcproj
vendored
Normal file
1649
vendor/POCO/Net/Net_vs90.vcproj
vendored
Normal file
File diff suppressed because it is too large
Load Diff
3
vendor/POCO/Net/cmake/PocoNetConfig.cmake
vendored
Normal file
3
vendor/POCO/Net/cmake/PocoNetConfig.cmake
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
include(CMakeFindDependencyMacro)
|
||||
find_dependency(PocoFoundation)
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/PocoNetTargets.cmake")
|
||||
1
vendor/POCO/Net/dependencies
vendored
Normal file
1
vendor/POCO/Net/dependencies
vendored
Normal file
@@ -0,0 +1 @@
|
||||
Foundation
|
||||
136
vendor/POCO/Net/include/Poco/Net/AbstractHTTPRequestHandler.h
vendored
Normal file
136
vendor/POCO/Net/include/Poco/Net/AbstractHTTPRequestHandler.h
vendored
Normal file
@@ -0,0 +1,136 @@
|
||||
//
|
||||
// AbstractHTTPRequestHandler.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTPServer
|
||||
// Module: AbstractHTTPRequestHandler
|
||||
//
|
||||
// Definition of the AbstractHTTPRequestHandler class.
|
||||
//
|
||||
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_AbstractHTTPRequestHandler_INCLUDED
|
||||
#define Net_AbstractHTTPRequestHandler_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/HTTPRequestHandler.h"
|
||||
#include "Poco/Net/HTTPResponse.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class HTMLForm;
|
||||
|
||||
|
||||
class Net_API AbstractHTTPRequestHandler: public HTTPRequestHandler
|
||||
/// The abstract base class for AbstractHTTPRequestHandlers
|
||||
/// created by HTTPServer.
|
||||
///
|
||||
/// Derived classes must override the run() method.
|
||||
|
||||
/// Contrary to a HTTPRequestHandler, an AbstractHTTPRequestHandler
|
||||
/// stores request and response as member variables to avoid having
|
||||
/// to pass them around as method parameters. Additionally, a
|
||||
/// HTMLForm object is created for use by subclasses.
|
||||
///
|
||||
/// The run() method must perform the complete handling
|
||||
/// of the HTTP request connection. As soon as the run()
|
||||
/// method returns, the request handler object is destroyed.
|
||||
///
|
||||
/// A new AbstractHTTPRequestHandler object will be created for
|
||||
/// each new HTTP request that is received by the HTTPServer.
|
||||
{
|
||||
public:
|
||||
AbstractHTTPRequestHandler();
|
||||
/// Creates the AbstractHTTPRequestHandler.
|
||||
|
||||
virtual ~AbstractHTTPRequestHandler();
|
||||
/// Destroys the AbstractHTTPRequestHandler.
|
||||
|
||||
void handleRequest(HTTPServerRequest& request, HTTPServerResponse& response);
|
||||
/// This class implements some common behavior,
|
||||
/// before calling run() to actually handle the request:
|
||||
/// - save request and response objects;
|
||||
/// - call authorize();
|
||||
/// - if authorize() returns true call run(),
|
||||
/// else send 401 (Unauthorized) response.
|
||||
///
|
||||
/// If run() throws an exception and the response has not been
|
||||
/// sent yet, sends a 500 (Internal Server Error) response with
|
||||
/// the exception's display text.
|
||||
|
||||
HTTPServerRequest& request();
|
||||
/// Returns the request.
|
||||
|
||||
HTTPServerResponse& response();
|
||||
/// Returns the response.
|
||||
|
||||
HTMLForm& form();
|
||||
/// Returns a HTMLForm for the given request.
|
||||
/// The HTMLForm object is created when this
|
||||
/// member function is executed the first time.
|
||||
|
||||
void sendErrorResponse(HTTPResponse::HTTPStatus status, const std::string& message);
|
||||
/// Sends a HTML error page for the given status code.
|
||||
/// The given message is added to the page:
|
||||
/// <HTML>
|
||||
/// <HEAD>
|
||||
/// <TITLE>status - reason</TITLE>
|
||||
/// </HEAD>
|
||||
/// <BODY>
|
||||
/// <H1>status - reason</H1>
|
||||
/// <P>message</P>
|
||||
/// </BODY>
|
||||
/// </HTML>
|
||||
|
||||
protected:
|
||||
virtual void run() = 0;
|
||||
/// Must be overridden by subclasses.
|
||||
///
|
||||
/// Handles the given request.
|
||||
|
||||
virtual bool authenticate();
|
||||
/// Check authentication; returns true if okay, false if failed to authenticate.
|
||||
/// The default implementation always returns true.
|
||||
///
|
||||
/// Subclasses can override this member function to perform
|
||||
/// some form of client or request authentication before
|
||||
/// the request is actually handled.
|
||||
|
||||
private:
|
||||
HTTPServerRequest* _pRequest;
|
||||
HTTPServerResponse* _pResponse;
|
||||
HTMLForm* _pForm;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline HTTPServerRequest& AbstractHTTPRequestHandler::request()
|
||||
{
|
||||
poco_check_ptr (_pRequest);
|
||||
|
||||
return *_pRequest;
|
||||
}
|
||||
|
||||
|
||||
inline HTTPServerResponse& AbstractHTTPRequestHandler::response()
|
||||
{
|
||||
poco_check_ptr (_pResponse);
|
||||
|
||||
return *_pResponse;
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_AbstractHTTPRequestHandler_INCLUDED
|
||||
199
vendor/POCO/Net/include/Poco/Net/DNS.h
vendored
Normal file
199
vendor/POCO/Net/include/Poco/Net/DNS.h
vendored
Normal file
@@ -0,0 +1,199 @@
|
||||
//
|
||||
// DNS.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: NetCore
|
||||
// Module: DNS
|
||||
//
|
||||
// Definition of the DNS class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_DNS_INCLUDED
|
||||
#define Net_DNS_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/SocketDefs.h"
|
||||
#include "Poco/Net/IPAddress.h"
|
||||
#include "Poco/Net/HostEntry.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API DNS
|
||||
/// This class provides an interface to the
|
||||
/// domain name service.
|
||||
///
|
||||
/// Starting with POCO C++ Libraries release 1.9.0,
|
||||
/// this class also supports Internationalized Domain Names (IDNs).
|
||||
///
|
||||
/// Regarding IDNs, the following rules apply:
|
||||
///
|
||||
/// * An IDN passed to hostByName() must be encoded manually, by calling
|
||||
/// encodeIDN() (after testing with isIDN() first).
|
||||
/// * An UTF-8 IDN passed to resolve() or resolveOne() is automatically encoded.
|
||||
/// * IDNs returned in HostEntry objects are never decoded. They can be
|
||||
/// decoded by calling decodeIDN() (after testing for an encoded IDN by
|
||||
/// calling isEncodedIDN()).
|
||||
{
|
||||
public:
|
||||
enum HintFlag
|
||||
{
|
||||
DNS_HINT_NONE = 0,
|
||||
#ifdef POCO_HAVE_ADDRINFO
|
||||
DNS_HINT_AI_PASSIVE = AI_PASSIVE, /// Socket address will be used in bind() call
|
||||
DNS_HINT_AI_CANONNAME = AI_CANONNAME, /// Return canonical name in first ai_canonname
|
||||
DNS_HINT_AI_NUMERICHOST = AI_NUMERICHOST, /// Nodename must be a numeric address string
|
||||
DNS_HINT_AI_NUMERICSERV = AI_NUMERICSERV, /// Servicename must be a numeric port number
|
||||
DNS_HINT_AI_ALL = AI_ALL, /// Query both IP6 and IP4 with AI_V4MAPPED
|
||||
DNS_HINT_AI_ADDRCONFIG = AI_ADDRCONFIG, /// Resolution only if global address configured
|
||||
DNS_HINT_AI_V4MAPPED = AI_V4MAPPED /// On v6 failure, query v4 and convert to V4MAPPED format
|
||||
#endif
|
||||
};
|
||||
|
||||
static HostEntry hostByName(const std::string& hostname, unsigned hintFlags =
|
||||
#ifdef POCO_HAVE_ADDRINFO
|
||||
DNS_HINT_AI_CANONNAME | DNS_HINT_AI_ADDRCONFIG
|
||||
#else
|
||||
DNS_HINT_NONE
|
||||
#endif
|
||||
);
|
||||
/// Returns a HostEntry object containing the DNS information
|
||||
/// for the host with the given name. HintFlag argument is only
|
||||
/// used on platforms that have getaddrinfo().
|
||||
///
|
||||
/// Note that Internationalized Domain Names must be encoded
|
||||
/// using Punycode (see encodeIDN()) before calling this method.
|
||||
///
|
||||
/// Throws a HostNotFoundException if a host with the given
|
||||
/// name cannot be found.
|
||||
///
|
||||
/// Throws a NoAddressFoundException if no address can be
|
||||
/// found for the hostname.
|
||||
///
|
||||
/// Throws a DNSException in case of a general DNS error.
|
||||
///
|
||||
/// Throws an IOException in case of any other error.
|
||||
|
||||
static HostEntry hostByAddress(const IPAddress& address, unsigned hintFlags =
|
||||
#ifdef POCO_HAVE_ADDRINFO
|
||||
DNS_HINT_AI_CANONNAME | DNS_HINT_AI_ADDRCONFIG
|
||||
#else
|
||||
DNS_HINT_NONE
|
||||
#endif
|
||||
);
|
||||
/// Returns a HostEntry object containing the DNS information
|
||||
/// for the host with the given IP address. HintFlag argument is only
|
||||
/// used on platforms that have getaddrinfo().
|
||||
///
|
||||
/// Throws a HostNotFoundException if a host with the given
|
||||
/// name cannot be found.
|
||||
///
|
||||
/// Throws a DNSException in case of a general DNS error.
|
||||
///
|
||||
/// Throws an IOException in case of any other error.
|
||||
|
||||
static HostEntry resolve(const std::string& address);
|
||||
/// Returns a HostEntry object containing the DNS information
|
||||
/// for the host with the given IP address or host name.
|
||||
///
|
||||
/// If address contains a UTF-8 encoded IDN (internationalized
|
||||
/// domain name), the domain name will be encoded first using
|
||||
/// Punycode.
|
||||
///
|
||||
/// Throws a HostNotFoundException if a host with the given
|
||||
/// name cannot be found.
|
||||
///
|
||||
/// Throws a NoAddressFoundException if no address can be
|
||||
/// found for the hostname.
|
||||
///
|
||||
/// Throws a DNSException in case of a general DNS error.
|
||||
///
|
||||
/// Throws an IOException in case of any other error.
|
||||
|
||||
static IPAddress resolveOne(const std::string& address);
|
||||
/// Convenience method that calls resolve(address) and returns
|
||||
/// the first address from the HostInfo.
|
||||
|
||||
static HostEntry thisHost();
|
||||
/// Returns a HostEntry object containing the DNS information
|
||||
/// for this host.
|
||||
///
|
||||
/// Throws a HostNotFoundException if DNS information
|
||||
/// for this host cannot be found.
|
||||
///
|
||||
/// Throws a NoAddressFoundException if no address can be
|
||||
/// found for this host.
|
||||
///
|
||||
/// Throws a DNSException in case of a general DNS error.
|
||||
///
|
||||
/// Throws an IOException in case of any other error.
|
||||
|
||||
static void reload();
|
||||
/// Reloads the resolver configuration.
|
||||
///
|
||||
/// This method will call res_init() if the Net library
|
||||
/// has been compiled with -DPOCO_HAVE_LIBRESOLV. Otherwise
|
||||
/// it will do nothing.
|
||||
|
||||
static std::string hostName();
|
||||
/// Returns the host name of this host.
|
||||
|
||||
static bool isIDN(const std::string& hostname);
|
||||
/// Returns true if the given hostname is an internationalized
|
||||
/// domain name (IDN) containing non-ASCII characters, otherwise false.
|
||||
///
|
||||
/// The IDN must be UTF-8 encoded.
|
||||
|
||||
static bool isEncodedIDN(const std::string& hostname);
|
||||
/// Returns true if the given hostname is an Punycode-encoded
|
||||
/// internationalized domain name (IDN), otherwise false.
|
||||
///
|
||||
/// An encoded IDN starts with the character sequence "xn--".
|
||||
|
||||
static std::string encodeIDN(const std::string& idn);
|
||||
/// Encodes the given IDN (internationalized domain name), which must
|
||||
/// be in UTF-8 encoding.
|
||||
///
|
||||
/// The resulting string will be encoded according to Punycode.
|
||||
|
||||
static std::string decodeIDN(const std::string& encodedIDN);
|
||||
/// Decodes the given Punycode-encoded IDN (internationalized domain name).
|
||||
///
|
||||
/// The resulting string will be UTF-8 encoded.
|
||||
|
||||
protected:
|
||||
static int lastError();
|
||||
/// Returns the code of the last error.
|
||||
|
||||
static void error(int code, const std::string& arg);
|
||||
/// Throws an exception according to the error code.
|
||||
|
||||
static void aierror(int code, const std::string& arg);
|
||||
/// Throws an exception according to the getaddrinfo() error code.
|
||||
|
||||
static std::string encodeIDNLabel(const std::string& idn);
|
||||
/// Encodes the given IDN (internationalized domain name) label, which must
|
||||
/// be in UTF-8 encoding.
|
||||
///
|
||||
/// The resulting string will be encoded according to Punycode.
|
||||
|
||||
static std::string decodeIDNLabel(const std::string& encodedIDN);
|
||||
/// Decodes the given Punycode-encoded IDN (internationalized domain name) label.
|
||||
///
|
||||
/// The resulting string will be UTF-8 encoded.
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_DNS_INCLUDED
|
||||
250
vendor/POCO/Net/include/Poco/Net/DatagramSocket.h
vendored
Normal file
250
vendor/POCO/Net/include/Poco/Net/DatagramSocket.h
vendored
Normal file
@@ -0,0 +1,250 @@
|
||||
//
|
||||
// DatagramSocket.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: Sockets
|
||||
// Module: DatagramSocket
|
||||
//
|
||||
// Definition of the DatagramSocket class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_DatagramSocket_INCLUDED
|
||||
#define Net_DatagramSocket_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/Socket.h"
|
||||
#include "Poco/Buffer.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API DatagramSocket: public Socket
|
||||
/// This class provides an interface to an
|
||||
/// UDP stream socket.
|
||||
{
|
||||
public:
|
||||
DatagramSocket();
|
||||
/// Creates an unconnected, unbound datagram socket.
|
||||
///
|
||||
/// Before the datagram socket can be used, bind(),
|
||||
/// bind6() or connect() must be called.
|
||||
///
|
||||
/// Notice: The behavior of this constructor has changed
|
||||
/// in release 2.0. Previously, the constructor created
|
||||
/// an unbound IPv4 datagram socket.
|
||||
|
||||
explicit DatagramSocket(SocketAddress::Family family);
|
||||
/// Creates an unconnected datagram socket.
|
||||
///
|
||||
/// The socket will be created for the
|
||||
/// given address family.
|
||||
|
||||
DatagramSocket(const SocketAddress& address, bool reuseAddress = false);
|
||||
/// Creates a datagram socket and binds it
|
||||
/// to the given address.
|
||||
///
|
||||
/// Depending on the address family, the socket
|
||||
/// will be either an IPv4 or an IPv6 socket.
|
||||
|
||||
DatagramSocket(const Socket& socket);
|
||||
/// Creates the DatagramSocket with the SocketImpl
|
||||
/// from another socket. The SocketImpl must be
|
||||
/// a DatagramSocketImpl, otherwise an InvalidArgumentException
|
||||
/// will be thrown.
|
||||
|
||||
~DatagramSocket();
|
||||
/// Destroys the DatagramSocket.
|
||||
|
||||
DatagramSocket& operator = (const Socket& socket);
|
||||
/// Assignment operator.
|
||||
///
|
||||
/// Releases the socket's SocketImpl and
|
||||
/// attaches the SocketImpl from the other socket and
|
||||
/// increments the reference count of the SocketImpl.
|
||||
|
||||
void connect(const SocketAddress& address);
|
||||
/// Restricts incoming and outgoing
|
||||
/// packets to the specified address.
|
||||
///
|
||||
/// Calls to connect() cannot come before calls to bind().
|
||||
|
||||
void bind(const SocketAddress& address, bool reuseAddress = false);
|
||||
/// Bind a local address to the socket.
|
||||
///
|
||||
/// This is usually only done when establishing a server
|
||||
/// socket.
|
||||
///
|
||||
/// If reuseAddress is true, sets the SO_REUSEADDR
|
||||
/// socket option.
|
||||
///
|
||||
/// Calls to connect cannot() come before calls to bind().
|
||||
|
||||
void bind(const SocketAddress& address, bool reuseAddress, bool reusePort);
|
||||
/// Bind a local address to the socket.
|
||||
///
|
||||
/// This is usually only done when establishing a server
|
||||
/// socket.
|
||||
///
|
||||
/// If reuseAddress is true, sets the SO_REUSEADDR
|
||||
/// socket option.
|
||||
///
|
||||
/// If reusePort is true, sets the SO_REUSEPORT
|
||||
/// socket option.
|
||||
///
|
||||
/// Calls to connect cannot() come before calls to bind().
|
||||
|
||||
int sendBytes(const void* buffer, int length, int flags = 0);
|
||||
/// Sends the contents of the given buffer through
|
||||
/// the socket.
|
||||
///
|
||||
/// Returns the number of bytes sent, which may be
|
||||
/// less than the number of bytes specified.
|
||||
///
|
||||
/// The flags parameter can be used to pass system-defined flags
|
||||
/// for send() like MSG_DONTROUTE.
|
||||
|
||||
int sendBytes(const SocketBufVec& buffer, int flags = 0);
|
||||
/// Sends the contents of the given buffers through
|
||||
/// the socket.
|
||||
///
|
||||
/// Returns the number of bytes sent, which may be
|
||||
/// less than the number of bytes specified.
|
||||
///
|
||||
/// The flags parameter can be used to pass system-defined flags
|
||||
/// for send() like MSG_DONTROUTE.
|
||||
|
||||
int receiveBytes(void* buffer, int length, int flags = 0);
|
||||
/// Receives data from the socket and stores it
|
||||
/// in buffer. Up to length bytes are received.
|
||||
///
|
||||
/// Returns the number of bytes received.
|
||||
///
|
||||
/// The flags parameter can be used to pass system-defined flags
|
||||
/// for recv() like MSG_PEEK.
|
||||
|
||||
int receiveBytes(SocketBufVec& buffer, int flags = 0);
|
||||
/// Receives data from the socket and stores it in buffers.
|
||||
///
|
||||
/// Returns the number of bytes received.
|
||||
///
|
||||
/// The flags parameter can be used to pass system-defined flags
|
||||
/// for recv() like MSG_PEEK.
|
||||
|
||||
int receiveBytes(Poco::Buffer<char>& buffer, int flags = 0, const Poco::Timespan& timeout = 100000);
|
||||
/// Receives data from the socket and stores it in buffers.
|
||||
///
|
||||
/// Returns the number of bytes received.
|
||||
///
|
||||
/// The flags parameter can be used to pass system-defined flags
|
||||
/// for recv() like MSG_PEEK.
|
||||
|
||||
int sendTo(const void* buffer, int length, const SocketAddress& address, int flags = 0);
|
||||
/// Sends the contents of the given buffer through
|
||||
/// the socket to the given address.
|
||||
///
|
||||
/// Returns the number of bytes sent, which may be
|
||||
/// less than the number of bytes specified.
|
||||
///
|
||||
/// The flags parameter can be used to pass system-defined flags
|
||||
/// for sendto() like MSG_DONTROUTE.
|
||||
|
||||
int sendTo(const SocketBufVec& buffers, const SocketAddress& address, int flags = 0);
|
||||
/// Sends the contents of the given buffers through
|
||||
/// the socket to the given address.
|
||||
///
|
||||
/// Returns the number of bytes sent, which may be
|
||||
/// less than the number of bytes specified.
|
||||
///
|
||||
/// The flags parameter can be used to pass system-defined flags
|
||||
/// for sendto() like MSG_DONTROUTE.
|
||||
|
||||
int receiveFrom(void* buffer, int length, SocketAddress& address, int flags = 0);
|
||||
/// Receives data from the socket and stores it
|
||||
/// in buffer. Up to length bytes are received.
|
||||
/// Stores the address of the sender in address.
|
||||
///
|
||||
/// Returns the number of bytes received.
|
||||
///
|
||||
/// The flags parameter can be used to pass system-defined flags
|
||||
/// for recvfrom() like MSG_PEEK.
|
||||
|
||||
int receiveFrom(void* buffer, int length, struct sockaddr** ppSA, poco_socklen_t** ppSALen, int flags = 0);
|
||||
/// Receives data from the socket and stores it
|
||||
/// in buffer. Up to length bytes are received.
|
||||
/// Stores the native address of the sender in
|
||||
/// ppSA, and the length of native address in ppSALen.
|
||||
///
|
||||
/// Returns the number of bytes received.
|
||||
///
|
||||
/// The flags parameter can be used to pass system-defined flags
|
||||
/// for recvfrom() like MSG_PEEK.
|
||||
|
||||
int receiveFrom(SocketBufVec& buffers, SocketAddress& address, int flags = 0);
|
||||
/// Receives data from the socket and stores it
|
||||
/// in buffers. Up to total length of all buffers
|
||||
/// are received.
|
||||
/// Stores the address of the sender in address.
|
||||
///
|
||||
/// Returns the number of bytes received.
|
||||
///
|
||||
/// The flags parameter can be used to pass system-defined flags
|
||||
/// for recvfrom() like MSG_PEEK.
|
||||
|
||||
int receiveFrom(SocketBufVec& buffers, struct sockaddr** ppSA, poco_socklen_t** ppSALen, int flags = 0);
|
||||
/// Receives data from the socket and stores it
|
||||
/// in buffers.
|
||||
/// Stores the native address of the sender in
|
||||
/// ppSA, and the length of native address in ppSALen.
|
||||
///
|
||||
/// Returns the number of bytes received.
|
||||
///
|
||||
/// The flags parameter can be used to pass system-defined flags
|
||||
/// for recvfrom() like MSG_PEEK.
|
||||
|
||||
void setBroadcast(bool flag);
|
||||
/// Sets the value of the SO_BROADCAST socket option.
|
||||
///
|
||||
/// Setting this flag allows sending datagrams to
|
||||
/// the broadcast address.
|
||||
|
||||
bool getBroadcast() const;
|
||||
/// Returns the value of the SO_BROADCAST socket option.
|
||||
|
||||
protected:
|
||||
DatagramSocket(SocketImpl* pImpl);
|
||||
/// Creates the Socket and attaches the given SocketImpl.
|
||||
/// The socket takes ownership of the SocketImpl.
|
||||
///
|
||||
/// The SocketImpl must be a StreamSocketImpl, otherwise
|
||||
/// an InvalidArgumentException will be thrown.
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline void DatagramSocket::setBroadcast(bool flag)
|
||||
{
|
||||
impl()->setBroadcast(flag);
|
||||
}
|
||||
|
||||
|
||||
inline bool DatagramSocket::getBroadcast() const
|
||||
{
|
||||
return impl()->getBroadcast();
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_DatagramSocket_INCLUDED
|
||||
55
vendor/POCO/Net/include/Poco/Net/DatagramSocketImpl.h
vendored
Normal file
55
vendor/POCO/Net/include/Poco/Net/DatagramSocketImpl.h
vendored
Normal file
@@ -0,0 +1,55 @@
|
||||
//
|
||||
// DatagramSocketImpl.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: Sockets
|
||||
// Module: DatagramSocketImpl
|
||||
//
|
||||
// Definition of the DatagramSocketImpl class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_DatagramSocketImpl_INCLUDED
|
||||
#define Net_DatagramSocketImpl_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/SocketImpl.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API DatagramSocketImpl: public SocketImpl
|
||||
/// This class implements an UDP socket.
|
||||
{
|
||||
public:
|
||||
DatagramSocketImpl();
|
||||
/// Creates an unconnected, unbound datagram socket.
|
||||
|
||||
explicit DatagramSocketImpl(SocketAddress::Family family);
|
||||
/// Creates an unconnected datagram socket.
|
||||
///
|
||||
/// The socket will be created for the
|
||||
/// given address family.
|
||||
|
||||
DatagramSocketImpl(poco_socket_t sockfd);
|
||||
/// Creates a StreamSocketImpl using the given native socket.
|
||||
|
||||
protected:
|
||||
void init(int af);
|
||||
|
||||
~DatagramSocketImpl();
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_DatagramSocketImpl_INCLUDED
|
||||
211
vendor/POCO/Net/include/Poco/Net/DialogSocket.h
vendored
Normal file
211
vendor/POCO/Net/include/Poco/Net/DialogSocket.h
vendored
Normal file
@@ -0,0 +1,211 @@
|
||||
//
|
||||
// DialogSocket.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: Sockets
|
||||
// Module: DialogSocket
|
||||
//
|
||||
// Definition of the DialogSocket class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_DialogSocket_INCLUDED
|
||||
#define Net_DialogSocket_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/StreamSocket.h"
|
||||
#include <cstdlib>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API DialogSocket: public StreamSocket
|
||||
/// DialogSocket is a subclass of StreamSocket that
|
||||
/// can be used for implementing request-response
|
||||
/// based client server connections.
|
||||
///
|
||||
/// A request is always a single-line command terminated
|
||||
/// by CR-LF.
|
||||
///
|
||||
/// A response can either be a single line of text terminated
|
||||
/// by CR-LF, or multiple lines of text in the format used
|
||||
/// by the FTP and SMTP protocols.
|
||||
///
|
||||
/// Limited support for the TELNET protocol (RFC 854) is
|
||||
/// available.
|
||||
///
|
||||
/// Warning: Do not call receiveBytes() on a DialogSocket.
|
||||
/// Due to internal buffering in DialogSocket, receiveBytes()
|
||||
/// may return an unexpected result and interfere with
|
||||
/// DialogSocket's buffering. Use receiveRawBytes() instead.
|
||||
{
|
||||
public:
|
||||
DialogSocket();
|
||||
/// Creates an unconnected stream socket.
|
||||
///
|
||||
/// Before sending or receiving data, the socket
|
||||
/// must be connected with a call to connect().
|
||||
|
||||
explicit DialogSocket(const SocketAddress& address);
|
||||
/// Creates a stream socket and connects it to
|
||||
/// the socket specified by address.
|
||||
|
||||
DialogSocket(const Socket& socket);
|
||||
/// Creates the DialogSocket with the SocketImpl
|
||||
/// from another socket. The SocketImpl must be
|
||||
/// a StreamSocketImpl, otherwise an InvalidArgumentException
|
||||
/// will be thrown.
|
||||
|
||||
DialogSocket(const DialogSocket& socket);
|
||||
/// Creates the DialogSocket as copy of another dialog socket.
|
||||
|
||||
~DialogSocket();
|
||||
/// Destroys the DialogSocket.
|
||||
|
||||
DialogSocket& operator = (const Socket& socket);
|
||||
/// Assignment operator.
|
||||
///
|
||||
/// Releases the socket's SocketImpl and
|
||||
/// attaches the SocketImpl from the other socket and
|
||||
/// increments the reference count of the SocketImpl.
|
||||
|
||||
DialogSocket& operator = (const DialogSocket& socket);
|
||||
/// Assignment operator.
|
||||
|
||||
void sendByte(unsigned char ch);
|
||||
/// Sends a single byte over the socket connection.
|
||||
|
||||
void sendString(const char* str);
|
||||
/// Sends the given null-terminated string over
|
||||
/// the socket connection.
|
||||
|
||||
void sendString(const std::string& str);
|
||||
/// Sends the given string over the socket connection.
|
||||
|
||||
void sendMessage(const std::string& message);
|
||||
/// Appends a CR-LF sequence to the message and sends it
|
||||
/// over the socket connection.
|
||||
|
||||
void sendMessage(const std::string& message, const std::string& arg);
|
||||
/// Concatenates message and arg, separated by a space, appends a
|
||||
/// CR-LF sequence, and sends the result over the socket connection.
|
||||
|
||||
void sendMessage(const std::string& message, const std::string& arg1, const std::string& arg2);
|
||||
/// Concatenates message and args, separated by a space, appends a
|
||||
/// CR-LF sequence, and sends the result over the socket connection.
|
||||
|
||||
bool receiveMessage(std::string& message);
|
||||
/// Receives a single-line message, terminated by CR-LF,
|
||||
/// from the socket connection and appends it to response.
|
||||
///
|
||||
/// Returns true if a message has been read or false if
|
||||
/// the connection has been closed by the peer.
|
||||
|
||||
int receiveStatusMessage(std::string& message);
|
||||
/// Receives a single-line or multi-line response from
|
||||
/// the socket connection. The format must be according to
|
||||
/// one of the response formats specified in the FTP (RFC 959)
|
||||
/// or SMTP (RFC 2821) specifications.
|
||||
///
|
||||
/// The first line starts with a 3-digit status code.
|
||||
/// Following the status code is either a space character (' ' )
|
||||
/// (in case of a single-line response) or a minus character ('-')
|
||||
/// in case of a multi-line response. The following lines can have
|
||||
/// a three-digit status code followed by a minus-sign and some
|
||||
/// text, or some arbitrary text only. The last line again begins
|
||||
/// with a three-digit status code (which must be the same as the
|
||||
/// one in the first line), followed by a space and some arbitrary
|
||||
/// text. All lines must be terminated by a CR-LF sequence.
|
||||
///
|
||||
/// The response contains all response lines, separated by a newline
|
||||
/// character, including the status code. The status code is returned.
|
||||
/// If the response line does not contain a status code, 0 is returned.
|
||||
|
||||
int get();
|
||||
/// Reads one character from the connection.
|
||||
///
|
||||
/// Returns -1 (EOF_CHAR) if no more characters are available.
|
||||
|
||||
int peek();
|
||||
/// Returns the character that would be returned by the next call
|
||||
/// to get(), without actually extracting the character from the
|
||||
/// buffer.
|
||||
///
|
||||
/// Returns -1 (EOF_CHAR) if no more characters are available.
|
||||
|
||||
int receiveRawBytes(void* buffer, int length);
|
||||
/// Read up to length bytes from the connection and place
|
||||
/// them into buffer. If there are data bytes in the internal
|
||||
/// buffer, these bytes are returned first.
|
||||
///
|
||||
/// Use this member function instead of receiveBytes().
|
||||
///
|
||||
/// Returns the number of bytes read, which may be
|
||||
/// less than requested.
|
||||
|
||||
void synch();
|
||||
/// Sends a TELNET SYNCH signal over the connection.
|
||||
///
|
||||
/// According to RFC 854, a TELNET_DM char is sent
|
||||
/// via sendUrgent().
|
||||
|
||||
void sendTelnetCommand(unsigned char command);
|
||||
/// Sends a TELNET command sequence (TELNET_IAC followed
|
||||
/// by the given command) over the connection.
|
||||
|
||||
void sendTelnetCommand(unsigned char command, unsigned char arg);
|
||||
/// Sends a TELNET command sequence (TELNET_IAC followed
|
||||
/// by the given command, followed by arg) over the connection.
|
||||
|
||||
enum TelnetCodes
|
||||
{
|
||||
TELNET_SE = 240,
|
||||
TELNET_NOP = 241,
|
||||
TELNET_DM = 242,
|
||||
TELNET_BRK = 243,
|
||||
TELNET_IP = 244,
|
||||
TELNET_AO = 245,
|
||||
TELNET_AYT = 246,
|
||||
TELNET_EC = 247,
|
||||
TELNET_EL = 248,
|
||||
TELNET_GA = 249,
|
||||
TELNET_SB = 250,
|
||||
TELNET_WILL = 251,
|
||||
TELNET_WONT = 252,
|
||||
TELNET_DO = 253,
|
||||
TELNET_DONT = 254,
|
||||
TELNET_IAC = 255
|
||||
};
|
||||
|
||||
protected:
|
||||
void allocBuffer();
|
||||
void refill();
|
||||
bool receiveLine(std::string& line, std::size_t lineLengthLimit = 0);
|
||||
int receiveStatusLine(std::string& line, std::size_t lineLengthLimit = 0);
|
||||
|
||||
private:
|
||||
enum
|
||||
{
|
||||
RECEIVE_BUFFER_SIZE = 1024,
|
||||
MAX_LINE_LENGTH = 4096,
|
||||
EOF_CHAR = -1
|
||||
};
|
||||
|
||||
char* _pBuffer;
|
||||
char* _pNext;
|
||||
char* _pEnd;
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_DialogSocket_INCLUDED
|
||||
89
vendor/POCO/Net/include/Poco/Net/EscapeHTMLStream.h
vendored
Normal file
89
vendor/POCO/Net/include/Poco/Net/EscapeHTMLStream.h
vendored
Normal file
@@ -0,0 +1,89 @@
|
||||
//
|
||||
// EscapeHTMLStream.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTP
|
||||
// Module: EscapeHTMLStream
|
||||
//
|
||||
// Definition of the EscapeHTMLStream class.
|
||||
//
|
||||
// Copyright (c) 1029, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_EscapeHTMLStream_INCLUDED
|
||||
#define Net_EscapeHTMLStream_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/UnbufferedStreamBuf.h"
|
||||
#include <ostream>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API EscapeHTMLStreamBuf: public Poco::UnbufferedStreamBuf
|
||||
/// This stream buffer replaces all occurrences of special HTML
|
||||
/// characters < > " & with their respective character
|
||||
/// entities < > " &.
|
||||
{
|
||||
public:
|
||||
EscapeHTMLStreamBuf(std::ostream& ostr);
|
||||
/// Creates the EscapeHTMLStreamBuf and connects it
|
||||
/// to the given output stream.
|
||||
|
||||
~EscapeHTMLStreamBuf();
|
||||
/// Destroys the EscapeHTMLStreamBuf.
|
||||
|
||||
protected:
|
||||
int readFromDevice();
|
||||
int writeToDevice(char c);
|
||||
|
||||
private:
|
||||
std::ostream* _pOstr;
|
||||
};
|
||||
|
||||
|
||||
class Net_API EscapeHTMLIOS: public virtual std::ios
|
||||
/// The base class for EscapeHTMLOutputStream.
|
||||
{
|
||||
public:
|
||||
EscapeHTMLIOS(std::ostream& ostr);
|
||||
/// Creates the MailIOS and connects it
|
||||
/// to the given output stream.
|
||||
|
||||
~EscapeHTMLIOS();
|
||||
/// Destroys the stream.
|
||||
|
||||
EscapeHTMLStreamBuf* rdbuf();
|
||||
/// Returns a pointer to the underlying streambuf.
|
||||
|
||||
protected:
|
||||
EscapeHTMLStreamBuf _buf;
|
||||
};
|
||||
|
||||
|
||||
class Net_API EscapeHTMLOutputStream: public EscapeHTMLIOS, public std::ostream
|
||||
/// This stream replaces all occurrences of special HTML
|
||||
/// characters < > " & with their respective character
|
||||
/// entities < > " &.
|
||||
{
|
||||
public:
|
||||
EscapeHTMLOutputStream(std::ostream& ostr);
|
||||
/// Creates the MailOutputStream and connects it
|
||||
/// to the given input stream.
|
||||
|
||||
~EscapeHTMLOutputStream();
|
||||
/// Destroys the MailOutputStream.
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_EscapeHTMLStream_INCLUDED
|
||||
425
vendor/POCO/Net/include/Poco/Net/FTPClientSession.h
vendored
Normal file
425
vendor/POCO/Net/include/Poco/Net/FTPClientSession.h
vendored
Normal file
@@ -0,0 +1,425 @@
|
||||
//
|
||||
// FTPClientSession.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: FTP
|
||||
// Module: FTPClientSession
|
||||
//
|
||||
// Definition of the FTPClientSession class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_FTPClientSession_INCLUDED
|
||||
#define Net_FTPClientSession_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/DialogSocket.h"
|
||||
#include "Poco/Timespan.h"
|
||||
#include <istream>
|
||||
#include <ostream>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class SocketStream;
|
||||
|
||||
|
||||
class Net_API FTPClientSession
|
||||
/// This class implements an File Transfer Protocol
|
||||
/// (FTP, RFC 959) client.
|
||||
///
|
||||
/// Most of the features of the FTP protocol, as specified
|
||||
/// in RFC 959, are supported. Not supported are EBCDIC and
|
||||
/// LOCAL data types and format control and structured files.
|
||||
///
|
||||
/// Also supported are the EPRT and EPSV commands from
|
||||
/// RFC 1738 (FTP Extensions for IPv6 and NAT).
|
||||
/// The client will first attempt to use the EPRT and EPSV
|
||||
/// commands. If the server does not supports these commands,
|
||||
/// the client will fall back to PORT and PASV.
|
||||
{
|
||||
public:
|
||||
enum
|
||||
{
|
||||
FTP_PORT = 21
|
||||
};
|
||||
|
||||
enum FileType
|
||||
{
|
||||
TYPE_TEXT, /// TYPE A (ASCII)
|
||||
TYPE_BINARY /// TYPE I (Image/binary data)
|
||||
};
|
||||
|
||||
FTPClientSession();
|
||||
/// Creates an FTPClientSession.
|
||||
///
|
||||
/// Passive mode will be used for data transfers.
|
||||
|
||||
FTPClientSession(const StreamSocket& socket, bool readWelcomeMessage = true);
|
||||
/// Creates an FTPClientSession using the given
|
||||
/// connected socket for the control connection.
|
||||
///
|
||||
/// Passive mode will be used for data transfers.
|
||||
|
||||
FTPClientSession(const std::string& host, Poco::UInt16 port = FTP_PORT, const std::string& username = "", const std::string& password = "");
|
||||
/// Creates an FTPClientSession using a socket connected
|
||||
/// to the given host and port. If username is supplied,
|
||||
/// login is attempted.
|
||||
///
|
||||
/// Passive mode will be used for data transfers.
|
||||
|
||||
virtual ~FTPClientSession();
|
||||
/// Destroys the FTPClientSession.
|
||||
|
||||
void setTimeout(const Poco::Timespan& timeout);
|
||||
/// Sets the timeout for socket operations.
|
||||
|
||||
Poco::Timespan getTimeout() const;
|
||||
/// Returns the timeout for socket operations.
|
||||
|
||||
void setPassive(bool flag, bool useRFC1738 = true);
|
||||
/// Enables (default) or disables FTP passive mode for this session.
|
||||
///
|
||||
/// If useRFC1738 is true (the default), the RFC 1738
|
||||
/// EPSV command is used (with a fallback to PASV if EPSV fails)
|
||||
/// for switching to passive mode. The same applies to
|
||||
/// EPRT and PORT for active connections.
|
||||
|
||||
bool getPassive() const;
|
||||
/// Returns true iff passive mode is enabled for this connection.
|
||||
|
||||
virtual void open(const std::string& host, Poco::UInt16 port, const std::string& username = "", const std::string& password = "");
|
||||
/// Opens the FTP connection to the given host and port.
|
||||
/// If username is supplied, login is attempted.
|
||||
|
||||
virtual void login(const std::string& username, const std::string& password);
|
||||
/// Authenticates the user against the FTP server. Must be
|
||||
/// called before any other commands (except QUIT) can be sent.
|
||||
///
|
||||
/// Sends a USER command followed by a PASS command with the
|
||||
/// respective arguments to the server.
|
||||
///
|
||||
/// Throws a FTPException in case of a FTP-specific error, or a
|
||||
/// NetException in case of a general network communication failure.
|
||||
|
||||
void logout();
|
||||
/// Logs out from the server by sending a QUIT command. Any transfer
|
||||
/// that's in progress is ended. The control connection is kept
|
||||
/// open.
|
||||
|
||||
void close();
|
||||
/// Sends a QUIT command and closes the connection to the server.
|
||||
///
|
||||
/// Throws a FTPException in case of a FTP-specific error, or a
|
||||
/// NetException in case of a general network communication failure.
|
||||
|
||||
std::string systemType();
|
||||
/// Returns the system type of the FTP server.
|
||||
///
|
||||
/// Sends a SYST command to the server and returns the result.
|
||||
|
||||
void setFileType(FileType type);
|
||||
/// Sets the file type for transferring files.
|
||||
///
|
||||
/// Sends a TYPE command with a corresponding argument to the
|
||||
/// server.
|
||||
///
|
||||
/// Throws a FTPException in case of a FTP-specific error, or a
|
||||
/// NetException in case of a general network communication failure.
|
||||
|
||||
FileType getFileType() const;
|
||||
/// Returns the file type for transferring files.
|
||||
|
||||
void setWorkingDirectory(const std::string& path);
|
||||
/// Changes the current working directory on the server.
|
||||
///
|
||||
/// Sends a CWD command with the given path as argument to the
|
||||
/// server.
|
||||
///
|
||||
/// Throws a FTPException in case of a FTP-specific error, or a
|
||||
/// NetException in case of a general network communication failure.
|
||||
|
||||
std::string getWorkingDirectory();
|
||||
/// Returns the current working directory on the server.
|
||||
///
|
||||
/// Throws a FTPException in case of a FTP-specific error, or a
|
||||
/// NetException in case of a general network communication failure.
|
||||
|
||||
void cdup();
|
||||
/// Moves one directory up from the current working directory
|
||||
/// on the server.
|
||||
///
|
||||
/// Sends a CDUP command to the server.
|
||||
///
|
||||
/// Throws a FTPException in case of a FTP-specific error, or a
|
||||
/// NetException in case of a general network communication failure.
|
||||
|
||||
void rename(const std::string& oldName, const std::string& newName);
|
||||
/// Renames the file on the server given by oldName to newName.
|
||||
///
|
||||
/// Sends a RNFR command, followed by a RNTO command to the server.
|
||||
///
|
||||
/// Throws a FTPException in case of a FTP-specific error, or a
|
||||
/// NetException in case of a general network communication failure.
|
||||
|
||||
void remove(const std::string& path);
|
||||
/// Deletes the file specified by path on the server.
|
||||
///
|
||||
/// Sends a DELE command with path as argument to the server.
|
||||
///
|
||||
/// Throws a FTPException in case of a FTP-specific error, or a
|
||||
/// NetException in case of a general network communication failure.
|
||||
|
||||
void createDirectory(const std::string& path);
|
||||
/// Creates a new directory with the given path on the server.
|
||||
///
|
||||
/// Sends a MKD command with path as argument to the server.
|
||||
///
|
||||
/// Throws a FTPException in case of a FTP-specific error, or a
|
||||
/// NetException in case of a general network communication failure.
|
||||
|
||||
void removeDirectory(const std::string& path);
|
||||
/// Removes the directory specified by path from the server.
|
||||
///
|
||||
/// Sends a RMD command with path as argument to the server.
|
||||
///
|
||||
/// Throws a FTPException in case of a FTP-specific error, or a
|
||||
/// NetException in case of a general network communication failure.
|
||||
|
||||
std::istream& beginDownload(const std::string& path);
|
||||
/// Starts downloading the file with the given name.
|
||||
/// After all data has been read from the returned stream,
|
||||
/// endDownload() must be called to finish the download.
|
||||
///
|
||||
/// A stream for reading the file's content is returned.
|
||||
/// The stream is valid until endDownload() is called.
|
||||
///
|
||||
/// Creates a data connection between the client and the
|
||||
/// server. If passive mode is on, then the server waits for
|
||||
/// a connection request from the client. Otherwise, the
|
||||
/// client waits for a connection request from the server.
|
||||
/// After establishing the data connection, a SocketStream
|
||||
/// for transferring the data is created.
|
||||
///
|
||||
/// If ASCII transfer mode is selected, the caller is
|
||||
/// responsible for converting the received data to
|
||||
/// the native text file format.
|
||||
/// The InputLineEndingConverter class from the Foundation
|
||||
/// library can be used for that purpose.
|
||||
|
||||
void endDownload();
|
||||
/// Must be called to complete a download initiated with
|
||||
/// beginDownload().
|
||||
|
||||
std::ostream& beginUpload(const std::string& path);
|
||||
/// Starts uploading the file with the given name.
|
||||
/// After all data has been written to the returned stream,
|
||||
/// endUpload() must be called to finish the upload.
|
||||
///
|
||||
/// A stream for reading the file's content is returned.
|
||||
/// The stream is valid until endUpload() is called.
|
||||
///
|
||||
/// Creates a data connection between the client and the
|
||||
/// server. If passive mode is on, then the server waits for
|
||||
/// a connection request from the client. Otherwise, the
|
||||
/// client waits for a connection request from the server.
|
||||
/// After establishing the data connection, a SocketStream
|
||||
/// for transferring the data is created.
|
||||
///
|
||||
/// If ASCII transfer mode is selected, the caller is
|
||||
/// responsible for converting the data to be sent
|
||||
/// into network (CR-LF line endings) format.
|
||||
/// The OutputLineEndingConverter class from the Foundation
|
||||
/// library can be used for that purpose.
|
||||
|
||||
void endUpload();
|
||||
/// Must be called to complete an upload initiated with
|
||||
/// beginUpload().
|
||||
|
||||
std::istream& beginList(const std::string& path = "", bool extended = false);
|
||||
/// Starts downloading a directory listing.
|
||||
/// After all data has been read from the returned stream,
|
||||
/// endList() must be called to finish the download.
|
||||
///
|
||||
/// A stream for reading the directory data is returned.
|
||||
/// The stream is valid until endList() is called.
|
||||
///
|
||||
/// Optionally, a path to a directory or file can be specified.
|
||||
/// According to the FTP protocol, if a path to a filename is
|
||||
/// given, only information for the specific file is returned.
|
||||
/// If a path to a directory is given, a listing of that directory
|
||||
/// is returned. If no path is given, a listing of the current
|
||||
/// working directory is returned.
|
||||
///
|
||||
/// If extended is false, only a filenames (one per line) are
|
||||
/// returned. Otherwise, a full directory listing including
|
||||
/// file attributes is returned. The format of this listing
|
||||
/// depends on the FTP server. No attempt is made to interpret
|
||||
/// this data.
|
||||
///
|
||||
/// Creates a data connection between the client and the
|
||||
/// server. If passive mode is on, then the server waits for
|
||||
/// a connection request from the client. Otherwise, the
|
||||
/// client waits for a connection request from the server.
|
||||
/// After establishing the data connection, a SocketStream
|
||||
/// for transferring the data is created.
|
||||
|
||||
void endList();
|
||||
/// Must be called to complete a directory listing download
|
||||
/// initiated with beginList().
|
||||
|
||||
void abort();
|
||||
/// Aborts the download or upload currently in progress.
|
||||
///
|
||||
/// Sends a TELNET IP/SYNCH sequence, followed by an ABOR
|
||||
/// command to the server.
|
||||
///
|
||||
/// A separate call to endDownload() or endUpload() is
|
||||
/// not necessary.
|
||||
|
||||
int sendCommand(const std::string& command, std::string& response);
|
||||
/// Sends the given command verbatim to the server
|
||||
/// and waits for a response.
|
||||
|
||||
int sendCommand(const std::string& command, const std::string& arg, std::string& response);
|
||||
/// Sends the given command verbatim to the server
|
||||
/// and waits for a response.
|
||||
|
||||
bool isOpen() const;
|
||||
/// Returns true if the connection with FTP server is opened.
|
||||
|
||||
bool isLoggedIn() const;
|
||||
/// Returns true if the session is logged in.
|
||||
|
||||
bool isSecure() const;
|
||||
/// Returns true if the session is FTPS.
|
||||
|
||||
const std::string& welcomeMessage();
|
||||
/// Returns the welcome message.
|
||||
|
||||
protected:
|
||||
virtual void receiveServerReadyReply();
|
||||
|
||||
enum StatusClass
|
||||
{
|
||||
FTP_POSITIVE_PRELIMINARY = 1,
|
||||
FTP_POSITIVE_COMPLETION = 2,
|
||||
FTP_POSITIVE_INTERMEDIATE = 3,
|
||||
FTP_TRANSIENT_NEGATIVE = 4,
|
||||
FTP_PERMANENT_NEGATIVE = 5
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
DEFAULT_TIMEOUT = 30000000 // 30 seconds default timeout for socket operations
|
||||
};
|
||||
|
||||
static bool isPositivePreliminary(int status);
|
||||
static bool isPositiveCompletion(int status);
|
||||
static bool isPositiveIntermediate(int status);
|
||||
static bool isTransientNegative(int status);
|
||||
static bool isPermanentNegative(int status);
|
||||
std::string extractPath(const std::string& response);
|
||||
virtual StreamSocket establishDataConnection(const std::string& command, const std::string& arg);
|
||||
StreamSocket activeDataConnection(const std::string& command, const std::string& arg);
|
||||
StreamSocket passiveDataConnection(const std::string& command, const std::string& arg);
|
||||
void sendPortCommand(const SocketAddress& addr);
|
||||
SocketAddress sendPassiveCommand();
|
||||
bool sendEPRT(const SocketAddress& addr);
|
||||
void sendPORT(const SocketAddress& addr);
|
||||
bool sendEPSV(SocketAddress& addr);
|
||||
void sendPASV(SocketAddress& addr);
|
||||
void parseAddress(const std::string& str, SocketAddress& addr);
|
||||
void parseExtAddress(const std::string& str, SocketAddress& addr);
|
||||
void endTransfer();
|
||||
|
||||
DialogSocket* _pControlSocket = nullptr;
|
||||
SocketStream* _pDataStream = nullptr;
|
||||
|
||||
private:
|
||||
FTPClientSession(const FTPClientSession&);
|
||||
FTPClientSession& operator = (const FTPClientSession&);
|
||||
|
||||
std::string _host;
|
||||
Poco::UInt16 _port = FTP_PORT;
|
||||
bool _passiveMode = true;
|
||||
FileType _fileType = TYPE_BINARY;
|
||||
bool _supports1738 = true;
|
||||
bool _serverReady = false;
|
||||
bool _isLoggedIn = false;
|
||||
Poco::Timespan _timeout = DEFAULT_TIMEOUT;
|
||||
std::string _welcomeMessage;
|
||||
Poco::FastMutex _wmMutex;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline bool FTPClientSession::isPositivePreliminary(int status)
|
||||
{
|
||||
return status/100 == FTP_POSITIVE_PRELIMINARY;
|
||||
}
|
||||
|
||||
|
||||
inline bool FTPClientSession::isPositiveCompletion(int status)
|
||||
{
|
||||
return status/100 == FTP_POSITIVE_COMPLETION;
|
||||
}
|
||||
|
||||
|
||||
inline bool FTPClientSession::isPositiveIntermediate(int status)
|
||||
{
|
||||
return status/100 == FTP_POSITIVE_INTERMEDIATE;
|
||||
}
|
||||
|
||||
|
||||
inline bool FTPClientSession::isTransientNegative(int status)
|
||||
{
|
||||
return status/100 == FTP_TRANSIENT_NEGATIVE;
|
||||
}
|
||||
|
||||
|
||||
inline bool FTPClientSession::isPermanentNegative(int status)
|
||||
{
|
||||
return status/100 == FTP_PERMANENT_NEGATIVE;
|
||||
}
|
||||
|
||||
|
||||
inline bool FTPClientSession::isOpen() const
|
||||
{
|
||||
return _pControlSocket != 0;
|
||||
}
|
||||
|
||||
|
||||
inline bool FTPClientSession::isLoggedIn() const
|
||||
{
|
||||
return _isLoggedIn;
|
||||
}
|
||||
|
||||
|
||||
inline bool FTPClientSession::isSecure() const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& FTPClientSession::welcomeMessage()
|
||||
{
|
||||
Poco::FastMutex::ScopedLock lock(_wmMutex);
|
||||
return _welcomeMessage;
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_FTPClientSession_INCLUDED
|
||||
120
vendor/POCO/Net/include/Poco/Net/FTPStreamFactory.h
vendored
Normal file
120
vendor/POCO/Net/include/Poco/Net/FTPStreamFactory.h
vendored
Normal file
@@ -0,0 +1,120 @@
|
||||
//
|
||||
// FTPStreamFactory.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: FTP
|
||||
// Module: FTPStreamFactory
|
||||
//
|
||||
// Definition of the FTPStreamFactory class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_FTPStreamFactory_INCLUDED
|
||||
#define Net_FTPStreamFactory_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/HTTPSession.h"
|
||||
#include "Poco/URIStreamFactory.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API FTPPasswordProvider
|
||||
/// The base class for all password providers.
|
||||
/// An instance of a subclass of this class can be
|
||||
/// registered with the FTPStreamFactory to
|
||||
/// provide a password.
|
||||
{
|
||||
public:
|
||||
virtual std::string password(const std::string& username, const std::string& host) = 0;
|
||||
/// Provide the password for the given user on the given host.
|
||||
|
||||
protected:
|
||||
FTPPasswordProvider();
|
||||
virtual ~FTPPasswordProvider();
|
||||
};
|
||||
|
||||
|
||||
class Net_API FTPStreamFactory: public Poco::URIStreamFactory
|
||||
/// An implementation of the URIStreamFactory interface
|
||||
/// that handles File Transfer Protocol (ftp) URIs.
|
||||
///
|
||||
/// The URI's path may end with an optional type specification
|
||||
/// in the form (;type=<typecode>), where <typecode> is
|
||||
/// one of a, i or d. If type=a, the file identified by the path
|
||||
/// is transferred in ASCII (text) mode. If type=i, the file
|
||||
/// is transferred in Image (binary) mode. If type=d, a directory
|
||||
/// listing (in NLST format) is returned. This corresponds with
|
||||
/// the FTP URL format specified in RFC 1738.
|
||||
///
|
||||
/// If the URI does not contain a username and password, the
|
||||
/// username "anonymous" and the password "poco@localhost".
|
||||
{
|
||||
public:
|
||||
FTPStreamFactory();
|
||||
/// Creates the FTPStreamFactory.
|
||||
|
||||
~FTPStreamFactory();
|
||||
/// Destroys the FTPStreamFactory.
|
||||
|
||||
std::istream* open(const Poco::URI& uri);
|
||||
/// Creates and opens a HTTP stream for the given URI.
|
||||
/// The URI must be a ftp://... URI.
|
||||
///
|
||||
/// Throws a NetException if anything goes wrong.
|
||||
|
||||
static void setAnonymousPassword(const std::string& password);
|
||||
/// Sets the password used for anonymous FTP.
|
||||
///
|
||||
/// WARNING: Setting the anonymous password is not
|
||||
/// thread-safe, so it's best to call this method
|
||||
/// during application initialization, before the
|
||||
/// FTPStreamFactory is used for the first time.
|
||||
|
||||
static const std::string& getAnonymousPassword();
|
||||
/// Returns the password used for anonymous FTP.
|
||||
|
||||
static void setPasswordProvider(FTPPasswordProvider* pProvider);
|
||||
/// Sets the FTPPasswordProvider. If NULL is given,
|
||||
/// no password provider is used.
|
||||
///
|
||||
/// WARNING: Setting the password provider is not
|
||||
/// thread-safe, so it's best to call this method
|
||||
/// during application initialization, before the
|
||||
/// FTPStreamFactory is used for the first time.
|
||||
|
||||
static FTPPasswordProvider* getPasswordProvider();
|
||||
/// Returns the FTPPasswordProvider currently in use,
|
||||
/// or NULL if no one has been set.
|
||||
|
||||
static void registerFactory();
|
||||
/// Registers the FTPStreamFactory with the
|
||||
/// default URIStreamOpener instance.
|
||||
|
||||
static void unregisterFactory();
|
||||
/// Unregisters the FTPStreamFactory with the
|
||||
/// default URIStreamOpener instance.
|
||||
|
||||
protected:
|
||||
static void splitUserInfo(const std::string& userInfo, std::string& username, std::string& password);
|
||||
static void getUserInfo(const Poco::URI& uri, std::string& username, std::string& password);
|
||||
static void getPathAndType(const Poco::URI& uri, std::string& path, char& type);
|
||||
|
||||
private:
|
||||
static std::string _anonymousPassword;
|
||||
static FTPPasswordProvider* _pPasswordProvider;
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_FTPStreamFactory_INCLUDED
|
||||
77
vendor/POCO/Net/include/Poco/Net/FilePartSource.h
vendored
Normal file
77
vendor/POCO/Net/include/Poco/Net/FilePartSource.h
vendored
Normal file
@@ -0,0 +1,77 @@
|
||||
//
|
||||
// FilePartSource.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: Messages
|
||||
// Module: FilePartSource
|
||||
//
|
||||
// Definition of the FilePartSource class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_FilePartSource_INCLUDED
|
||||
#define Net_FilePartSource_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/PartSource.h"
|
||||
#include "Poco/FileStream.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API FilePartSource: public PartSource
|
||||
/// An implementation of PartSource for
|
||||
/// plain files.
|
||||
{
|
||||
public:
|
||||
FilePartSource(const std::string& path);
|
||||
/// Creates the FilePartSource for the given path.
|
||||
///
|
||||
/// The MIME type is set to application/octet-stream.
|
||||
///
|
||||
/// Throws an OpenFileException if the file cannot be opened.
|
||||
|
||||
FilePartSource(const std::string& path, const std::string& mediaType);
|
||||
/// Creates the FilePartSource for the given
|
||||
/// path and MIME type.
|
||||
///
|
||||
/// Throws an OpenFileException if the file cannot be opened.
|
||||
|
||||
FilePartSource(const std::string& path, const std::string& filename, const std::string& mediaType);
|
||||
/// Creates the FilePartSource for the given
|
||||
/// path and MIME type. The given filename is
|
||||
/// used as part filename (see filename()) only.
|
||||
///
|
||||
/// Throws an OpenFileException if the file cannot be opened.
|
||||
|
||||
~FilePartSource();
|
||||
/// Destroys the FilePartSource.
|
||||
|
||||
std::istream& stream();
|
||||
/// Returns a file input stream for the given file.
|
||||
|
||||
const std::string& filename() const;
|
||||
/// Returns the filename portion of the path.
|
||||
|
||||
std::streamsize getContentLength() const;
|
||||
/// Returns the file size.
|
||||
|
||||
private:
|
||||
std::string _path;
|
||||
std::string _filename;
|
||||
Poco::FileInputStream _istr;
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_FilePartSource_INCLUDED
|
||||
272
vendor/POCO/Net/include/Poco/Net/HTMLForm.h
vendored
Normal file
272
vendor/POCO/Net/include/Poco/Net/HTMLForm.h
vendored
Normal file
@@ -0,0 +1,272 @@
|
||||
//
|
||||
// HTMLForm.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTML
|
||||
// Module: HTMLForm
|
||||
//
|
||||
// Definition of the HTMLForm class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HTMLForm_INCLUDED
|
||||
#define Net_HTMLForm_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/NameValueCollection.h"
|
||||
#include <ostream>
|
||||
#include <istream>
|
||||
#include <vector>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class HTTPRequest;
|
||||
class PartHandler;
|
||||
class PartSource;
|
||||
|
||||
|
||||
class Net_API HTMLForm: public NameValueCollection
|
||||
/// HTMLForm is a helper class for working with HTML forms,
|
||||
/// both on the client and on the server side.
|
||||
///
|
||||
/// The maximum number of form fields can be restricted
|
||||
/// by calling setFieldLimit(). This is useful to
|
||||
/// defend against certain kinds of denial-of-service
|
||||
/// attacks. The limit is only enforced when parsing
|
||||
/// form data from a stream or string, not when adding
|
||||
/// form fields programmatically. The default limit is 100.
|
||||
{
|
||||
public:
|
||||
enum Options
|
||||
{
|
||||
OPT_USE_CONTENT_LENGTH = 0x01
|
||||
/// Don't use Chunked Transfer-Encoding for multipart requests.
|
||||
};
|
||||
|
||||
HTMLForm();
|
||||
/// Creates an empty HTMLForm and sets the
|
||||
/// encoding to "application/x-www-form-urlencoded".
|
||||
|
||||
explicit HTMLForm(const std::string& encoding);
|
||||
/// Creates an empty HTMLForm that uses
|
||||
/// the given encoding.
|
||||
///
|
||||
/// Encoding must be either "application/x-www-form-urlencoded"
|
||||
/// (which is the default) or "multipart/form-data".
|
||||
|
||||
HTMLForm(const HTTPRequest& request, std::istream& requestBody, PartHandler& handler);
|
||||
/// Creates a HTMLForm from the given HTTP request.
|
||||
///
|
||||
/// Uploaded files are passed to the given PartHandler.
|
||||
|
||||
HTMLForm(const HTTPRequest& request, std::istream& requestBody);
|
||||
/// Creates a HTMLForm from the given HTTP request.
|
||||
///
|
||||
/// Uploaded files are silently discarded.
|
||||
|
||||
explicit HTMLForm(const HTTPRequest& request);
|
||||
/// Creates a HTMLForm from the given HTTP request.
|
||||
///
|
||||
/// The request must be a GET request and the form data
|
||||
/// must be in the query string (URL encoded).
|
||||
///
|
||||
/// For POST requests, you must use one of the constructors
|
||||
/// taking an additional input stream for the request body.
|
||||
|
||||
~HTMLForm();
|
||||
/// Destroys the HTMLForm.
|
||||
|
||||
void setEncoding(const std::string& encoding);
|
||||
/// Sets the encoding used for posting the form.
|
||||
///
|
||||
/// Encoding must be either "application/x-www-form-urlencoded"
|
||||
/// (which is the default) or "multipart/form-data".
|
||||
|
||||
const std::string& getEncoding() const;
|
||||
/// Returns the encoding used for posting the form.
|
||||
|
||||
void addPart(const std::string& name, PartSource* pSource);
|
||||
/// Adds an part/attachment (file upload) to the form.
|
||||
///
|
||||
/// The form takes ownership of the PartSource and deletes it
|
||||
/// when it is no longer needed.
|
||||
///
|
||||
/// The part will only be sent if the encoding
|
||||
/// set for the form is "multipart/form-data"
|
||||
|
||||
void load(const HTTPRequest& request, std::istream& requestBody, PartHandler& handler);
|
||||
/// Reads the form data from the given HTTP request.
|
||||
///
|
||||
/// Uploaded files are passed to the given PartHandler.
|
||||
|
||||
void load(const HTTPRequest& request, std::istream& requestBody);
|
||||
/// Reads the form data from the given HTTP request.
|
||||
///
|
||||
/// Uploaded files are silently discarded.
|
||||
|
||||
void load(const HTTPRequest& request);
|
||||
/// Reads the form data from the given HTTP request.
|
||||
///
|
||||
/// The request must be a GET request and the form data
|
||||
/// must be in the query string (URL encoded).
|
||||
///
|
||||
/// For POST requests, you must use one of the overloads
|
||||
/// taking an additional input stream for the request body.
|
||||
|
||||
void read(std::istream& istr, PartHandler& handler);
|
||||
/// Reads the form data from the given input stream.
|
||||
///
|
||||
/// The form data read from the stream must be
|
||||
/// in the encoding specified for the form.
|
||||
///
|
||||
/// Note that read() does not clear the form before
|
||||
/// reading the new values.
|
||||
|
||||
void read(std::istream& istr);
|
||||
/// Reads the URL-encoded form data from the given input stream.
|
||||
///
|
||||
/// Note that read() does not clear the form before
|
||||
/// reading the new values.
|
||||
|
||||
void read(const std::string& queryString);
|
||||
/// Reads the form data from the given HTTP query string.
|
||||
///
|
||||
/// Note that read() does not clear the form before
|
||||
/// reading the new values.
|
||||
|
||||
void prepareSubmit(HTTPRequest& request, int options = 0);
|
||||
/// Fills out the request object for submitting the form.
|
||||
///
|
||||
/// If the request method is GET, the encoded form is appended to the
|
||||
/// request URI as query string. Otherwise (the method is
|
||||
/// POST), the form's content type is set to the form's encoding.
|
||||
/// The form's parameters must be written to the
|
||||
/// request body separately, with a call to write.
|
||||
/// If the request's HTTP version is HTTP/1.0:
|
||||
/// - persistent connections are disabled
|
||||
/// - the content transfer encoding is set to identity encoding
|
||||
/// Otherwise, if the request's HTTP version is HTTP/1.1:
|
||||
/// - the request's persistent connection state is left unchanged
|
||||
/// - the content transfer encoding is set to chunked, unless
|
||||
/// the OPT_USE_CONTENT_LENGTH is given in options
|
||||
///
|
||||
/// Note: Not using chunked transfer encoding for multipart forms
|
||||
/// degrades performance, as the request content must be generated
|
||||
/// twice, first to determine its size, then to actually send it.
|
||||
|
||||
std::streamsize calculateContentLength();
|
||||
/// Calculate the content length for the form.
|
||||
/// May be UNKNOWN_CONTENT_LENGTH if not possible
|
||||
/// to calculate
|
||||
|
||||
void write(std::ostream& ostr, const std::string& boundary);
|
||||
/// Writes the form data to the given output stream,
|
||||
/// using the specified encoding.
|
||||
|
||||
void write(std::ostream& ostr);
|
||||
/// Writes the form data to the given output stream,
|
||||
/// using the specified encoding.
|
||||
|
||||
const std::string& boundary() const;
|
||||
/// Returns the MIME boundary used for writing
|
||||
/// multipart form data.
|
||||
|
||||
int getFieldLimit() const;
|
||||
/// Returns the maximum number of header fields
|
||||
/// allowed.
|
||||
///
|
||||
/// See setFieldLimit() for more information.
|
||||
|
||||
void setFieldLimit(int limit);
|
||||
/// Sets the maximum number of header fields
|
||||
/// allowed. This limit is used to defend certain
|
||||
/// kinds of denial-of-service attacks.
|
||||
/// Specify 0 for unlimited (not recommended).
|
||||
///
|
||||
/// The default limit is 100.
|
||||
|
||||
void setValueLengthLimit(int limit);
|
||||
/// Sets the maximum size for form field values
|
||||
/// stored as strings.
|
||||
|
||||
int getValueLengthLimit() const;
|
||||
/// Returns the maximum size for form field values
|
||||
/// stored as strings.
|
||||
|
||||
static const std::string ENCODING_URL; /// "application/x-www-form-urlencoded"
|
||||
static const std::string ENCODING_MULTIPART; /// "multipart/form-data"
|
||||
static const int UNKNOWN_CONTENT_LENGTH;
|
||||
|
||||
protected:
|
||||
void readUrl(std::istream& istr);
|
||||
void readMultipart(std::istream& istr, PartHandler& handler);
|
||||
void writeUrl(std::ostream& ostr);
|
||||
void writeMultipart(std::ostream& ostr);
|
||||
|
||||
private:
|
||||
HTMLForm(const HTMLForm&);
|
||||
HTMLForm& operator = (const HTMLForm&);
|
||||
|
||||
enum Limits
|
||||
{
|
||||
DFL_FIELD_LIMIT = 100,
|
||||
MAX_NAME_LENGTH = 1024,
|
||||
DFL_MAX_VALUE_LENGTH = 256*1024
|
||||
};
|
||||
|
||||
struct Part
|
||||
{
|
||||
std::string name;
|
||||
PartSource* pSource;
|
||||
};
|
||||
|
||||
typedef std::vector<Part> PartVec;
|
||||
|
||||
int _fieldLimit;
|
||||
int _valueLengthLimit;
|
||||
std::string _encoding;
|
||||
std::string _boundary;
|
||||
PartVec _parts;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline const std::string& HTMLForm::getEncoding() const
|
||||
{
|
||||
return _encoding;
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& HTMLForm::boundary() const
|
||||
{
|
||||
return _boundary;
|
||||
}
|
||||
|
||||
|
||||
inline int HTMLForm::getFieldLimit() const
|
||||
{
|
||||
return _fieldLimit;
|
||||
}
|
||||
|
||||
|
||||
inline int HTMLForm::getValueLengthLimit() const
|
||||
{
|
||||
return _valueLengthLimit;
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HTMLForm_INCLUDED
|
||||
107
vendor/POCO/Net/include/Poco/Net/HTTPAuthenticationParams.h
vendored
Normal file
107
vendor/POCO/Net/include/Poco/Net/HTTPAuthenticationParams.h
vendored
Normal file
@@ -0,0 +1,107 @@
|
||||
//
|
||||
// HTTPAuthenticationParams.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTP
|
||||
// Module: HTTPAuthenticationParams
|
||||
//
|
||||
// Definition of the HTTPAuthenticationParams class.
|
||||
//
|
||||
// Copyright (c) 2011, Anton V. Yabchinskiy (arn at bestmx dot ru).
|
||||
// Copyright (c) 2012, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HTTPAuthenticationParams_INCLUDED
|
||||
#define Net_HTTPAuthenticationParams_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/NameValueCollection.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class HTTPRequest;
|
||||
class HTTPResponse;
|
||||
|
||||
|
||||
class Net_API HTTPAuthenticationParams: public NameValueCollection
|
||||
/// Collection of name-value pairs of HTTP authentication header (i.e.
|
||||
/// "realm", "qop", "nonce" in case of digest authentication header).
|
||||
///
|
||||
/// For NTLM, the base64-encoded NTLM message is available from
|
||||
/// the "NTLM" property.
|
||||
{
|
||||
public:
|
||||
HTTPAuthenticationParams();
|
||||
/// Creates an empty authentication parameters collection.
|
||||
|
||||
explicit HTTPAuthenticationParams(const std::string& authInfo);
|
||||
/// See fromAuthInfo() documentation.
|
||||
|
||||
explicit HTTPAuthenticationParams(const HTTPRequest& request);
|
||||
/// See fromRequest() documentation.
|
||||
|
||||
HTTPAuthenticationParams(const HTTPResponse& response, const std::string& header = WWW_AUTHENTICATE);
|
||||
/// See fromResponse() documentation.
|
||||
|
||||
virtual ~HTTPAuthenticationParams();
|
||||
/// Destroys the HTTPAuthenticationParams.
|
||||
|
||||
HTTPAuthenticationParams& operator = (const HTTPAuthenticationParams& authParams);
|
||||
/// Assigns the content of another HTTPAuthenticationParams.
|
||||
|
||||
void fromAuthInfo(const std::string& authInfo);
|
||||
/// Creates an HTTPAuthenticationParams by parsing authentication
|
||||
/// information.
|
||||
|
||||
void fromRequest(const HTTPRequest& request);
|
||||
/// Extracts authentication information from the request and creates
|
||||
/// HTTPAuthenticationParams by parsing it.
|
||||
///
|
||||
/// Throws a NotAuthenticatedException if no authentication
|
||||
/// information is contained in request.
|
||||
/// Throws a InvalidArgumentException if authentication scheme is
|
||||
/// unknown or invalid.
|
||||
|
||||
void fromResponse(const HTTPResponse& response, const std::string& header = WWW_AUTHENTICATE);
|
||||
/// Extracts authentication information from the response and creates
|
||||
/// HTTPAuthenticationParams by parsing it.
|
||||
///
|
||||
/// Throws a NotAuthenticatedException if no authentication
|
||||
/// information is contained in response.
|
||||
/// Throws a InvalidArgumentException if authentication scheme is
|
||||
/// unknown or invalid.
|
||||
|
||||
void setRealm(const std::string& realm);
|
||||
/// Sets the "realm" parameter to the provided string.
|
||||
|
||||
const std::string& getRealm() const;
|
||||
/// Returns value of the "realm" parameter.
|
||||
///
|
||||
/// Throws NotFoundException is there is no "realm" set in the
|
||||
/// HTTPAuthenticationParams.
|
||||
|
||||
std::string toString() const;
|
||||
/// Formats the HTTPAuthenticationParams for inclusion in HTTP
|
||||
/// request or response authentication header.
|
||||
|
||||
static const std::string REALM;
|
||||
static const std::string NTLM;
|
||||
static const std::string WWW_AUTHENTICATE;
|
||||
static const std::string PROXY_AUTHENTICATE;
|
||||
|
||||
private:
|
||||
void parse(std::string::const_iterator first, std::string::const_iterator last);
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HTTPAuthenticationParams_INCLUDED
|
||||
123
vendor/POCO/Net/include/Poco/Net/HTTPBasicCredentials.h
vendored
Normal file
123
vendor/POCO/Net/include/Poco/Net/HTTPBasicCredentials.h
vendored
Normal file
@@ -0,0 +1,123 @@
|
||||
//
|
||||
// HTTPBasicCredentials.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTP
|
||||
// Module: HTTPBasicCredentials
|
||||
//
|
||||
// Definition of the HTTPBasicCredentials class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HTTPBasicCredentials_INCLUDED
|
||||
#define Net_HTTPBasicCredentials_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class HTTPRequest;
|
||||
|
||||
|
||||
class Net_API HTTPBasicCredentials
|
||||
/// This is a utility class for working with
|
||||
/// HTTP Basic Authentication in HTTPRequest
|
||||
/// objects.
|
||||
{
|
||||
public:
|
||||
HTTPBasicCredentials();
|
||||
/// Creates an empty HTTPBasicCredentials object.
|
||||
|
||||
HTTPBasicCredentials(const std::string& username, const std::string& password);
|
||||
/// Creates a HTTPBasicCredentials object with the given username and password.
|
||||
|
||||
explicit HTTPBasicCredentials(const HTTPRequest& request);
|
||||
/// Creates a HTTPBasicCredentials object with the authentication information
|
||||
/// from the given request.
|
||||
///
|
||||
/// Throws a NotAuthenticatedException if the request does
|
||||
/// not contain basic authentication information.
|
||||
|
||||
explicit HTTPBasicCredentials(const std::string& authInfo);
|
||||
/// Creates a HTTPBasicCredentials object with the authentication information
|
||||
/// in the given string. The authentication information can be extracted
|
||||
/// from a HTTPRequest object by calling HTTPRequest::getCredentials().
|
||||
|
||||
~HTTPBasicCredentials();
|
||||
/// Destroys the HTTPBasicCredentials.
|
||||
|
||||
void clear();
|
||||
/// Clears both username and password.
|
||||
|
||||
void setUsername(const std::string& username);
|
||||
/// Sets the username.
|
||||
|
||||
const std::string& getUsername() const;
|
||||
/// Returns the username.
|
||||
|
||||
void setPassword(const std::string& password);
|
||||
/// Sets the password.
|
||||
|
||||
const std::string& getPassword() const;
|
||||
/// Returns the password.
|
||||
|
||||
bool empty() const;
|
||||
/// Returns true if both username and password are empty, otherwise false.
|
||||
|
||||
void authenticate(HTTPRequest& request) const;
|
||||
/// Adds authentication information to the given HTTPRequest.
|
||||
|
||||
void proxyAuthenticate(HTTPRequest& request) const;
|
||||
/// Adds proxy authentication information to the given HTTPRequest.
|
||||
|
||||
static const std::string SCHEME;
|
||||
|
||||
protected:
|
||||
void parseAuthInfo(const std::string& authInfo);
|
||||
/// Extracts username and password from Basic authentication info
|
||||
/// by base64-decoding authInfo and splitting the resulting
|
||||
/// string at the ':' delimiter.
|
||||
|
||||
private:
|
||||
HTTPBasicCredentials(const HTTPBasicCredentials&);
|
||||
HTTPBasicCredentials& operator = (const HTTPBasicCredentials&);
|
||||
|
||||
std::string _username;
|
||||
std::string _password;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline const std::string& HTTPBasicCredentials::getUsername() const
|
||||
{
|
||||
return _username;
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& HTTPBasicCredentials::getPassword() const
|
||||
{
|
||||
return _password;
|
||||
}
|
||||
|
||||
|
||||
inline bool HTTPBasicCredentials::empty() const
|
||||
{
|
||||
return _username.empty() && _password.empty();
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HTTPBasicCredentials_INCLUDED
|
||||
36
vendor/POCO/Net/include/Poco/Net/HTTPBasicStreamBuf.h
vendored
Normal file
36
vendor/POCO/Net/include/Poco/Net/HTTPBasicStreamBuf.h
vendored
Normal file
@@ -0,0 +1,36 @@
|
||||
//
|
||||
// HTTPBasicStreamBuf.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTP
|
||||
// Module: HTTPBasicStreamBuf
|
||||
//
|
||||
// Definition of the HTTPBasicStreamBuf class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HTTPBasicStreamBuf_INCLUDED
|
||||
#define Net_HTTPBasicStreamBuf_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/BufferedStreamBuf.h"
|
||||
#include "Poco/Net/HTTPBufferAllocator.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
using HTTPBasicStreamBuf = Poco::BasicBufferedStreamBuf<char, std::char_traits<char>, HTTPBufferAllocator>;
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HTTPBasicStreamBuf_INCLUDED
|
||||
50
vendor/POCO/Net/include/Poco/Net/HTTPBufferAllocator.h
vendored
Normal file
50
vendor/POCO/Net/include/Poco/Net/HTTPBufferAllocator.h
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
//
|
||||
// HTTPBufferAllocator.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTP
|
||||
// Module: HTTPBufferAllocator
|
||||
//
|
||||
// Definition of the HTTPBufferAllocator class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HTTPBufferAllocator_INCLUDED
|
||||
#define Net_HTTPBufferAllocator_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/MemoryPool.h"
|
||||
#include <ios>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API HTTPBufferAllocator
|
||||
/// A BufferAllocator for HTTP streams.
|
||||
{
|
||||
public:
|
||||
static char* allocate(std::streamsize size);
|
||||
static void deallocate(char* ptr, std::streamsize size);
|
||||
|
||||
enum
|
||||
{
|
||||
BUFFER_SIZE = 4096
|
||||
};
|
||||
|
||||
private:
|
||||
static Poco::MemoryPool _pool;
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HTTPBufferAllocator_INCLUDED
|
||||
105
vendor/POCO/Net/include/Poco/Net/HTTPChunkedStream.h
vendored
Normal file
105
vendor/POCO/Net/include/Poco/Net/HTTPChunkedStream.h
vendored
Normal file
@@ -0,0 +1,105 @@
|
||||
//
|
||||
// HTTPChunkedStream.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTP
|
||||
// Module: HTTPChunkedStream
|
||||
//
|
||||
// Definition of the HTTPChunkedStream class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HTTPChunkedStream_INCLUDED
|
||||
#define Net_HTTPChunkedStream_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/HTTPBasicStreamBuf.h"
|
||||
#include "Poco/MemoryPool.h"
|
||||
#include <cstddef>
|
||||
#include <istream>
|
||||
#include <ostream>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class HTTPSession;
|
||||
|
||||
|
||||
class Net_API HTTPChunkedStreamBuf: public HTTPBasicStreamBuf
|
||||
/// This is the streambuf class used for reading and writing
|
||||
/// HTTP message bodies in chunked transfer coding.
|
||||
{
|
||||
public:
|
||||
using openmode = HTTPBasicStreamBuf::openmode;
|
||||
|
||||
HTTPChunkedStreamBuf(HTTPSession& session, openmode mode);
|
||||
~HTTPChunkedStreamBuf();
|
||||
void close();
|
||||
|
||||
protected:
|
||||
int readFromDevice(char* buffer, std::streamsize length);
|
||||
int writeToDevice(const char* buffer, std::streamsize length);
|
||||
|
||||
private:
|
||||
HTTPSession& _session;
|
||||
openmode _mode;
|
||||
std::streamsize _chunk;
|
||||
std::string _chunkBuffer;
|
||||
};
|
||||
|
||||
|
||||
class Net_API HTTPChunkedIOS: public virtual std::ios
|
||||
/// The base class for HTTPInputStream.
|
||||
{
|
||||
public:
|
||||
HTTPChunkedIOS(HTTPSession& session, HTTPChunkedStreamBuf::openmode mode);
|
||||
~HTTPChunkedIOS();
|
||||
HTTPChunkedStreamBuf* rdbuf();
|
||||
|
||||
protected:
|
||||
HTTPChunkedStreamBuf _buf;
|
||||
};
|
||||
|
||||
|
||||
class Net_API HTTPChunkedInputStream: public HTTPChunkedIOS, public std::istream
|
||||
/// This class is for internal use by HTTPSession only.
|
||||
{
|
||||
public:
|
||||
HTTPChunkedInputStream(HTTPSession& session);
|
||||
~HTTPChunkedInputStream();
|
||||
|
||||
void* operator new(std::size_t size);
|
||||
void operator delete(void* ptr);
|
||||
|
||||
private:
|
||||
static Poco::MemoryPool _pool;
|
||||
};
|
||||
|
||||
|
||||
class Net_API HTTPChunkedOutputStream: public HTTPChunkedIOS, public std::ostream
|
||||
/// This class is for internal use by HTTPSession only.
|
||||
{
|
||||
public:
|
||||
HTTPChunkedOutputStream(HTTPSession& session);
|
||||
~HTTPChunkedOutputStream();
|
||||
|
||||
void* operator new(std::size_t size);
|
||||
void operator delete(void* ptr);
|
||||
|
||||
private:
|
||||
static Poco::MemoryPool _pool;
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HTTPChunkedStream_INCLUDED
|
||||
423
vendor/POCO/Net/include/Poco/Net/HTTPClientSession.h
vendored
Normal file
423
vendor/POCO/Net/include/Poco/Net/HTTPClientSession.h
vendored
Normal file
@@ -0,0 +1,423 @@
|
||||
//
|
||||
// HTTPClientSession.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTPClient
|
||||
// Module: HTTPClientSession
|
||||
//
|
||||
// Definition of the HTTPClientSession class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HTTPClientSession_INCLUDED
|
||||
#define Net_HTTPClientSession_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/HTTPSession.h"
|
||||
#include "Poco/Net/HTTPBasicCredentials.h"
|
||||
#include "Poco/Net/HTTPDigestCredentials.h"
|
||||
#include "Poco/Net/HTTPNTLMCredentials.h"
|
||||
#include "Poco/Net/SocketAddress.h"
|
||||
#include "Poco/SharedPtr.h"
|
||||
#include <istream>
|
||||
#include <ostream>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class HTTPRequest;
|
||||
class HTTPResponse;
|
||||
|
||||
|
||||
class Net_API HTTPClientSession: public HTTPSession
|
||||
/// This class implements the client-side of
|
||||
/// a HTTP session.
|
||||
///
|
||||
/// To send a HTTP request to a HTTP server, first
|
||||
/// instantiate a HTTPClientSession object and
|
||||
/// specify the server's host name and port number.
|
||||
///
|
||||
/// Then create a HTTPRequest object, fill it accordingly,
|
||||
/// and pass it as argument to the sendRequest() method.
|
||||
///
|
||||
/// sendRequest() will return an output stream that can
|
||||
/// be used to send the request body, if there is any.
|
||||
///
|
||||
/// After you are done sending the request body, create
|
||||
/// a HTTPResponse object and pass it to receiveResponse().
|
||||
///
|
||||
/// This will return an input stream that can be used to
|
||||
/// read the response body.
|
||||
///
|
||||
/// See RFC 2616 <http://www.faqs.org/rfcs/rfc2616.html> for more
|
||||
/// information about the HTTP protocol.
|
||||
///
|
||||
/// Proxies and proxy authorization (only HTTP Basic Authorization)
|
||||
/// is supported. Use setProxy() and setProxyCredentials() to
|
||||
/// set up a session through a proxy.
|
||||
{
|
||||
public:
|
||||
enum ProxyAuthentication
|
||||
{
|
||||
PROXY_AUTH_NONE, /// No proxy authentication
|
||||
PROXY_AUTH_HTTP_BASIC, /// HTTP Basic proxy authentication (default, if username and password are supplied)
|
||||
PROXY_AUTH_HTTP_DIGEST, /// HTTP Digest proxy authentication
|
||||
PROXY_AUTH_NTLM /// NTLMv2 proxy authentication
|
||||
};
|
||||
|
||||
struct ProxyConfig
|
||||
/// HTTP proxy server configuration.
|
||||
{
|
||||
ProxyConfig():
|
||||
port(HTTP_PORT),
|
||||
authMethod(PROXY_AUTH_HTTP_BASIC)
|
||||
{
|
||||
}
|
||||
|
||||
std::string host;
|
||||
/// Proxy server host name or IP address.
|
||||
Poco::UInt16 port;
|
||||
/// Proxy server TCP port.
|
||||
std::string username;
|
||||
/// Proxy server username.
|
||||
std::string password;
|
||||
/// Proxy server password.
|
||||
std::string nonProxyHosts;
|
||||
/// A regular expression defining hosts for which the proxy should be bypassed,
|
||||
/// e.g. "localhost|127\.0\.0\.1|192\.168\.0\.\d+". Can also be an empty
|
||||
/// string to disable proxy bypassing.
|
||||
|
||||
ProxyAuthentication authMethod;
|
||||
/// The authentication method to use - HTTP Basic or NTLM.
|
||||
};
|
||||
|
||||
HTTPClientSession();
|
||||
/// Creates an unconnected HTTPClientSession.
|
||||
|
||||
explicit HTTPClientSession(const StreamSocket& socket);
|
||||
/// Creates a HTTPClientSession using the given socket.
|
||||
/// The socket must not be connected. The session
|
||||
/// takes ownership of the socket.
|
||||
|
||||
explicit HTTPClientSession(const SocketAddress& address);
|
||||
/// Creates a HTTPClientSession using the given address.
|
||||
|
||||
HTTPClientSession(const std::string& host, Poco::UInt16 port = HTTPSession::HTTP_PORT);
|
||||
/// Creates a HTTPClientSession using the given host and port.
|
||||
|
||||
HTTPClientSession(const std::string& host, Poco::UInt16 port, const ProxyConfig& proxyConfig);
|
||||
/// Creates a HTTPClientSession using the given host, port and proxy configuration.
|
||||
|
||||
virtual ~HTTPClientSession();
|
||||
/// Destroys the HTTPClientSession and closes
|
||||
/// the underlying socket.
|
||||
|
||||
void setHost(const std::string& host);
|
||||
/// Sets the host name of the target HTTP server.
|
||||
///
|
||||
/// The host must not be changed once there is an
|
||||
/// open connection to the server.
|
||||
|
||||
const std::string& getHost() const;
|
||||
/// Returns the host name of the target HTTP server.
|
||||
|
||||
void setPort(Poco::UInt16 port);
|
||||
/// Sets the port number of the target HTTP server.
|
||||
///
|
||||
/// The port number must not be changed once there is an
|
||||
/// open connection to the server.
|
||||
|
||||
Poco::UInt16 getPort() const;
|
||||
/// Returns the port number of the target HTTP server.
|
||||
|
||||
void setProxy(const std::string& host, Poco::UInt16 port = HTTPSession::HTTP_PORT);
|
||||
/// Sets the proxy host name and port number.
|
||||
|
||||
void setProxyHost(const std::string& host);
|
||||
/// Sets the host name of the proxy server.
|
||||
|
||||
void setProxyPort(Poco::UInt16 port);
|
||||
/// Sets the port number of the proxy server.
|
||||
|
||||
const std::string& getProxyHost() const;
|
||||
/// Returns the proxy host name.
|
||||
|
||||
Poco::UInt16 getProxyPort() const;
|
||||
/// Returns the proxy port number.
|
||||
|
||||
void setProxyCredentials(const std::string& username, const std::string& password);
|
||||
/// Sets the username and password for proxy authentication.
|
||||
/// Only Basic authentication is supported.
|
||||
|
||||
void setProxyUsername(const std::string& username);
|
||||
/// Sets the username for proxy authentication.
|
||||
/// Only Basic authentication is supported.
|
||||
|
||||
const std::string& getProxyUsername() const;
|
||||
/// Returns the username for proxy authentication.
|
||||
|
||||
void setProxyPassword(const std::string& password);
|
||||
/// Sets the password for proxy authentication.
|
||||
/// Only Basic authentication is supported.
|
||||
|
||||
const std::string& getProxyPassword() const;
|
||||
/// Returns the password for proxy authentication.
|
||||
|
||||
void setProxyConfig(const ProxyConfig& config);
|
||||
/// Sets the proxy configuration.
|
||||
|
||||
const ProxyConfig& getProxyConfig() const;
|
||||
/// Returns the proxy configuration.
|
||||
|
||||
static void setGlobalProxyConfig(const ProxyConfig& config);
|
||||
/// Sets the global proxy configuration.
|
||||
///
|
||||
/// The global proxy configuration is used by all HTTPClientSession
|
||||
/// instances, unless a different proxy configuration is explicitly set.
|
||||
///
|
||||
/// Warning: Setting the global proxy configuration is not thread safe.
|
||||
/// The global proxy configuration should be set at start up, before
|
||||
/// the first HTTPClientSession instance is created.
|
||||
|
||||
static const ProxyConfig& getGlobalProxyConfig();
|
||||
/// Returns the global proxy configuration.
|
||||
|
||||
void setKeepAliveTimeout(const Poco::Timespan& timeout);
|
||||
/// Sets the connection timeout for HTTP connections.
|
||||
|
||||
const Poco::Timespan& getKeepAliveTimeout() const;
|
||||
/// Returns the connection timeout for HTTP connections.
|
||||
|
||||
virtual std::ostream& sendRequest(HTTPRequest& request);
|
||||
/// Sends the header for the given HTTP request to
|
||||
/// the server.
|
||||
///
|
||||
/// The HTTPClientSession will set the request's
|
||||
/// Host and Keep-Alive headers accordingly.
|
||||
///
|
||||
/// The returned output stream can be used to write
|
||||
/// the request body. The stream is valid until
|
||||
/// receiveResponse() is called or the session
|
||||
/// is destroyed.
|
||||
///
|
||||
/// In case a network or server failure happens
|
||||
/// while writing the request body to the returned stream,
|
||||
/// the stream state will change to bad or fail. In this
|
||||
/// case, reset() should be called if the session will
|
||||
/// be reused and persistent connections are enabled
|
||||
/// to ensure a new connection will be set up
|
||||
/// for the next request.
|
||||
|
||||
virtual std::istream& receiveResponse(HTTPResponse& response);
|
||||
/// Receives the header for the response to the previous
|
||||
/// HTTP request.
|
||||
///
|
||||
/// The returned input stream can be used to read
|
||||
/// the response body. The stream is valid until
|
||||
/// sendRequest() is called or the session is
|
||||
/// destroyed.
|
||||
///
|
||||
/// It must be ensured that the response stream
|
||||
/// is fully consumed before sending a new request
|
||||
/// and persistent connections are enabled. Otherwise,
|
||||
/// the unread part of the response body may be treated as
|
||||
/// part of the next request's response header, resulting
|
||||
/// in a Poco::Net::MessageException being thrown.
|
||||
///
|
||||
/// In case a network or server failure happens
|
||||
/// while reading the response body from the returned stream,
|
||||
/// the stream state will change to bad or fail. In this
|
||||
/// case, reset() should be called if the session will
|
||||
/// be reused and persistent connections are enabled
|
||||
/// to ensure a new connection will be set up
|
||||
/// for the next request.
|
||||
|
||||
virtual bool peekResponse(HTTPResponse& response);
|
||||
/// If the request contains a "Expect: 100-continue" header,
|
||||
/// (see HTTPRequest::setExpectContinue()) this method can be
|
||||
/// used to check whether the server has sent a 100 Continue response
|
||||
/// before continuing with the request, i.e. sending the request body,
|
||||
/// after calling sendRequest().
|
||||
///
|
||||
/// Returns true if the server has responded with 100 Continue,
|
||||
/// otherwise false. The HTTPResponse object contains the
|
||||
/// response sent by the server.
|
||||
///
|
||||
/// In any case, receiveResponse() must be called afterwards as well in
|
||||
/// order to complete the request. The same HTTPResponse object
|
||||
/// passed to peekResponse() must also be passed to receiveResponse().
|
||||
///
|
||||
/// This method should only be called if the request contains
|
||||
/// a "Expect: 100-continue" header.
|
||||
|
||||
void flushRequest();
|
||||
/// Flushes the request stream.
|
||||
///
|
||||
/// Normally this method does not need to be called.
|
||||
/// It can be used to ensure the request has been
|
||||
/// fully sent if receiveResponse() is not called, e.g.,
|
||||
/// because the underlying socket will be detached.
|
||||
|
||||
void reset();
|
||||
/// Resets the session and closes the socket.
|
||||
///
|
||||
/// The next request will initiate a new connection,
|
||||
/// even if persistent connections are enabled.
|
||||
///
|
||||
/// This should be called whenever something went
|
||||
/// wrong when sending a request (e.g., sendRequest()
|
||||
/// or receiveResponse() throws an exception, or
|
||||
/// the request or response stream changes into
|
||||
/// fail or bad state, but not eof state).
|
||||
|
||||
virtual bool secure() const;
|
||||
/// Return true iff the session uses SSL or TLS,
|
||||
/// or false otherwise.
|
||||
|
||||
bool bypassProxy() const;
|
||||
/// Returns true if the proxy should be bypassed
|
||||
/// for the current host.
|
||||
|
||||
protected:
|
||||
enum
|
||||
{
|
||||
DEFAULT_KEEP_ALIVE_TIMEOUT = 8
|
||||
};
|
||||
|
||||
void reconnect();
|
||||
/// Connects the underlying socket to the HTTP server.
|
||||
|
||||
int write(const char* buffer, std::streamsize length);
|
||||
/// Tries to re-connect if keep-alive is on.
|
||||
|
||||
std::ostream& sendRequestImpl(const HTTPRequest& request);
|
||||
/// Sends the given HTTPRequest over an existing connection.
|
||||
|
||||
virtual std::string proxyRequestPrefix() const;
|
||||
/// Returns the prefix prepended to the URI for proxy requests
|
||||
/// (e.g., "http://myhost.com").
|
||||
|
||||
virtual bool mustReconnect() const;
|
||||
/// Checks if we can reuse a persistent connection.
|
||||
|
||||
virtual void proxyAuthenticate(HTTPRequest& request);
|
||||
/// Sets the proxy credentials (Proxy-Authorization header), if
|
||||
/// proxy username and password have been set.
|
||||
|
||||
void proxyAuthenticateImpl(HTTPRequest& request, const ProxyConfig& proxyConfig);
|
||||
/// Sets the proxy credentials (Proxy-Authorization header), if
|
||||
/// proxy username and password have been set.
|
||||
|
||||
void proxyAuthenticateDigest(HTTPRequest& request);
|
||||
/// Initiates a HTTP Digest authentication handshake with the proxy.
|
||||
|
||||
void proxyAuthenticateNTLM(HTTPRequest& request);
|
||||
/// Initiates a HTTP NTLM authentication handshake with the proxy.
|
||||
|
||||
void sendChallengeRequest(const HTTPRequest& request, HTTPResponse& response);
|
||||
/// Sends a probe request for Digest and NTLM authentication
|
||||
/// to obtain the server challenge.
|
||||
|
||||
StreamSocket proxyConnect();
|
||||
/// Sends a CONNECT request to the proxy server and returns
|
||||
/// a StreamSocket for the resulting connection.
|
||||
|
||||
void proxyTunnel();
|
||||
/// Calls proxyConnect() and attaches the resulting StreamSocket
|
||||
/// to the HTTPClientSession.
|
||||
|
||||
private:
|
||||
std::string _host;
|
||||
Poco::UInt16 _port;
|
||||
ProxyConfig _proxyConfig;
|
||||
Poco::Timespan _keepAliveTimeout;
|
||||
Poco::Timestamp _lastRequest;
|
||||
bool _reconnect;
|
||||
bool _mustReconnect;
|
||||
bool _expectResponseBody;
|
||||
bool _responseReceived;
|
||||
Poco::SharedPtr<std::ostream> _pRequestStream;
|
||||
Poco::SharedPtr<std::istream> _pResponseStream;
|
||||
HTTPBasicCredentials _proxyBasicCreds;
|
||||
HTTPDigestCredentials _proxyDigestCreds;
|
||||
HTTPNTLMCredentials _proxyNTLMCreds;
|
||||
bool _ntlmProxyAuthenticated;
|
||||
|
||||
static ProxyConfig _globalProxyConfig;
|
||||
|
||||
HTTPClientSession(const HTTPClientSession&);
|
||||
HTTPClientSession& operator = (const HTTPClientSession&);
|
||||
|
||||
friend class WebSocket;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline const std::string& HTTPClientSession::getHost() const
|
||||
{
|
||||
return _host;
|
||||
}
|
||||
|
||||
|
||||
inline Poco::UInt16 HTTPClientSession::getPort() const
|
||||
{
|
||||
return _port;
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& HTTPClientSession::getProxyHost() const
|
||||
{
|
||||
return _proxyConfig.host;
|
||||
}
|
||||
|
||||
|
||||
inline Poco::UInt16 HTTPClientSession::getProxyPort() const
|
||||
{
|
||||
return _proxyConfig.port;
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& HTTPClientSession::getProxyUsername() const
|
||||
{
|
||||
return _proxyConfig.username;
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& HTTPClientSession::getProxyPassword() const
|
||||
{
|
||||
return _proxyConfig.password;
|
||||
}
|
||||
|
||||
|
||||
inline const HTTPClientSession::ProxyConfig& HTTPClientSession::getProxyConfig() const
|
||||
{
|
||||
return _proxyConfig;
|
||||
}
|
||||
|
||||
|
||||
inline const HTTPClientSession::ProxyConfig& HTTPClientSession::getGlobalProxyConfig()
|
||||
{
|
||||
return _globalProxyConfig;
|
||||
}
|
||||
|
||||
|
||||
inline const Poco::Timespan& HTTPClientSession::getKeepAliveTimeout() const
|
||||
{
|
||||
return _keepAliveTimeout;
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HTTPClientSession_INCLUDED
|
||||
293
vendor/POCO/Net/include/Poco/Net/HTTPCookie.h
vendored
Normal file
293
vendor/POCO/Net/include/Poco/Net/HTTPCookie.h
vendored
Normal file
@@ -0,0 +1,293 @@
|
||||
//
|
||||
// HTTPCookie.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTP
|
||||
// Module: HTTPCookie
|
||||
//
|
||||
// Definition of the HTTPCookie class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HTTPCookie_INCLUDED
|
||||
#define Net_HTTPCookie_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class NameValueCollection;
|
||||
|
||||
|
||||
class Net_API HTTPCookie
|
||||
/// This class represents a HTTP Cookie.
|
||||
///
|
||||
/// A cookie is a small amount of information sent by a Web
|
||||
/// server to a Web browser, saved by the browser, and later sent back
|
||||
/// to the server. A cookie's value can uniquely identify a client, so
|
||||
/// cookies are commonly used for session management.
|
||||
///
|
||||
/// A cookie has a name, a single value, and optional attributes such
|
||||
/// as a comment, path and domain qualifiers, a maximum age, and a
|
||||
/// version number.
|
||||
///
|
||||
/// This class supports both the Version 0 (by Netscape) and Version 1
|
||||
/// (by RFC 2109) cookie specifications. By default, cookies are created
|
||||
/// using Version 0 to ensure the best interoperability.
|
||||
{
|
||||
public:
|
||||
enum SameSite
|
||||
{
|
||||
SAME_SITE_NOT_SPECIFIED,
|
||||
SAME_SITE_NONE,
|
||||
SAME_SITE_LAX,
|
||||
SAME_SITE_STRICT
|
||||
};
|
||||
|
||||
HTTPCookie();
|
||||
/// Creates an empty HTTPCookie.
|
||||
|
||||
explicit HTTPCookie(const std::string& name);
|
||||
/// Creates a cookie with the given name.
|
||||
/// The cookie never expires.
|
||||
|
||||
explicit HTTPCookie(const NameValueCollection& nvc);
|
||||
/// Creates a cookie from the given NameValueCollection.
|
||||
|
||||
HTTPCookie(const std::string& name, const std::string& value);
|
||||
/// Creates a cookie with the given name and value.
|
||||
/// The cookie never expires.
|
||||
///
|
||||
/// Note: If value contains whitespace or non-alphanumeric
|
||||
/// characters, the value should be escaped by calling escape()
|
||||
/// before passing it to the constructor.
|
||||
|
||||
HTTPCookie(const HTTPCookie& cookie);
|
||||
/// Creates the HTTPCookie by copying another one.
|
||||
|
||||
~HTTPCookie();
|
||||
/// Destroys the HTTPCookie.
|
||||
|
||||
HTTPCookie& operator = (const HTTPCookie& cookie);
|
||||
/// Assigns a cookie.
|
||||
|
||||
void setVersion(int version);
|
||||
/// Sets the version of the cookie.
|
||||
///
|
||||
/// Version must be either 0 (denoting a Netscape cookie)
|
||||
/// or 1 (denoting a RFC 2109 cookie).
|
||||
|
||||
int getVersion() const;
|
||||
/// Returns the version of the cookie, which is
|
||||
/// either 0 or 1.
|
||||
|
||||
void setName(const std::string& name);
|
||||
/// Sets the name of the cookie.
|
||||
|
||||
const std::string& getName() const;
|
||||
/// Returns the name of the cookie.
|
||||
|
||||
void setValue(const std::string& value);
|
||||
/// Sets the value of the cookie.
|
||||
///
|
||||
/// According to the cookie specification, the
|
||||
/// size of the value should not exceed 4 Kbytes.
|
||||
///
|
||||
/// Note: If value contains whitespace or non-alphanumeric
|
||||
/// characters, the value should be escaped by calling escape()
|
||||
/// prior to passing it to setName().
|
||||
|
||||
const std::string& getValue() const;
|
||||
/// Returns the value of the cookie.
|
||||
|
||||
void setComment(const std::string& comment);
|
||||
/// Sets the comment for the cookie.
|
||||
///
|
||||
/// Comments are only supported for version 1 cookies.
|
||||
|
||||
const std::string& getComment() const;
|
||||
/// Returns the comment for the cookie.
|
||||
|
||||
void setDomain(const std::string& domain);
|
||||
/// Sets the domain for the cookie.
|
||||
|
||||
const std::string& getDomain() const;
|
||||
/// Returns the domain for the cookie.
|
||||
|
||||
void setPath(const std::string& path);
|
||||
/// Sets the path for the cookie.
|
||||
|
||||
void setPriority(const std::string& priority);
|
||||
/// Sets the priority for the cookie.
|
||||
|
||||
const std::string& getPath() const;
|
||||
/// Returns the path for the cookie.
|
||||
|
||||
const std::string& getPriority() const;
|
||||
/// Returns the priority for the cookie.
|
||||
|
||||
void setSecure(bool secure);
|
||||
/// Sets the value of the secure flag for
|
||||
/// the cookie.
|
||||
|
||||
bool getSecure() const;
|
||||
/// Returns the value of the secure flag
|
||||
/// for the cookie.
|
||||
|
||||
void setMaxAge(int maxAge);
|
||||
/// Sets the maximum age in seconds for
|
||||
/// the cookie.
|
||||
///
|
||||
/// A value of -1 (default) causes the cookie
|
||||
/// to become a session cookie, which will
|
||||
/// be deleted when the browser window
|
||||
/// is closed.
|
||||
///
|
||||
/// A value of 0 deletes the cookie on
|
||||
/// the client.
|
||||
|
||||
int getMaxAge() const;
|
||||
/// Returns the maximum age in seconds for
|
||||
/// the cookie.
|
||||
|
||||
void setHttpOnly(bool flag = true);
|
||||
/// Sets the HttpOnly flag for the cookie.
|
||||
|
||||
bool getHttpOnly() const;
|
||||
/// Returns true iff the cookie's HttpOnly flag is set.
|
||||
|
||||
void setSameSite(SameSite value);
|
||||
/// Sets the cookie's SameSite attribute.
|
||||
|
||||
SameSite getSameSite() const;
|
||||
/// Returns the cookie's SameSite attribute.
|
||||
|
||||
std::string toString() const;
|
||||
/// Returns a string representation of the cookie,
|
||||
/// suitable for use in a Set-Cookie header.
|
||||
|
||||
static std::string escape(const std::string& str);
|
||||
/// Escapes the given string by replacing all
|
||||
/// non-alphanumeric characters with escape
|
||||
/// sequences in the form %xx, where xx is the
|
||||
/// hexadecimal character code.
|
||||
///
|
||||
/// The following characters will be replaced
|
||||
/// with escape sequences:
|
||||
/// - percent sign %
|
||||
/// - less-than and greater-than < and >
|
||||
/// - curly brackets { and }
|
||||
/// - square brackets [ and ]
|
||||
/// - parenthesis ( and )
|
||||
/// - solidus /
|
||||
/// - vertical line |
|
||||
/// - reverse solidus (backslash /)
|
||||
/// - quotation mark "
|
||||
/// - apostrophe '
|
||||
/// - circumflex accent ^
|
||||
/// - grave accent `
|
||||
/// - comma and semicolon , and ;
|
||||
/// - whitespace and control characters
|
||||
|
||||
static std::string unescape(const std::string& str);
|
||||
/// Unescapes the given string by replacing all
|
||||
/// escape sequences in the form %xx with the
|
||||
/// respective characters.
|
||||
|
||||
private:
|
||||
int _version;
|
||||
std::string _name;
|
||||
std::string _value;
|
||||
std::string _comment;
|
||||
std::string _domain;
|
||||
std::string _path;
|
||||
std::string _priority;
|
||||
bool _secure;
|
||||
int _maxAge;
|
||||
bool _httpOnly;
|
||||
SameSite _sameSite;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline int HTTPCookie::getVersion() const
|
||||
{
|
||||
return _version;
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& HTTPCookie::getName() const
|
||||
{
|
||||
return _name;
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& HTTPCookie::getValue() const
|
||||
{
|
||||
return _value;
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& HTTPCookie::getComment() const
|
||||
{
|
||||
return _comment;
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& HTTPCookie::getDomain() const
|
||||
{
|
||||
return _domain;
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& HTTPCookie::getPath() const
|
||||
{
|
||||
return _path;
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& HTTPCookie::getPriority() const
|
||||
{
|
||||
return _priority;
|
||||
}
|
||||
|
||||
|
||||
inline bool HTTPCookie::getSecure() const
|
||||
{
|
||||
return _secure;
|
||||
}
|
||||
|
||||
|
||||
inline int HTTPCookie::getMaxAge() const
|
||||
{
|
||||
return _maxAge;
|
||||
}
|
||||
|
||||
|
||||
inline bool HTTPCookie::getHttpOnly() const
|
||||
{
|
||||
return _httpOnly;
|
||||
}
|
||||
|
||||
|
||||
inline HTTPCookie::SameSite HTTPCookie::getSameSite() const
|
||||
{
|
||||
return _sameSite;
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HTTPCookie_INCLUDED
|
||||
234
vendor/POCO/Net/include/Poco/Net/HTTPCredentials.h
vendored
Normal file
234
vendor/POCO/Net/include/Poco/Net/HTTPCredentials.h
vendored
Normal file
@@ -0,0 +1,234 @@
|
||||
//
|
||||
// HTTPCredentials.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTP
|
||||
// Module: HTTPCredentials
|
||||
//
|
||||
// Definition of the HTTPCredentials class.
|
||||
//
|
||||
// Copyright (c) 2011, Anton V. Yabchinskiy (arn at bestmx dot ru).
|
||||
// Copyright (c) 2012, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HTTPCredentials_INCLUDED
|
||||
#define Net_HTTPCredentials_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/HTTPDigestCredentials.h"
|
||||
#include "Poco/Net/HTTPNTLMCredentials.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
|
||||
|
||||
class URI;
|
||||
|
||||
|
||||
namespace Net {
|
||||
|
||||
|
||||
class HTTPRequest;
|
||||
class HTTPResponse;
|
||||
|
||||
|
||||
class Net_API HTTPCredentials
|
||||
/// This is a utility class for working with HTTP
|
||||
/// authentication (Basic, Digest or NTLM) in HTTPRequest objects.
|
||||
///
|
||||
/// Usage is as follows:
|
||||
/// First, create a HTTPCredentials object containing
|
||||
/// the username and password.
|
||||
/// Poco::Net::HTTPCredentials creds("user", "s3cr3t");
|
||||
///
|
||||
/// Second, send the HTTP request with Poco::Net::HTTPClientSession.
|
||||
/// Poco::Net::HTTPClientSession session("pocoproject.org");
|
||||
/// Poco::Net::HTTPRequest request(HTTPRequest::HTTP_GET, "/index.html", HTTPMessage::HTTP_1_1);
|
||||
/// session.sendRequest(request);
|
||||
/// Poco::Net::HTTPResponse;
|
||||
/// std::istream& istr = session.receiveResponse(response);
|
||||
///
|
||||
/// If the server responds with a 401 status, authenticate the
|
||||
/// request and resend it:
|
||||
/// if (response.getStatus() == Poco::Net::HTTPResponse::HTTP_UNAUTHORIZED)
|
||||
/// {
|
||||
/// creds.authenticate(request, response);
|
||||
/// session.sendRequest(request);
|
||||
/// ...
|
||||
/// }
|
||||
///
|
||||
/// To perform multiple authenticated requests, call updateAuthInfo()
|
||||
/// instead of authenticate() on subsequent requests.
|
||||
/// creds.updateAuthInfo(request);
|
||||
/// session.sendRequest(request);
|
||||
/// ...
|
||||
///
|
||||
/// Note: Do not forget to read the entire response stream from the 401 response
|
||||
/// before sending the authenticated request, otherwise there may be
|
||||
/// problems if a persistent connection is used.
|
||||
{
|
||||
public:
|
||||
HTTPCredentials();
|
||||
/// Creates an empty HTTPCredentials object.
|
||||
|
||||
HTTPCredentials(const std::string& username, const std::string& password);
|
||||
/// Creates an HTTPCredentials object with the given username and password.
|
||||
|
||||
~HTTPCredentials();
|
||||
/// Destroys the HTTPCredentials.
|
||||
|
||||
void fromUserInfo(const std::string& userInfo);
|
||||
/// Parses username:password string and sets username and password of
|
||||
/// the credentials object.
|
||||
/// Throws SyntaxException on invalid user information.
|
||||
|
||||
void fromURI(const URI& uri);
|
||||
/// Extracts username and password from the given URI and sets username
|
||||
/// and password of the credentials object.
|
||||
/// Does nothing if URI has no user info part.
|
||||
|
||||
void clear();
|
||||
/// Clears username, password and host.
|
||||
|
||||
void setUsername(const std::string& username);
|
||||
/// Sets the username.
|
||||
|
||||
const std::string& getUsername() const;
|
||||
/// Returns the username.
|
||||
|
||||
void setPassword(const std::string& password);
|
||||
/// Sets the password.
|
||||
|
||||
const std::string& getPassword() const;
|
||||
/// Returns the password.
|
||||
|
||||
void setHost(const std::string& host);
|
||||
/// Sets the target host. Only used for SSPI-based NTLM authentication using
|
||||
/// the credentials of the currently logged-in user on Windows.
|
||||
|
||||
const std::string& getHost() const;
|
||||
/// Returns the target host. Only used for SSPI-based NTLM authentication using
|
||||
/// the credentials of the currently logged-in user on Windows.
|
||||
|
||||
bool empty() const;
|
||||
/// Returns true if both username and password are empty, otherwise false.
|
||||
|
||||
void authenticate(HTTPRequest& request, const HTTPResponse& response);
|
||||
/// Inspects WWW-Authenticate header of the response, initializes
|
||||
/// the internal state (in case of digest authentication) and
|
||||
/// adds required information to the given HTTPRequest.
|
||||
///
|
||||
/// Does nothing if there is no WWW-Authenticate header in the
|
||||
/// HTTPResponse.
|
||||
|
||||
void updateAuthInfo(HTTPRequest& request);
|
||||
/// Updates internal state (in case of digest authentication) and
|
||||
/// replaces authentication information in the request accordingly.
|
||||
|
||||
void proxyAuthenticate(HTTPRequest& request, const HTTPResponse& response);
|
||||
/// Inspects Proxy-Authenticate header of the response, initializes
|
||||
/// the internal state (in case of digest authentication) and
|
||||
/// adds required information to the given HTTPRequest.
|
||||
///
|
||||
/// Does nothing if there is no Proxy-Authenticate header in the
|
||||
/// HTTPResponse.
|
||||
|
||||
void updateProxyAuthInfo(HTTPRequest& request);
|
||||
/// Updates internal state (in case of digest authentication) and
|
||||
/// replaces proxy authentication information in the request accordingly.
|
||||
|
||||
static bool isBasicCredentials(const std::string& header);
|
||||
/// Returns true if authentication header is for Basic authentication.
|
||||
|
||||
static bool isDigestCredentials(const std::string& header);
|
||||
/// Returns true if authentication header is for Digest authentication.
|
||||
|
||||
static bool isNTLMCredentials(const std::string& header);
|
||||
/// Returns true if authentication header is for NTLM authentication.
|
||||
|
||||
static bool hasBasicCredentials(const HTTPRequest& request);
|
||||
/// Returns true if an Authorization header with Basic credentials is present in the request.
|
||||
|
||||
static bool hasDigestCredentials(const HTTPRequest& request);
|
||||
/// Returns true if an Authorization header with Digest credentials is present in the request.
|
||||
|
||||
static bool hasNTLMCredentials(const HTTPRequest& request);
|
||||
/// Returns true if an Authorization header with NTLM credentials is present in the request.
|
||||
|
||||
static bool hasProxyBasicCredentials(const HTTPRequest& request);
|
||||
/// Returns true if a Proxy-Authorization header with Basic credentials is present in the request.
|
||||
|
||||
static bool hasProxyDigestCredentials(const HTTPRequest& request);
|
||||
/// Returns true if a Proxy-Authorization header with Digest credentials is present in the request.
|
||||
|
||||
static bool hasProxyNTLMCredentials(const HTTPRequest& request);
|
||||
/// Returns true if a Proxy-Authorization header with Digest credentials is present in the request.
|
||||
|
||||
static void extractCredentials(const std::string& userInfo, std::string& username, std::string& password);
|
||||
/// Extracts username and password from user:password information string.
|
||||
|
||||
static void extractCredentials(const Poco::URI& uri, std::string& username, std::string& password);
|
||||
/// Extracts username and password from the given URI (e.g.: "http://user:pass@sample.com/secret").
|
||||
|
||||
private:
|
||||
HTTPCredentials(const HTTPCredentials&);
|
||||
HTTPCredentials& operator = (const HTTPCredentials&);
|
||||
|
||||
HTTPDigestCredentials _digest;
|
||||
HTTPNTLMCredentials _ntlm;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline void HTTPCredentials::setUsername(const std::string& username)
|
||||
{
|
||||
_digest.setUsername(username);
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& HTTPCredentials::getUsername() const
|
||||
{
|
||||
return _digest.getUsername();
|
||||
}
|
||||
|
||||
|
||||
inline void HTTPCredentials::setPassword(const std::string& password)
|
||||
{
|
||||
_digest.setPassword(password);
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& HTTPCredentials::getPassword() const
|
||||
{
|
||||
return _digest.getPassword();
|
||||
}
|
||||
|
||||
|
||||
inline void HTTPCredentials::setHost(const std::string& host)
|
||||
{
|
||||
_ntlm.setHost(host);
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& HTTPCredentials::getHost() const
|
||||
{
|
||||
return _ntlm.getHost();
|
||||
}
|
||||
|
||||
|
||||
inline bool HTTPCredentials::empty() const
|
||||
{
|
||||
return _digest.empty();
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HTTPCredentials_INCLUDED
|
||||
186
vendor/POCO/Net/include/Poco/Net/HTTPDigestCredentials.h
vendored
Normal file
186
vendor/POCO/Net/include/Poco/Net/HTTPDigestCredentials.h
vendored
Normal file
@@ -0,0 +1,186 @@
|
||||
//
|
||||
// HTTPDigestCredentials.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTP
|
||||
// Module: HTTPDigestCredentials
|
||||
//
|
||||
// Definition of the HTTPDigestCredentials class.
|
||||
//
|
||||
// Copyright (c) 2011, Anton V. Yabchinskiy (arn at bestmx dot ru).
|
||||
// Copyright (c) 2012, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HTTPDigestCredentials_INCLUDED
|
||||
#define Net_HTTPDigestCredentials_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/HTTPAuthenticationParams.h"
|
||||
#include "Poco/Mutex.h"
|
||||
#include <map>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class HTTPRequest;
|
||||
class HTTPResponse;
|
||||
|
||||
|
||||
class Net_API HTTPDigestCredentials
|
||||
/// This is a utility class for working with
|
||||
/// HTTP Digest Authentication in HTTPRequest
|
||||
/// objects.
|
||||
///
|
||||
/// Note: currently, no qop or qop=auth is
|
||||
/// supported only.
|
||||
{
|
||||
public:
|
||||
HTTPDigestCredentials();
|
||||
/// Creates an empty HTTPDigestCredentials object.
|
||||
|
||||
HTTPDigestCredentials(const std::string& username, const std::string& password);
|
||||
/// Creates a HTTPDigestCredentials object with the given username and password.
|
||||
|
||||
~HTTPDigestCredentials();
|
||||
/// Destroys the HTTPDigestCredentials.
|
||||
|
||||
void reset();
|
||||
/// Resets the HTTPDigestCredentials object to a clean state.
|
||||
/// Does not clear username and password.
|
||||
|
||||
void clear();
|
||||
/// Clears both username and password.
|
||||
|
||||
void setUsername(const std::string& username);
|
||||
/// Sets the username.
|
||||
|
||||
const std::string& getUsername() const;
|
||||
/// Returns the username.
|
||||
|
||||
void setPassword(const std::string& password);
|
||||
/// Sets the password.
|
||||
|
||||
const std::string& getPassword() const;
|
||||
/// Returns the password.
|
||||
|
||||
bool empty() const;
|
||||
/// Returns true if both username and password are empty, otherwise false.
|
||||
|
||||
void authenticate(HTTPRequest& request, const HTTPResponse& response);
|
||||
/// Parses WWW-Authenticate header of the HTTPResponse, initializes
|
||||
/// internal state, and adds authentication information to the given HTTPRequest.
|
||||
|
||||
void authenticate(HTTPRequest& request, const HTTPAuthenticationParams& responseAuthParams);
|
||||
/// Initializes internal state according to information from the
|
||||
/// HTTPAuthenticationParams of the response, and adds authentication
|
||||
/// information to the given HTTPRequest.
|
||||
///
|
||||
/// Throws InvalidArgumentException if HTTPAuthenticationParams is
|
||||
/// invalid or some required parameter is missing.
|
||||
/// Throws NotImplementedException in case of unsupported digest
|
||||
/// algorithm or quality of protection method.
|
||||
|
||||
void updateAuthInfo(HTTPRequest& request);
|
||||
/// Updates internal state and adds authentication information to
|
||||
/// the given HTTPRequest.
|
||||
|
||||
void proxyAuthenticate(HTTPRequest& request, const HTTPResponse& response);
|
||||
/// Parses Proxy-Authenticate header of the HTTPResponse, initializes
|
||||
/// internal state, and adds proxy authentication information to the given HTTPRequest.
|
||||
|
||||
void proxyAuthenticate(HTTPRequest& request, const HTTPAuthenticationParams& responseAuthParams);
|
||||
/// Initializes internal state according to information from the
|
||||
/// HTTPAuthenticationParams of the response, and adds proxy authentication
|
||||
/// information to the given HTTPRequest.
|
||||
///
|
||||
/// Throws InvalidArgumentException if HTTPAuthenticationParams is
|
||||
/// invalid or some required parameter is missing.
|
||||
/// Throws NotImplementedException in case of unsupported digest
|
||||
/// algorithm or quality of protection method.
|
||||
|
||||
void updateProxyAuthInfo(HTTPRequest& request);
|
||||
/// Updates internal state and adds proxy authentication information to
|
||||
/// the given HTTPRequest.
|
||||
|
||||
bool verifyAuthInfo(const HTTPRequest& request) const;
|
||||
/// Verifies the digest authentication information in the given HTTPRequest
|
||||
/// by recomputing the response and comparing it with what's in the request.
|
||||
///
|
||||
/// Note: This method creates a HTTPAuthenticationParams object from the request
|
||||
/// and calls verifyAuthParams() with request and params.
|
||||
|
||||
bool verifyAuthParams(const HTTPRequest& request, const HTTPAuthenticationParams& params) const;
|
||||
/// Verifies the digest authentication information in the given HTTPRequest
|
||||
/// and HTTPAuthenticationParams by recomputing the response and comparing
|
||||
/// it with what's in the request.
|
||||
|
||||
static std::string createNonce();
|
||||
/// Creates a random nonce string.
|
||||
|
||||
static const std::string SCHEME;
|
||||
|
||||
private:
|
||||
HTTPDigestCredentials(const HTTPDigestCredentials&);
|
||||
HTTPDigestCredentials& operator = (const HTTPDigestCredentials&);
|
||||
|
||||
void createAuthParams(const HTTPRequest& request, const HTTPAuthenticationParams& responseAuthParams);
|
||||
void updateAuthParams(const HTTPRequest& request);
|
||||
int updateNonceCounter(const std::string& nonce);
|
||||
|
||||
static const std::string DEFAULT_ALGORITHM;
|
||||
static const std::string DEFAULT_QOP;
|
||||
static const std::string NONCE_PARAM;
|
||||
static const std::string REALM_PARAM;
|
||||
static const std::string QOP_PARAM;
|
||||
static const std::string ALGORITHM_PARAM;
|
||||
static const std::string USERNAME_PARAM;
|
||||
static const std::string OPAQUE_PARAM;
|
||||
static const std::string URI_PARAM;
|
||||
static const std::string RESPONSE_PARAM;
|
||||
static const std::string AUTH_PARAM;
|
||||
static const std::string CNONCE_PARAM;
|
||||
static const std::string NC_PARAM;
|
||||
|
||||
typedef std::map<std::string, int> NonceCounterMap;
|
||||
|
||||
std::string _username;
|
||||
std::string _password;
|
||||
HTTPAuthenticationParams _requestAuthParams;
|
||||
NonceCounterMap _nc;
|
||||
|
||||
static int _nonceCounter;
|
||||
static Poco::FastMutex _nonceMutex;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline const std::string& HTTPDigestCredentials::getUsername() const
|
||||
{
|
||||
return _username;
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& HTTPDigestCredentials::getPassword() const
|
||||
{
|
||||
return _password;
|
||||
}
|
||||
|
||||
|
||||
inline bool HTTPDigestCredentials::empty() const
|
||||
{
|
||||
return _username.empty() && _password.empty();
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HTTPDigestCredentials_INCLUDED
|
||||
110
vendor/POCO/Net/include/Poco/Net/HTTPFixedLengthStream.h
vendored
Normal file
110
vendor/POCO/Net/include/Poco/Net/HTTPFixedLengthStream.h
vendored
Normal file
@@ -0,0 +1,110 @@
|
||||
//
|
||||
// HTTPFixedLengthStream.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTP
|
||||
// Module: HTTPFixedLengthStream
|
||||
//
|
||||
// Definition of the HTTPFixedLengthStream class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HTTPFixedLengthStream_INCLUDED
|
||||
#define Net_HTTPFixedLengthStream_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/HTTPBasicStreamBuf.h"
|
||||
#include <cstddef>
|
||||
#include <istream>
|
||||
#include <ostream>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class HTTPSession;
|
||||
|
||||
|
||||
class Net_API HTTPFixedLengthStreamBuf: public HTTPBasicStreamBuf
|
||||
/// This is the streambuf class used for reading and writing fixed-size
|
||||
/// HTTP message bodies.
|
||||
///
|
||||
/// At most a given number of bytes are read or written.
|
||||
{
|
||||
public:
|
||||
using openmode = HTTPBasicStreamBuf::openmode;
|
||||
|
||||
#if defined(POCO_HAVE_INT64)
|
||||
using ContentLength = Poco::Int64;
|
||||
#else
|
||||
using ContentLength = std::streamsize;
|
||||
#endif
|
||||
|
||||
HTTPFixedLengthStreamBuf(HTTPSession& session, ContentLength length, openmode mode);
|
||||
~HTTPFixedLengthStreamBuf();
|
||||
|
||||
protected:
|
||||
int readFromDevice(char* buffer, std::streamsize length);
|
||||
int writeToDevice(const char* buffer, std::streamsize length);
|
||||
|
||||
private:
|
||||
HTTPSession& _session;
|
||||
ContentLength _length;
|
||||
ContentLength _count;
|
||||
};
|
||||
|
||||
|
||||
class Net_API HTTPFixedLengthIOS: public virtual std::ios
|
||||
/// The base class for HTTPFixedLengthInputStream.
|
||||
{
|
||||
public:
|
||||
HTTPFixedLengthIOS(HTTPSession& session, HTTPFixedLengthStreamBuf::ContentLength length, HTTPFixedLengthStreamBuf::openmode mode);
|
||||
~HTTPFixedLengthIOS();
|
||||
HTTPFixedLengthStreamBuf* rdbuf();
|
||||
|
||||
protected:
|
||||
HTTPFixedLengthStreamBuf _buf;
|
||||
};
|
||||
|
||||
|
||||
class Net_API HTTPFixedLengthInputStream: public HTTPFixedLengthIOS, public std::istream
|
||||
/// This class is for internal use by HTTPSession only.
|
||||
{
|
||||
public:
|
||||
HTTPFixedLengthInputStream(HTTPSession& session, HTTPFixedLengthStreamBuf::ContentLength length);
|
||||
~HTTPFixedLengthInputStream();
|
||||
|
||||
void* operator new(std::size_t size);
|
||||
void operator delete(void* ptr);
|
||||
|
||||
private:
|
||||
static Poco::MemoryPool _pool;
|
||||
};
|
||||
|
||||
|
||||
class Net_API HTTPFixedLengthOutputStream: public HTTPFixedLengthIOS, public std::ostream
|
||||
/// This class is for internal use by HTTPSession only.
|
||||
{
|
||||
public:
|
||||
HTTPFixedLengthOutputStream(HTTPSession& session, HTTPFixedLengthStreamBuf::ContentLength length);
|
||||
~HTTPFixedLengthOutputStream();
|
||||
|
||||
void* operator new(std::size_t size);
|
||||
void operator delete(void* ptr);
|
||||
|
||||
private:
|
||||
static Poco::MemoryPool _pool;
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HTTPFixedLengthStream_INCLUDED
|
||||
102
vendor/POCO/Net/include/Poco/Net/HTTPHeaderStream.h
vendored
Normal file
102
vendor/POCO/Net/include/Poco/Net/HTTPHeaderStream.h
vendored
Normal file
@@ -0,0 +1,102 @@
|
||||
//
|
||||
// HTTPHeaderStream.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTP
|
||||
// Module: HTTPHeaderStream
|
||||
//
|
||||
// Definition of the HTTPHeaderStream class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HTTPHeaderStream_INCLUDED
|
||||
#define Net_HTTPHeaderStream_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/HTTPBasicStreamBuf.h"
|
||||
#include "Poco/MemoryPool.h"
|
||||
#include <cstddef>
|
||||
#include <istream>
|
||||
#include <ostream>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class HTTPSession;
|
||||
|
||||
|
||||
class Net_API HTTPHeaderStreamBuf: public HTTPBasicStreamBuf
|
||||
/// This is the streambuf class used for reading from a HTTP header
|
||||
/// in a HTTPSession.
|
||||
{
|
||||
public:
|
||||
using openmode = HTTPBasicStreamBuf::openmode;
|
||||
|
||||
HTTPHeaderStreamBuf(HTTPSession& session, openmode mode);
|
||||
~HTTPHeaderStreamBuf();
|
||||
|
||||
protected:
|
||||
int readFromDevice(char* buffer, std::streamsize length);
|
||||
int writeToDevice(const char* buffer, std::streamsize length);
|
||||
|
||||
private:
|
||||
HTTPSession& _session;
|
||||
bool _end;
|
||||
};
|
||||
|
||||
|
||||
class Net_API HTTPHeaderIOS: public virtual std::ios
|
||||
/// The base class for HTTPHeaderInputStream.
|
||||
{
|
||||
public:
|
||||
HTTPHeaderIOS(HTTPSession& session, HTTPHeaderStreamBuf::openmode mode);
|
||||
~HTTPHeaderIOS();
|
||||
HTTPHeaderStreamBuf* rdbuf();
|
||||
|
||||
protected:
|
||||
HTTPHeaderStreamBuf _buf;
|
||||
};
|
||||
|
||||
|
||||
class Net_API HTTPHeaderInputStream: public HTTPHeaderIOS, public std::istream
|
||||
/// This class is for internal use by HTTPSession only.
|
||||
{
|
||||
public:
|
||||
HTTPHeaderInputStream(HTTPSession& session);
|
||||
~HTTPHeaderInputStream();
|
||||
|
||||
void* operator new(std::size_t size);
|
||||
void operator delete(void* ptr);
|
||||
|
||||
private:
|
||||
static Poco::MemoryPool _pool;
|
||||
};
|
||||
|
||||
|
||||
class Net_API HTTPHeaderOutputStream: public HTTPHeaderIOS, public std::ostream
|
||||
/// This class is for internal use by HTTPSession only.
|
||||
{
|
||||
public:
|
||||
HTTPHeaderOutputStream(HTTPSession& session);
|
||||
~HTTPHeaderOutputStream();
|
||||
|
||||
void* operator new(std::size_t size);
|
||||
void operator delete(void* ptr);
|
||||
|
||||
private:
|
||||
static Poco::MemoryPool _pool;
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HTTPHeaderStream_INCLUDED
|
||||
88
vendor/POCO/Net/include/Poco/Net/HTTPIOStream.h
vendored
Normal file
88
vendor/POCO/Net/include/Poco/Net/HTTPIOStream.h
vendored
Normal file
@@ -0,0 +1,88 @@
|
||||
//
|
||||
// HTTPIOStream.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTP
|
||||
// Module: HTTPIOStream
|
||||
//
|
||||
// Definition of the HTTPIOStream class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HTTPIOStream_INCLUDED
|
||||
#define Net_HTTPIOStream_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/HTTPResponse.h"
|
||||
#include "Poco/UnbufferedStreamBuf.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class HTTPClientSession;
|
||||
|
||||
|
||||
class Net_API HTTPResponseStreamBuf: public Poco::UnbufferedStreamBuf
|
||||
{
|
||||
public:
|
||||
HTTPResponseStreamBuf(std::istream& istr);
|
||||
|
||||
~HTTPResponseStreamBuf();
|
||||
|
||||
private:
|
||||
int readFromDevice();
|
||||
|
||||
std::istream& _istr;
|
||||
};
|
||||
|
||||
|
||||
inline int HTTPResponseStreamBuf::readFromDevice()
|
||||
{
|
||||
return _istr.get();
|
||||
}
|
||||
|
||||
|
||||
class Net_API HTTPResponseIOS: public virtual std::ios
|
||||
{
|
||||
public:
|
||||
HTTPResponseIOS(std::istream& istr);
|
||||
|
||||
~HTTPResponseIOS();
|
||||
|
||||
HTTPResponseStreamBuf* rdbuf();
|
||||
|
||||
protected:
|
||||
HTTPResponseStreamBuf _buf;
|
||||
};
|
||||
|
||||
|
||||
inline HTTPResponseStreamBuf* HTTPResponseIOS::rdbuf()
|
||||
{
|
||||
return &_buf;
|
||||
}
|
||||
|
||||
|
||||
class Net_API HTTPResponseStream: public HTTPResponseIOS, public std::istream
|
||||
{
|
||||
public:
|
||||
HTTPResponseStream(std::istream& istr, HTTPClientSession* pSession);
|
||||
|
||||
~HTTPResponseStream();
|
||||
|
||||
private:
|
||||
HTTPClientSession* _pSession;
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HTTPIOStream_INCLUDED
|
||||
189
vendor/POCO/Net/include/Poco/Net/HTTPMessage.h
vendored
Normal file
189
vendor/POCO/Net/include/Poco/Net/HTTPMessage.h
vendored
Normal file
@@ -0,0 +1,189 @@
|
||||
//
|
||||
// HTTPMessage.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTP
|
||||
// Module: HTTPMessage
|
||||
//
|
||||
// Definition of the HTTPMessage class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HTTPMessage_INCLUDED
|
||||
#define Net_HTTPMessage_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/MessageHeader.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class MediaType;
|
||||
|
||||
|
||||
class Net_API HTTPMessage: public MessageHeader
|
||||
/// The base class for HTTPRequest and HTTPResponse.
|
||||
///
|
||||
/// Defines the common properties of all HTTP messages.
|
||||
/// These are version, content length, content type
|
||||
/// and transfer encoding.
|
||||
{
|
||||
public:
|
||||
void setVersion(const std::string& version);
|
||||
/// Sets the HTTP version for this message.
|
||||
|
||||
const std::string& getVersion() const;
|
||||
/// Returns the HTTP version for this message.
|
||||
|
||||
void setContentLength(std::streamsize length);
|
||||
/// Sets the Content-Length header.
|
||||
///
|
||||
/// If length is UNKNOWN_CONTENT_LENGTH, removes
|
||||
/// the Content-Length header.
|
||||
|
||||
std::streamsize getContentLength() const;
|
||||
/// Returns the content length for this message,
|
||||
/// which may be UNKNOWN_CONTENT_LENGTH if
|
||||
/// no Content-Length header is present.
|
||||
|
||||
#if defined(POCO_HAVE_INT64)
|
||||
void setContentLength64(Poco::Int64 length);
|
||||
/// Sets the Content-Length header.
|
||||
///
|
||||
/// If length is UNKNOWN_CONTENT_LENGTH, removes
|
||||
/// the Content-Length header.
|
||||
///
|
||||
/// In contrast to setContentLength(), this method takes
|
||||
/// a 64-bit integer as content length.
|
||||
|
||||
Poco::Int64 getContentLength64() const;
|
||||
/// Returns the content length for this message,
|
||||
/// which may be UNKNOWN_CONTENT_LENGTH if
|
||||
/// no Content-Length header is present.
|
||||
///
|
||||
/// In contrast to getContentLength(), this method
|
||||
/// always returns a 64-bit integer for content length.
|
||||
#endif // defined(POCO_HAVE_INT64)
|
||||
|
||||
bool hasContentLength() const;
|
||||
/// Returns true iff a Content-Length header is present.
|
||||
|
||||
void setTransferEncoding(const std::string& transferEncoding);
|
||||
/// Sets the transfer encoding for this message.
|
||||
///
|
||||
/// The value should be either IDENTITY_TRANSFER_CODING
|
||||
/// or CHUNKED_TRANSFER_CODING.
|
||||
|
||||
const std::string& getTransferEncoding() const;
|
||||
/// Returns the transfer encoding used for this
|
||||
/// message.
|
||||
///
|
||||
/// Normally, this is the value of the Transfer-Encoding
|
||||
/// header field. If no such field is present,
|
||||
/// returns IDENTITY_TRANSFER_CODING.
|
||||
|
||||
void setChunkedTransferEncoding(bool flag);
|
||||
/// If flag is true, sets the Transfer-Encoding header to
|
||||
/// chunked. Otherwise, removes the Transfer-Encoding
|
||||
/// header.
|
||||
|
||||
bool getChunkedTransferEncoding() const;
|
||||
/// Returns true if the Transfer-Encoding header is set
|
||||
/// and its value is chunked.
|
||||
|
||||
void setContentType(const std::string& mediaType);
|
||||
/// Sets the content type for this message.
|
||||
///
|
||||
/// Specify NO_CONTENT_TYPE to remove the
|
||||
/// Content-Type header.
|
||||
|
||||
void setContentType(const MediaType& mediaType);
|
||||
/// Sets the content type for this message.
|
||||
|
||||
const std::string& getContentType() const;
|
||||
/// Returns the content type for this message.
|
||||
///
|
||||
/// If no Content-Type header is present,
|
||||
/// returns UNKNOWN_CONTENT_TYPE.
|
||||
|
||||
void setKeepAlive(bool keepAlive);
|
||||
/// Sets the value of the Connection header field.
|
||||
///
|
||||
/// The value is set to "Keep-Alive" if keepAlive is
|
||||
/// true, or to "Close" otherwise.
|
||||
|
||||
bool getKeepAlive() const;
|
||||
/// Returns true if
|
||||
/// * the message has a Connection header field and its value is "Keep-Alive"
|
||||
/// * the message is a HTTP/1.1 message and not Connection header is set
|
||||
/// Returns false otherwise.
|
||||
|
||||
static const std::string HTTP_1_0;
|
||||
static const std::string HTTP_1_1;
|
||||
|
||||
static const std::string IDENTITY_TRANSFER_ENCODING;
|
||||
static const std::string CHUNKED_TRANSFER_ENCODING;
|
||||
|
||||
static const int UNKNOWN_CONTENT_LENGTH;
|
||||
static const std::string UNKNOWN_CONTENT_TYPE;
|
||||
|
||||
static const std::string CONTENT_LENGTH;
|
||||
static const std::string CONTENT_TYPE;
|
||||
static const std::string TRANSFER_ENCODING;
|
||||
static const std::string CONNECTION;
|
||||
static const std::string PROXY_CONNECTION;
|
||||
|
||||
static const std::string CONNECTION_KEEP_ALIVE;
|
||||
static const std::string CONNECTION_CLOSE;
|
||||
|
||||
static const std::string EMPTY;
|
||||
|
||||
protected:
|
||||
HTTPMessage();
|
||||
/// Creates the HTTPMessage with version HTTP/1.0.
|
||||
|
||||
HTTPMessage(const std::string& version);
|
||||
/// Creates the HTTPMessage and sets
|
||||
/// the version.
|
||||
|
||||
HTTPMessage(const HTTPMessage& other);
|
||||
/// Copy constructor.
|
||||
|
||||
HTTPMessage& operator = (const HTTPMessage& other);
|
||||
/// Assignment operator.
|
||||
|
||||
virtual ~HTTPMessage();
|
||||
/// Destroys the HTTPMessage.
|
||||
|
||||
private:
|
||||
std::string _version;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline const std::string& HTTPMessage::getVersion() const
|
||||
{
|
||||
return _version;
|
||||
}
|
||||
|
||||
|
||||
inline bool HTTPMessage::hasContentLength() const
|
||||
{
|
||||
return has(CONTENT_LENGTH);
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HTTPMessage_INCLUDED
|
||||
168
vendor/POCO/Net/include/Poco/Net/HTTPNTLMCredentials.h
vendored
Normal file
168
vendor/POCO/Net/include/Poco/Net/HTTPNTLMCredentials.h
vendored
Normal file
@@ -0,0 +1,168 @@
|
||||
//
|
||||
// HTTPNTLMCredentials.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTP
|
||||
// Module: HTTPNTLMCredentials
|
||||
//
|
||||
// Definition of the HTTPNTLMCredentials class.
|
||||
//
|
||||
// Copyright (c) 2019, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HTTPNTLMCredentials_INCLUDED
|
||||
#define Net_HTTPNTLMCredentials_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/SSPINTLMCredentials.h"
|
||||
#include <vector>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class HTTPRequest;
|
||||
class HTTPResponse;
|
||||
|
||||
|
||||
class Net_API HTTPNTLMCredentials
|
||||
/// This is a utility class for working with
|
||||
/// HTTP NTLMv2 Authentication in HTTPRequest
|
||||
/// objects.
|
||||
{
|
||||
public:
|
||||
HTTPNTLMCredentials();
|
||||
/// Creates an empty HTTPNTLMCredentials object.
|
||||
|
||||
HTTPNTLMCredentials(const std::string& username, const std::string& password);
|
||||
/// Creates a HTTPNTLMCredentials object with the given username and password.
|
||||
|
||||
HTTPNTLMCredentials(const std::string& username, const std::string& password, const std::string& host);
|
||||
/// Creates a HTTPNTLMCredentials object with the given username, password and target host.
|
||||
|
||||
~HTTPNTLMCredentials();
|
||||
/// Destroys the HTTPNTLMCredentials.
|
||||
|
||||
void reset();
|
||||
/// Resets the HTTPNTLMCredentials object to a clean state.
|
||||
/// Does not clear username and password.
|
||||
|
||||
void clear();
|
||||
/// Clears username, password and host.
|
||||
|
||||
void setUsername(const std::string& username);
|
||||
/// Sets the username.
|
||||
|
||||
const std::string& getUsername() const;
|
||||
/// Returns the username.
|
||||
|
||||
void setPassword(const std::string& password);
|
||||
/// Sets the password.
|
||||
|
||||
const std::string& getPassword() const;
|
||||
/// Returns the password.
|
||||
|
||||
bool empty() const;
|
||||
/// Returns true if both username and password are empty, otherwise false.
|
||||
|
||||
void setHost(const std::string& host);
|
||||
/// Sets the target host.
|
||||
///
|
||||
/// Used for SSPI-based NTLM authentication only.
|
||||
|
||||
const std::string& getHost() const;
|
||||
/// Returns the target host.
|
||||
|
||||
void authenticate(HTTPRequest& request, const HTTPResponse& response);
|
||||
/// Parses WWW-Authenticate header of the HTTPResponse, initializes
|
||||
/// internal state, and adds authentication information to the given HTTPRequest.
|
||||
|
||||
void authenticate(HTTPRequest& request, const std::string& ntlmChallengeBase64);
|
||||
/// Initializes internal state according to information from the
|
||||
/// ntlmChallengeBase64, and adds authentication
|
||||
/// information to the given HTTPRequest.
|
||||
///
|
||||
/// Throws InvalidArgumentException if responseAuthParams is
|
||||
/// invalid.
|
||||
|
||||
void updateAuthInfo(HTTPRequest& request);
|
||||
/// Updates internal state and adds authentication information to
|
||||
/// the given HTTPRequest.
|
||||
|
||||
void proxyAuthenticate(HTTPRequest& request, const HTTPResponse& response);
|
||||
/// Parses Proxy-Authenticate header of the HTTPResponse, initializes
|
||||
/// internal state, and adds proxy authentication information to the given HTTPRequest.
|
||||
|
||||
void proxyAuthenticate(HTTPRequest& request, const std::string& ntlmChallengeBase64);
|
||||
/// Initializes internal state according to information from the
|
||||
/// HTTPAuthenticationParams of the response, and adds proxy authentication
|
||||
/// information to the given HTTPRequest.
|
||||
///
|
||||
/// Throws InvalidArgumentException if HTTPAuthenticationParams is
|
||||
/// invalid or some required parameter is missing.
|
||||
/// Throws NotImplementedException in case of unsupported digest
|
||||
/// algorithm or quality of protection method.
|
||||
|
||||
void updateProxyAuthInfo(HTTPRequest& request);
|
||||
/// Updates internal state and adds proxy authentication information to
|
||||
/// the given HTTPRequest.
|
||||
|
||||
static const std::string SCHEME;
|
||||
|
||||
private:
|
||||
HTTPNTLMCredentials(const HTTPNTLMCredentials&);
|
||||
HTTPNTLMCredentials& operator = (const HTTPNTLMCredentials&);
|
||||
|
||||
std::string createNTLMMessage(const std::string& ntlmChallengeBase64);
|
||||
bool useSSPINTLM() const;
|
||||
|
||||
std::string _username;
|
||||
std::string _password;
|
||||
std::string _host;
|
||||
Poco::SharedPtr<NTLMContext> _pNTLMContext;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline const std::string& HTTPNTLMCredentials::getUsername() const
|
||||
{
|
||||
return _username;
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& HTTPNTLMCredentials::getPassword() const
|
||||
{
|
||||
return _password;
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& HTTPNTLMCredentials::getHost() const
|
||||
{
|
||||
return _host;
|
||||
}
|
||||
|
||||
|
||||
inline bool HTTPNTLMCredentials::useSSPINTLM() const
|
||||
{
|
||||
return _username.empty() && _password.empty() && SSPINTLMCredentials::available();
|
||||
}
|
||||
|
||||
|
||||
inline bool HTTPNTLMCredentials::empty() const
|
||||
{
|
||||
return _username.empty() && _password.empty();
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HTTPNTLMCredentials_INCLUDED
|
||||
209
vendor/POCO/Net/include/Poco/Net/HTTPRequest.h
vendored
Normal file
209
vendor/POCO/Net/include/Poco/Net/HTTPRequest.h
vendored
Normal file
@@ -0,0 +1,209 @@
|
||||
//
|
||||
// HTTPRequest.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTP
|
||||
// Module: HTTPRequest
|
||||
//
|
||||
// Definition of the HTTPRequest class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HTTPRequest_INCLUDED
|
||||
#define Net_HTTPRequest_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/HTTPMessage.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API HTTPRequest: public HTTPMessage
|
||||
/// This class encapsulates an HTTP request
|
||||
/// message.
|
||||
///
|
||||
/// In addition to the properties common to
|
||||
/// all HTTP messages, a HTTP request has
|
||||
/// a method (e.g. GET, HEAD, POST, etc.) and
|
||||
/// a request URI.
|
||||
{
|
||||
public:
|
||||
HTTPRequest();
|
||||
/// Creates a GET / HTTP/1.0 HTTP request.
|
||||
|
||||
explicit HTTPRequest(const std::string& version);
|
||||
/// Creates a GET / HTTP/1.x request with
|
||||
/// the given version (HTTP/1.0 or HTTP/1.1).
|
||||
|
||||
HTTPRequest(const std::string& method, const std::string& uri);
|
||||
/// Creates a HTTP/1.0 request with the given method and URI.
|
||||
|
||||
HTTPRequest(const std::string& method, const std::string& uri, const std::string& version);
|
||||
/// Creates a HTTP request with the given method, URI and version.
|
||||
|
||||
HTTPRequest(const HTTPRequest& other);
|
||||
/// Creates a HTTP request by copying another one.
|
||||
|
||||
virtual ~HTTPRequest();
|
||||
/// Destroys the HTTPRequest.
|
||||
|
||||
HTTPRequest& operator = (const HTTPRequest&);
|
||||
/// Assignment operator.
|
||||
|
||||
void setMethod(const std::string& method);
|
||||
/// Sets the method.
|
||||
|
||||
const std::string& getMethod() const;
|
||||
/// Returns the method.
|
||||
|
||||
void setURI(const std::string& uri);
|
||||
/// Sets the request URI.
|
||||
|
||||
const std::string& getURI() const;
|
||||
/// Returns the request URI.
|
||||
|
||||
void setHost(const std::string& host);
|
||||
/// Sets the value of the Host header field.
|
||||
|
||||
void setHost(const std::string& host, Poco::UInt16 port);
|
||||
/// Sets the value of the Host header field.
|
||||
///
|
||||
/// If the given port number is a non-standard
|
||||
/// port number (other than 80 or 443), it is
|
||||
/// included in the Host header field.
|
||||
|
||||
const std::string& getHost() const;
|
||||
/// Returns the value of the Host header field.
|
||||
///
|
||||
/// Throws a NotFoundException if the request
|
||||
/// does not have a Host header field.
|
||||
|
||||
void setCookies(const NameValueCollection& cookies);
|
||||
/// Adds a Cookie header with the names and
|
||||
/// values from cookies.
|
||||
|
||||
void getCookies(NameValueCollection& cookies) const;
|
||||
/// Fills cookies with the cookies extracted
|
||||
/// from the Cookie headers in the request.
|
||||
|
||||
bool hasCredentials() const;
|
||||
/// Returns true iff the request contains authentication
|
||||
/// information in the form of an Authorization header.
|
||||
|
||||
void getCredentials(std::string& scheme, std::string& authInfo) const;
|
||||
/// Returns the authentication scheme and additional authentication
|
||||
/// information contained in this request.
|
||||
///
|
||||
/// Throws a NotAuthenticatedException if no authentication information
|
||||
/// is contained in the request.
|
||||
|
||||
void setCredentials(const std::string& scheme, const std::string& authInfo);
|
||||
/// Sets the authentication scheme and information for
|
||||
/// this request.
|
||||
|
||||
void removeCredentials();
|
||||
/// Removes any credentials from the request.
|
||||
|
||||
bool getExpectContinue() const;
|
||||
/// Returns true if the request contains an
|
||||
/// "Expect: 100-continue" header.
|
||||
|
||||
void setExpectContinue(bool expectContinue);
|
||||
/// Adds a "Expect: 100-continue" header to the request if
|
||||
/// expectContinue is true, otherwise removes the Expect header.
|
||||
|
||||
bool hasProxyCredentials() const;
|
||||
/// Returns true iff the request contains proxy authentication
|
||||
/// information in the form of an Proxy-Authorization header.
|
||||
|
||||
void getProxyCredentials(std::string& scheme, std::string& authInfo) const;
|
||||
/// Returns the proxy authentication scheme and additional proxy authentication
|
||||
/// information contained in this request.
|
||||
///
|
||||
/// Throws a NotAuthenticatedException if no proxy authentication information
|
||||
/// is contained in the request.
|
||||
|
||||
void setProxyCredentials(const std::string& scheme, const std::string& authInfo);
|
||||
/// Sets the proxy authentication scheme and information for
|
||||
/// this request.
|
||||
|
||||
void removeProxyCredentials();
|
||||
/// Removes any proxy credentials from the request.
|
||||
|
||||
void write(std::ostream& ostr) const;
|
||||
/// Writes the HTTP request to the given
|
||||
/// output stream.
|
||||
|
||||
void read(std::istream& istr);
|
||||
/// Reads the HTTP request from the
|
||||
/// given input stream.
|
||||
|
||||
static const std::string HTTP_GET;
|
||||
static const std::string HTTP_HEAD;
|
||||
static const std::string HTTP_PUT;
|
||||
static const std::string HTTP_POST;
|
||||
static const std::string HTTP_OPTIONS;
|
||||
static const std::string HTTP_DELETE;
|
||||
static const std::string HTTP_TRACE;
|
||||
static const std::string HTTP_CONNECT;
|
||||
static const std::string HTTP_PATCH;
|
||||
|
||||
static const std::string HOST;
|
||||
static const std::string COOKIE;
|
||||
static const std::string AUTHORIZATION;
|
||||
static const std::string PROXY_AUTHORIZATION;
|
||||
static const std::string UPGRADE;
|
||||
static const std::string EXPECT;
|
||||
|
||||
protected:
|
||||
void getCredentials(const std::string& header, std::string& scheme, std::string& authInfo) const;
|
||||
/// Returns the authentication scheme and additional authentication
|
||||
/// information contained in the given header of request.
|
||||
///
|
||||
/// Throws a NotAuthenticatedException if no authentication information
|
||||
/// is contained in the request.
|
||||
|
||||
void setCredentials(const std::string& header, const std::string& scheme, const std::string& authInfo);
|
||||
/// Writes the authentication scheme and information for
|
||||
/// this request to the given header.
|
||||
|
||||
private:
|
||||
enum Limits
|
||||
{
|
||||
MAX_METHOD_LENGTH = 32,
|
||||
MAX_URI_LENGTH = 16384,
|
||||
MAX_VERSION_LENGTH = 8
|
||||
};
|
||||
|
||||
std::string _method;
|
||||
std::string _uri;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline const std::string& HTTPRequest::getMethod() const
|
||||
{
|
||||
return _method;
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& HTTPRequest::getURI() const
|
||||
{
|
||||
return _uri;
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HTTPRequest_INCLUDED
|
||||
67
vendor/POCO/Net/include/Poco/Net/HTTPRequestHandler.h
vendored
Normal file
67
vendor/POCO/Net/include/Poco/Net/HTTPRequestHandler.h
vendored
Normal file
@@ -0,0 +1,67 @@
|
||||
//
|
||||
// HTTPRequestHandler.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTPServer
|
||||
// Module: HTTPRequestHandler
|
||||
//
|
||||
// Definition of the HTTPRequestHandler class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HTTPRequestHandler_INCLUDED
|
||||
#define Net_HTTPRequestHandler_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class HTTPServerRequest;
|
||||
class HTTPServerResponse;
|
||||
|
||||
|
||||
class Net_API HTTPRequestHandler
|
||||
/// The abstract base class for HTTPRequestHandlers
|
||||
/// created by HTTPServer.
|
||||
///
|
||||
/// Derived classes must override the handleRequest() method.
|
||||
/// Furthermore, a HTTPRequestHandlerFactory must be provided.
|
||||
///
|
||||
/// The handleRequest() method must perform the complete handling
|
||||
/// of the HTTP request connection. As soon as the handleRequest()
|
||||
/// method returns, the request handler object is destroyed.
|
||||
///
|
||||
/// A new HTTPRequestHandler object will be created for
|
||||
/// each new HTTP request that is received by the HTTPServer.
|
||||
{
|
||||
public:
|
||||
HTTPRequestHandler();
|
||||
/// Creates the HTTPRequestHandler.
|
||||
|
||||
virtual ~HTTPRequestHandler();
|
||||
/// Destroys the HTTPRequestHandler.
|
||||
|
||||
virtual void handleRequest(HTTPServerRequest& request, HTTPServerResponse& response) = 0;
|
||||
/// Must be overridden by subclasses.
|
||||
///
|
||||
/// Handles the given request.
|
||||
|
||||
private:
|
||||
HTTPRequestHandler(const HTTPRequestHandler&);
|
||||
HTTPRequestHandler& operator = (const HTTPRequestHandler&);
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HTTPRequestHandler_INCLUDED
|
||||
78
vendor/POCO/Net/include/Poco/Net/HTTPRequestHandlerFactory.h
vendored
Normal file
78
vendor/POCO/Net/include/Poco/Net/HTTPRequestHandlerFactory.h
vendored
Normal file
@@ -0,0 +1,78 @@
|
||||
//
|
||||
// HTTPRequestHandlerFactory.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTPServer
|
||||
// Module: HTTPRequestHandlerFactory
|
||||
//
|
||||
// Definition of the HTTPRequestHandlerFactory class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HTTPRequestHandlerFactory_INCLUDED
|
||||
#define Net_HTTPRequestHandlerFactory_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/SharedPtr.h"
|
||||
#include "Poco/BasicEvent.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class HTTPServerRequest;
|
||||
class HTTPServerResponse;
|
||||
class HTTPRequestHandler;
|
||||
|
||||
|
||||
class Net_API HTTPRequestHandlerFactory
|
||||
/// A factory for HTTPRequestHandler objects.
|
||||
/// Subclasses must override the createRequestHandler()
|
||||
/// method.
|
||||
{
|
||||
public:
|
||||
using Ptr = Poco::SharedPtr<HTTPRequestHandlerFactory>;
|
||||
|
||||
HTTPRequestHandlerFactory();
|
||||
/// Creates the HTTPRequestHandlerFactory.
|
||||
|
||||
virtual ~HTTPRequestHandlerFactory();
|
||||
/// Destroys the HTTPRequestHandlerFactory.
|
||||
|
||||
virtual HTTPRequestHandler* createRequestHandler(const HTTPServerRequest& request) = 0;
|
||||
/// Must be overridden by subclasses.
|
||||
///
|
||||
/// Creates a new request handler for the given HTTP request.
|
||||
///
|
||||
/// The method should inspect the given HTTPServerRequest object (e.g., method
|
||||
/// and URI) and create an appropriate HTTPRequestHandler object to handle the
|
||||
/// request.
|
||||
///
|
||||
/// If the request contains a "Expect: 100-continue" header, it's possible
|
||||
/// to prevent the server from sending the default 100 Continue response
|
||||
/// by setting the status of the response object that can be obtained through
|
||||
/// the request object (request.response()) to something other than 200 OK.
|
||||
|
||||
protected:
|
||||
Poco::BasicEvent<const bool> serverStopped;
|
||||
|
||||
private:
|
||||
HTTPRequestHandlerFactory(const HTTPRequestHandlerFactory&);
|
||||
HTTPRequestHandlerFactory& operator = (const HTTPRequestHandlerFactory&);
|
||||
|
||||
friend class HTTPServer;
|
||||
friend class HTTPServerConnection;
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HTTPRequestHandlerFactory_INCLUDED
|
||||
298
vendor/POCO/Net/include/Poco/Net/HTTPResponse.h
vendored
Normal file
298
vendor/POCO/Net/include/Poco/Net/HTTPResponse.h
vendored
Normal file
@@ -0,0 +1,298 @@
|
||||
//
|
||||
// HTTPResponse.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTP
|
||||
// Module: HTTPResponse
|
||||
//
|
||||
// Definition of the HTTPResponse class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HTTPResponse_INCLUDED
|
||||
#define Net_HTTPResponse_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/HTTPMessage.h"
|
||||
#include "Poco/Net/HTTPCookie.h"
|
||||
#include "Poco/Timestamp.h"
|
||||
#include <vector>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class HTTPCookie;
|
||||
|
||||
|
||||
class Net_API HTTPResponse: public HTTPMessage
|
||||
/// This class encapsulates an HTTP response
|
||||
/// message.
|
||||
///
|
||||
/// In addition to the properties common to
|
||||
/// all HTTP messages, a HTTP response has
|
||||
/// status code and a reason phrase.
|
||||
{
|
||||
public:
|
||||
enum HTTPStatus
|
||||
{
|
||||
HTTP_CONTINUE = 100,
|
||||
HTTP_SWITCHING_PROTOCOLS = 101,
|
||||
HTTP_PROCESSING = 102,
|
||||
HTTP_OK = 200,
|
||||
HTTP_CREATED = 201,
|
||||
HTTP_ACCEPTED = 202,
|
||||
HTTP_NONAUTHORITATIVE = 203,
|
||||
HTTP_NO_CONTENT = 204,
|
||||
HTTP_RESET_CONTENT = 205,
|
||||
HTTP_PARTIAL_CONTENT = 206,
|
||||
HTTP_MULTI_STATUS = 207,
|
||||
HTTP_ALREADY_REPORTED = 208,
|
||||
HTTP_IM_USED = 226,
|
||||
HTTP_MULTIPLE_CHOICES = 300,
|
||||
HTTP_MOVED_PERMANENTLY = 301,
|
||||
HTTP_FOUND = 302,
|
||||
HTTP_SEE_OTHER = 303,
|
||||
HTTP_NOT_MODIFIED = 304,
|
||||
HTTP_USE_PROXY = 305,
|
||||
HTTP_USEPROXY = 305, /// @deprecated
|
||||
// UNUSED: 306
|
||||
HTTP_TEMPORARY_REDIRECT = 307,
|
||||
HTTP_PERMANENT_REDIRECT = 308,
|
||||
HTTP_BAD_REQUEST = 400,
|
||||
HTTP_UNAUTHORIZED = 401,
|
||||
HTTP_PAYMENT_REQUIRED = 402,
|
||||
HTTP_FORBIDDEN = 403,
|
||||
HTTP_NOT_FOUND = 404,
|
||||
HTTP_METHOD_NOT_ALLOWED = 405,
|
||||
HTTP_NOT_ACCEPTABLE = 406,
|
||||
HTTP_PROXY_AUTHENTICATION_REQUIRED = 407,
|
||||
HTTP_REQUEST_TIMEOUT = 408,
|
||||
HTTP_CONFLICT = 409,
|
||||
HTTP_GONE = 410,
|
||||
HTTP_LENGTH_REQUIRED = 411,
|
||||
HTTP_PRECONDITION_FAILED = 412,
|
||||
HTTP_REQUEST_ENTITY_TOO_LARGE = 413,
|
||||
HTTP_REQUESTENTITYTOOLARGE = 413, /// @deprecated
|
||||
HTTP_REQUEST_URI_TOO_LONG = 414,
|
||||
HTTP_REQUESTURITOOLONG = 414, /// @deprecated
|
||||
HTTP_UNSUPPORTED_MEDIA_TYPE = 415,
|
||||
HTTP_UNSUPPORTEDMEDIATYPE = 415, /// @deprecated
|
||||
HTTP_REQUESTED_RANGE_NOT_SATISFIABLE = 416,
|
||||
HTTP_EXPECTATION_FAILED = 417,
|
||||
HTTP_IM_A_TEAPOT = 418,
|
||||
HTTP_ENCHANCE_YOUR_CALM = 420,
|
||||
HTTP_MISDIRECTED_REQUEST = 421,
|
||||
HTTP_UNPROCESSABLE_ENTITY = 422,
|
||||
HTTP_LOCKED = 423,
|
||||
HTTP_FAILED_DEPENDENCY = 424,
|
||||
HTTP_UPGRADE_REQUIRED = 426,
|
||||
HTTP_PRECONDITION_REQUIRED = 428,
|
||||
HTTP_TOO_MANY_REQUESTS = 429,
|
||||
HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE = 431,
|
||||
HTTP_UNAVAILABLE_FOR_LEGAL_REASONS = 451,
|
||||
HTTP_INTERNAL_SERVER_ERROR = 500,
|
||||
HTTP_NOT_IMPLEMENTED = 501,
|
||||
HTTP_BAD_GATEWAY = 502,
|
||||
HTTP_SERVICE_UNAVAILABLE = 503,
|
||||
HTTP_GATEWAY_TIMEOUT = 504,
|
||||
HTTP_VERSION_NOT_SUPPORTED = 505,
|
||||
HTTP_VARIANT_ALSO_NEGOTIATES = 506,
|
||||
HTTP_INSUFFICIENT_STORAGE = 507,
|
||||
HTTP_LOOP_DETECTED = 508,
|
||||
HTTP_NOT_EXTENDED = 510,
|
||||
HTTP_NETWORK_AUTHENTICATION_REQUIRED = 511
|
||||
};
|
||||
|
||||
HTTPResponse();
|
||||
/// Creates the HTTPResponse with OK status.
|
||||
|
||||
HTTPResponse(HTTPStatus status, const std::string& reason);
|
||||
/// Creates the HTTPResponse with the given status
|
||||
/// and reason phrase.
|
||||
|
||||
HTTPResponse(const std::string& version, HTTPStatus status, const std::string& reason);
|
||||
/// Creates the HTTPResponse with the given version, status
|
||||
/// and reason phrase.
|
||||
|
||||
explicit HTTPResponse(HTTPStatus status);
|
||||
/// Creates the HTTPResponse with the given status
|
||||
/// and an appropriate reason phrase.
|
||||
|
||||
HTTPResponse(const std::string& version, HTTPStatus status);
|
||||
/// Creates the HTTPResponse with the given version, status
|
||||
/// and an appropriate reason phrase.
|
||||
|
||||
HTTPResponse(const HTTPResponse& other);
|
||||
/// Creates the HTTPResponse by copying another one.
|
||||
|
||||
virtual ~HTTPResponse();
|
||||
/// Destroys the HTTPResponse.
|
||||
|
||||
HTTPResponse& operator = (const HTTPResponse& other);
|
||||
/// Assignment operator.
|
||||
|
||||
void setStatus(HTTPStatus status);
|
||||
/// Sets the HTTP status code.
|
||||
///
|
||||
/// Does not change the reason phrase.
|
||||
|
||||
HTTPStatus getStatus() const;
|
||||
/// Returns the HTTP status code.
|
||||
|
||||
void setStatus(const std::string& status);
|
||||
/// Sets the HTTP status code.
|
||||
///
|
||||
/// The string must contain a valid
|
||||
/// HTTP numerical status code.
|
||||
|
||||
void setReason(const std::string& reason);
|
||||
/// Sets the HTTP reason phrase.
|
||||
|
||||
const std::string& getReason() const;
|
||||
/// Returns the HTTP reason phrase.
|
||||
|
||||
void setStatusAndReason(HTTPStatus status, const std::string& reason);
|
||||
/// Sets the HTTP status code and reason phrase.
|
||||
|
||||
void setStatusAndReason(HTTPStatus status);
|
||||
/// Sets the HTTP status code and reason phrase.
|
||||
///
|
||||
/// The reason phrase is set according to the status code.
|
||||
|
||||
void setDate(const Poco::Timestamp& dateTime);
|
||||
/// Sets the Date header to the given date/time value.
|
||||
|
||||
Poco::Timestamp getDate() const;
|
||||
/// Returns the value of the Date header.
|
||||
|
||||
void addCookie(const HTTPCookie& cookie);
|
||||
/// Adds the cookie to the response by
|
||||
/// adding a Set-Cookie header.
|
||||
|
||||
void getCookies(std::vector<HTTPCookie>& cookies) const;
|
||||
/// Returns a vector with all the cookies
|
||||
/// set in the response header.
|
||||
///
|
||||
/// May throw an exception in case of a malformed
|
||||
/// Set-Cookie header.
|
||||
|
||||
void write(std::ostream& ostr) const;
|
||||
/// Writes the HTTP response to the given
|
||||
/// output stream.
|
||||
|
||||
void read(std::istream& istr);
|
||||
/// Reads the HTTP response from the
|
||||
/// given input stream.
|
||||
///
|
||||
/// 100 Continue responses are ignored.
|
||||
|
||||
static const std::string& getReasonForStatus(HTTPStatus status);
|
||||
/// Returns an appropriate reason phrase
|
||||
/// for the given status code.
|
||||
|
||||
static const std::string HTTP_REASON_CONTINUE;
|
||||
static const std::string HTTP_REASON_SWITCHING_PROTOCOLS;
|
||||
static const std::string HTTP_REASON_PROCESSING;
|
||||
static const std::string HTTP_REASON_OK;
|
||||
static const std::string HTTP_REASON_CREATED;
|
||||
static const std::string HTTP_REASON_ACCEPTED;
|
||||
static const std::string HTTP_REASON_NONAUTHORITATIVE;
|
||||
static const std::string HTTP_REASON_NO_CONTENT;
|
||||
static const std::string HTTP_REASON_RESET_CONTENT;
|
||||
static const std::string HTTP_REASON_PARTIAL_CONTENT;
|
||||
static const std::string HTTP_REASON_MULTI_STATUS;
|
||||
static const std::string HTTP_REASON_ALREADY_REPORTED;
|
||||
static const std::string HTTP_REASON_IM_USED;
|
||||
static const std::string HTTP_REASON_MULTIPLE_CHOICES;
|
||||
static const std::string HTTP_REASON_MOVED_PERMANENTLY;
|
||||
static const std::string HTTP_REASON_FOUND;
|
||||
static const std::string HTTP_REASON_SEE_OTHER;
|
||||
static const std::string HTTP_REASON_NOT_MODIFIED;
|
||||
static const std::string HTTP_REASON_USE_PROXY;
|
||||
static const std::string HTTP_REASON_TEMPORARY_REDIRECT;
|
||||
static const std::string HTTP_REASON_PERMANENT_REDIRECT;
|
||||
static const std::string HTTP_REASON_BAD_REQUEST;
|
||||
static const std::string HTTP_REASON_UNAUTHORIZED;
|
||||
static const std::string HTTP_REASON_PAYMENT_REQUIRED;
|
||||
static const std::string HTTP_REASON_FORBIDDEN;
|
||||
static const std::string HTTP_REASON_NOT_FOUND;
|
||||
static const std::string HTTP_REASON_METHOD_NOT_ALLOWED;
|
||||
static const std::string HTTP_REASON_NOT_ACCEPTABLE;
|
||||
static const std::string HTTP_REASON_PROXY_AUTHENTICATION_REQUIRED;
|
||||
static const std::string HTTP_REASON_REQUEST_TIMEOUT;
|
||||
static const std::string HTTP_REASON_CONFLICT;
|
||||
static const std::string HTTP_REASON_GONE;
|
||||
static const std::string HTTP_REASON_LENGTH_REQUIRED;
|
||||
static const std::string HTTP_REASON_PRECONDITION_FAILED;
|
||||
static const std::string HTTP_REASON_REQUEST_ENTITY_TOO_LARGE;
|
||||
static const std::string HTTP_REASON_REQUEST_URI_TOO_LONG;
|
||||
static const std::string HTTP_REASON_UNSUPPORTED_MEDIA_TYPE;
|
||||
static const std::string HTTP_REASON_REQUESTED_RANGE_NOT_SATISFIABLE;
|
||||
static const std::string HTTP_REASON_EXPECTATION_FAILED;
|
||||
static const std::string HTTP_REASON_IM_A_TEAPOT;
|
||||
static const std::string HTTP_REASON_ENCHANCE_YOUR_CALM;
|
||||
static const std::string HTTP_REASON_MISDIRECTED_REQUEST;
|
||||
static const std::string HTTP_REASON_UNPROCESSABLE_ENTITY;
|
||||
static const std::string HTTP_REASON_LOCKED;
|
||||
static const std::string HTTP_REASON_FAILED_DEPENDENCY;
|
||||
static const std::string HTTP_REASON_UPGRADE_REQUIRED;
|
||||
static const std::string HTTP_REASON_PRECONDITION_REQUIRED;
|
||||
static const std::string HTTP_REASON_TOO_MANY_REQUESTS;
|
||||
static const std::string HTTP_REASON_REQUEST_HEADER_FIELDS_TOO_LARGE;
|
||||
static const std::string HTTP_REASON_UNAVAILABLE_FOR_LEGAL_REASONS;
|
||||
static const std::string HTTP_REASON_INTERNAL_SERVER_ERROR;
|
||||
static const std::string HTTP_REASON_NOT_IMPLEMENTED;
|
||||
static const std::string HTTP_REASON_BAD_GATEWAY;
|
||||
static const std::string HTTP_REASON_SERVICE_UNAVAILABLE;
|
||||
static const std::string HTTP_REASON_GATEWAY_TIMEOUT;
|
||||
static const std::string HTTP_REASON_VERSION_NOT_SUPPORTED;
|
||||
static const std::string HTTP_REASON_VARIANT_ALSO_NEGOTIATES;
|
||||
static const std::string HTTP_REASON_INSUFFICIENT_STORAGE;
|
||||
static const std::string HTTP_REASON_LOOP_DETECTED;
|
||||
static const std::string HTTP_REASON_NOT_EXTENDED;
|
||||
static const std::string HTTP_REASON_NETWORK_AUTHENTICATION_REQUIRED;
|
||||
static const std::string HTTP_REASON_UNKNOWN;
|
||||
|
||||
static const std::string DATE;
|
||||
static const std::string SET_COOKIE;
|
||||
|
||||
private:
|
||||
enum Limits
|
||||
{
|
||||
MAX_VERSION_LENGTH = 8,
|
||||
MAX_STATUS_LENGTH = 3,
|
||||
MAX_REASON_LENGTH = 512
|
||||
};
|
||||
|
||||
HTTPStatus _status;
|
||||
std::string _reason;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline HTTPResponse::HTTPStatus HTTPResponse::getStatus() const
|
||||
{
|
||||
return _status;
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& HTTPResponse::getReason() const
|
||||
{
|
||||
return _reason;
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HTTPResponse_INCLUDED
|
||||
103
vendor/POCO/Net/include/Poco/Net/HTTPServer.h
vendored
Normal file
103
vendor/POCO/Net/include/Poco/Net/HTTPServer.h
vendored
Normal file
@@ -0,0 +1,103 @@
|
||||
//
|
||||
// HTTPServer.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTPServer
|
||||
// Module: HTTPServer
|
||||
//
|
||||
// Definition of the HTTPServer class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HTTPServer_INCLUDED
|
||||
#define Net_HTTPServer_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/TCPServer.h"
|
||||
#include "Poco/Net/HTTPRequestHandlerFactory.h"
|
||||
#include "Poco/Net/HTTPServerParams.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API HTTPServer: public TCPServer
|
||||
/// A subclass of TCPServer that implements a
|
||||
/// full-featured multithreaded HTTP server.
|
||||
///
|
||||
/// A HTTPRequestHandlerFactory must be supplied.
|
||||
/// The ServerSocket must be bound and in listening state.
|
||||
///
|
||||
/// To configure various aspects of the server, a HTTPServerParams
|
||||
/// object can be passed to the constructor.
|
||||
///
|
||||
/// The server supports:
|
||||
/// - HTTP/1.0 and HTTP/1.1
|
||||
/// - automatic handling of persistent connections.
|
||||
/// - automatic decoding/encoding of request/response message bodies
|
||||
/// using chunked transfer encoding.
|
||||
///
|
||||
/// Please see the TCPServer class for information about
|
||||
/// connection and thread handling.
|
||||
///
|
||||
/// See RFC 2616 <http://www.faqs.org/rfcs/rfc2616.html> for more
|
||||
/// information about the HTTP protocol.
|
||||
{
|
||||
public:
|
||||
HTTPServer(HTTPRequestHandlerFactory::Ptr pFactory, Poco::UInt16 portNumber = 80, HTTPServerParams::Ptr pParams = new HTTPServerParams);
|
||||
/// Creates HTTPServer listening on the given port (default 80).
|
||||
///
|
||||
/// The server takes ownership of the HTTPRequstHandlerFactory
|
||||
/// and deletes it when it's no longer needed.
|
||||
///
|
||||
/// New threads are taken from the default thread pool.
|
||||
|
||||
HTTPServer(HTTPRequestHandlerFactory::Ptr pFactory, const ServerSocket& socket, HTTPServerParams::Ptr pParams);
|
||||
/// Creates the HTTPServer, using the given ServerSocket.
|
||||
///
|
||||
/// The server takes ownership of the HTTPRequstHandlerFactory
|
||||
/// and deletes it when it's no longer needed.
|
||||
///
|
||||
/// The server also takes ownership of the HTTPServerParams object.
|
||||
///
|
||||
/// New threads are taken from the default thread pool.
|
||||
|
||||
HTTPServer(HTTPRequestHandlerFactory::Ptr pFactory, Poco::ThreadPool& threadPool, const ServerSocket& socket, HTTPServerParams::Ptr pParams);
|
||||
/// Creates the HTTPServer, using the given ServerSocket.
|
||||
///
|
||||
/// The server takes ownership of the HTTPRequstHandlerFactory
|
||||
/// and deletes it when it's no longer needed.
|
||||
///
|
||||
/// The server also takes ownership of the HTTPServerParams object.
|
||||
///
|
||||
/// New threads are taken from the given thread pool.
|
||||
|
||||
~HTTPServer();
|
||||
/// Destroys the HTTPServer and its HTTPRequestHandlerFactory.
|
||||
|
||||
void stopAll(bool abortCurrent = false);
|
||||
/// Stops the server. In contrast to TCPServer::stop(), which also
|
||||
/// stops the server, but allows all client connections to finish at
|
||||
/// their pace, this allows finer control over client connections.
|
||||
///
|
||||
/// If abortCurrent is false, all current requests are allowed to
|
||||
/// complete. If abortCurrent is true, the underlying sockets of
|
||||
/// all client connections are shut down, causing all requests
|
||||
/// to abort.
|
||||
|
||||
private:
|
||||
HTTPRequestHandlerFactory::Ptr _pFactory;
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HTTPServer_INCLUDED
|
||||
65
vendor/POCO/Net/include/Poco/Net/HTTPServerConnection.h
vendored
Normal file
65
vendor/POCO/Net/include/Poco/Net/HTTPServerConnection.h
vendored
Normal file
@@ -0,0 +1,65 @@
|
||||
//
|
||||
// HTTPServerConnection.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTPServer
|
||||
// Module: HTTPServerConnection
|
||||
//
|
||||
// Definition of the HTTPServerConnection class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HTTPServerConnection_INCLUDED
|
||||
#define Net_HTTPServerConnection_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/TCPServerConnection.h"
|
||||
#include "Poco/Net/HTTPResponse.h"
|
||||
#include "Poco/Net/HTTPRequestHandlerFactory.h"
|
||||
#include "Poco/Net/HTTPServerParams.h"
|
||||
#include "Poco/Mutex.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class HTTPServerSession;
|
||||
|
||||
|
||||
class Net_API HTTPServerConnection: public TCPServerConnection
|
||||
/// This subclass of TCPServerConnection handles HTTP
|
||||
/// connections.
|
||||
{
|
||||
public:
|
||||
HTTPServerConnection(const StreamSocket& socket, HTTPServerParams::Ptr pParams, HTTPRequestHandlerFactory::Ptr pFactory);
|
||||
/// Creates the HTTPServerConnection.
|
||||
|
||||
virtual ~HTTPServerConnection();
|
||||
/// Destroys the HTTPServerConnection.
|
||||
|
||||
void run();
|
||||
/// Handles all HTTP requests coming in.
|
||||
|
||||
protected:
|
||||
void sendErrorResponse(HTTPServerSession& session, HTTPResponse::HTTPStatus status);
|
||||
void onServerStopped(const bool& abortCurrent);
|
||||
|
||||
private:
|
||||
HTTPServerParams::Ptr _pParams;
|
||||
HTTPRequestHandlerFactory::Ptr _pFactory;
|
||||
bool _stopped;
|
||||
Poco::FastMutex _mutex;
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HTTPServerConnection_INCLUDED
|
||||
55
vendor/POCO/Net/include/Poco/Net/HTTPServerConnectionFactory.h
vendored
Normal file
55
vendor/POCO/Net/include/Poco/Net/HTTPServerConnectionFactory.h
vendored
Normal file
@@ -0,0 +1,55 @@
|
||||
//
|
||||
// HTTPServerConnectionFactory.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTPServer
|
||||
// Module: HTTPServerConnectionFactory
|
||||
//
|
||||
// Definition of the HTTPServerConnectionFactory class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HTTPServerConnectionFactory_INCLUDED
|
||||
#define Net_HTTPServerConnectionFactory_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/TCPServerConnectionFactory.h"
|
||||
#include "Poco/Net/HTTPRequestHandlerFactory.h"
|
||||
#include "Poco/Net/HTTPServerParams.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API HTTPServerConnectionFactory: public TCPServerConnectionFactory
|
||||
/// This implementation of a TCPServerConnectionFactory
|
||||
/// is used by HTTPServer to create HTTPServerConnection objects.
|
||||
{
|
||||
public:
|
||||
HTTPServerConnectionFactory(HTTPServerParams::Ptr pParams, HTTPRequestHandlerFactory::Ptr pFactory);
|
||||
/// Creates the HTTPServerConnectionFactory.
|
||||
|
||||
~HTTPServerConnectionFactory();
|
||||
/// Destroys the HTTPServerConnectionFactory.
|
||||
|
||||
TCPServerConnection* createConnection(const StreamSocket& socket);
|
||||
/// Creates an instance of HTTPServerConnection
|
||||
/// using the given StreamSocket.
|
||||
|
||||
private:
|
||||
HTTPServerParams::Ptr _pParams;
|
||||
HTTPRequestHandlerFactory::Ptr _pFactory;
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HTTPServerConnectionFactory_INCLUDED
|
||||
154
vendor/POCO/Net/include/Poco/Net/HTTPServerParams.h
vendored
Normal file
154
vendor/POCO/Net/include/Poco/Net/HTTPServerParams.h
vendored
Normal file
@@ -0,0 +1,154 @@
|
||||
//
|
||||
// HTTPServerParams.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTPServer
|
||||
// Module: HTTPServerParams
|
||||
//
|
||||
// Definition of the HTTPServerParams class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HTTPServerParams_INCLUDED
|
||||
#define Net_HTTPServerParams_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/TCPServerParams.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API HTTPServerParams: public TCPServerParams
|
||||
/// This class is used to specify parameters to both the
|
||||
/// HTTPServer, as well as to HTTPRequestHandler objects.
|
||||
///
|
||||
/// Subclasses may add new parameters to the class.
|
||||
{
|
||||
public:
|
||||
using Ptr = Poco::AutoPtr<HTTPServerParams>;
|
||||
|
||||
HTTPServerParams();
|
||||
/// Creates the HTTPServerParams.
|
||||
///
|
||||
/// Sets the following default values:
|
||||
/// - timeout: 60 seconds
|
||||
/// - keepAlive: true
|
||||
/// - maxKeepAliveRequests: 0
|
||||
/// - keepAliveTimeout: 10 seconds
|
||||
|
||||
void setServerName(const std::string& serverName);
|
||||
/// Sets the name and port (name:port) that the server uses to identify itself.
|
||||
///
|
||||
/// If this is not set to valid DNS name for your host, server-generated
|
||||
/// redirections will not work.
|
||||
|
||||
const std::string& getServerName() const;
|
||||
/// Returns the name and port (name:port) that the server uses to identify itself.
|
||||
|
||||
void setSoftwareVersion(const std::string& softwareVersion);
|
||||
/// Sets the server software name and version that the server uses to identify
|
||||
/// itself. If this is set to a non-empty string, the server will
|
||||
/// automatically include a Server header field with the value given
|
||||
/// here in every response it sends.
|
||||
///
|
||||
/// The format of the softwareVersion string should be name/version
|
||||
/// (e.g. MyHTTPServer/1.0).
|
||||
|
||||
const std::string& getSoftwareVersion() const;
|
||||
/// Returns the server software name and version that the server uses to
|
||||
/// identify itself.
|
||||
|
||||
void setTimeout(const Poco::Timespan& timeout);
|
||||
/// Sets the connection timeout for HTTP connections.
|
||||
|
||||
const Poco::Timespan& getTimeout() const;
|
||||
/// Returns the connection timeout for HTTP connections.
|
||||
|
||||
void setKeepAlive(bool keepAlive);
|
||||
/// Enables (keepAlive == true) or disables (keepAlive == false)
|
||||
/// persistent connections.
|
||||
|
||||
bool getKeepAlive() const;
|
||||
/// Returns true iff persistent connections are enabled.
|
||||
|
||||
void setKeepAliveTimeout(const Poco::Timespan& timeout);
|
||||
/// Sets the keep-alive timeout for persistent HTTP connections.
|
||||
|
||||
const Poco::Timespan& getKeepAliveTimeout() const;
|
||||
/// Returns the keep-alive timeout for persistent HTTP connections.
|
||||
|
||||
void setMaxKeepAliveRequests(int maxKeepAliveRequests);
|
||||
/// Specifies the maximum number of requests allowed
|
||||
/// during a persistent connection. 0 means unlimited
|
||||
/// connections.
|
||||
|
||||
int getMaxKeepAliveRequests() const;
|
||||
/// Returns the maximum number of requests allowed
|
||||
/// during a persistent connection, or 0 if
|
||||
/// unlimited connections are allowed.
|
||||
|
||||
protected:
|
||||
virtual ~HTTPServerParams();
|
||||
/// Destroys the HTTPServerParams.
|
||||
|
||||
private:
|
||||
std::string _serverName;
|
||||
std::string _softwareVersion;
|
||||
Poco::Timespan _timeout;
|
||||
bool _keepAlive;
|
||||
int _maxKeepAliveRequests;
|
||||
Poco::Timespan _keepAliveTimeout;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline const std::string& HTTPServerParams::getServerName() const
|
||||
{
|
||||
return _serverName;
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& HTTPServerParams::getSoftwareVersion() const
|
||||
{
|
||||
return _softwareVersion;
|
||||
}
|
||||
|
||||
|
||||
inline const Poco::Timespan& HTTPServerParams::getTimeout() const
|
||||
{
|
||||
return _timeout;
|
||||
}
|
||||
|
||||
|
||||
inline bool HTTPServerParams::getKeepAlive() const
|
||||
{
|
||||
return _keepAlive;
|
||||
}
|
||||
|
||||
|
||||
inline int HTTPServerParams::getMaxKeepAliveRequests() const
|
||||
{
|
||||
return _maxKeepAliveRequests;
|
||||
}
|
||||
|
||||
|
||||
inline const Poco::Timespan& HTTPServerParams::getKeepAliveTimeout() const
|
||||
{
|
||||
return _keepAliveTimeout;
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HTTPServerParams_INCLUDED
|
||||
80
vendor/POCO/Net/include/Poco/Net/HTTPServerRequest.h
vendored
Normal file
80
vendor/POCO/Net/include/Poco/Net/HTTPServerRequest.h
vendored
Normal file
@@ -0,0 +1,80 @@
|
||||
//
|
||||
// HTTPServerRequest.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTPServer
|
||||
// Module: HTTPServerRequest
|
||||
//
|
||||
// Definition of the HTTPServerRequest class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HTTPServerRequest_INCLUDED
|
||||
#define Net_HTTPServerRequest_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/HTTPRequest.h"
|
||||
#include "Poco/Net/SocketAddress.h"
|
||||
#include <istream>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class HTTPServerSession;
|
||||
class HTTPServerResponse;
|
||||
class HTTPServerParams;
|
||||
|
||||
|
||||
class Net_API HTTPServerRequest: public HTTPRequest
|
||||
/// This abstract subclass of HTTPRequest is used for
|
||||
/// representing server-side HTTP requests.
|
||||
///
|
||||
/// A HTTPServerRequest is passed to the
|
||||
/// handleRequest() method of HTTPRequestHandler.
|
||||
{
|
||||
public:
|
||||
HTTPServerRequest();
|
||||
/// Creates the HTTPServerRequest
|
||||
|
||||
~HTTPServerRequest();
|
||||
/// Destroys the HTTPServerRequest.
|
||||
|
||||
virtual std::istream& stream() = 0;
|
||||
/// Returns the input stream for reading
|
||||
/// the request body.
|
||||
///
|
||||
/// The stream must be valid until the HTTPServerRequest
|
||||
/// object is destroyed.
|
||||
|
||||
virtual const SocketAddress& clientAddress() const = 0;
|
||||
/// Returns the client's address.
|
||||
|
||||
virtual const SocketAddress& serverAddress() const = 0;
|
||||
/// Returns the server's address.
|
||||
|
||||
virtual const HTTPServerParams& serverParams() const = 0;
|
||||
/// Returns a reference to the server parameters.
|
||||
|
||||
virtual HTTPServerResponse& response() const = 0;
|
||||
/// Returns a reference to the associated response.
|
||||
|
||||
virtual bool secure() const = 0;
|
||||
/// Returns true if the request is using a secure
|
||||
/// connection. Returns false if no secure connection
|
||||
/// is used, or if it is not known whether a secure
|
||||
/// connection is used.
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HTTPServerRequest_INCLUDED
|
||||
142
vendor/POCO/Net/include/Poco/Net/HTTPServerRequestImpl.h
vendored
Normal file
142
vendor/POCO/Net/include/Poco/Net/HTTPServerRequestImpl.h
vendored
Normal file
@@ -0,0 +1,142 @@
|
||||
//
|
||||
// HTTPServerRequestImpl.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTPServer
|
||||
// Module: HTTPServerRequestImpl
|
||||
//
|
||||
// Definition of the HTTPServerRequestImpl class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HTTPServerRequestImpl_INCLUDED
|
||||
#define Net_HTTPServerRequestImpl_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/HTTPServerRequest.h"
|
||||
#include "Poco/Net/HTTPServerResponseImpl.h"
|
||||
#include "Poco/Net/SocketAddress.h"
|
||||
#include "Poco/AutoPtr.h"
|
||||
#include <istream>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class HTTPServerSession;
|
||||
class HTTPServerParams;
|
||||
class StreamSocket;
|
||||
|
||||
|
||||
class Net_API HTTPServerRequestImpl: public HTTPServerRequest
|
||||
/// This subclass of HTTPServerRequest is used for
|
||||
/// representing server-side HTTP requests.
|
||||
///
|
||||
/// A HTTPServerRequest is passed to the
|
||||
/// handleRequest() method of HTTPRequestHandler.
|
||||
{
|
||||
public:
|
||||
HTTPServerRequestImpl(HTTPServerResponseImpl& response, HTTPServerSession& session, HTTPServerParams* pParams);
|
||||
/// Creates the HTTPServerRequestImpl, using the
|
||||
/// given HTTPServerSession.
|
||||
|
||||
~HTTPServerRequestImpl();
|
||||
/// Destroys the HTTPServerRequestImpl.
|
||||
|
||||
std::istream& stream();
|
||||
/// Returns the input stream for reading
|
||||
/// the request body.
|
||||
///
|
||||
/// The stream is valid until the HTTPServerRequestImpl
|
||||
/// object is destroyed.
|
||||
|
||||
const SocketAddress& clientAddress() const;
|
||||
/// Returns the client's address.
|
||||
|
||||
const SocketAddress& serverAddress() const;
|
||||
/// Returns the server's address.
|
||||
|
||||
const HTTPServerParams& serverParams() const;
|
||||
/// Returns a reference to the server parameters.
|
||||
|
||||
HTTPServerResponse& response() const;
|
||||
/// Returns a reference to the associated response.
|
||||
|
||||
bool secure() const;
|
||||
/// Returns true if the request is using a secure
|
||||
/// connection. Returns false if no secure connection
|
||||
/// is used, or if it is not known whether a secure
|
||||
/// connection is used.
|
||||
|
||||
StreamSocket& socket();
|
||||
/// Returns a reference to the underlying socket.
|
||||
|
||||
StreamSocket detachSocket();
|
||||
/// Returns the underlying socket after detaching
|
||||
/// it from the server session.
|
||||
|
||||
HTTPServerSession& session();
|
||||
/// Returns the underlying HTTPServerSession.
|
||||
|
||||
private:
|
||||
HTTPServerResponseImpl& _response;
|
||||
HTTPServerSession& _session;
|
||||
std::istream* _pStream;
|
||||
Poco::AutoPtr<HTTPServerParams> _pParams;
|
||||
SocketAddress _clientAddress;
|
||||
SocketAddress _serverAddress;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline std::istream& HTTPServerRequestImpl::stream()
|
||||
{
|
||||
poco_check_ptr (_pStream);
|
||||
|
||||
return *_pStream;
|
||||
}
|
||||
|
||||
|
||||
inline const SocketAddress& HTTPServerRequestImpl::clientAddress() const
|
||||
{
|
||||
return _clientAddress;
|
||||
}
|
||||
|
||||
|
||||
inline const SocketAddress& HTTPServerRequestImpl::serverAddress() const
|
||||
{
|
||||
return _serverAddress;
|
||||
}
|
||||
|
||||
|
||||
inline const HTTPServerParams& HTTPServerRequestImpl::serverParams() const
|
||||
{
|
||||
return *_pParams;
|
||||
}
|
||||
|
||||
|
||||
inline HTTPServerResponse& HTTPServerRequestImpl::response() const
|
||||
{
|
||||
return _response;
|
||||
}
|
||||
|
||||
|
||||
inline HTTPServerSession& HTTPServerRequestImpl::session()
|
||||
{
|
||||
return _session;
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HTTPServerRequestImpl_INCLUDED
|
||||
116
vendor/POCO/Net/include/Poco/Net/HTTPServerResponse.h
vendored
Normal file
116
vendor/POCO/Net/include/Poco/Net/HTTPServerResponse.h
vendored
Normal file
@@ -0,0 +1,116 @@
|
||||
//
|
||||
// HTTPServerResponse.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTPServer
|
||||
// Module: HTTPServerResponse
|
||||
//
|
||||
// Definition of the HTTPServerResponse class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HTTPServerResponse_INCLUDED
|
||||
#define Net_HTTPServerResponse_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/HTTPResponse.h"
|
||||
#include <cstddef>
|
||||
#include <ostream>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class HTTPServerSession;
|
||||
class HTTPCookie;
|
||||
|
||||
|
||||
class Net_API HTTPServerResponse: public HTTPResponse
|
||||
/// This subclass of HTTPResponse is used for
|
||||
/// representing server-side HTTP responses.
|
||||
///
|
||||
/// A HTTPServerResponse is passed to the
|
||||
/// handleRequest() method of HTTPRequestHandler.
|
||||
///
|
||||
/// handleRequest() must set a status code
|
||||
/// and optional reason phrase, set headers
|
||||
/// as necessary, and provide a message body.
|
||||
{
|
||||
public:
|
||||
HTTPServerResponse();
|
||||
/// Creates the HTTPServerResponse.
|
||||
|
||||
~HTTPServerResponse();
|
||||
/// Destroys the HTTPServerResponse.
|
||||
|
||||
virtual void sendContinue() = 0;
|
||||
/// Sends a 100 Continue response to the
|
||||
/// client.
|
||||
|
||||
virtual std::ostream& send() = 0;
|
||||
/// Sends the response header to the client and
|
||||
/// returns an output stream for sending the
|
||||
/// response body.
|
||||
///
|
||||
/// The returned stream is valid until the response
|
||||
/// object is destroyed.
|
||||
///
|
||||
/// Must not be called after sendFile(), sendBuffer()
|
||||
/// or redirect() has been called.
|
||||
|
||||
virtual void sendFile(const std::string& path, const std::string& mediaType) = 0;
|
||||
/// Sends the response header to the client, followed
|
||||
/// by the content of the given file.
|
||||
///
|
||||
/// Must not be called after send(), sendBuffer()
|
||||
/// or redirect() has been called.
|
||||
///
|
||||
/// Throws a FileNotFoundException if the file
|
||||
/// cannot be found, or an OpenFileException if
|
||||
/// the file cannot be opened.
|
||||
|
||||
virtual void sendBuffer(const void* pBuffer, std::size_t length) = 0;
|
||||
/// Sends the response header to the client, followed
|
||||
/// by the contents of the given buffer.
|
||||
///
|
||||
/// The Content-Length header of the response is set
|
||||
/// to length and chunked transfer encoding is disabled.
|
||||
///
|
||||
/// If both the HTTP message header and body (from the
|
||||
/// given buffer) fit into one single network packet, the
|
||||
/// complete response can be sent in one network packet.
|
||||
///
|
||||
/// Must not be called after send(), sendFile()
|
||||
/// or redirect() has been called.
|
||||
|
||||
virtual void redirect(const std::string& uri, HTTPStatus status = HTTP_FOUND) = 0;
|
||||
/// Sets the status code, which must be one of
|
||||
/// HTTP_MOVED_PERMANENTLY (301), HTTP_FOUND (302),
|
||||
/// or HTTP_SEE_OTHER (303),
|
||||
/// and sets the "Location" header field
|
||||
/// to the given URI, which according to
|
||||
/// the HTTP specification, must be absolute.
|
||||
///
|
||||
/// Must not be called after send() has been called.
|
||||
|
||||
virtual void requireAuthentication(const std::string& realm) = 0;
|
||||
/// Sets the status code to 401 (Unauthorized)
|
||||
/// and sets the "WWW-Authenticate" header field
|
||||
/// according to the given realm.
|
||||
|
||||
virtual bool sent() const = 0;
|
||||
/// Returns true if the response (header) has been sent.
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HTTPServerResponse_INCLUDED
|
||||
139
vendor/POCO/Net/include/Poco/Net/HTTPServerResponseImpl.h
vendored
Normal file
139
vendor/POCO/Net/include/Poco/Net/HTTPServerResponseImpl.h
vendored
Normal file
@@ -0,0 +1,139 @@
|
||||
//
|
||||
// HTTPServerResponseImpl.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTPServer
|
||||
// Module: HTTPServerResponseImpl
|
||||
//
|
||||
// Definition of the HTTPServerResponseImpl class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HTTPServerResponseImpl_INCLUDED
|
||||
#define Net_HTTPServerResponseImpl_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/HTTPServerResponse.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class HTTPServerSession;
|
||||
class HTTPServerRequestImpl;
|
||||
|
||||
|
||||
class Net_API HTTPServerResponseImpl: public HTTPServerResponse
|
||||
/// This subclass of HTTPServerResponse is used for
|
||||
/// representing server-side HTTP responses.
|
||||
///
|
||||
/// A HTTPServerResponse is passed to the
|
||||
/// handleRequest() method of HTTPRequestHandler.
|
||||
///
|
||||
/// handleRequest() must set a status code
|
||||
/// and optional reason phrase, set headers
|
||||
/// as necessary, and provide a message body.
|
||||
{
|
||||
public:
|
||||
HTTPServerResponseImpl(HTTPServerSession& session);
|
||||
/// Creates the HTTPServerResponseImpl.
|
||||
|
||||
~HTTPServerResponseImpl();
|
||||
/// Destroys the HTTPServerResponseImpl.
|
||||
|
||||
void sendContinue();
|
||||
/// Sends a 100 Continue response to the
|
||||
/// client.
|
||||
|
||||
std::ostream& send();
|
||||
/// Sends the response header to the client and
|
||||
/// returns an output stream for sending the
|
||||
/// response body.
|
||||
///
|
||||
/// The returned stream is valid until the response
|
||||
/// object is destroyed.
|
||||
///
|
||||
/// Must not be called after sendFile(), sendBuffer()
|
||||
/// or redirect() has been called.
|
||||
|
||||
void sendFile(const std::string& path, const std::string& mediaType);
|
||||
/// Sends the response header to the client, followed
|
||||
/// by the content of the given file.
|
||||
///
|
||||
/// Must not be called after send(), sendBuffer()
|
||||
/// or redirect() has been called.
|
||||
///
|
||||
/// Throws a FileNotFoundException if the file
|
||||
/// cannot be found, or an OpenFileException if
|
||||
/// the file cannot be opened.
|
||||
|
||||
void sendBuffer(const void* pBuffer, std::size_t length);
|
||||
/// Sends the response header to the client, followed
|
||||
/// by the contents of the given buffer.
|
||||
///
|
||||
/// The Content-Length header of the response is set
|
||||
/// to length and chunked transfer encoding is disabled.
|
||||
///
|
||||
/// If both the HTTP message header and body (from the
|
||||
/// given buffer) fit into one single network packet, the
|
||||
/// complete response can be sent in one network packet.
|
||||
///
|
||||
/// Must not be called after send(), sendFile()
|
||||
/// or redirect() has been called.
|
||||
|
||||
void redirect(const std::string& uri, HTTPStatus status = HTTP_FOUND);
|
||||
/// Sets the status code, which must be one of
|
||||
/// HTTP_MOVED_PERMANENTLY (301), HTTP_FOUND (302),
|
||||
/// or HTTP_SEE_OTHER (303),
|
||||
/// and sets the "Location" header field
|
||||
/// to the given URI, which according to
|
||||
/// the HTTP specification, must be absolute.
|
||||
///
|
||||
/// Must not be called after send() has been called.
|
||||
|
||||
void requireAuthentication(const std::string& realm);
|
||||
/// Sets the status code to 401 (Unauthorized)
|
||||
/// and sets the "WWW-Authenticate" header field
|
||||
/// according to the given realm.
|
||||
|
||||
bool sent() const;
|
||||
/// Returns true if the response (header) has been sent.
|
||||
|
||||
protected:
|
||||
void attachRequest(HTTPServerRequestImpl* pRequest);
|
||||
|
||||
private:
|
||||
HTTPServerSession& _session;
|
||||
HTTPServerRequestImpl* _pRequest;
|
||||
std::ostream* _pStream;
|
||||
|
||||
friend class HTTPServerRequestImpl;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline bool HTTPServerResponseImpl::sent() const
|
||||
{
|
||||
return _pStream != 0;
|
||||
}
|
||||
|
||||
|
||||
inline void HTTPServerResponseImpl::attachRequest(HTTPServerRequestImpl* pRequest)
|
||||
{
|
||||
_pRequest = pRequest;
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HTTPServerResponseImpl_INCLUDED
|
||||
76
vendor/POCO/Net/include/Poco/Net/HTTPServerSession.h
vendored
Normal file
76
vendor/POCO/Net/include/Poco/Net/HTTPServerSession.h
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
//
|
||||
// HTTPServerSession.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTPServer
|
||||
// Module: HTTPServerSession
|
||||
//
|
||||
// Definition of the HTTPServerSession class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HTTPServerSession_INCLUDED
|
||||
#define Net_HTTPServerSession_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/HTTPSession.h"
|
||||
#include "Poco/Net/SocketAddress.h"
|
||||
#include "Poco/Net/HTTPServerSession.h"
|
||||
#include "Poco/Net/HTTPServerParams.h"
|
||||
#include "Poco/Timespan.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API HTTPServerSession: public HTTPSession
|
||||
/// This class handles the server side of a
|
||||
/// HTTP session. It is used internally by
|
||||
/// HTTPServer.
|
||||
{
|
||||
public:
|
||||
HTTPServerSession(const StreamSocket& socket, HTTPServerParams::Ptr pParams);
|
||||
/// Creates the HTTPServerSession.
|
||||
|
||||
virtual ~HTTPServerSession();
|
||||
/// Destroys the HTTPServerSession.
|
||||
|
||||
bool hasMoreRequests();
|
||||
/// Returns true if there are requests available.
|
||||
|
||||
bool canKeepAlive() const;
|
||||
/// Returns true if the session can be kept alive.
|
||||
|
||||
SocketAddress clientAddress();
|
||||
/// Returns the client's address.
|
||||
|
||||
SocketAddress serverAddress();
|
||||
/// Returns the server's address.
|
||||
|
||||
private:
|
||||
bool _firstRequest;
|
||||
Poco::Timespan _keepAliveTimeout;
|
||||
int _maxKeepAliveRequests;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline bool HTTPServerSession::canKeepAlive() const
|
||||
{
|
||||
return _maxKeepAliveRequests != 0;
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HTTPServerSession_INCLUDED
|
||||
251
vendor/POCO/Net/include/Poco/Net/HTTPSession.h
vendored
Normal file
251
vendor/POCO/Net/include/Poco/Net/HTTPSession.h
vendored
Normal file
@@ -0,0 +1,251 @@
|
||||
//
|
||||
// HTTPSession.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTP
|
||||
// Module: HTTPSession
|
||||
//
|
||||
// Definition of the HTTPSession class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HTTPSession_INCLUDED
|
||||
#define Net_HTTPSession_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/StreamSocket.h"
|
||||
#include "Poco/Timespan.h"
|
||||
#include "Poco/Exception.h"
|
||||
#include "Poco/Any.h"
|
||||
#include "Poco/Buffer.h"
|
||||
#include <ios>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API HTTPSession
|
||||
/// HTTPSession implements basic HTTP session management
|
||||
/// for both HTTP clients and HTTP servers.
|
||||
///
|
||||
/// HTTPSession implements buffering for HTTP connections, as well
|
||||
/// as specific support for the various HTTP stream classes.
|
||||
///
|
||||
/// This class can not be instantiated. HTTPClientSession or
|
||||
/// HTTPServerSession must be used instead.
|
||||
{
|
||||
public:
|
||||
void setKeepAlive(bool keepAlive);
|
||||
/// Sets the keep-alive flag for this session.
|
||||
///
|
||||
/// If the keep-alive flag is enabled, persistent
|
||||
/// HTTP/1.1 connections are supported.
|
||||
|
||||
bool getKeepAlive() const;
|
||||
/// Returns the value of the keep-alive flag for
|
||||
/// this session.
|
||||
|
||||
void setTimeout(const Poco::Timespan& timeout);
|
||||
/// Sets the timeout for the HTTP session.
|
||||
|
||||
void setTimeout(const Poco::Timespan& connectionTimeout, const Poco::Timespan& sendTimeout, const Poco::Timespan& receiveTimeout);
|
||||
/// Sets different timeouts for the HTTP session.
|
||||
|
||||
Poco::Timespan getTimeout() const;
|
||||
/// Returns the timeout for the HTTP session.
|
||||
|
||||
bool connected() const;
|
||||
/// Returns true if the underlying socket is connected.
|
||||
|
||||
virtual void abort();
|
||||
/// Aborts a session in progress by shutting down
|
||||
/// and closing the underlying socket.
|
||||
|
||||
const Poco::Exception* networkException() const;
|
||||
/// If sending or receiving data over the underlying
|
||||
/// socket connection resulted in an exception, a
|
||||
/// pointer to this exception is returned.
|
||||
///
|
||||
/// Otherwise, NULL is returned.
|
||||
|
||||
void attachSessionData(const Poco::Any& data);
|
||||
/// Allows to attach an application-specific data
|
||||
/// item to the session.
|
||||
///
|
||||
/// On the server side, this can be used to manage
|
||||
/// data that must be maintained over the entire
|
||||
/// lifetime of a persistent connection (that is,
|
||||
/// multiple requests sent over the same connection).
|
||||
|
||||
const Poco::Any& sessionData() const;
|
||||
/// Returns the data attached with attachSessionData(),
|
||||
/// or an empty Poco::Any if no user data has been
|
||||
/// attached.
|
||||
|
||||
enum
|
||||
{
|
||||
HTTP_PORT = 80
|
||||
};
|
||||
|
||||
StreamSocket detachSocket();
|
||||
/// Detaches the socket from the session.
|
||||
///
|
||||
/// The socket is returned, and a new, uninitialized socket is
|
||||
/// attached to the session.
|
||||
|
||||
StreamSocket& socket();
|
||||
/// Returns a reference to the underlying socket.
|
||||
|
||||
void drainBuffer(Poco::Buffer<char>& buffer);
|
||||
/// Copies all bytes remaining in the internal buffer to the
|
||||
/// given Poco::Buffer, resizing it as necessary.
|
||||
///
|
||||
/// This is usually used together with detachSocket() to
|
||||
/// obtain any data already read from the socket, but not
|
||||
/// yet processed.
|
||||
|
||||
protected:
|
||||
HTTPSession();
|
||||
/// Creates a HTTP session using an
|
||||
/// unconnected stream socket.
|
||||
|
||||
HTTPSession(const StreamSocket& socket);
|
||||
/// Creates a HTTP session using the
|
||||
/// given socket. The session takes ownership
|
||||
/// of the socket and closes it when it's no
|
||||
/// longer used.
|
||||
|
||||
HTTPSession(const StreamSocket& socket, bool keepAlive);
|
||||
/// Creates a HTTP session using the
|
||||
/// given socket. The session takes ownership
|
||||
/// of the socket and closes it when it's no
|
||||
/// longer used.
|
||||
|
||||
virtual ~HTTPSession();
|
||||
/// Destroys the HTTPSession and closes the
|
||||
/// underlying socket.
|
||||
|
||||
int get();
|
||||
/// Returns the next byte in the buffer.
|
||||
/// Reads more data from the socket if there are
|
||||
/// no bytes left in the buffer.
|
||||
|
||||
int peek();
|
||||
/// Peeks at the next character in the buffer.
|
||||
/// Reads more data from the socket if there are
|
||||
/// no bytes left in the buffer.
|
||||
|
||||
virtual int read(char* buffer, std::streamsize length);
|
||||
/// Reads up to length bytes.
|
||||
///
|
||||
/// If there is data in the buffer, this data
|
||||
/// is returned. Otherwise, data is read from
|
||||
/// the socket to avoid unnecessary buffering.
|
||||
|
||||
virtual int write(const char* buffer, std::streamsize length);
|
||||
/// Writes data to the socket.
|
||||
|
||||
int receive(char* buffer, int length);
|
||||
/// Reads up to length bytes.
|
||||
|
||||
int buffered() const;
|
||||
/// Returns the number of bytes in the buffer.
|
||||
|
||||
void refill();
|
||||
/// Refills the internal buffer.
|
||||
|
||||
virtual void connect(const SocketAddress& address);
|
||||
/// Connects the underlying socket to the given address
|
||||
/// and sets the socket's receive timeout.
|
||||
|
||||
void attachSocket(const StreamSocket& socket);
|
||||
/// Attaches a socket to the session, replacing the
|
||||
/// previously attached socket.
|
||||
|
||||
void close();
|
||||
/// Closes the underlying socket.
|
||||
|
||||
void setException(const Poco::Exception& exc);
|
||||
/// Stores a clone of the exception.
|
||||
|
||||
void clearException();
|
||||
/// Clears the stored exception.
|
||||
|
||||
private:
|
||||
enum
|
||||
{
|
||||
HTTP_DEFAULT_TIMEOUT = 60000000,
|
||||
HTTP_DEFAULT_CONNECTION_TIMEOUT = 30000000
|
||||
};
|
||||
|
||||
HTTPSession(const HTTPSession&);
|
||||
HTTPSession& operator = (const HTTPSession&);
|
||||
|
||||
StreamSocket _socket;
|
||||
char* _pBuffer;
|
||||
char* _pCurrent;
|
||||
char* _pEnd;
|
||||
bool _keepAlive;
|
||||
Poco::Timespan _connectionTimeout;
|
||||
Poco::Timespan _receiveTimeout;
|
||||
Poco::Timespan _sendTimeout;
|
||||
Poco::Exception* _pException;
|
||||
Poco::Any _data;
|
||||
|
||||
friend class HTTPStreamBuf;
|
||||
friend class HTTPHeaderStreamBuf;
|
||||
friend class HTTPFixedLengthStreamBuf;
|
||||
friend class HTTPChunkedStreamBuf;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline bool HTTPSession::getKeepAlive() const
|
||||
{
|
||||
return _keepAlive;
|
||||
}
|
||||
|
||||
|
||||
inline Poco::Timespan HTTPSession::getTimeout() const
|
||||
{
|
||||
return _receiveTimeout;
|
||||
}
|
||||
|
||||
|
||||
inline StreamSocket& HTTPSession::socket()
|
||||
{
|
||||
return _socket;
|
||||
}
|
||||
|
||||
|
||||
inline const Poco::Exception* HTTPSession::networkException() const
|
||||
{
|
||||
return _pException;
|
||||
}
|
||||
|
||||
|
||||
inline int HTTPSession::buffered() const
|
||||
{
|
||||
return static_cast<int>(_pEnd - _pCurrent);
|
||||
}
|
||||
|
||||
|
||||
inline const Poco::Any& HTTPSession::sessionData() const
|
||||
{
|
||||
return _data;
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HTTPSession_INCLUDED
|
||||
155
vendor/POCO/Net/include/Poco/Net/HTTPSessionFactory.h
vendored
Normal file
155
vendor/POCO/Net/include/Poco/Net/HTTPSessionFactory.h
vendored
Normal file
@@ -0,0 +1,155 @@
|
||||
//
|
||||
// HTTPSessionFactory.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTPClient
|
||||
// Module: HTTPSessionFactory
|
||||
//
|
||||
// Definition of the HTTPSessionFactory class.
|
||||
//
|
||||
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HTTPSessionFactoryMgr_INCLUDED
|
||||
#define Net_HTTPSessionFactoryMgr_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Mutex.h"
|
||||
#include "Poco/URI.h"
|
||||
#include "Poco/SingletonHolder.h"
|
||||
#include "Poco/SharedPtr.h"
|
||||
#include <map>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class HTTPSessionInstantiator;
|
||||
class HTTPClientSession;
|
||||
|
||||
|
||||
class Net_API HTTPSessionFactory
|
||||
/// A factory for HTTPClientSession objects.
|
||||
///
|
||||
/// Given a URI, this class creates a HTTPClientSession
|
||||
/// (for http) or a HTTPSClientSession (for https) for
|
||||
/// accessing the URI.
|
||||
///
|
||||
/// The actual work of creating the session is done by
|
||||
/// HTTPSessionInstantiator objects that must be registered
|
||||
/// with a HTTPSessionFactory.
|
||||
{
|
||||
public:
|
||||
HTTPSessionFactory();
|
||||
/// Creates the HTTPSessionFactory.
|
||||
|
||||
HTTPSessionFactory(const std::string& proxyHost, Poco::UInt16 proxyPort);
|
||||
/// Creates the HTTPSessionFactory and sets the proxy host and port.
|
||||
|
||||
~HTTPSessionFactory();
|
||||
/// Destroys the HTTPSessionFactory.
|
||||
|
||||
void registerProtocol(const std::string& protocol, HTTPSessionInstantiator* pSessionInstantiator);
|
||||
/// Registers the session instantiator for the given protocol.
|
||||
/// The factory takes ownership of the SessionInstantiator.
|
||||
///
|
||||
/// A protocol can be registered more than once. However, only the instantiator
|
||||
/// that has been registered first is used. Also, for each call to
|
||||
/// registerProtocol(), a corresponding call to unregisterProtocol() must
|
||||
/// be made.
|
||||
|
||||
void unregisterProtocol(const std::string& protocol);
|
||||
/// Removes the registration of a protocol.
|
||||
///
|
||||
/// Throws a NotFoundException if no instantiator has been registered
|
||||
/// for the given protocol.
|
||||
|
||||
bool supportsProtocol(const std::string& protocol);
|
||||
/// Returns true if a session instantiator for the given protocol has been registered.
|
||||
|
||||
HTTPClientSession* createClientSession(const Poco::URI& uri);
|
||||
/// Creates a client session for the given uri scheme. Throws exception if no factory is registered for the given scheme
|
||||
|
||||
const std::string& proxyHost() const;
|
||||
/// Returns the proxy host, if one has been set, or an empty string otherwise.
|
||||
|
||||
Poco::UInt16 proxyPort() const;
|
||||
/// Returns the proxy port number, if one has been set, or zero otherwise.
|
||||
|
||||
void setProxy(const std::string& proxyHost, Poco::UInt16 proxyPort);
|
||||
/// Sets the proxy host and port number.
|
||||
|
||||
void setProxyCredentials(const std::string& username, const std::string& password);
|
||||
/// Sets the username and password for proxy authorization (Basic auth only).
|
||||
|
||||
const std::string& proxyUsername() const;
|
||||
/// Returns the username for proxy authorization.
|
||||
|
||||
const std::string& proxyPassword() const;
|
||||
/// Returns the password for proxy authorization.
|
||||
|
||||
static HTTPSessionFactory& defaultFactory();
|
||||
/// Returns the default HTTPSessionFactory.
|
||||
|
||||
private:
|
||||
struct InstantiatorInfo
|
||||
{
|
||||
HTTPSessionInstantiator* pIn;
|
||||
int cnt;
|
||||
InstantiatorInfo(HTTPSessionInstantiator* pInst);
|
||||
// no destructor!!! this is by purpose, don't add one!
|
||||
};
|
||||
|
||||
|
||||
HTTPSessionFactory(const HTTPSessionFactory&);
|
||||
HTTPSessionFactory& operator = (const HTTPSessionFactory&);
|
||||
|
||||
typedef std::map<std::string, InstantiatorInfo> Instantiators;
|
||||
|
||||
Instantiators _instantiators;
|
||||
std::string _proxyHost;
|
||||
Poco::UInt16 _proxyPort;
|
||||
std::string _proxyUsername;
|
||||
std::string _proxyPassword;
|
||||
|
||||
mutable Poco::FastMutex _mutex;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline const std::string& HTTPSessionFactory::proxyHost() const
|
||||
{
|
||||
return _proxyHost;
|
||||
}
|
||||
|
||||
|
||||
inline Poco::UInt16 HTTPSessionFactory::proxyPort() const
|
||||
{
|
||||
return _proxyPort;
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& HTTPSessionFactory::proxyUsername() const
|
||||
{
|
||||
return _proxyUsername;
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& HTTPSessionFactory::proxyPassword() const
|
||||
{
|
||||
return _proxyPassword;
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HTTPSessionFactoryMgr_INCLUDED
|
||||
117
vendor/POCO/Net/include/Poco/Net/HTTPSessionInstantiator.h
vendored
Normal file
117
vendor/POCO/Net/include/Poco/Net/HTTPSessionInstantiator.h
vendored
Normal file
@@ -0,0 +1,117 @@
|
||||
//
|
||||
// HTTPSessionInstantiator.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTPClient
|
||||
// Module: HTTPSessionInstantiator
|
||||
//
|
||||
// Definition of the HTTPSessionInstantiator class.
|
||||
//
|
||||
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HTTPSessionInstantiator_INCLUDED
|
||||
#define Net_HTTPSessionInstantiator_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/HTTPSession.h"
|
||||
#include "Poco/URI.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class HTTPClientSession;
|
||||
|
||||
|
||||
class Net_API HTTPSessionInstantiator
|
||||
/// A factory for HTTPClientSession objects.
|
||||
///
|
||||
/// Creates a HTTP session for a given URI.
|
||||
/// A HTTPSessionInstantiator is not used directly.
|
||||
/// Instances are registered with a HTTPSessionFactory,
|
||||
/// and used through it.
|
||||
{
|
||||
public:
|
||||
HTTPSessionInstantiator();
|
||||
/// Creates the HTTPSessionInstantiator.
|
||||
|
||||
virtual ~HTTPSessionInstantiator();
|
||||
/// Destroys the HTTPSessionInstantiator.
|
||||
|
||||
virtual HTTPClientSession* createClientSession(const Poco::URI& uri);
|
||||
/// Creates a HTTPClientSession for the given URI.
|
||||
|
||||
static void registerInstantiator();
|
||||
/// Registers the instantiator with the global HTTPSessionFactory.
|
||||
|
||||
static void unregisterInstantiator();
|
||||
/// Unregisters the factory with the global HTTPSessionFactory.
|
||||
|
||||
protected:
|
||||
void setProxy(const std::string& host, Poco::UInt16 port);
|
||||
/// Sets the proxy host and port.
|
||||
/// Called by HTTPSessionFactory.
|
||||
|
||||
const std::string& proxyHost() const;
|
||||
/// Returns the proxy post.
|
||||
|
||||
Poco::UInt16 proxyPort() const;
|
||||
/// Returns the proxy port.
|
||||
|
||||
void setProxyCredentials(const std::string& username, const std::string& password);
|
||||
/// Sets the username and password for proxy authorization (Basic auth only).
|
||||
|
||||
const std::string& proxyUsername() const;
|
||||
/// Returns the username for proxy authorization.
|
||||
|
||||
const std::string& proxyPassword() const;
|
||||
/// Returns the password for proxy authorization.
|
||||
|
||||
private:
|
||||
std::string _proxyHost;
|
||||
Poco::UInt16 _proxyPort;
|
||||
std::string _proxyUsername;
|
||||
std::string _proxyPassword;
|
||||
|
||||
friend class HTTPSessionFactory;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline const std::string& HTTPSessionInstantiator::proxyHost() const
|
||||
{
|
||||
return _proxyHost;
|
||||
}
|
||||
|
||||
|
||||
inline Poco::UInt16 HTTPSessionInstantiator::proxyPort() const
|
||||
{
|
||||
return _proxyPort;
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& HTTPSessionInstantiator::proxyUsername() const
|
||||
{
|
||||
return _proxyUsername;
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& HTTPSessionInstantiator::proxyPassword() const
|
||||
{
|
||||
return _proxyPassword;
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HTTPSessionInstantiator_INCLUDED
|
||||
103
vendor/POCO/Net/include/Poco/Net/HTTPStream.h
vendored
Normal file
103
vendor/POCO/Net/include/Poco/Net/HTTPStream.h
vendored
Normal file
@@ -0,0 +1,103 @@
|
||||
//
|
||||
// HTTPStream.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTP
|
||||
// Module: HTTPStream
|
||||
//
|
||||
// Definition of the HTTPStream class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HTTPStream_INCLUDED
|
||||
#define Net_HTTPStream_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/HTTPBasicStreamBuf.h"
|
||||
#include "Poco/MemoryPool.h"
|
||||
#include <cstddef>
|
||||
#include <istream>
|
||||
#include <ostream>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class HTTPSession;
|
||||
|
||||
|
||||
class Net_API HTTPStreamBuf: public HTTPBasicStreamBuf
|
||||
/// This is the streambuf class used for reading and writing
|
||||
/// HTTP message bodies.
|
||||
{
|
||||
public:
|
||||
using openmode = HTTPBasicStreamBuf::openmode;
|
||||
|
||||
HTTPStreamBuf(HTTPSession& session, openmode mode);
|
||||
~HTTPStreamBuf();
|
||||
void close();
|
||||
|
||||
protected:
|
||||
int readFromDevice(char* buffer, std::streamsize length);
|
||||
int writeToDevice(const char* buffer, std::streamsize length);
|
||||
|
||||
private:
|
||||
HTTPSession& _session;
|
||||
openmode _mode;
|
||||
};
|
||||
|
||||
|
||||
class Net_API HTTPIOS: public virtual std::ios
|
||||
/// The base class for HTTPInputStream.
|
||||
{
|
||||
public:
|
||||
HTTPIOS(HTTPSession& session, HTTPStreamBuf::openmode mode);
|
||||
~HTTPIOS();
|
||||
HTTPStreamBuf* rdbuf();
|
||||
|
||||
protected:
|
||||
HTTPStreamBuf _buf;
|
||||
};
|
||||
|
||||
|
||||
class Net_API HTTPInputStream: public HTTPIOS, public std::istream
|
||||
/// This class is for internal use by HTTPSession only.
|
||||
{
|
||||
public:
|
||||
HTTPInputStream(HTTPSession& session);
|
||||
~HTTPInputStream();
|
||||
|
||||
void* operator new(std::size_t size);
|
||||
void operator delete(void* ptr);
|
||||
|
||||
private:
|
||||
static Poco::MemoryPool _pool;
|
||||
};
|
||||
|
||||
|
||||
class Net_API HTTPOutputStream: public HTTPIOS, public std::ostream
|
||||
/// This class is for internal use by HTTPSession only.
|
||||
{
|
||||
public:
|
||||
HTTPOutputStream(HTTPSession& session);
|
||||
~HTTPOutputStream();
|
||||
|
||||
void* operator new(std::size_t size);
|
||||
void operator delete(void* ptr);
|
||||
|
||||
private:
|
||||
static Poco::MemoryPool _pool;
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HTTPStream_INCLUDED
|
||||
92
vendor/POCO/Net/include/Poco/Net/HTTPStreamFactory.h
vendored
Normal file
92
vendor/POCO/Net/include/Poco/Net/HTTPStreamFactory.h
vendored
Normal file
@@ -0,0 +1,92 @@
|
||||
//
|
||||
// HTTPStreamFactory.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: HTTP
|
||||
// Module: HTTPStreamFactory
|
||||
//
|
||||
// Definition of the HTTPStreamFactory class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HTTPStreamFactory_INCLUDED
|
||||
#define Net_HTTPStreamFactory_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/HTTPSession.h"
|
||||
#include "Poco/URIStreamFactory.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API HTTPStreamFactory: public Poco::URIStreamFactory
|
||||
/// An implementation of the URIStreamFactory interface
|
||||
/// that handles Hyper-Text Transfer Protocol (http) URIs.
|
||||
{
|
||||
public:
|
||||
HTTPStreamFactory();
|
||||
/// Creates the HTTPStreamFactory.
|
||||
|
||||
HTTPStreamFactory(const std::string& proxyHost, Poco::UInt16 proxyPort = HTTPSession::HTTP_PORT);
|
||||
/// Creates the HTTPStreamFactory.
|
||||
///
|
||||
/// HTTP connections will use the given proxy.
|
||||
|
||||
HTTPStreamFactory(const std::string& proxyHost, Poco::UInt16 proxyPort, const std::string& proxyUsername, const std::string& proxyPassword);
|
||||
/// Creates the HTTPStreamFactory.
|
||||
///
|
||||
/// HTTP connections will use the given proxy and
|
||||
/// will be authorized against the proxy using Basic authentication
|
||||
/// with the given proxyUsername and proxyPassword.
|
||||
|
||||
virtual ~HTTPStreamFactory();
|
||||
/// Destroys the HTTPStreamFactory.
|
||||
|
||||
virtual std::istream* open(const Poco::URI& uri);
|
||||
/// Creates and opens a HTTP stream for the given URI.
|
||||
/// The URI must be a http://... URI.
|
||||
///
|
||||
/// Throws a NetException if anything goes wrong.
|
||||
///
|
||||
/// Redirect responses are handled and the redirect
|
||||
/// location is automatically resolved, as long
|
||||
/// as the redirect location is still accessible
|
||||
/// via the HTTP protocol. If a redirection to
|
||||
/// a non http://... URI is received, a
|
||||
/// UnsupportedRedirectException exception is thrown.
|
||||
/// The offending URI can then be obtained via the message()
|
||||
/// method of UnsupportedRedirectException.
|
||||
|
||||
static void registerFactory();
|
||||
/// Registers the HTTPStreamFactory with the
|
||||
/// default URIStreamOpener instance.
|
||||
|
||||
static void unregisterFactory();
|
||||
/// Unregisters the HTTPStreamFactory with the
|
||||
/// default URIStreamOpener instance.
|
||||
|
||||
private:
|
||||
enum
|
||||
{
|
||||
MAX_REDIRECTS = 10
|
||||
};
|
||||
|
||||
std::string _proxyHost;
|
||||
Poco::UInt16 _proxyPort;
|
||||
std::string _proxyUsername;
|
||||
std::string _proxyPassword;
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HTTPStreamFactory_INCLUDED
|
||||
115
vendor/POCO/Net/include/Poco/Net/HostEntry.h
vendored
Normal file
115
vendor/POCO/Net/include/Poco/Net/HostEntry.h
vendored
Normal file
@@ -0,0 +1,115 @@
|
||||
//
|
||||
// HostEntry.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: NetCore
|
||||
// Module: HostEntry
|
||||
//
|
||||
// Definition of the HostEntry class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_HostEntry_INCLUDED
|
||||
#define Net_HostEntry_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/SocketDefs.h"
|
||||
#include "Poco/Net/IPAddress.h"
|
||||
#include <vector>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API HostEntry
|
||||
/// This class stores information about a host
|
||||
/// such as host name, alias names and a list
|
||||
/// of IP addresses.
|
||||
{
|
||||
public:
|
||||
using AliasList = std::vector<std::string>;
|
||||
using AddressList = std::vector<IPAddress>;
|
||||
|
||||
HostEntry();
|
||||
/// Creates an empty HostEntry.
|
||||
|
||||
HostEntry(struct hostent* entry);
|
||||
/// Creates the HostEntry from the data in a hostent structure.
|
||||
|
||||
#if defined(POCO_HAVE_IPv6) || defined(POCO_HAVE_ADDRINFO)
|
||||
HostEntry(struct addrinfo* info);
|
||||
/// Creates the HostEntry from the data in an addrinfo structure.
|
||||
#endif
|
||||
|
||||
#if defined(POCO_VXWORKS)
|
||||
HostEntry(const std::string& name, const IPAddress& addr);
|
||||
#endif
|
||||
|
||||
HostEntry(const HostEntry& entry);
|
||||
/// Creates the HostEntry by copying another one.
|
||||
|
||||
HostEntry& operator = (const HostEntry& entry);
|
||||
/// Assigns another HostEntry.
|
||||
|
||||
void swap(HostEntry& hostEntry);
|
||||
/// Swaps the HostEntry with another one.
|
||||
|
||||
~HostEntry();
|
||||
/// Destroys the HostEntry.
|
||||
|
||||
const std::string& name() const;
|
||||
/// Returns the canonical host name.
|
||||
|
||||
const AliasList& aliases() const;
|
||||
/// Returns a vector containing alias names for
|
||||
/// the host name.
|
||||
|
||||
const AddressList& addresses() const;
|
||||
/// Returns a vector containing the IPAddresses
|
||||
/// for the host.
|
||||
|
||||
private:
|
||||
std::string _name;
|
||||
AliasList _aliases;
|
||||
AddressList _addresses;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline const std::string& HostEntry::name() const
|
||||
{
|
||||
return _name;
|
||||
}
|
||||
|
||||
|
||||
inline const HostEntry::AliasList& HostEntry::aliases() const
|
||||
{
|
||||
return _aliases;
|
||||
}
|
||||
|
||||
|
||||
inline const HostEntry::AddressList& HostEntry::addresses() const
|
||||
{
|
||||
return _addresses;
|
||||
}
|
||||
|
||||
|
||||
inline void swap(HostEntry& h1, HostEntry& h2)
|
||||
{
|
||||
h1.swap(h2);
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_HostEntry_INCLUDED
|
||||
97
vendor/POCO/Net/include/Poco/Net/ICMPClient.h
vendored
Normal file
97
vendor/POCO/Net/include/Poco/Net/ICMPClient.h
vendored
Normal file
@@ -0,0 +1,97 @@
|
||||
//
|
||||
// ICMPClient.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: ICMP
|
||||
// Module: ICMPClient
|
||||
//
|
||||
// Definition of the ICMPClient class.
|
||||
//
|
||||
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_ICMPClient_INCLUDED
|
||||
#define Net_ICMPClient_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/ICMPSocket.h"
|
||||
#include "Poco/Net/ICMPEventArgs.h"
|
||||
#include "Poco/Net/SocketAddress.h"
|
||||
#include "Poco/BasicEvent.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API ICMPClient
|
||||
/// This class provides ICMP Ping functionality.
|
||||
///
|
||||
/// The events are available when class is instantiated
|
||||
/// and non-static member functions are called.
|
||||
///
|
||||
/// A "lightweight" alternative is direct (without instantiation)
|
||||
/// use of static member functions.
|
||||
{
|
||||
public:
|
||||
mutable Poco::BasicEvent<ICMPEventArgs> pingBegin;
|
||||
mutable Poco::BasicEvent<ICMPEventArgs> pingReply;
|
||||
mutable Poco::BasicEvent<ICMPEventArgs> pingError;
|
||||
mutable Poco::BasicEvent<ICMPEventArgs> pingEnd;
|
||||
|
||||
explicit ICMPClient(SocketAddress::Family family, int dataSize = 48, int ttl = 128, int timeout = 50000);
|
||||
/// Creates an ICMP client.
|
||||
|
||||
~ICMPClient();
|
||||
/// Destroys the ICMP client.
|
||||
|
||||
int ping(SocketAddress& address, int repeat = 1) const;
|
||||
/// Pings the specified address [repeat] times.
|
||||
/// Notifications are posted for events.
|
||||
///
|
||||
/// Returns the number of valid replies.
|
||||
|
||||
int ping(const std::string& address, int repeat = 1) const;
|
||||
/// Calls ICMPClient::ping(SocketAddress&, int) and
|
||||
/// returns the result.
|
||||
///
|
||||
/// Returns the number of valid replies.
|
||||
|
||||
static int ping(SocketAddress& address,
|
||||
SocketAddress::Family family,
|
||||
int repeat = 1,
|
||||
int dataSize = 48,
|
||||
int ttl = 128,
|
||||
int timeout = 100000);
|
||||
/// Pings the specified address [repeat] times.
|
||||
/// Notifications are not posted for events.
|
||||
///
|
||||
/// Returns the number of valid replies.
|
||||
|
||||
static int pingIPv4(const std::string& address,
|
||||
int repeat = 1,
|
||||
int dataSize = 48,
|
||||
int ttl = 128,
|
||||
int timeout = 100000);
|
||||
/// Calls ICMPClient::ping(SocketAddress&, int) and
|
||||
/// returns the result.
|
||||
///
|
||||
/// Returns the number of valid replies.
|
||||
|
||||
private:
|
||||
mutable SocketAddress::Family _family;
|
||||
int _dataSize;
|
||||
int _ttl;
|
||||
int _timeout;
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_ICMPClient_INCLUDED
|
||||
163
vendor/POCO/Net/include/Poco/Net/ICMPEventArgs.h
vendored
Normal file
163
vendor/POCO/Net/include/Poco/Net/ICMPEventArgs.h
vendored
Normal file
@@ -0,0 +1,163 @@
|
||||
//
|
||||
// ICMPEventArgs.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: ICMP
|
||||
// Module: ICMPEventArgs
|
||||
//
|
||||
// Definition of ICMPEventArgs.
|
||||
//
|
||||
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_ICMPEventArgs_INCLUDED
|
||||
#define Net_ICMPEventArgs_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/SocketAddress.h"
|
||||
#include <vector>
|
||||
#include <algorithm>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API ICMPEventArgs
|
||||
/// The purpose of the ICMPEventArgs class is to be used as template parameter
|
||||
/// to instantiate event members in ICMPClient class.
|
||||
/// When clients register for an event notification, the reference to the class is
|
||||
/// passed to the handler function to provide information about the event.
|
||||
{
|
||||
public:
|
||||
ICMPEventArgs(const SocketAddress& address, int repetitions, int dataSize, int ttl);
|
||||
/// Creates ICMPEventArgs.
|
||||
|
||||
virtual ~ICMPEventArgs();
|
||||
/// Destroys ICMPEventArgs.
|
||||
|
||||
std::string hostName() const;
|
||||
/// Tries to resolve the target IP address into host name.
|
||||
/// If unsuccessful, all exceptions are silently ignored and
|
||||
/// the IP address is returned.
|
||||
|
||||
std::string hostAddress() const;
|
||||
/// Returns the target IP address.
|
||||
|
||||
int repetitions() const;
|
||||
/// Returns the number of repetitions for the ping operation.
|
||||
|
||||
int dataSize() const;
|
||||
/// Returns the packet data size in bytes.
|
||||
|
||||
int ttl() const;
|
||||
/// Returns time to live.
|
||||
|
||||
int sent() const;
|
||||
/// Returns the number of packets sent.
|
||||
|
||||
int received() const;
|
||||
/// Returns the number of packets received.
|
||||
|
||||
int replyTime(int index = -1) const;
|
||||
/// Returns the reply time for the request specified with index.
|
||||
/// If index == -1 (default), returns the most recent reply time.
|
||||
|
||||
const std::string& error(int index = -1) const;
|
||||
/// Returns the error string for the request specified with index.
|
||||
/// If index == -1 (default), returns the most recent error string.
|
||||
|
||||
int minRTT() const;
|
||||
/// Returns the minimum round trip time for a sequence of requests.
|
||||
|
||||
int maxRTT() const;
|
||||
/// Returns the maximum round trip time for a sequence of requests.
|
||||
|
||||
int avgRTT() const;
|
||||
/// Returns the average round trip time for a sequence of requests.
|
||||
|
||||
float percent() const;
|
||||
/// Returns the success percentage for a sequence of requests.
|
||||
|
||||
private:
|
||||
ICMPEventArgs();
|
||||
|
||||
void setRepetitions(int repetitions);
|
||||
void setDataSize(int sz);
|
||||
void setTTL(int timeToLive);
|
||||
void setReplyTime(int index, int time);
|
||||
void setError(int index, const std::string& text);
|
||||
ICMPEventArgs& operator ++ ();
|
||||
ICMPEventArgs operator ++ (int);
|
||||
|
||||
SocketAddress _address;
|
||||
int _sent;
|
||||
int _dataSize;
|
||||
int _ttl;
|
||||
std::vector<int> _rtt;
|
||||
std::vector<std::string> _errors;
|
||||
|
||||
friend class ICMPClient;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline int ICMPEventArgs::repetitions() const
|
||||
{
|
||||
return (int) _rtt.size();
|
||||
}
|
||||
|
||||
|
||||
inline void ICMPEventArgs::setDataSize(int sz)
|
||||
{
|
||||
_dataSize = sz;
|
||||
}
|
||||
|
||||
|
||||
inline int ICMPEventArgs::dataSize() const
|
||||
{
|
||||
return _dataSize;
|
||||
}
|
||||
|
||||
|
||||
inline void ICMPEventArgs::setTTL(int timeToLive)
|
||||
{
|
||||
_ttl = timeToLive;
|
||||
}
|
||||
|
||||
|
||||
inline int ICMPEventArgs::ttl() const
|
||||
{
|
||||
return _ttl;
|
||||
}
|
||||
|
||||
|
||||
inline int ICMPEventArgs::sent() const
|
||||
{
|
||||
return _sent;
|
||||
}
|
||||
|
||||
|
||||
inline int ICMPEventArgs::minRTT() const
|
||||
{
|
||||
return *std::min_element(_rtt.begin(), _rtt.end());
|
||||
}
|
||||
|
||||
|
||||
inline int ICMPEventArgs::maxRTT() const
|
||||
{
|
||||
return *std::max_element(_rtt.begin(), _rtt.end());
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif
|
||||
91
vendor/POCO/Net/include/Poco/Net/ICMPPacket.h
vendored
Normal file
91
vendor/POCO/Net/include/Poco/Net/ICMPPacket.h
vendored
Normal file
@@ -0,0 +1,91 @@
|
||||
//
|
||||
// ICMPPacket.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: ICMP
|
||||
// Module: ICMPPacket
|
||||
//
|
||||
// Definition of the ICMPPacket class.
|
||||
//
|
||||
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_ICMPPacket_INCLUDED
|
||||
#define Net_ICMPPacket_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Foundation.h"
|
||||
#include "Poco/Net/Socket.h"
|
||||
#include "Poco/Net/ICMPPacketImpl.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API ICMPPacket
|
||||
/// This class is the ICMP packet abstraction.
|
||||
{
|
||||
public:
|
||||
ICMPPacket(SocketAddress::Family family, int dataSize = 48);
|
||||
/// Creates an ICMPPacket of specified family.
|
||||
|
||||
~ICMPPacket();
|
||||
/// Destroys the ICMPPacket.
|
||||
|
||||
const Poco::UInt8* packet();
|
||||
/// Returns raw ICMP packet. ICMP header and data are included in the returned packet.
|
||||
|
||||
int packetSize() const;
|
||||
/// Returns the total length of packet (header + data);
|
||||
|
||||
Poco::UInt16 sequence() const;
|
||||
/// Returns the most recent sequence number generated.
|
||||
|
||||
void setDataSize(int dataSize);
|
||||
/// Sets data size.
|
||||
|
||||
int getDataSize() const;
|
||||
/// Returns data size.
|
||||
|
||||
int maxPacketSize() const;
|
||||
/// Returns the total length of packet (header + data);
|
||||
|
||||
struct timeval time(Poco::UInt8* buffer = 0, int length = 0) const;
|
||||
/// Returns current epoch time if either buffer or length are equal to zero.
|
||||
/// Otherwise, it extracts the time value from the supplied buffer and
|
||||
/// returns the extracted value.
|
||||
///
|
||||
/// Supplied buffer includes IP header, ICMP header and data.
|
||||
|
||||
bool validReplyID(Poco::UInt8* buffer, int length) const;
|
||||
/// Returns true if the extracted id is recognized
|
||||
/// (equals the process id).
|
||||
///
|
||||
/// Supplied buffer includes IP header, ICMP header and data.
|
||||
|
||||
std::string errorDescription(Poco::UInt8* buffer, int length, int& type, int& code);
|
||||
/// Returns error description string.
|
||||
/// If supplied buffer contains an ICMP echo reply packet, an
|
||||
/// empty string is returned indicating the absence of error.
|
||||
/// If type and code of the error can be determined, they are
|
||||
/// assigned to the type and code respectively.
|
||||
///
|
||||
/// Supplied buffer includes IP header, ICMP header and data.
|
||||
|
||||
std::string typeDescription(int typeId);
|
||||
/// Returns the description of the packet type.
|
||||
|
||||
private:
|
||||
ICMPPacketImpl* _pImpl;
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_ICMPPacket_INCLUDED
|
||||
144
vendor/POCO/Net/include/Poco/Net/ICMPPacketImpl.h
vendored
Normal file
144
vendor/POCO/Net/include/Poco/Net/ICMPPacketImpl.h
vendored
Normal file
@@ -0,0 +1,144 @@
|
||||
//
|
||||
// ICMPPacketImpl.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: ICMP
|
||||
// Module: ICMPPacketImpl
|
||||
//
|
||||
// Definition of the ICMPPacketImpl class.
|
||||
//
|
||||
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_ICMPPacketImpl_INCLUDED
|
||||
#define Net_ICMPPacketImpl_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Foundation.h"
|
||||
#include "Poco/Net/Socket.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API ICMPPacketImpl
|
||||
/// This is the abstract class for ICMP packet implementations.
|
||||
{
|
||||
public:
|
||||
ICMPPacketImpl(int dataSize = 48);
|
||||
/// Constructor. Creates an ICMPPacketImpl.
|
||||
|
||||
virtual ~ICMPPacketImpl();
|
||||
/// Destructor.
|
||||
|
||||
const Poco::UInt8* packet(bool init = true);
|
||||
/// Returns raw ICMP packet.
|
||||
/// ICMP header and data are included in the packet.
|
||||
/// If init is true, initPacket() is called.
|
||||
|
||||
virtual int packetSize() const = 0;
|
||||
/// Returns the total size of packet (ICMP header + data) in number of octets.
|
||||
/// Must be overriden.
|
||||
|
||||
virtual int maxPacketSize() const;
|
||||
/// Returns the maximum permitted size of packet in number of octets.
|
||||
|
||||
Poco::UInt16 sequence() const;
|
||||
/// Returns the most recent sequence number generated.
|
||||
|
||||
void setDataSize(int dataSize);
|
||||
/// Sets data size.
|
||||
|
||||
int getDataSize() const;
|
||||
/// Returns data size.
|
||||
|
||||
virtual struct timeval time(Poco::UInt8* buffer = 0, int length = 0) const = 0;
|
||||
/// Returns current epoch time if either argument is equal to zero.
|
||||
/// Otherwise, it extracts the time value from the supplied buffer.
|
||||
///
|
||||
/// Supplied buffer includes IP header, ICMP header and data.
|
||||
/// Must be overriden.
|
||||
|
||||
virtual bool validReplyID(unsigned char* buffer, int length) const = 0;
|
||||
/// Returns true if the extracted id is recognized
|
||||
/// (i.e. equals the process id).
|
||||
///
|
||||
/// Supplied buffer includes IP header, ICMP header and data.
|
||||
/// Must be overriden.
|
||||
|
||||
virtual std::string errorDescription(Poco::UInt8* buffer, int length, int& type, int& code) = 0;
|
||||
/// Returns error description string.
|
||||
/// If supplied buffer contains an ICMP echo reply packet, an
|
||||
/// empty string is returned indicating the absence of error.
|
||||
/// If type and code of the error can be determined, they are
|
||||
/// assigned to the type and code respectively.
|
||||
///
|
||||
/// Supplied buffer includes IP header, ICMP header and data.
|
||||
/// Must be overriden.
|
||||
|
||||
virtual std::string typeDescription(int typeId) = 0;
|
||||
/// Returns the description of the packet type.
|
||||
/// Must be overriden.
|
||||
|
||||
static const Poco::UInt16 MAX_PACKET_SIZE;
|
||||
static const Poco::UInt16 MAX_PAYLOAD_SIZE;
|
||||
static const Poco::UInt16 MAX_SEQ_VALUE;
|
||||
|
||||
protected:
|
||||
Poco::UInt16 nextSequence();
|
||||
/// Increments sequence number and returns the new value.
|
||||
|
||||
void resetSequence();
|
||||
/// Resets the sequence to zero.
|
||||
|
||||
virtual void initPacket() = 0;
|
||||
/// (Re)assembles the packet.
|
||||
/// Must be overriden.
|
||||
|
||||
Poco::UInt16 checksum(Poco::UInt16 *addr, Poco::Int32 len);
|
||||
/// Calculates the checksum for supplied buffer.
|
||||
|
||||
private:
|
||||
Poco::UInt16 _seq;
|
||||
Poco::UInt8* _pPacket;
|
||||
int _dataSize;
|
||||
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline Poco::UInt16 ICMPPacketImpl::sequence() const
|
||||
{
|
||||
return _seq;
|
||||
}
|
||||
|
||||
|
||||
inline Poco::UInt16 ICMPPacketImpl::nextSequence()
|
||||
{
|
||||
return ++_seq;
|
||||
}
|
||||
|
||||
|
||||
inline void ICMPPacketImpl::resetSequence()
|
||||
{
|
||||
_seq = 0;
|
||||
}
|
||||
|
||||
|
||||
inline int ICMPPacketImpl::maxPacketSize() const
|
||||
{
|
||||
return MAX_PACKET_SIZE;
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_ICMPPacketImpl_INCLUDED
|
||||
98
vendor/POCO/Net/include/Poco/Net/ICMPSocket.h
vendored
Normal file
98
vendor/POCO/Net/include/Poco/Net/ICMPSocket.h
vendored
Normal file
@@ -0,0 +1,98 @@
|
||||
//
|
||||
// ICMPSocket.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: ICMP
|
||||
// Module: ICMPSocket
|
||||
//
|
||||
// Definition of the ICMPSocket class.
|
||||
//
|
||||
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_ICMPSocket_INCLUDED
|
||||
#define Net_ICMPSocket_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/Socket.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API ICMPSocket: public Socket
|
||||
/// This class provides an interface to an
|
||||
/// ICMP client socket.
|
||||
{
|
||||
public:
|
||||
ICMPSocket(SocketAddress::Family family, int dataSize = 48, int ttl = 128, int timeout = 5000000);
|
||||
/// Creates an unconnected ICMP socket.
|
||||
///
|
||||
/// The socket will be created for the
|
||||
/// given address family.
|
||||
|
||||
ICMPSocket(const Socket& socket);
|
||||
/// Creates the ICMPSocket with the SocketImpl
|
||||
/// from another socket. The SocketImpl must be
|
||||
/// a ICMPSocketImpl, otherwise an InvalidArgumentException
|
||||
/// will be thrown.
|
||||
|
||||
~ICMPSocket();
|
||||
/// Destroys the ICMPSocket.
|
||||
|
||||
ICMPSocket& operator = (const Socket& socket);
|
||||
/// Assignment operator.
|
||||
///
|
||||
/// Releases the socket's SocketImpl and
|
||||
/// attaches the SocketImpl from the other socket and
|
||||
/// increments the reference count of the SocketImpl.
|
||||
|
||||
int sendTo(const SocketAddress& address, int flags = 0);
|
||||
/// Sends an ICMP request through
|
||||
/// the socket to the given address.
|
||||
///
|
||||
/// Returns the number of bytes sent.
|
||||
|
||||
int receiveFrom(SocketAddress& address, int flags = 0);
|
||||
/// Receives data from the socket.
|
||||
/// Stores the address of the sender in address.
|
||||
///
|
||||
/// Returns the time elapsed since the originating
|
||||
/// request was sent.
|
||||
|
||||
int dataSize() const;
|
||||
/// Returns the data size in bytes.
|
||||
|
||||
int packetSize() const;
|
||||
/// Returns the packet size in bytes.
|
||||
|
||||
int ttl() const;
|
||||
/// Returns the Time-To-Live value.
|
||||
|
||||
int timeout() const;
|
||||
/// Returns the socket timeout value.
|
||||
|
||||
static Poco::UInt16 mtu(const SocketAddress& address, Poco::UInt16 sz);
|
||||
/// Returns minimum payload path MTU size for the destination,
|
||||
/// or 0 if MTU can not be determined.
|
||||
|
||||
protected:
|
||||
ICMPSocket(SocketImpl* pImpl);
|
||||
/// Creates the Socket and attaches the given SocketImpl.
|
||||
/// The socket takes ownership of the SocketImpl.
|
||||
///
|
||||
/// The SocketImpl must be a ICMPSocketImpl, otherwise
|
||||
/// an InvalidArgumentException will be thrown.
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_ICMPSocket_INCLUDED
|
||||
105
vendor/POCO/Net/include/Poco/Net/ICMPSocketImpl.h
vendored
Normal file
105
vendor/POCO/Net/include/Poco/Net/ICMPSocketImpl.h
vendored
Normal file
@@ -0,0 +1,105 @@
|
||||
//
|
||||
// ICMPSocketImpl.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: ICMP
|
||||
// Module: ICMPSocketImpl
|
||||
//
|
||||
// Definition of the ICMPSocketImpl class.
|
||||
//
|
||||
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_ICMPSocketImpl_INCLUDED
|
||||
#define Net_ICMPSocketImpl_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/RawSocketImpl.h"
|
||||
#include "Poco/Net/ICMPPacket.h"
|
||||
#include "Poco/Timestamp.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API ICMPSocketImpl: public RawSocketImpl
|
||||
/// This class implements an ICMP socket.
|
||||
{
|
||||
public:
|
||||
ICMPSocketImpl(SocketAddress::Family family, int dataSize, int ttl, int timeout);
|
||||
/// Creates an unconnected ICMP socket.
|
||||
///
|
||||
/// The socket will be created for the given address family.
|
||||
|
||||
int sendTo(const void*, int, const SocketAddress& address, int flags = 0);
|
||||
/// Sends an ICMP request through the socket to the given address.
|
||||
///
|
||||
/// Returns the number of bytes sent.
|
||||
|
||||
int receiveFrom(void*, int, SocketAddress& address, int flags = 0);
|
||||
/// Receives data from the socket.
|
||||
/// Stores the address of the sender in address.
|
||||
///
|
||||
/// Returns the time elapsed since the originating request was sent.
|
||||
|
||||
int dataSize() const;
|
||||
/// Returns the data size in bytes.
|
||||
|
||||
int packetSize() const;
|
||||
/// Returns the packet size in bytes.
|
||||
|
||||
int ttl() const;
|
||||
/// Returns the Time-To-Live value.
|
||||
|
||||
int timeout() const;
|
||||
/// Returns the socket timeout value.
|
||||
|
||||
protected:
|
||||
~ICMPSocketImpl();
|
||||
|
||||
private:
|
||||
void checkFragmentation(const std::string& err, int type, int code);
|
||||
|
||||
ICMPPacket _icmpPacket;
|
||||
int _ttl;
|
||||
int _timeout;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
|
||||
inline int ICMPSocketImpl::packetSize() const
|
||||
{
|
||||
return _icmpPacket.packetSize();
|
||||
}
|
||||
|
||||
inline int ICMPSocketImpl::dataSize() const
|
||||
{
|
||||
return _icmpPacket.getDataSize();
|
||||
}
|
||||
|
||||
|
||||
inline int ICMPSocketImpl::ttl() const
|
||||
{
|
||||
return _ttl;
|
||||
}
|
||||
|
||||
|
||||
inline int ICMPSocketImpl::timeout() const
|
||||
{
|
||||
return _timeout;
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_ICMPSocketImpl_INCLUDED
|
||||
188
vendor/POCO/Net/include/Poco/Net/ICMPv4PacketImpl.h
vendored
Normal file
188
vendor/POCO/Net/include/Poco/Net/ICMPv4PacketImpl.h
vendored
Normal file
@@ -0,0 +1,188 @@
|
||||
//
|
||||
// ICMPv4PacketImpl.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: ICMP
|
||||
// Module: ICMPv4PacketImpl
|
||||
//
|
||||
// Definition of the ICMPv4PacketImpl class.
|
||||
//
|
||||
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_ICMPv4PacketImpl_INCLUDED
|
||||
#define Net_ICMPv4PacketImpl_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Foundation.h"
|
||||
#include "Poco/Net/Socket.h"
|
||||
#include "Poco/Net/ICMPPacketImpl.h"
|
||||
#include <cstddef>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API ICMPv4PacketImpl : public ICMPPacketImpl
|
||||
/// This class implements the ICMPv4 packet.
|
||||
/// Parts are based on the original ICMP code by
|
||||
/// Mike Muuss
|
||||
/// U. S. Army Ballistic Research Laboratory
|
||||
/// December, 1983
|
||||
{
|
||||
public:
|
||||
// ICMPv4 header
|
||||
struct Header
|
||||
{
|
||||
Poco::UInt8 type; // ICMP packet type
|
||||
Poco::UInt8 code; // Type sub code
|
||||
Poco::UInt16 checksum;
|
||||
Poco::UInt16 id;
|
||||
Poco::UInt16 seq;
|
||||
};
|
||||
|
||||
// compile-time shield against misalignment
|
||||
#if POCO_OS != POCO_OS_ANDROID
|
||||
poco_static_assert (offsetof(Header, code) == 0x01);
|
||||
poco_static_assert (offsetof(Header, checksum) == 0x02);
|
||||
poco_static_assert (offsetof(Header, id) == 0x04);
|
||||
poco_static_assert (offsetof(Header, seq) == 0x06);
|
||||
#endif
|
||||
|
||||
// wincrypt.h also contains a macro named TIMESTAMP_REQUEST
|
||||
// being a MinGW issue we can get rid of it for a moment
|
||||
#if defined(TIMESTAMP_REQUEST) && defined(POCO_COMPILER_MINGW)
|
||||
#pragma push_macro("TIMESTAMP_REQUEST")
|
||||
#define POCO_RESTORE_TIMESTAMP_REQUEST
|
||||
#undef TIMESTAMP_REQUEST
|
||||
#endif
|
||||
|
||||
enum MessageType
|
||||
{
|
||||
ECHO_REPLY,
|
||||
ICMP_1,
|
||||
ICMP_2,
|
||||
DESTINATION_UNREACHABLE,
|
||||
SOURCE_QUENCH,
|
||||
REDIRECT,
|
||||
ICMP_6,
|
||||
ICMP_7,
|
||||
ECHO_REQUEST,
|
||||
ICMP_9,
|
||||
ICMP_10,
|
||||
TIME_EXCEEDED,
|
||||
PARAMETER_PROBLEM,
|
||||
TIMESTAMP_REQUEST,
|
||||
TIMESTAMP_REPLY,
|
||||
INFORMATION_REQUEST,
|
||||
INFORMATION_REPLY,
|
||||
MESSAGE_TYPE_UNKNOWN, // non-standard default, must remain last but one
|
||||
MESSAGE_TYPE_LENGTH // length indicator, must remain last
|
||||
};
|
||||
|
||||
#if defined(POCO_RESTORE_TIMESTAMP_REQUEST)
|
||||
#pragma pop_macro("TIMESTAMP_REQUEST")
|
||||
#undef POCO_RESTORE_TIMESTAMP_REQUEST
|
||||
#endif
|
||||
|
||||
enum DestinationUnreachableCode
|
||||
{
|
||||
NET_UNREACHABLE,
|
||||
HOST_UNREACHABLE,
|
||||
PROTOCOL_UNREACHABLE,
|
||||
PORT_UNREACHABLE,
|
||||
FRAGMENTATION_NEEDED_AND_DF_SET,
|
||||
SOURCE_ROUTE_FAILED,
|
||||
DESTINATION_UNREACHABLE_UNKNOWN, // non-standard default, must remain last but one
|
||||
DESTINATION_UNREACHABLE_LENGTH // length indicator, must remain last
|
||||
};
|
||||
|
||||
enum RedirectMessageCode
|
||||
{
|
||||
REDIRECT_NETWORK,
|
||||
REDIRECT_HOST,
|
||||
REDIRECT_SERVICE_NETWORK,
|
||||
REDIRECT_SERVICE_HOST,
|
||||
REDIRECT_MESSAGE_UNKNOWN, // non-standard default, must remain last but one
|
||||
REDIRECT_MESSAGE_LENGTH // length indicator, must remain last
|
||||
};
|
||||
|
||||
enum TimeExceededCode
|
||||
{
|
||||
TIME_TO_LIVE,
|
||||
FRAGMENT_REASSEMBLY,
|
||||
TIME_EXCEEDED_UNKNOWN, // non-standard default, must remain last but one
|
||||
TIME_EXCEEDED_LENGTH // length indicator, must remain last
|
||||
};
|
||||
|
||||
enum ParameterProblemCode
|
||||
{
|
||||
POINTER_INDICATES_THE_ERROR,
|
||||
PARAMETER_PROBLEM_UNKNOWN, // non-standard default, must remain last but one
|
||||
PARAMETER_PROBLEM_LENGTH // length indicator, must remain last
|
||||
};
|
||||
|
||||
ICMPv4PacketImpl(int dataSize = 48);
|
||||
/// Constructor. Creates an ICMPv4PacketImpl.
|
||||
|
||||
~ICMPv4PacketImpl();
|
||||
/// Destructor.
|
||||
|
||||
int packetSize() const;
|
||||
/// Returns the total length of packet (header + data);
|
||||
|
||||
struct timeval time(Poco::UInt8* buffer = 0, int length = 0) const;
|
||||
/// Returns current epoch time if either buffer or length are equal to zero.
|
||||
/// Otherwise, it extracts the time value from the supplied buffer.
|
||||
///
|
||||
/// Buffer includes IP header, ICMP header and data.
|
||||
|
||||
bool validReplyID(Poco::UInt8* buffer, int length) const;
|
||||
/// Returns true if the extracted id is recognized
|
||||
/// (i.e. equals the process id).
|
||||
///
|
||||
/// Buffer includes IP header, ICMP header and data.
|
||||
|
||||
virtual std::string errorDescription(Poco::UInt8* buffer, int length, int& type, int& code);
|
||||
/// Returns error description string.
|
||||
/// If supplied buffer contains ICMPv4 echo reply packet, an
|
||||
/// empty string is returned indicating the absence of error.
|
||||
/// If type and code of the error can be determined, they are
|
||||
/// assigned to the type and code respectively.
|
||||
///
|
||||
/// Buffer includes IP header, ICMP header and data.
|
||||
|
||||
virtual std::string typeDescription(int typeId);
|
||||
/// Returns the description of the packet type.
|
||||
|
||||
static const Poco::UInt16 MAX_PACKET_SIZE;
|
||||
static const std::string MESSAGE_TYPE[MESSAGE_TYPE_LENGTH];
|
||||
static const Poco::UInt8 DESTINATION_UNREACHABLE_TYPE; // 3
|
||||
static const Poco::UInt8 SOURCE_QUENCH_TYPE; // 4
|
||||
static const Poco::UInt8 REDIRECT_MESSAGE_TYPE; // 5
|
||||
static const Poco::UInt8 TIME_EXCEEDED_TYPE; // 11
|
||||
static const Poco::UInt8 PARAMETER_PROBLEM_TYPE; // 12
|
||||
|
||||
private:
|
||||
void initPacket();
|
||||
Header* header(Poco::UInt8* buffer, int length) const;
|
||||
Poco::UInt8* data(Poco::UInt8* buffer, int length) const;
|
||||
|
||||
static const std::string DESTINATION_UNREACHABLE_CODE[DESTINATION_UNREACHABLE_LENGTH];
|
||||
static const std::string REDIRECT_MESSAGE_CODE[REDIRECT_MESSAGE_LENGTH];
|
||||
static const std::string TIME_EXCEEDED_CODE[TIME_EXCEEDED_LENGTH];
|
||||
static const std::string PARAMETER_PROBLEM_CODE[PARAMETER_PROBLEM_LENGTH];
|
||||
|
||||
Poco::UInt16 _seq;
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_ICMPv4PacketImpl_INCLUDED
|
||||
450
vendor/POCO/Net/include/Poco/Net/IPAddress.h
vendored
Normal file
450
vendor/POCO/Net/include/Poco/Net/IPAddress.h
vendored
Normal file
@@ -0,0 +1,450 @@
|
||||
//
|
||||
// IPAddress.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: NetCore
|
||||
// Module: IPAddress
|
||||
//
|
||||
// Definition of the IPAddress class.
|
||||
//
|
||||
// Copyright (c) 2005-2011, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_IPAddress_INCLUDED
|
||||
#define Net_IPAddress_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/SocketDefs.h"
|
||||
#include "Poco/Net/IPAddressImpl.h"
|
||||
#include "Poco/AutoPtr.h"
|
||||
#include "Poco/Exception.h"
|
||||
#include <vector>
|
||||
#include <ostream>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
|
||||
class BinaryReader;
|
||||
class BinaryWriter;
|
||||
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API IPAddress
|
||||
/// This class represents an internet (IP) host
|
||||
/// address. The address can belong either to the
|
||||
/// IPv4 or the IPv6 address family.
|
||||
///
|
||||
/// Relational operators (==, !=, <, <=, >, >=) are
|
||||
/// supported. However, you must not interpret any
|
||||
/// special meaning into the result of these
|
||||
/// operations, other than that the results are
|
||||
/// consistent.
|
||||
///
|
||||
/// Especially, an IPv4 address is never equal to
|
||||
/// an IPv6 address, even if the IPv6 address is
|
||||
/// IPv4 compatible and the addresses are the same.
|
||||
///
|
||||
/// IPv6 addresses are supported only if the target platform
|
||||
/// supports IPv6.
|
||||
{
|
||||
public:
|
||||
using List = std::vector<IPAddress>;
|
||||
|
||||
// The following declarations keep the Family type
|
||||
// backwards compatible with the previously used
|
||||
// enum declaration.
|
||||
using Family = AddressFamily::Family;
|
||||
static const Family IPv4 = AddressFamily::IPv4;
|
||||
#if defined(POCO_HAVE_IPv6)
|
||||
static const Family IPv6 = AddressFamily::IPv6;
|
||||
#endif
|
||||
|
||||
IPAddress();
|
||||
/// Creates a wildcard (zero) IPv4 IPAddress.
|
||||
|
||||
IPAddress(const IPAddress& addr);
|
||||
/// Creates an IPAddress by copying another one.
|
||||
|
||||
explicit IPAddress(Family family);
|
||||
/// Creates a wildcard (zero) IPAddress for the
|
||||
/// given address family.
|
||||
|
||||
explicit IPAddress(const std::string& addr);
|
||||
/// Creates an IPAddress from the string containing
|
||||
/// an IP address in presentation format (dotted decimal
|
||||
/// for IPv4, hex string for IPv6).
|
||||
///
|
||||
/// Depending on the format of addr, either an IPv4 or
|
||||
/// an IPv6 address is created.
|
||||
///
|
||||
/// See toString() for details on the supported formats.
|
||||
///
|
||||
/// Throws an InvalidAddressException if the address cannot be parsed.
|
||||
|
||||
IPAddress(const std::string& addr, Family family);
|
||||
/// Creates an IPAddress from the string containing
|
||||
/// an IP address in presentation format (dotted decimal
|
||||
/// for IPv4, hex string for IPv6).
|
||||
|
||||
IPAddress(const void* addr, poco_socklen_t length);
|
||||
/// Creates an IPAddress from a native internet address.
|
||||
/// A pointer to a in_addr or a in6_addr structure may be
|
||||
/// passed.
|
||||
|
||||
IPAddress(const void* addr, poco_socklen_t length, Poco::UInt32 scope);
|
||||
/// Creates an IPAddress from a native internet address.
|
||||
/// A pointer to a in_addr or a in6_addr structure may be
|
||||
/// passed. Additionally, for an IPv6 address, a scope ID
|
||||
/// may be specified. The scope ID will be ignored if an IPv4
|
||||
/// address is specified.
|
||||
|
||||
IPAddress(unsigned prefix, Family family);
|
||||
/// Creates an IPAddress mask with the given length of prefix.
|
||||
|
||||
#if defined(_WIN32)
|
||||
IPAddress(const SOCKET_ADDRESS& socket_address);
|
||||
/// Creates an IPAddress from Windows SOCKET_ADDRESS structure.
|
||||
#endif
|
||||
|
||||
IPAddress(const struct sockaddr& sockaddr);
|
||||
/// Same for struct sock_addr on POSIX.
|
||||
|
||||
|
||||
~IPAddress();
|
||||
/// Destroys the IPAddress.
|
||||
|
||||
IPAddress& operator = (const IPAddress& addr);
|
||||
/// Assigns an IPAddress.
|
||||
|
||||
Family family() const;
|
||||
/// Returns the address family (IPv4 or IPv6) of the address.
|
||||
|
||||
Poco::UInt32 scope() const;
|
||||
/// Returns the IPv6 scope identifier of the address. Returns 0 if
|
||||
/// the address is an IPv4 address, or the address is an
|
||||
/// IPv6 address but does not have a scope identifier.
|
||||
|
||||
std::string toString() const;
|
||||
/// Returns a string containing a representation of the address
|
||||
/// in presentation format.
|
||||
///
|
||||
/// For IPv4 addresses the result will be in dotted-decimal
|
||||
/// (d.d.d.d) notation.
|
||||
///
|
||||
/// Textual representation of IPv6 address is one of the following forms:
|
||||
///
|
||||
/// The preferred form is x:x:x:x:x:x:x:x, where the 'x's are the hexadecimal
|
||||
/// values of the eight 16-bit pieces of the address. This is the full form.
|
||||
/// Example: 1080:0:0:0:8:600:200A:425C
|
||||
///
|
||||
/// It is not necessary to write the leading zeros in an individual field.
|
||||
/// However, there must be at least one numeral in every field, except as described below.
|
||||
///
|
||||
/// It is common for IPv6 addresses to contain long strings of zero bits.
|
||||
/// In order to make writing addresses containing zero bits easier, a special syntax is
|
||||
/// available to compress the zeros. The use of "::" indicates multiple groups of 16-bits of zeros.
|
||||
/// The "::" can only appear once in an address. The "::" can also be used to compress the leading
|
||||
/// and/or trailing zeros in an address. Example: 1080::8:600:200A:425C
|
||||
///
|
||||
/// For dealing with IPv4 compatible addresses in a mixed environment,
|
||||
/// a special syntax is available: x:x:x:x:x:x:d.d.d.d, where the 'x's are the
|
||||
/// hexadecimal values of the six high-order 16-bit pieces of the address,
|
||||
/// and the 'd's are the decimal values of the four low-order 8-bit pieces of the
|
||||
/// standard IPv4 representation address. Example: ::FFFF:192.168.1.120
|
||||
///
|
||||
/// If an IPv6 address contains a non-zero scope identifier, it is added
|
||||
/// to the string, delimited by a percent character. On Windows platforms,
|
||||
/// the numeric value (which specifies an interface index) is directly
|
||||
/// appended. On Unix platforms, the name of the interface corresponding
|
||||
/// to the index (interpretation of the scope identifier) is added.
|
||||
|
||||
bool isWildcard() const;
|
||||
/// Returns true iff the address is a wildcard (all zero)
|
||||
/// address.
|
||||
|
||||
bool isBroadcast() const;
|
||||
/// Returns true iff the address is a broadcast address.
|
||||
///
|
||||
/// Only IPv4 addresses can be broadcast addresses. In a broadcast
|
||||
/// address, all bits are one.
|
||||
///
|
||||
/// For an IPv6 address, returns always false.
|
||||
|
||||
bool isLoopback() const;
|
||||
/// Returns true iff the address is a loopback address.
|
||||
///
|
||||
/// For IPv4, the loopback address is 127.0.0.1.
|
||||
///
|
||||
/// For IPv6, the loopback address is ::1.
|
||||
|
||||
bool isMulticast() const;
|
||||
/// Returns true iff the address is a multicast address.
|
||||
///
|
||||
/// IPv4 multicast addresses are in the
|
||||
/// 224.0.0.0 to 239.255.255.255 range
|
||||
/// (the first four bits have the value 1110).
|
||||
///
|
||||
/// IPv6 multicast addresses are in the
|
||||
/// FFxx:x:x:x:x:x:x:x range.
|
||||
|
||||
bool isUnicast() const;
|
||||
/// Returns true iff the address is a unicast address.
|
||||
///
|
||||
/// An address is unicast if it is neither a wildcard,
|
||||
/// broadcast or multicast address.
|
||||
|
||||
bool isLinkLocal() const;
|
||||
/// Returns true iff the address is a link local unicast address.
|
||||
///
|
||||
/// IPv4 link local addresses are in the 169.254.0.0/16 range,
|
||||
/// according to RFC 3927.
|
||||
///
|
||||
/// IPv6 link local addresses have 1111 1110 10 as the first
|
||||
/// 10 bits, followed by 54 zeros.
|
||||
|
||||
bool isSiteLocal() const;
|
||||
/// Returns true iff the address is a site local unicast address.
|
||||
///
|
||||
/// IPv4 site local addresses are in on of the 10.0.0.0/24,
|
||||
/// 192.168.0.0/16 or 172.16.0.0 to 172.31.255.255 ranges.
|
||||
///
|
||||
/// Originally, IPv6 site-local addresses had FEC0/10 (1111 1110 11)
|
||||
/// prefix (RFC 4291), followed by 38 zeros. Interfaces using
|
||||
/// this mask are supported, but obsolete; RFC 4193 prescribes
|
||||
/// fc00::/7 (1111 110) as local unicast prefix.
|
||||
|
||||
bool isIPv4Compatible() const;
|
||||
/// Returns true iff the address is IPv4 compatible.
|
||||
///
|
||||
/// For IPv4 addresses, this is always true.
|
||||
///
|
||||
/// For IPv6, the address must be in the ::x:x range (the
|
||||
/// first 96 bits are zero).
|
||||
|
||||
bool isIPv4Mapped() const;
|
||||
/// Returns true iff the address is an IPv4 mapped IPv6 address.
|
||||
///
|
||||
/// For IPv4 addresses, this is always true.
|
||||
///
|
||||
/// For IPv6, the address must be in the ::FFFF:x:x range.
|
||||
|
||||
bool isWellKnownMC() const;
|
||||
/// Returns true iff the address is a well-known multicast address.
|
||||
///
|
||||
/// For IPv4, well-known multicast addresses are in the
|
||||
/// 224.0.0.0/8 range.
|
||||
///
|
||||
/// For IPv6, well-known multicast addresses are in the
|
||||
/// FF0x:x:x:x:x:x:x:x range.
|
||||
|
||||
bool isNodeLocalMC() const;
|
||||
/// Returns true iff the address is a node-local multicast address.
|
||||
///
|
||||
/// IPv4 does not support node-local addresses, thus the result is
|
||||
/// always false for an IPv4 address.
|
||||
///
|
||||
/// For IPv6, node-local multicast addresses are in the
|
||||
/// FFx1:x:x:x:x:x:x:x range.
|
||||
|
||||
bool isLinkLocalMC() const;
|
||||
/// Returns true iff the address is a link-local multicast address.
|
||||
///
|
||||
/// For IPv4, link-local multicast addresses are in the
|
||||
/// 224.0.0.0/24 range. Note that this overlaps with the range for well-known
|
||||
/// multicast addresses.
|
||||
///
|
||||
/// For IPv6, link-local multicast addresses are in the
|
||||
/// FFx2:x:x:x:x:x:x:x range.
|
||||
|
||||
bool isSiteLocalMC() const;
|
||||
/// Returns true iff the address is a site-local multicast address.
|
||||
///
|
||||
/// For IPv4, site local multicast addresses are in the
|
||||
/// 239.255.0.0/16 range.
|
||||
///
|
||||
/// For IPv6, site-local multicast addresses are in the
|
||||
/// FFx5:x:x:x:x:x:x:x range.
|
||||
|
||||
bool isOrgLocalMC() const;
|
||||
/// Returns true iff the address is a organization-local multicast address.
|
||||
///
|
||||
/// For IPv4, organization-local multicast addresses are in the
|
||||
/// 239.192.0.0/16 range.
|
||||
///
|
||||
/// For IPv6, organization-local multicast addresses are in the
|
||||
/// FFx8:x:x:x:x:x:x:x range.
|
||||
|
||||
bool isGlobalMC() const;
|
||||
/// Returns true iff the address is a global multicast address.
|
||||
///
|
||||
/// For IPv4, global multicast addresses are in the
|
||||
/// 224.0.1.0 to 238.255.255.255 range.
|
||||
///
|
||||
/// For IPv6, global multicast addresses are in the
|
||||
/// FFxF:x:x:x:x:x:x:x range.
|
||||
|
||||
bool operator == (const IPAddress& addr) const;
|
||||
bool operator != (const IPAddress& addr) const;
|
||||
bool operator < (const IPAddress& addr) const;
|
||||
bool operator <= (const IPAddress& addr) const;
|
||||
bool operator > (const IPAddress& addr) const;
|
||||
bool operator >= (const IPAddress& addr) const;
|
||||
IPAddress operator & (const IPAddress& addr) const;
|
||||
IPAddress operator | (const IPAddress& addr) const;
|
||||
IPAddress operator ^ (const IPAddress& addr) const;
|
||||
IPAddress operator ~ () const;
|
||||
|
||||
poco_socklen_t length() const;
|
||||
/// Returns the length in bytes of the internal socket address structure.
|
||||
|
||||
const void* addr() const;
|
||||
/// Returns the internal address structure.
|
||||
|
||||
int af() const;
|
||||
/// Returns the address family (AF_INET or AF_INET6) of the address.
|
||||
|
||||
unsigned prefixLength() const;
|
||||
/// Returns the prefix length.
|
||||
|
||||
void mask(const IPAddress& mask);
|
||||
/// Masks the IP address using the given netmask, which is usually
|
||||
/// a IPv4 subnet mask. Only supported for IPv4 addresses.
|
||||
///
|
||||
/// The new address is (address & mask).
|
||||
|
||||
void mask(const IPAddress& mask, const IPAddress& set);
|
||||
/// Masks the IP address using the given netmask, which is usually
|
||||
/// a IPv4 subnet mask. Only supported for IPv4 addresses.
|
||||
///
|
||||
/// The new address is (address & mask) | (set & ~mask).
|
||||
|
||||
static IPAddress parse(const std::string& addr);
|
||||
/// Creates an IPAddress from the string containing
|
||||
/// an IP address in presentation format (dotted decimal
|
||||
/// for IPv4, hex string for IPv6).
|
||||
///
|
||||
/// Depending on the format of addr, either an IPv4 or
|
||||
/// an IPv6 address is created.
|
||||
///
|
||||
/// See toString() for details on the supported formats.
|
||||
///
|
||||
/// Throws an InvalidAddressException if the address cannot be parsed.
|
||||
|
||||
static bool tryParse(const std::string& addr, IPAddress& result);
|
||||
/// Tries to interpret the given address string as an
|
||||
/// IP address in presentation format (dotted decimal
|
||||
/// for IPv4, hex string for IPv6).
|
||||
///
|
||||
/// Returns true and stores the IPAddress in result if the
|
||||
/// string contains a valid address.
|
||||
///
|
||||
/// Returns false and leaves result unchanged otherwise.
|
||||
|
||||
static IPAddress wildcard(Family family = IPv4);
|
||||
/// Returns a wildcard IPv4 or IPv6 address (0.0.0.0).
|
||||
|
||||
static IPAddress broadcast();
|
||||
/// Returns a broadcast IPv4 address (255.255.255.255).
|
||||
|
||||
enum
|
||||
{
|
||||
MAX_ADDRESS_LENGTH =
|
||||
#if defined(POCO_HAVE_IPv6)
|
||||
sizeof(struct in6_addr)
|
||||
#else
|
||||
sizeof(struct in_addr)
|
||||
#endif
|
||||
/// Maximum length in bytes of a socket address.
|
||||
};
|
||||
|
||||
private:
|
||||
typedef Poco::Net::Impl::IPAddressImpl Impl;
|
||||
typedef Poco::AutoPtr<Impl> Ptr;
|
||||
|
||||
Ptr pImpl() const;
|
||||
void newIPv4();
|
||||
void newIPv4(const void* hostAddr);
|
||||
void newIPv4(unsigned prefix);
|
||||
#if defined(POCO_HAVE_IPv6)
|
||||
void newIPv6();
|
||||
void newIPv6(const void* hostAddr);
|
||||
void newIPv6(const void* hostAddr, Poco::UInt32 scope);
|
||||
void newIPv6(unsigned prefix);
|
||||
#endif
|
||||
Ptr _pImpl;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline IPAddress::Ptr IPAddress::pImpl() const
|
||||
{
|
||||
if (_pImpl) return _pImpl;
|
||||
throw NullPointerException("IPaddress implementation pointer is NULL.");
|
||||
}
|
||||
|
||||
|
||||
inline void IPAddress::newIPv4()
|
||||
{
|
||||
_pImpl = new Poco::Net::Impl::IPv4AddressImpl;
|
||||
}
|
||||
|
||||
|
||||
inline void IPAddress::newIPv4(const void* hostAddr)
|
||||
{
|
||||
_pImpl = new Poco::Net::Impl::IPv4AddressImpl(hostAddr);
|
||||
}
|
||||
|
||||
|
||||
inline void IPAddress::newIPv4(unsigned prefix)
|
||||
{
|
||||
_pImpl = new Poco::Net::Impl::IPv4AddressImpl(prefix);
|
||||
}
|
||||
|
||||
|
||||
#if defined(POCO_HAVE_IPv6)
|
||||
|
||||
|
||||
inline void IPAddress::newIPv6()
|
||||
{
|
||||
_pImpl = new Poco::Net::Impl::IPv6AddressImpl;
|
||||
}
|
||||
|
||||
|
||||
inline void IPAddress::newIPv6(const void* hostAddr)
|
||||
{
|
||||
_pImpl = new Poco::Net::Impl::IPv6AddressImpl(hostAddr);
|
||||
}
|
||||
|
||||
|
||||
inline void IPAddress::newIPv6(const void* hostAddr, Poco::UInt32 scope)
|
||||
{
|
||||
_pImpl = new Poco::Net::Impl::IPv6AddressImpl(hostAddr, scope);
|
||||
}
|
||||
|
||||
|
||||
inline void IPAddress::newIPv6(unsigned prefix)
|
||||
{
|
||||
_pImpl = new Poco::Net::Impl::IPv6AddressImpl(prefix);
|
||||
}
|
||||
|
||||
|
||||
#endif // POCO_HAVE_IPv6
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
Net_API Poco::BinaryWriter& operator << (Poco::BinaryWriter& writer, const Poco::Net::IPAddress& value);
|
||||
Net_API Poco::BinaryReader& operator >> (Poco::BinaryReader& reader, Poco::Net::IPAddress& value);
|
||||
Net_API std::ostream& operator << (std::ostream& ostr, const Poco::Net::IPAddress& addr);
|
||||
|
||||
|
||||
#endif // Net_IPAddress_INCLUDED
|
||||
179
vendor/POCO/Net/include/Poco/Net/IPAddressImpl.h
vendored
Normal file
179
vendor/POCO/Net/include/Poco/Net/IPAddressImpl.h
vendored
Normal file
@@ -0,0 +1,179 @@
|
||||
//
|
||||
// IPAddressImpl.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: NetCore
|
||||
// Module: IPAddressImpl
|
||||
//
|
||||
// Definition of the IPAddressImpl class.
|
||||
//
|
||||
// Copyright (c) 2005-2011, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_IPAddressImpl_INCLUDED
|
||||
#define Net_IPAddressImpl_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/SocketDefs.h"
|
||||
#include "Poco/RefCountedObject.h"
|
||||
#include <vector>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
namespace Impl {
|
||||
|
||||
|
||||
class IPAddressImpl : public Poco::RefCountedObject
|
||||
{
|
||||
public:
|
||||
using Family = AddressFamily::Family;
|
||||
|
||||
virtual ~IPAddressImpl();
|
||||
|
||||
virtual IPAddressImpl* clone() const = 0;
|
||||
virtual std::string toString() const = 0;
|
||||
virtual poco_socklen_t length() const = 0;
|
||||
virtual const void* addr() const = 0;
|
||||
virtual Family family() const = 0;
|
||||
virtual int af() const = 0;
|
||||
virtual Poco::UInt32 scope() const = 0;
|
||||
virtual bool isWildcard() const = 0;
|
||||
virtual bool isBroadcast() const = 0;
|
||||
virtual bool isLoopback() const = 0;
|
||||
virtual bool isMulticast() const = 0;
|
||||
virtual bool isLinkLocal() const = 0;
|
||||
virtual bool isSiteLocal() const = 0;
|
||||
virtual bool isIPv4Mapped() const = 0;
|
||||
virtual bool isIPv4Compatible() const = 0;
|
||||
virtual bool isWellKnownMC() const = 0;
|
||||
virtual bool isNodeLocalMC() const = 0;
|
||||
virtual bool isLinkLocalMC() const = 0;
|
||||
virtual bool isSiteLocalMC() const = 0;
|
||||
virtual bool isOrgLocalMC() const = 0;
|
||||
virtual bool isGlobalMC() const = 0;
|
||||
virtual void mask(const IPAddressImpl* pMask, const IPAddressImpl* pSet) = 0;
|
||||
virtual unsigned prefixLength() const = 0;
|
||||
|
||||
protected:
|
||||
IPAddressImpl();
|
||||
|
||||
private:
|
||||
IPAddressImpl(const IPAddressImpl&);
|
||||
IPAddressImpl& operator = (const IPAddressImpl&);
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// IPv4AddressImpl
|
||||
//
|
||||
|
||||
class IPv4AddressImpl: public IPAddressImpl
|
||||
{
|
||||
public:
|
||||
IPv4AddressImpl();
|
||||
IPv4AddressImpl(const void* addr);
|
||||
IPv4AddressImpl(unsigned prefix);
|
||||
IPv4AddressImpl(const IPv4AddressImpl& addr);
|
||||
IPv4AddressImpl& operator = (const IPv4AddressImpl&);
|
||||
std::string toString() const;
|
||||
poco_socklen_t length() const;
|
||||
const void* addr() const;
|
||||
Family family() const;
|
||||
int af() const;
|
||||
unsigned prefixLength() const;
|
||||
Poco::UInt32 scope() const;
|
||||
bool isWildcard() const;
|
||||
bool isBroadcast() const;
|
||||
bool isLoopback() const;
|
||||
bool isMulticast() const;
|
||||
bool isLinkLocal() const;
|
||||
bool isSiteLocal() const;
|
||||
bool isIPv4Compatible() const;
|
||||
bool isIPv4Mapped() const;
|
||||
bool isWellKnownMC() const;
|
||||
bool isNodeLocalMC() const;
|
||||
bool isLinkLocalMC() const;
|
||||
bool isSiteLocalMC() const;
|
||||
bool isOrgLocalMC() const;
|
||||
bool isGlobalMC() const;
|
||||
static IPv4AddressImpl parse(const std::string& addr);
|
||||
void mask(const IPAddressImpl* pMask, const IPAddressImpl* pSet);
|
||||
IPAddressImpl* clone() const;
|
||||
IPv4AddressImpl operator & (const IPv4AddressImpl& addr) const;
|
||||
IPv4AddressImpl operator | (const IPv4AddressImpl& addr) const;
|
||||
IPv4AddressImpl operator ^ (const IPv4AddressImpl& addr) const;
|
||||
IPv4AddressImpl operator ~ () const;
|
||||
bool operator == (const IPv4AddressImpl& addr) const;
|
||||
bool operator != (const IPv4AddressImpl& addr) const;
|
||||
|
||||
private:
|
||||
struct in_addr _addr;
|
||||
};
|
||||
|
||||
|
||||
#if defined(POCO_HAVE_IPv6)
|
||||
|
||||
|
||||
//
|
||||
// IPv6AddressImpl
|
||||
//
|
||||
|
||||
class IPv6AddressImpl: public IPAddressImpl
|
||||
{
|
||||
public:
|
||||
IPv6AddressImpl();
|
||||
IPv6AddressImpl(const void* addr);
|
||||
IPv6AddressImpl(const void* addr, Poco::UInt32 scope);
|
||||
IPv6AddressImpl(unsigned prefix);
|
||||
std::string toString() const;
|
||||
poco_socklen_t length() const;
|
||||
const void* addr() const;
|
||||
Family family() const;
|
||||
int af() const;
|
||||
unsigned prefixLength() const;
|
||||
Poco::UInt32 scope() const;
|
||||
bool isWildcard() const;
|
||||
bool isBroadcast() const;
|
||||
bool isLoopback() const;
|
||||
bool isMulticast() const;
|
||||
bool isLinkLocal() const;
|
||||
bool isSiteLocal() const;
|
||||
bool isIPv4Compatible() const;
|
||||
bool isIPv4Mapped() const;
|
||||
bool isWellKnownMC() const;
|
||||
bool isNodeLocalMC() const;
|
||||
bool isLinkLocalMC() const;
|
||||
bool isSiteLocalMC() const;
|
||||
bool isOrgLocalMC() const;
|
||||
bool isGlobalMC() const;
|
||||
static IPv6AddressImpl parse(const std::string& addr);
|
||||
void mask(const IPAddressImpl* pMask, const IPAddressImpl* pSet);
|
||||
IPAddressImpl* clone() const;
|
||||
IPv6AddressImpl operator & (const IPv6AddressImpl& addr) const;
|
||||
IPv6AddressImpl operator | (const IPv6AddressImpl& addr) const;
|
||||
IPv6AddressImpl operator ^ (const IPv6AddressImpl& addr) const;
|
||||
IPv6AddressImpl operator ~ () const;
|
||||
bool operator == (const IPv6AddressImpl& addr) const;
|
||||
bool operator != (const IPv6AddressImpl& addr) const;
|
||||
IPv6AddressImpl(const IPv6AddressImpl& addr);
|
||||
IPv6AddressImpl& operator = (const IPv6AddressImpl&);
|
||||
|
||||
private:
|
||||
struct in6_addr _addr;
|
||||
unsigned int _scope;
|
||||
};
|
||||
|
||||
|
||||
#endif // POCO_HAVE_IPv6
|
||||
|
||||
|
||||
} } } // namespace Poco::Net::Impl
|
||||
|
||||
|
||||
#endif // Net_IPAddressImpl_INCLUDED
|
||||
358
vendor/POCO/Net/include/Poco/Net/MailMessage.h
vendored
Normal file
358
vendor/POCO/Net/include/Poco/Net/MailMessage.h
vendored
Normal file
@@ -0,0 +1,358 @@
|
||||
//
|
||||
// MailMessage.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: Mail
|
||||
// Module: MailMessage
|
||||
//
|
||||
// Definition of the MailMessage class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_MailMessage_INCLUDED
|
||||
#define Net_MailMessage_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/MessageHeader.h"
|
||||
#include "Poco/Net/MailRecipient.h"
|
||||
#include "Poco/Net/PartStore.h"
|
||||
#include "Poco/SharedPtr.h"
|
||||
#include "Poco/Timestamp.h"
|
||||
#include <sstream>
|
||||
#include <vector>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class MediaType;
|
||||
class PartSource;
|
||||
class PartHandler;
|
||||
class MultipartWriter;
|
||||
class MultipartSource;
|
||||
|
||||
|
||||
class Net_API MailMessage: public MessageHeader
|
||||
/// This class represents an e-mail message for
|
||||
/// use with the SMTPClientSession and POPClientSession
|
||||
/// classes.
|
||||
///
|
||||
/// MailMessage supports both old-style plain text messages,
|
||||
/// as well as MIME multipart mail messages with attachments.
|
||||
///
|
||||
/// For multi-part messages, the following content transfer
|
||||
/// encodings are supported: 7bit, 8bit, quoted-printable
|
||||
/// and base64.
|
||||
{
|
||||
public:
|
||||
using Recipients = std::vector<MailRecipient>;
|
||||
|
||||
enum ContentDisposition
|
||||
{
|
||||
CONTENT_INLINE,
|
||||
CONTENT_ATTACHMENT
|
||||
};
|
||||
|
||||
enum ContentTransferEncoding
|
||||
{
|
||||
ENCODING_7BIT,
|
||||
ENCODING_8BIT,
|
||||
ENCODING_QUOTED_PRINTABLE,
|
||||
ENCODING_BASE64
|
||||
};
|
||||
|
||||
struct Part
|
||||
{
|
||||
std::string name;
|
||||
PartSource* pSource;
|
||||
ContentDisposition disposition;
|
||||
ContentTransferEncoding encoding;
|
||||
};
|
||||
|
||||
using PartVec = std::vector<Part>;
|
||||
|
||||
MailMessage(PartStoreFactory* pStoreFactory = 0);
|
||||
/// Creates an empty MailMessage.
|
||||
///
|
||||
/// If pStoreFactory is not null, message attachments will be
|
||||
/// handled by the object created by the factory. Most
|
||||
/// common reason is to temporarily save attachments to
|
||||
/// the file system in order to avoid potential memory
|
||||
/// exhaustion when attachment files are very large.
|
||||
|
||||
virtual ~MailMessage();
|
||||
/// Destroys the MailMessage.
|
||||
|
||||
void addRecipient(const MailRecipient& recipient);
|
||||
/// Adds a recipient for the message.
|
||||
|
||||
void setRecipients(const Recipients& recipient);
|
||||
/// Clears existing and sets new recipient list for the message.
|
||||
|
||||
const Recipients& recipients() const;
|
||||
/// Returns the recipients of the message.
|
||||
|
||||
void setSubject(const std::string& subject);
|
||||
/// Sets the subject of the message.
|
||||
///
|
||||
/// The subject must not contain any non-ASCII
|
||||
/// characters. To include non-ASCII characters
|
||||
/// in the subject, use RFC 2047 word encoding
|
||||
/// (see encodeWord()).
|
||||
|
||||
const std::string& getSubject() const;
|
||||
/// Returns the subject of the message.
|
||||
|
||||
void setSender(const std::string& sender);
|
||||
/// Sets the sender of the message (which
|
||||
/// ends up in the From header field).
|
||||
///
|
||||
/// The sender must either be a valid email
|
||||
/// address, or a real name followed by
|
||||
/// an email address enclosed in < and >.
|
||||
///
|
||||
/// The sender must not contain any non-ASCII
|
||||
/// characters. To include non-ASCII characters
|
||||
/// in the sender, use RFC 2047 word encoding
|
||||
/// (see encodeWord()).
|
||||
|
||||
const std::string& getSender() const;
|
||||
/// Returns the sender of the message (taken
|
||||
/// from the From header field).
|
||||
|
||||
void setContent(const std::string& content, ContentTransferEncoding encoding = ENCODING_QUOTED_PRINTABLE);
|
||||
/// Sets the content of the mail message.
|
||||
///
|
||||
/// If the content transfer encoding is ENCODING_7BIT or
|
||||
/// ENCODING_8BIT, the content string must be formatted
|
||||
/// according to the rules of an internet email message.
|
||||
///
|
||||
/// The message will be sent as a single-part
|
||||
/// message.
|
||||
///
|
||||
/// Note that single CR or LF characters as line delimiters must
|
||||
/// not be used. Content lines always should be terminated with a
|
||||
/// proper CRLF sequence.
|
||||
|
||||
const std::string& getContent() const;
|
||||
/// Returns the content of the mail message.
|
||||
///
|
||||
/// A content will only be returned for single-part
|
||||
/// messages. The content of multi-part mail messages
|
||||
/// will be reported through the registered PartHandler.
|
||||
|
||||
void setContentType(const std::string& mediaType);
|
||||
/// Sets the content type for the message.
|
||||
|
||||
void setContentType(const MediaType& mediaType);
|
||||
/// Sets the content type for the message.
|
||||
|
||||
const std::string& getContentType() const;
|
||||
/// Returns the content type for the message.
|
||||
|
||||
void setDate(const Poco::Timestamp& dateTime);
|
||||
/// Sets the Date header to the given date/time value.
|
||||
|
||||
Poco::Timestamp getDate() const;
|
||||
/// Returns the value of the Date header.
|
||||
|
||||
bool isMultipart() const;
|
||||
/// Returns true iff the message is a multipart message.
|
||||
|
||||
void addPart(const std::string& name,
|
||||
PartSource* pSource,
|
||||
ContentDisposition disposition,
|
||||
ContentTransferEncoding encoding);
|
||||
/// Adds a part/attachment to the mail message.
|
||||
///
|
||||
/// The MailMessage takes ownership of the PartSource and deletes it
|
||||
/// when it is no longer needed.
|
||||
///
|
||||
/// The MailMessage will be converted to a multipart message
|
||||
/// if it is not already one.
|
||||
///
|
||||
/// The part name, and the filename specified in the part source
|
||||
/// must not contain any non-ASCII characters.
|
||||
/// To include non-ASCII characters in the part name or filename,
|
||||
/// use RFC 2047 word encoding (see encodeWord()).
|
||||
|
||||
void addContent(PartSource* pSource,
|
||||
ContentTransferEncoding encoding = ENCODING_QUOTED_PRINTABLE);
|
||||
/// Adds a part to the mail message by calling
|
||||
/// addPart("", pSource, CONTENT_INLINE, encoding);
|
||||
///
|
||||
/// The part name, and the filename specified in the part source
|
||||
/// must not contain any non-ASCII characters.
|
||||
/// To include non-ASCII characters in the part name or filename,
|
||||
/// use RFC 2047 word encoding (see encodeWord()).
|
||||
|
||||
void addAttachment(const std::string& name,
|
||||
PartSource* pSource,
|
||||
ContentTransferEncoding encoding = ENCODING_BASE64);
|
||||
/// Adds an attachment to the mail message by calling
|
||||
/// addPart(name, pSource, CONTENT_ATTACHMENT, encoding);
|
||||
///
|
||||
/// The part name, and the filename specified in the part source
|
||||
/// must not contain any non-ASCII characters.
|
||||
/// To include non-ASCII characters in the part name or filename,
|
||||
/// use RFC 2047 word encoding (see encodeWord()).
|
||||
|
||||
PartSource* createPartStore(const std::string& content,
|
||||
const std::string& mediaType,
|
||||
const std::string& filename = "");
|
||||
/// Returns either default StringPartSource part store or,
|
||||
/// if the part store factory was provided during construction,
|
||||
/// the one created by PartStoreFactory.
|
||||
/// Returned part store is allocated on the heap; it is caller's
|
||||
/// responsibility to delete it after use. Typical use is handler
|
||||
/// passing it back to MailMessage, which takes care of the cleanup.
|
||||
|
||||
const PartVec& parts() const;
|
||||
/// Returns const reference to the vector containing part stores.
|
||||
|
||||
void read(std::istream& istr, PartHandler& handler);
|
||||
/// Reads the MailMessage from the given input stream.
|
||||
///
|
||||
/// If the message has multiple parts, the parts
|
||||
/// are reported to the PartHandler. If the message
|
||||
/// is not a multi-part message, the content is stored
|
||||
/// in a string available by calling getContent().
|
||||
|
||||
void read(std::istream& istr);
|
||||
/// Reads the MailMessage from the given input stream.
|
||||
///
|
||||
/// The raw message (including all MIME parts) is stored
|
||||
/// in a string and available by calling getContent().
|
||||
|
||||
void write(std::ostream& ostr) const;
|
||||
/// Writes the mail message to the given output stream.
|
||||
|
||||
static std::string encodeWord(const std::string& text, const std::string& charset = "UTF-8");
|
||||
/// If the given string contains non-ASCII characters,
|
||||
/// encodes the given string using RFC 2047 "Q" word encoding.
|
||||
///
|
||||
/// The given text must already be encoded in the character set
|
||||
/// given in charset (default is UTF-8).
|
||||
///
|
||||
/// Returns the encoded string, or the original string if it
|
||||
/// consists only of ASCII characters.
|
||||
|
||||
static const std::string HEADER_SUBJECT;
|
||||
static const std::string HEADER_FROM;
|
||||
static const std::string HEADER_TO;
|
||||
static const std::string HEADER_CC;
|
||||
static const std::string HEADER_BCC;
|
||||
static const std::string HEADER_DATE;
|
||||
static const std::string HEADER_CONTENT_TYPE;
|
||||
static const std::string HEADER_CONTENT_TRANSFER_ENCODING;
|
||||
static const std::string HEADER_CONTENT_DISPOSITION;
|
||||
static const std::string HEADER_CONTENT_ID;
|
||||
static const std::string HEADER_MIME_VERSION;
|
||||
static const std::string EMPTY_HEADER;
|
||||
static const std::string TEXT_PLAIN;
|
||||
static const std::string CTE_7BIT;
|
||||
static const std::string CTE_8BIT;
|
||||
static const std::string CTE_QUOTED_PRINTABLE;
|
||||
static const std::string CTE_BASE64;
|
||||
|
||||
protected:
|
||||
void makeMultipart();
|
||||
void writeHeader(const MessageHeader& header, std::ostream& ostr) const;
|
||||
void writeMultipart(MessageHeader& header, std::ostream& ostr) const;
|
||||
static void writePart(MultipartWriter& writer, const Part& part);
|
||||
static void writeEncoded(std::istream& istr, std::ostream& ostr, ContentTransferEncoding encoding);
|
||||
void setRecipientHeaders(MessageHeader& headers) const;
|
||||
void readHeader(std::istream& istr);
|
||||
void readMultipart(std::istream& istr, PartHandler& handler);
|
||||
void readPart(std::istream& istr, const MessageHeader& header, PartHandler& handler);
|
||||
void handlePart(std::istream& istr, const MessageHeader& header, PartHandler& handler);
|
||||
static const std::string& contentTransferEncodingToString(ContentTransferEncoding encoding);
|
||||
static int lineLength(const std::string& str);
|
||||
static void appendRecipient(const MailRecipient& recipient, std::string& str);
|
||||
|
||||
private:
|
||||
MailMessage(const MailMessage&);
|
||||
MailMessage& operator = (const MailMessage&);
|
||||
|
||||
Recipients _recipients;
|
||||
PartVec _parts;
|
||||
std::string _content;
|
||||
ContentTransferEncoding _encoding;
|
||||
mutable std::string _boundary;
|
||||
PartStoreFactory* _pStoreFactory;
|
||||
|
||||
friend class MultipartSource;
|
||||
};
|
||||
|
||||
|
||||
class Net_API MultipartSource: public PartSource
|
||||
/// This is a PartSource for constructing complex
|
||||
/// mail messages consisting of multiple nested parts.
|
||||
{
|
||||
public:
|
||||
explicit MultipartSource(const std::string contentType = "multipart/alternative");
|
||||
/// Creates an empty MultipartSource.
|
||||
///
|
||||
/// At least one part must be added with addPart().
|
||||
|
||||
~MultipartSource();
|
||||
/// Destroys the MultipartSource.
|
||||
|
||||
void addPart(const std::string& name,
|
||||
PartSource* pSource,
|
||||
MailMessage::ContentDisposition disposition,
|
||||
MailMessage::ContentTransferEncoding encoding);
|
||||
/// Adds a part/attachment to the MultipartSource.
|
||||
///
|
||||
/// The MultipartSource takes ownership of the PartSource and deletes it
|
||||
/// when it is no longer needed.
|
||||
///
|
||||
/// The part name, and the filename specified in the part source
|
||||
/// must not contain any non-ASCII characters.
|
||||
/// To include non-ASCII characters in the part name or filename,
|
||||
/// use RFC 2047 word encoding (see encodeWord()).
|
||||
|
||||
// PartSource
|
||||
std::istream& stream();
|
||||
|
||||
protected:
|
||||
static std::string contentTypeWithBoundary(const std::string& contentType);
|
||||
|
||||
private:
|
||||
std::vector<MailMessage::Part> _parts;
|
||||
std::stringstream _content;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline const MailMessage::Recipients& MailMessage::recipients() const
|
||||
{
|
||||
return _recipients;
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& MailMessage::getContent() const
|
||||
{
|
||||
return _content;
|
||||
}
|
||||
|
||||
|
||||
inline const MailMessage::PartVec& MailMessage::parts() const
|
||||
{
|
||||
return _parts;
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_MailMessage_INCLUDED
|
||||
120
vendor/POCO/Net/include/Poco/Net/MailRecipient.h
vendored
Normal file
120
vendor/POCO/Net/include/Poco/Net/MailRecipient.h
vendored
Normal file
@@ -0,0 +1,120 @@
|
||||
//
|
||||
// MailRecipient.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: Mail
|
||||
// Module: MailRecipient
|
||||
//
|
||||
// Definition of the MailRecipient class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_MailRecipient_INCLUDED
|
||||
#define Net_MailRecipient_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API MailRecipient
|
||||
/// The recipient of an e-mail message.
|
||||
///
|
||||
/// A recipient has a type (primary recipient,
|
||||
/// carbon-copy recipient, blind-carbon-copy
|
||||
/// recipient), an e-mail address and an optional
|
||||
/// real name.
|
||||
{
|
||||
public:
|
||||
enum RecipientType
|
||||
{
|
||||
PRIMARY_RECIPIENT,
|
||||
CC_RECIPIENT,
|
||||
BCC_RECIPIENT
|
||||
};
|
||||
|
||||
MailRecipient();
|
||||
/// Creates an empty MailRecipient.
|
||||
|
||||
MailRecipient(const MailRecipient& recipient);
|
||||
/// Creates a MailRecipient by copying another one.
|
||||
|
||||
MailRecipient(RecipientType type, const std::string& address);
|
||||
/// Creates a MailRecipient of the given type.
|
||||
|
||||
MailRecipient(RecipientType type, const std::string& address, const std::string& realName);
|
||||
/// Creates a MailRecipient of the given type.
|
||||
|
||||
~MailRecipient();
|
||||
/// Destroys the MailRecipient.
|
||||
|
||||
MailRecipient& operator = (const MailRecipient& recipient);
|
||||
/// Assigns another recipient.
|
||||
|
||||
void swap(MailRecipient& recipient);
|
||||
/// Exchanges the content of two recipients.
|
||||
|
||||
RecipientType getType() const;
|
||||
/// Returns the type of the recipient.
|
||||
|
||||
void setType(RecipientType type);
|
||||
/// Sets the type of the recipient.
|
||||
|
||||
const std::string& getAddress() const;
|
||||
/// Returns the address of the recipient.
|
||||
|
||||
void setAddress(const std::string& address);
|
||||
/// Sets the address of the recipient.
|
||||
|
||||
const std::string& getRealName() const;
|
||||
/// Returns the real name of the recipient.
|
||||
|
||||
void setRealName(const std::string& realName);
|
||||
/// Sets the real name of the recipient.
|
||||
|
||||
private:
|
||||
std::string _address;
|
||||
std::string _realName;
|
||||
RecipientType _type;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline MailRecipient::RecipientType MailRecipient::getType() const
|
||||
{
|
||||
return _type;
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& MailRecipient::getAddress() const
|
||||
{
|
||||
return _address;
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& MailRecipient::getRealName() const
|
||||
{
|
||||
return _realName;
|
||||
}
|
||||
|
||||
|
||||
inline void swap(MailRecipient& r1, MailRecipient& r2)
|
||||
{
|
||||
r1.swap(r2);
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_MailRecipient_INCLUDED
|
||||
146
vendor/POCO/Net/include/Poco/Net/MailStream.h
vendored
Normal file
146
vendor/POCO/Net/include/Poco/Net/MailStream.h
vendored
Normal file
@@ -0,0 +1,146 @@
|
||||
//
|
||||
// MailStream.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: Mail
|
||||
// Module: MailStream
|
||||
//
|
||||
// Definition of the MailStream class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_MailStream_INCLUDED
|
||||
#define Net_MailStream_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/UnbufferedStreamBuf.h"
|
||||
#include <istream>
|
||||
#include <ostream>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API MailStreamBuf: public Poco::UnbufferedStreamBuf
|
||||
/// The sole purpose of this stream buffer is to replace
|
||||
/// a "\r\n.\r\n" character sequence with a "\r\n..\r\n" sequence for
|
||||
/// output streams and vice-versa for input streams.
|
||||
///
|
||||
/// This is used when sending mail messages to SMTP servers, or
|
||||
/// receiving mail messages from POP servers.
|
||||
///
|
||||
/// See RFC 2181 (Simple Mail Transfer Protocol) and RFC 1939
|
||||
/// (Post Office Protocol - Version 3) for more information.
|
||||
{
|
||||
public:
|
||||
MailStreamBuf(std::istream& istr);
|
||||
/// Creates the MailStreamBuf and connects it
|
||||
/// to the given input stream.
|
||||
|
||||
MailStreamBuf(std::ostream& ostr);
|
||||
/// Creates the MailStreamBuf and connects it
|
||||
/// to the given output stream.
|
||||
|
||||
~MailStreamBuf();
|
||||
/// Destroys the MailStreamBuf.
|
||||
|
||||
void close();
|
||||
/// Writes the terminating period, followed by
|
||||
/// CR-LF.
|
||||
|
||||
protected:
|
||||
int readFromDevice();
|
||||
int writeToDevice(char c);
|
||||
int readOne();
|
||||
|
||||
private:
|
||||
enum State
|
||||
{
|
||||
ST_DATA,
|
||||
ST_CR,
|
||||
ST_CR_LF,
|
||||
ST_CR_LF_DOT,
|
||||
ST_CR_LF_DOT_DOT,
|
||||
ST_CR_LF_DOT_CR,
|
||||
ST_CR_LF_DOT_CR_LF
|
||||
};
|
||||
|
||||
std::istream* _pIstr;
|
||||
std::ostream* _pOstr;
|
||||
std::string _buffer;
|
||||
State _state;
|
||||
};
|
||||
|
||||
|
||||
class Net_API MailIOS: public virtual std::ios
|
||||
/// The base class for MailInputStream and MailOutputStream.
|
||||
///
|
||||
/// This class provides common methods and is also needed to ensure
|
||||
/// the correct initialization order of the stream buffer and base classes.
|
||||
{
|
||||
public:
|
||||
MailIOS(std::istream& istr);
|
||||
/// Creates the MailIOS and connects it
|
||||
/// to the given input stream.
|
||||
|
||||
MailIOS(std::ostream& ostr);
|
||||
/// Creates the MailIOS and connects it
|
||||
/// to the given output stream.
|
||||
|
||||
~MailIOS();
|
||||
/// Destroys the stream.
|
||||
|
||||
void close();
|
||||
/// Writes the terminating period, followed by
|
||||
/// CR-LF.
|
||||
|
||||
MailStreamBuf* rdbuf();
|
||||
/// Returns a pointer to the underlying streambuf.
|
||||
|
||||
protected:
|
||||
MailStreamBuf _buf;
|
||||
};
|
||||
|
||||
|
||||
class Net_API MailInputStream: public MailIOS, public std::istream
|
||||
/// This class is used for reading E-Mail messages from a
|
||||
/// POP3 server. All occurrences of "\r\n..\r\n" are replaced with
|
||||
/// "\r\n.\r\n". The first occurrence of "\r\n.\r\n" denotes the end
|
||||
/// of the stream.
|
||||
{
|
||||
public:
|
||||
MailInputStream(std::istream& istr);
|
||||
/// Creates the MailInputStream and connects it
|
||||
/// to the given input stream.
|
||||
|
||||
~MailInputStream();
|
||||
/// Destroys the MailInputStream.
|
||||
};
|
||||
|
||||
|
||||
class Net_API MailOutputStream: public MailIOS, public std::ostream
|
||||
/// This class is used for writing E-Mail messages to a
|
||||
/// SMTP server. All occurrences of "\r\n.\r\n" are replaced with
|
||||
/// "\r\n..\r\n".
|
||||
{
|
||||
public:
|
||||
MailOutputStream(std::ostream& ostr);
|
||||
/// Creates the MailOutputStream and connects it
|
||||
/// to the given input stream.
|
||||
|
||||
~MailOutputStream();
|
||||
/// Destroys the MailOutputStream.
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_MailStream_INCLUDED
|
||||
175
vendor/POCO/Net/include/Poco/Net/MediaType.h
vendored
Normal file
175
vendor/POCO/Net/include/Poco/Net/MediaType.h
vendored
Normal file
@@ -0,0 +1,175 @@
|
||||
//
|
||||
// MediaType.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: Messages
|
||||
// Module: MediaType
|
||||
//
|
||||
// Definition of the MediaType class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_MediaType_INCLUDED
|
||||
#define Net_MediaType_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/NameValueCollection.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API MediaType
|
||||
/// This class represents a MIME media type, consisting of
|
||||
/// a top-level type, a subtype and an optional set of
|
||||
/// parameters.
|
||||
///
|
||||
/// The implementation conforms with RFC 2045 and RFC 2046.
|
||||
{
|
||||
public:
|
||||
MediaType(const std::string& mediaType);
|
||||
/// Creates the MediaType from the given string, which
|
||||
/// must have the format <type>/<subtype>{;<parameter>=<value>}.
|
||||
|
||||
MediaType(const std::string& type, const std::string& subType);
|
||||
/// Creates the MediaType, using the given type and subtype.
|
||||
|
||||
MediaType(const MediaType& mediaType);
|
||||
/// Creates a MediaType from another one.
|
||||
|
||||
MediaType(MediaType&& mediaType) noexcept;
|
||||
/// Creates a MediaType by moving another one.
|
||||
|
||||
~MediaType();
|
||||
/// Destroys the MediaType.
|
||||
|
||||
MediaType& operator = (const MediaType& mediaType);
|
||||
/// Assigns another media type.
|
||||
|
||||
MediaType& operator = (MediaType&& mediaType) noexcept;
|
||||
/// Assigns another media type.
|
||||
|
||||
MediaType& operator = (const std::string& mediaType);
|
||||
/// Assigns another media type.
|
||||
|
||||
void swap(MediaType& mediaType);
|
||||
/// Swaps the MediaType with another one.
|
||||
|
||||
void setType(const std::string& type);
|
||||
/// Sets the top-level type.
|
||||
|
||||
const std::string& getType() const;
|
||||
/// Returns the top-level type.
|
||||
|
||||
void setSubType(const std::string& subType);
|
||||
/// Sets the sub type.
|
||||
|
||||
const std::string& getSubType() const;
|
||||
/// Returns the sub type.
|
||||
|
||||
void setParameter(const std::string& name, const std::string& value);
|
||||
/// Sets the parameter with the given name.
|
||||
|
||||
const std::string& getParameter(const std::string& name) const;
|
||||
/// Returns the parameter with the given name.
|
||||
///
|
||||
/// Throws a NotFoundException if the parameter does not exist.
|
||||
|
||||
bool hasParameter(const std::string& name) const;
|
||||
/// Returns true iff a parameter with the given name exists.
|
||||
|
||||
void removeParameter(const std::string& name);
|
||||
/// Removes the parameter with the given name.
|
||||
|
||||
const NameValueCollection& parameters() const;
|
||||
/// Returns the parameters.
|
||||
|
||||
std::string toString() const;
|
||||
/// Returns the string representation of the media type
|
||||
/// which is <type>/<subtype>{;<parameter>=<value>}
|
||||
|
||||
bool matches(const MediaType& mediaType) const;
|
||||
/// Returns true iff the type and subtype match
|
||||
/// the type and subtype of the given media type.
|
||||
/// Matching is case insensitive.
|
||||
|
||||
bool matches(const std::string& type, const std::string& subType) const;
|
||||
/// Returns true iff the type and subtype match
|
||||
/// the given type and subtype.
|
||||
/// Matching is case insensitive.
|
||||
|
||||
bool matches(const std::string& type) const;
|
||||
/// Returns true iff the type matches the given type.
|
||||
/// Matching is case insensitive.
|
||||
|
||||
bool matchesRange(const MediaType& mediaType) const;
|
||||
/// Returns true if the type and subtype match
|
||||
/// the type and subtype of the given media type.
|
||||
/// If the MIME type is a range of types it matches
|
||||
/// any media type within the range (e.g. "image/*" matches
|
||||
/// any image media type, "*/*" matches anything).
|
||||
/// Matching is case insensitive.
|
||||
|
||||
bool matchesRange(const std::string& type, const std::string& subType) const;
|
||||
/// Returns true if the type and subtype match
|
||||
/// the given type and subtype.
|
||||
/// If the MIME type is a range of types it matches
|
||||
/// any media type within the range (e.g. "image/*" matches
|
||||
/// any image media type, "*/*" matches anything).
|
||||
/// Matching is case insensitive.
|
||||
|
||||
bool matchesRange(const std::string& type) const;
|
||||
/// Returns true if the type matches the given type or
|
||||
/// the type is a range of types denoted by "*".
|
||||
/// Matching is case insensitive.
|
||||
|
||||
protected:
|
||||
void parse(const std::string& mediaType);
|
||||
|
||||
private:
|
||||
MediaType();
|
||||
|
||||
std::string _type;
|
||||
std::string _subType;
|
||||
NameValueCollection _parameters;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline const std::string& MediaType::getType() const
|
||||
{
|
||||
return _type;
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& MediaType::getSubType() const
|
||||
{
|
||||
return _subType;
|
||||
}
|
||||
|
||||
|
||||
inline const NameValueCollection& MediaType::parameters() const
|
||||
{
|
||||
return _parameters;
|
||||
}
|
||||
|
||||
|
||||
inline void swap(MediaType& m1, MediaType& m2)
|
||||
{
|
||||
m1.swap(m2);
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_MediaType_INCLUDED
|
||||
169
vendor/POCO/Net/include/Poco/Net/MessageHeader.h
vendored
Normal file
169
vendor/POCO/Net/include/Poco/Net/MessageHeader.h
vendored
Normal file
@@ -0,0 +1,169 @@
|
||||
//
|
||||
// MessageHeader.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: Messages
|
||||
// Module: MessageHeader
|
||||
//
|
||||
// Definition of the MessageHeader class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_MessageHeader_INCLUDED
|
||||
#define Net_MessageHeader_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/NameValueCollection.h"
|
||||
#include <ostream>
|
||||
#include <istream>
|
||||
#include <vector>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API MessageHeader: public NameValueCollection
|
||||
/// A collection of name-value pairs that are used in
|
||||
/// various internet protocols like HTTP and SMTP.
|
||||
///
|
||||
/// The name is case-insensitive.
|
||||
///
|
||||
/// There can be more than one name-value pair with the
|
||||
/// same name.
|
||||
///
|
||||
/// MessageHeader supports writing and reading the
|
||||
/// header data in RFC 2822 format.
|
||||
///
|
||||
/// The maximum number of fields can be restricted
|
||||
/// by calling setFieldLimit(). This is useful to
|
||||
/// defend against certain kinds of denial-of-service
|
||||
/// attacks. The limit is only enforced when parsing
|
||||
/// header fields from a stream, not when programmatically
|
||||
/// adding them. The default limit is 100.
|
||||
{
|
||||
public:
|
||||
MessageHeader();
|
||||
/// Creates the MessageHeader.
|
||||
|
||||
MessageHeader(const MessageHeader& messageHeader);
|
||||
/// Creates the MessageHeader by copying
|
||||
/// another one.
|
||||
|
||||
virtual ~MessageHeader();
|
||||
/// Destroys the MessageHeader.
|
||||
|
||||
MessageHeader& operator = (const MessageHeader& messageHeader);
|
||||
/// Assigns the content of another MessageHeader.
|
||||
|
||||
virtual void write(std::ostream& ostr) const;
|
||||
/// Writes the message header to the given output stream.
|
||||
///
|
||||
/// The format is one name-value pair per line, with
|
||||
/// name and value separated by a colon and lines
|
||||
/// delimited by a carriage return and a linefeed
|
||||
/// character. See RFC 2822 for details.
|
||||
|
||||
virtual void read(std::istream& istr);
|
||||
/// Reads the message header from the given input stream.
|
||||
///
|
||||
/// See write() for the expected format.
|
||||
/// Also supported is folding of field content, according
|
||||
/// to section 2.2.3 of RFC 2822.
|
||||
///
|
||||
/// Reading stops at the first empty line (a line only
|
||||
/// containing \r\n or \n), as well as at the end of
|
||||
/// the stream.
|
||||
///
|
||||
/// Some basic sanity checking of the input stream is
|
||||
/// performed.
|
||||
///
|
||||
/// Throws a MessageException if the input stream is
|
||||
/// malformed.
|
||||
|
||||
int getFieldLimit() const;
|
||||
/// Returns the maximum number of header fields
|
||||
/// allowed.
|
||||
///
|
||||
/// See setFieldLimit() for more information.
|
||||
|
||||
void setFieldLimit(int limit);
|
||||
/// Sets the maximum number of header fields
|
||||
/// allowed. This limit is used to defend certain
|
||||
/// kinds of denial-of-service attacks.
|
||||
/// Specify 0 for unlimited (not recommended).
|
||||
///
|
||||
/// The default limit is 100.
|
||||
|
||||
bool hasToken(const std::string& fieldName, const std::string& token) const;
|
||||
/// Returns true iff the field with the given fieldName contains
|
||||
/// the given token. Tokens in a header field are expected to be
|
||||
/// comma-separated and are case insensitive.
|
||||
|
||||
static void splitElements(const std::string& s, std::vector<std::string>& elements, bool ignoreEmpty = true);
|
||||
/// Splits the given string into separate elements. Elements are expected
|
||||
/// to be separated by commas.
|
||||
///
|
||||
/// For example, the string
|
||||
/// text/plain; q=0.5, text/html, text/x-dvi; q=0.8
|
||||
/// is split into the elements
|
||||
/// text/plain; q=0.5
|
||||
/// text/html
|
||||
/// text/x-dvi; q=0.8
|
||||
///
|
||||
/// Commas enclosed in double quotes do not split elements.
|
||||
///
|
||||
/// If ignoreEmpty is true, empty elements are not returned.
|
||||
|
||||
static void splitParameters(const std::string& s, std::string& value, NameValueCollection& parameters);
|
||||
/// Splits the given string into a value and a collection of parameters.
|
||||
/// Parameters are expected to be separated by semicolons.
|
||||
///
|
||||
/// Enclosing quotes of parameter values are removed.
|
||||
///
|
||||
/// For example, the string
|
||||
/// multipart/mixed; boundary="MIME_boundary_01234567"
|
||||
/// is split into the value
|
||||
/// multipart/mixed
|
||||
/// and the parameter
|
||||
/// boundary -> MIME_boundary_01234567
|
||||
|
||||
static void splitParameters(const std::string::const_iterator& begin, const std::string::const_iterator& end, NameValueCollection& parameters);
|
||||
/// Splits the given string into a collection of parameters.
|
||||
/// Parameters are expected to be separated by semicolons.
|
||||
///
|
||||
/// Enclosing quotes of parameter values are removed.
|
||||
|
||||
static void quote(const std::string& value, std::string& result, bool allowSpace = false);
|
||||
/// Checks if the value must be quoted. If so, the value is
|
||||
/// appended to result, enclosed in double-quotes.
|
||||
/// Otherwise, the value is appended to result as-is.
|
||||
|
||||
static void decodeRFC2047(const std::string& ins, std::string& outs, const std::string& charset = "UTF-8");
|
||||
static std::string decodeWord(const std::string& text, const std::string& charset = "UTF-8");
|
||||
/// Decode RFC2047 string.
|
||||
|
||||
|
||||
private:
|
||||
enum Limits
|
||||
/// Limits for basic sanity checks when reading a header
|
||||
{
|
||||
MAX_NAME_LENGTH = 256,
|
||||
MAX_VALUE_LENGTH = 8192,
|
||||
DFL_FIELD_LIMIT = 100
|
||||
};
|
||||
|
||||
int _fieldLimit;
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_MessageHeader_INCLUDED
|
||||
128
vendor/POCO/Net/include/Poco/Net/MultiSocketPoller.h
vendored
Normal file
128
vendor/POCO/Net/include/Poco/Net/MultiSocketPoller.h
vendored
Normal file
@@ -0,0 +1,128 @@
|
||||
//
|
||||
// MultiSocketPoller.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: UDP
|
||||
// Module: MultiSocketPoller
|
||||
//
|
||||
// Definition of the MultiSocketPoller class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_MultiSocketPoller_INCLUDED
|
||||
#define Net_MultiSocketPoller_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/Socket.h"
|
||||
#include "Poco/Net/UDPHandler.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
template <std::size_t S = POCO_UDP_BUF_SIZE>
|
||||
class MultiSocketPoller
|
||||
/// MultiSocketPoller, as its name indicates, repeatedly polls a set of
|
||||
/// sockets for readability and/or eror. If socket is readable or in error
|
||||
/// state, the reading/error handling actions are delegated to the reader.
|
||||
{
|
||||
public:
|
||||
MultiSocketPoller(typename UDPHandlerImpl<S>::List& handlers, const Poco::Net::SocketAddress& sa, int nSockets = 10, Poco::Timespan timeout = 250000):
|
||||
_address(sa),
|
||||
_timeout(timeout),
|
||||
_reader(handlers)
|
||||
/// Creates the MutiSocketPoller.
|
||||
{
|
||||
poco_assert (_address.port() > 0 && _address.host().toString() != "0.0.0.0");
|
||||
addSockets(nSockets);
|
||||
}
|
||||
|
||||
MultiSocketPoller(typename UDPHandlerImpl<S>::List& handlers, const UDPServerParams& serverParams):
|
||||
_address(serverParams.address()),
|
||||
_timeout(serverParams.timeout()),
|
||||
_reader(handlers)
|
||||
/// Creates the MutiSocketPoller.
|
||||
{
|
||||
poco_assert (_address.port() > 0 && _address.host().toString() != "0.0.0.0");
|
||||
addSockets(serverParams.numberOfSockets());
|
||||
}
|
||||
|
||||
~MultiSocketPoller()
|
||||
/// Destroys MutiSocketPoller
|
||||
{
|
||||
}
|
||||
|
||||
Poco::UInt16 port() const
|
||||
/// Returns the port the socket is
|
||||
/// listening on.
|
||||
{
|
||||
return _address.port();
|
||||
}
|
||||
|
||||
Poco::Net::SocketAddress address() const
|
||||
/// Returns the address of the server.
|
||||
{
|
||||
return _address;
|
||||
}
|
||||
|
||||
void poll()
|
||||
{
|
||||
if (_reader.handlerStopped()) return;
|
||||
PollSet::SocketModeMap sm;
|
||||
PollSet::SocketModeMap::iterator it;
|
||||
PollSet::SocketModeMap::iterator end;
|
||||
sm = _pollSet.poll(_timeout);
|
||||
it = sm.begin();
|
||||
end = sm.end();
|
||||
for (; it != end; ++it)
|
||||
{
|
||||
if (it->second & PollSet::POLL_READ)
|
||||
{
|
||||
DatagramSocket ds(it->first);
|
||||
_reader.read(ds);
|
||||
}
|
||||
else if (it->second & PollSet::POLL_ERROR)
|
||||
{
|
||||
_reader.setError(it->first.impl()->sockfd());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void stop()
|
||||
{
|
||||
_reader.stopHandler();
|
||||
}
|
||||
|
||||
bool done() const
|
||||
{
|
||||
return _reader.handlerDone();
|
||||
}
|
||||
|
||||
private:
|
||||
void addSockets(int nSockets)
|
||||
{
|
||||
for (int i = 0; i < nSockets; ++i)
|
||||
{
|
||||
DatagramSocket ds; ds.bind(_address, true, true);
|
||||
_pollSet.add(ds, PollSet::POLL_READ | PollSet::POLL_ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
PollSet _pollSet;
|
||||
SocketAddress _address;
|
||||
Poco::Timespan _timeout;
|
||||
UDPSocketReader<S> _reader;
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_MultiSocketPoller_INCLUDED
|
||||
135
vendor/POCO/Net/include/Poco/Net/MulticastSocket.h
vendored
Normal file
135
vendor/POCO/Net/include/Poco/Net/MulticastSocket.h
vendored
Normal file
@@ -0,0 +1,135 @@
|
||||
//
|
||||
// MulticastSocket.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: Sockets
|
||||
// Module: MulticastSocket
|
||||
//
|
||||
// Definition of the MulticastSocket class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_MulticastSocket_INCLUDED
|
||||
#define Net_MulticastSocket_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
|
||||
|
||||
#ifdef POCO_NET_HAS_INTERFACE
|
||||
|
||||
|
||||
#include "Poco/Net/DatagramSocket.h"
|
||||
#include "Poco/Net/NetworkInterface.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API MulticastSocket: public DatagramSocket
|
||||
/// A MulticastSocket is a special DatagramSocket
|
||||
/// that can be used to send packets to and receive
|
||||
/// packets from multicast groups.
|
||||
{
|
||||
public:
|
||||
MulticastSocket();
|
||||
/// Creates an unconnected, unbound multicast socket.
|
||||
///
|
||||
/// Before the multicast socket can be used, bind(),
|
||||
/// bind6() or connect() must be called.
|
||||
///
|
||||
/// Notice: The behavior of this constructor has changed
|
||||
/// in release 2.0. Previously, the constructor created
|
||||
/// an unbound IPv4 multicast socket.
|
||||
|
||||
explicit MulticastSocket(SocketAddress::Family family);
|
||||
/// Creates an unconnected datagram socket.
|
||||
///
|
||||
/// The socket will be created for the
|
||||
/// given address family.
|
||||
|
||||
MulticastSocket(const SocketAddress& address, bool reuseAddress = false);
|
||||
/// Creates a datagram socket and binds it
|
||||
/// to the given address.
|
||||
///
|
||||
/// Depending on the address family, the socket
|
||||
/// will be either an IPv4 or an IPv6 socket.
|
||||
|
||||
MulticastSocket(const Socket& socket);
|
||||
/// Creates the DatagramSocket with the SocketImpl
|
||||
/// from another socket. The SocketImpl must be
|
||||
/// a DatagramSocketImpl, otherwise an InvalidArgumentException
|
||||
/// will be thrown.
|
||||
|
||||
~MulticastSocket();
|
||||
/// Destroys the DatagramSocket.
|
||||
|
||||
MulticastSocket& operator = (const Socket& socket);
|
||||
/// Assignment operator.
|
||||
///
|
||||
/// Releases the socket's SocketImpl and
|
||||
/// attaches the SocketImpl from the other socket and
|
||||
/// increments the reference count of the SocketImpl.
|
||||
|
||||
void setInterface(const NetworkInterface& interfc);
|
||||
/// Sets the interface used for sending multicast packets.
|
||||
///
|
||||
/// To select the default interface, specify an empty
|
||||
/// interface.
|
||||
///
|
||||
/// This is done by setting the IP_MULTICAST_IF/IPV6_MULTICAST_IF
|
||||
/// socket option.
|
||||
|
||||
NetworkInterface getInterface() const;
|
||||
/// Returns the interface used for sending multicast packets.
|
||||
|
||||
void setLoopback(bool flag);
|
||||
/// Enable or disable loopback for multicast packets.
|
||||
///
|
||||
/// Sets the value of the IP_MULTICAST_LOOP/IPV6_MULTICAST_LOOP
|
||||
/// socket option.
|
||||
|
||||
bool getLoopback() const;
|
||||
/// Returns true iff loopback for multicast packets is enabled,
|
||||
/// false otherwise.
|
||||
|
||||
void setTimeToLive(unsigned value);
|
||||
/// Specifies the TTL/hop limit for outgoing packets.
|
||||
///
|
||||
/// Sets the value of the IP_MULTICAST_TTL/IPV6_MULTICAST_HOPS
|
||||
/// socket option.
|
||||
|
||||
unsigned getTimeToLive() const;
|
||||
/// Returns the TTL/hop limit for outgoing packets.
|
||||
|
||||
void joinGroup(const IPAddress& groupAddress);
|
||||
/// Joins the specified multicast group at the default interface.
|
||||
|
||||
void joinGroup(const IPAddress& groupAddress, const NetworkInterface& interfc);
|
||||
/// Joins the specified multicast group at the given interface.
|
||||
|
||||
void leaveGroup(const IPAddress& groupAddress);
|
||||
/// Leaves the specified multicast group at the default interface.
|
||||
|
||||
void leaveGroup(const IPAddress& groupAddress, const NetworkInterface& interfc);
|
||||
/// Leaves the specified multicast group at the given interface.
|
||||
|
||||
private:
|
||||
static NetworkInterface findFirstInterface(const IPAddress& groupAddress);
|
||||
/// Returns first multicast-eligible network interface.
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // POCO_NET_HAS_INTERFACE
|
||||
|
||||
|
||||
#endif // Net_MulticastSocket_INCLUDED
|
||||
160
vendor/POCO/Net/include/Poco/Net/MultipartReader.h
vendored
Normal file
160
vendor/POCO/Net/include/Poco/Net/MultipartReader.h
vendored
Normal file
@@ -0,0 +1,160 @@
|
||||
//
|
||||
// MultipartReader.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: Messages
|
||||
// Module: MultipartReader
|
||||
//
|
||||
// Definition of the MultipartReader class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_MultipartReader_INCLUDED
|
||||
#define Net_MultipartReader_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/BufferedStreamBuf.h"
|
||||
#include <istream>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class MessageHeader;
|
||||
|
||||
|
||||
class Net_API MultipartStreamBuf: public Poco::BufferedStreamBuf
|
||||
/// This is the streambuf class used for reading from a multipart message stream.
|
||||
{
|
||||
public:
|
||||
MultipartStreamBuf(std::istream& istr, const std::string& boundary);
|
||||
~MultipartStreamBuf();
|
||||
bool lastPart() const;
|
||||
|
||||
protected:
|
||||
int readFromDevice(char* buffer, std::streamsize length);
|
||||
|
||||
private:
|
||||
enum
|
||||
{
|
||||
STREAM_BUFFER_SIZE = 1024
|
||||
};
|
||||
|
||||
std::istream& _istr;
|
||||
std::string _boundary;
|
||||
bool _lastPart;
|
||||
};
|
||||
|
||||
|
||||
class Net_API MultipartIOS: public virtual std::ios
|
||||
/// The base class for MultipartInputStream.
|
||||
{
|
||||
public:
|
||||
MultipartIOS(std::istream& istr, const std::string& boundary);
|
||||
~MultipartIOS();
|
||||
MultipartStreamBuf* rdbuf();
|
||||
bool lastPart() const;
|
||||
|
||||
protected:
|
||||
MultipartStreamBuf _buf;
|
||||
};
|
||||
|
||||
|
||||
class Net_API MultipartInputStream: public MultipartIOS, public std::istream
|
||||
/// This class is for internal use by MultipartReader only.
|
||||
{
|
||||
public:
|
||||
MultipartInputStream(std::istream& istr, const std::string& boundary);
|
||||
~MultipartInputStream();
|
||||
};
|
||||
|
||||
|
||||
|
||||
class Net_API MultipartReader
|
||||
/// This class is used to split a MIME multipart
|
||||
/// message into its single parts.
|
||||
///
|
||||
/// The format of multipart messages is described
|
||||
/// in section 5.1 of RFC 2046.
|
||||
///
|
||||
/// To split a multipart message into its parts,
|
||||
/// do the following:
|
||||
/// - Create a MultipartReader object, passing it
|
||||
/// an input stream and optionally a boundary string.
|
||||
/// - while hasNextPart() returns true, call nextPart()
|
||||
/// and read the part from stream().
|
||||
///
|
||||
/// Always ensure that you read all data from the part
|
||||
/// stream, otherwise the MultipartReader will fail to
|
||||
/// find the next part.
|
||||
{
|
||||
public:
|
||||
explicit MultipartReader(std::istream& istr);
|
||||
/// Creates the MultipartReader and attaches it to the
|
||||
/// given input stream.
|
||||
///
|
||||
/// The boundary string is determined from the input
|
||||
/// stream. The message must not contain a preamble
|
||||
/// preceding the first encapsulation boundary.
|
||||
|
||||
MultipartReader(std::istream& istr, const std::string& boundary);
|
||||
/// Creates the MultipartReader and attaches it to the
|
||||
/// given input stream. The given boundary string is
|
||||
/// used to find message boundaries.
|
||||
|
||||
~MultipartReader();
|
||||
/// Destroys the MultipartReader.
|
||||
|
||||
void nextPart(MessageHeader& messageHeader);
|
||||
/// Moves to the next part in the message and stores the
|
||||
/// part's header fields in messageHeader.
|
||||
///
|
||||
/// Throws an MultipartException if there are no more parts
|
||||
/// available, or if no boundary line can be found in
|
||||
/// the input stream.
|
||||
|
||||
bool hasNextPart();
|
||||
/// Returns true iff more parts are available.
|
||||
///
|
||||
/// Before the first call to nextPart(), returns
|
||||
/// always true.
|
||||
|
||||
std::istream& stream() const;
|
||||
/// Returns a reference to the reader's stream that
|
||||
/// can be used to read the current part.
|
||||
///
|
||||
/// The returned reference will be valid until
|
||||
/// nextPart() is called or the MultipartReader
|
||||
/// object is destroyed.
|
||||
|
||||
const std::string& boundary() const;
|
||||
/// Returns the multipart boundary used by this reader.
|
||||
|
||||
protected:
|
||||
void findFirstBoundary();
|
||||
void guessBoundary();
|
||||
void parseHeader(MessageHeader& messageHeader);
|
||||
bool readLine(std::string& line, std::string::size_type n);
|
||||
|
||||
private:
|
||||
MultipartReader();
|
||||
MultipartReader(const MultipartReader&);
|
||||
MultipartReader& operator = (const MultipartReader&);
|
||||
|
||||
std::istream& _istr;
|
||||
std::string _boundary;
|
||||
MultipartInputStream* _pMPI;
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_MultipartReader_INCLUDED
|
||||
109
vendor/POCO/Net/include/Poco/Net/MultipartWriter.h
vendored
Normal file
109
vendor/POCO/Net/include/Poco/Net/MultipartWriter.h
vendored
Normal file
@@ -0,0 +1,109 @@
|
||||
//
|
||||
// MultipartWriter.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: Messages
|
||||
// Module: MultipartWriter
|
||||
//
|
||||
// Definition of the MultipartWriter class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_MultipartWriter_INCLUDED
|
||||
#define Net_MultipartWriter_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include <ostream>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class MessageHeader;
|
||||
|
||||
|
||||
class Net_API MultipartWriter
|
||||
/// This class is used to write MIME multipart
|
||||
/// messages to an output stream.
|
||||
///
|
||||
/// The format of multipart messages is described
|
||||
/// in section 5.1 of RFC 2046.
|
||||
///
|
||||
/// To create a multipart message, first create
|
||||
/// a MultipartWriter object.
|
||||
/// Then, for each part, call nextPart() and
|
||||
/// write the content to the output stream.
|
||||
/// Repeat for all parts.
|
||||
/// After the last part has been written,
|
||||
/// call close() to finish the multipart message.
|
||||
{
|
||||
public:
|
||||
explicit MultipartWriter(std::ostream& ostr);
|
||||
/// Creates the MultipartWriter, using the
|
||||
/// given output stream.
|
||||
///
|
||||
/// Creates a random boundary string.
|
||||
|
||||
MultipartWriter(std::ostream& ostr, const std::string& boundary);
|
||||
/// Creates the MultipartWriter, using the
|
||||
/// given output stream and boundary string.
|
||||
|
||||
~MultipartWriter();
|
||||
/// Destroys the MultipartWriter.
|
||||
|
||||
void nextPart(const MessageHeader& header);
|
||||
/// Opens a new message part and writes
|
||||
/// the message boundary string, followed
|
||||
/// by the message header to the stream.
|
||||
|
||||
void close();
|
||||
/// Closes the multipart message and writes
|
||||
/// the terminating boundary string.
|
||||
///
|
||||
/// Does not close the underlying stream.
|
||||
|
||||
std::ostream& stream();
|
||||
/// Returns the writer's stream.
|
||||
|
||||
const std::string& boundary() const;
|
||||
/// Returns the multipart boundary used by this writer.
|
||||
|
||||
static std::string createBoundary();
|
||||
/// Creates a random boundary string.
|
||||
///
|
||||
/// The string always has the form
|
||||
/// MIME_boundary_XXXXXXXXXXXX, where
|
||||
/// XXXXXXXXXXXX is a random hexadecimal
|
||||
/// number.
|
||||
|
||||
private:
|
||||
MultipartWriter();
|
||||
MultipartWriter(const MultipartWriter&);
|
||||
MultipartWriter& operator = (const MultipartWriter&);
|
||||
|
||||
std::ostream& _ostr;
|
||||
std::string _boundary;
|
||||
bool _firstPart;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline std::ostream& MultipartWriter::stream()
|
||||
{
|
||||
return _ostr;
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_MultipartWriter_INCLUDED
|
||||
181
vendor/POCO/Net/include/Poco/Net/NTLMCredentials.h
vendored
Normal file
181
vendor/POCO/Net/include/Poco/Net/NTLMCredentials.h
vendored
Normal file
@@ -0,0 +1,181 @@
|
||||
//
|
||||
// NTLMCredentials.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: NTLM
|
||||
// Module: NTLMCredentials
|
||||
//
|
||||
// Definition of the NTLMCredentials class.
|
||||
//
|
||||
// Copyright (c) 2019, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_NTLMCredentials_INCLUDED
|
||||
#define Net_NTLMCredentials_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/BinaryReader.h"
|
||||
#include "Poco/BinaryWriter.h"
|
||||
#include <vector>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API NTLMCredentials
|
||||
/// This is a utility class for working with
|
||||
/// NTLMv2 Authentication.
|
||||
///
|
||||
/// Note: This implementation is based on the
|
||||
/// "The NTLM Authentication Protocol and Security Support Provider"
|
||||
/// document written by Eric Glass and avilable from
|
||||
/// http://davenport.sourceforge.net/ntlm.html
|
||||
/// and the NT LAN Manager (NTLM) Authentication Protocol
|
||||
/// [MS-NLMP] document by Microsoft.
|
||||
{
|
||||
public:
|
||||
enum
|
||||
{
|
||||
NTLM_MESSAGE_TYPE_NEGOTIATE = 0x01,
|
||||
NTLM_MESSAGE_TYPE_CHALLENGE = 0x02,
|
||||
NTLM_MESSAGE_TYPE_AUTHENTICATE = 0x03
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
NTLM_FLAG_NEGOTIATE_UNICODE = 0x00000001,
|
||||
NTLM_FLAG_NEGOTIATE_OEM = 0x00000002,
|
||||
NTLM_FLAG_REQUEST_TARGET = 0x00000004,
|
||||
NTLM_FLAG_NEGOTIATE_NTLM = 0x00000200,
|
||||
NTLM_FLAG_DOMAIN_SUPPLIED = 0x00001000,
|
||||
NTLM_FLAG_WORKST_SUPPLIED = 0x00002000,
|
||||
NTLM_FLAG_NEGOTIATE_LOCAL = 0x00004000,
|
||||
NTLM_FLAG_NEGOTIATE_ALWAYS_SIGN = 0x00008000,
|
||||
NTLM_FLAG_NEGOTIATE_NTLM2_KEY = 0x00080000,
|
||||
NTLM_FLAG_TARGET_DOMAIN = 0x00010000,
|
||||
NTLM_FLAG_TARGET_SERVER = 0x00020000,
|
||||
NTLM_FLAG_TARGET_SHARE = 0x00040000,
|
||||
NTLM_FLAG_NEGOTIATE_TARGET = 0x00800000,
|
||||
NTLM_FLAG_NEGOTIATE_128 = 0x20000000,
|
||||
NTLM_FLAG_NEGOTIATE_56 = 0x80000000
|
||||
};
|
||||
|
||||
struct NegotiateMessage
|
||||
/// This message is sent from the client to initiate NTLM authentication.
|
||||
{
|
||||
NegotiateMessage(): flags(0) {}
|
||||
|
||||
Poco::UInt32 flags;
|
||||
std::string domain;
|
||||
std::string workstation;
|
||||
};
|
||||
|
||||
struct ChallengeMessage
|
||||
/// This message is sent back by the server and contains the NTLM challenge.
|
||||
{
|
||||
ChallengeMessage(): flags(0) {}
|
||||
|
||||
Poco::UInt32 flags;
|
||||
std::vector<unsigned char> challenge;
|
||||
std::string target;
|
||||
std::vector<unsigned char> targetInfo;
|
||||
};
|
||||
|
||||
struct AuthenticateMessage
|
||||
/// This message is sent from the client to authenticate itself by providing
|
||||
/// a response to the server challenge.
|
||||
{
|
||||
AuthenticateMessage(): flags(0) {}
|
||||
|
||||
Poco::UInt32 flags;
|
||||
std::vector<unsigned char> lmResponse;
|
||||
std::vector<unsigned char> ntlmResponse;
|
||||
std::string target;
|
||||
std::string username;
|
||||
std::string workstation;
|
||||
};
|
||||
|
||||
struct BufferDesc
|
||||
{
|
||||
BufferDesc():
|
||||
length(0),
|
||||
reserved(0),
|
||||
offset(0)
|
||||
{
|
||||
}
|
||||
|
||||
BufferDesc(Poco::UInt16 len, Poco::UInt32 off):
|
||||
length(len),
|
||||
reserved(len),
|
||||
offset(off)
|
||||
{
|
||||
}
|
||||
|
||||
Poco::UInt16 length;
|
||||
Poco::UInt16 reserved;
|
||||
Poco::UInt32 offset;
|
||||
};
|
||||
|
||||
static std::vector<unsigned char> createNonce();
|
||||
/// Creates an 8-byte client nonce for NTLM authentication.
|
||||
|
||||
static Poco::UInt64 createTimestamp();
|
||||
/// Creates the NTLM timestamp in tenths of a microsecond since January 1, 1601,
|
||||
/// using the current system time.
|
||||
|
||||
static std::vector<unsigned char> createPasswordHash(const std::string& password);
|
||||
/// Creates the NTLM password hash (MD4 of UTF-16-converted password).
|
||||
|
||||
static std::vector<unsigned char> createNTLMv2Hash(const std::string& username, const std::string& target, const std::string& password);
|
||||
/// Creates the NTLMv2 hash, which is the HMAC-MD5 of the concatenated UTF-16 uppercase username and target,
|
||||
/// using the password hash as HMAC passphrase.
|
||||
|
||||
static std::vector<unsigned char> createLMv2Response(const std::vector<unsigned char>& ntlm2Hash, const std::vector<unsigned char>& challenge, const std::vector<unsigned char>& nonce);
|
||||
/// Creates the LMv2 response by computing the HMAC-MD5 of the challenge and nonce, using the
|
||||
/// ntlm2Hash (see createNTLMv2Hash()) as HMAC passphrase.
|
||||
|
||||
static std::vector<unsigned char> createNTLMv2Response(const std::vector<unsigned char>& ntlm2Hash, const std::vector<unsigned char>& challenge, const std::vector<unsigned char>& nonce, const std::vector<unsigned char>& targetInfo, Poco::UInt64 timestamp);
|
||||
/// Creates the NTLMv2 response by creating the "blob" and prepending its HMAC-MD5, using the ntlm2Hash as HMAC passphrase.
|
||||
|
||||
static std::vector<unsigned char> formatNegotiateMessage(const NegotiateMessage& message);
|
||||
/// Creates the NTLM Type 1 Negotiate message used for initiating NTLM authentication from the client.
|
||||
|
||||
static bool parseChallengeMessage(const unsigned char* buffer, std::size_t size, ChallengeMessage& message);
|
||||
/// Parses a NTLM Type 2 Challenge message.
|
||||
///
|
||||
/// Returns true if the message was parsed successfully, otherwise false.
|
||||
|
||||
static std::vector<unsigned char> formatAuthenticateMessage(const AuthenticateMessage& message);
|
||||
/// Creates the NTLM Type 3 Authenticate message used for sending the response to the challenge.
|
||||
|
||||
static void readBufferDesc(Poco::BinaryReader& reader, BufferDesc& desc);
|
||||
/// Reads a buffer descriptor.
|
||||
|
||||
static void writeBufferDesc(Poco::BinaryWriter& writer, const BufferDesc& desc);
|
||||
/// Writes a buffer descriptor.
|
||||
|
||||
static void splitUsername(const std::string& usernameAndDomain, std::string& username, std::string& domain);
|
||||
/// Splits a username containing a domain into plain username and domain.
|
||||
/// Supported formats are <DOMAIN>\<username> and <username>@<DOMAIN>.
|
||||
|
||||
static std::string toBase64(const std::vector<unsigned char>& buffer);
|
||||
/// Converts the buffer to a base64-encoded string.
|
||||
|
||||
static std::vector<unsigned char> fromBase64(const std::string& base64);
|
||||
/// Decodes the given base64-encoded string.
|
||||
|
||||
static const std::string NTLMSSP;
|
||||
/// Message signature string.
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_NTLMCredentials_INCLUDED
|
||||
64
vendor/POCO/Net/include/Poco/Net/NTPClient.h
vendored
Normal file
64
vendor/POCO/Net/include/Poco/Net/NTPClient.h
vendored
Normal file
@@ -0,0 +1,64 @@
|
||||
//
|
||||
// NTPClient.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: NTP
|
||||
// Module: NTPClient
|
||||
//
|
||||
// Definition of the NTPClient class.
|
||||
//
|
||||
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_NTPClient_INCLUDED
|
||||
#define Net_NTPClient_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/NTPEventArgs.h"
|
||||
#include "Poco/Net/SocketAddress.h"
|
||||
#include "Poco/BasicEvent.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API NTPClient
|
||||
/// This class provides NTP (Network Time Protocol) client functionality.
|
||||
{
|
||||
public:
|
||||
mutable Poco::BasicEvent<NTPEventArgs> response;
|
||||
|
||||
explicit NTPClient(SocketAddress::Family family, int timeout = 3000000);
|
||||
/// Creates an NTP client.
|
||||
|
||||
~NTPClient();
|
||||
/// Destroys the NTP client.
|
||||
|
||||
int request(SocketAddress& address) const;
|
||||
/// Request the time from the server at address.
|
||||
/// Notifications are posted for events.
|
||||
///
|
||||
/// Returns the number of valid replies.
|
||||
|
||||
int request(const std::string& address) const;
|
||||
/// Request the time from the server at address.
|
||||
/// Notifications are posted for events.
|
||||
///
|
||||
/// Returns the number of valid replies.
|
||||
|
||||
private:
|
||||
mutable SocketAddress::Family _family;
|
||||
int _timeout;
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_NTPClient_INCLUDED
|
||||
84
vendor/POCO/Net/include/Poco/Net/NTPEventArgs.h
vendored
Normal file
84
vendor/POCO/Net/include/Poco/Net/NTPEventArgs.h
vendored
Normal file
@@ -0,0 +1,84 @@
|
||||
//
|
||||
// NTPEventArgs.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: NTP
|
||||
// Module: NTPEventArgs
|
||||
//
|
||||
// Definition of NTPEventArgs.
|
||||
//
|
||||
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_NTPEventArgs_INCLUDED
|
||||
#define Net_NTPEventArgs_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/SocketAddress.h"
|
||||
#include "Poco/Net/NTPPacket.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API NTPEventArgs
|
||||
/// The purpose of the NTPEventArgs class is to be used as template parameter
|
||||
/// to instantiate event members in NTPClient class.
|
||||
/// When clients register for an event notification, the reference to the class is
|
||||
/// passed to the handler function to provide information about the event.
|
||||
{
|
||||
public:
|
||||
NTPEventArgs(const SocketAddress& address);
|
||||
/// Creates NTPEventArgs.
|
||||
|
||||
virtual ~NTPEventArgs();
|
||||
/// Destroys NTPEventArgs.
|
||||
|
||||
std::string hostName() const;
|
||||
/// Tries to resolve the target IP address into host name.
|
||||
/// If unsuccessful, all exceptions are silently ignored and
|
||||
/// the IP address is returned.
|
||||
|
||||
std::string hostAddress() const;
|
||||
/// Returns the target IP address.
|
||||
|
||||
const NTPPacket &packet();
|
||||
/// Returns the NTP packet.
|
||||
|
||||
private:
|
||||
NTPEventArgs();
|
||||
|
||||
void setPacket(NTPPacket &packet);
|
||||
|
||||
SocketAddress _address;
|
||||
NTPPacket _packet;
|
||||
|
||||
friend class NTPClient;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline const NTPPacket &NTPEventArgs::packet()
|
||||
{
|
||||
return _packet;
|
||||
}
|
||||
|
||||
|
||||
inline void NTPEventArgs::setPacket(NTPPacket &packet)
|
||||
{
|
||||
_packet = packet;
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif
|
||||
207
vendor/POCO/Net/include/Poco/Net/NTPPacket.h
vendored
Normal file
207
vendor/POCO/Net/include/Poco/Net/NTPPacket.h
vendored
Normal file
@@ -0,0 +1,207 @@
|
||||
//
|
||||
// NTPPacket.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: NTP
|
||||
// Module: NTPPacket
|
||||
//
|
||||
// Definition of the NTPPacket class.
|
||||
//
|
||||
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_NTPPacket_INCLUDED
|
||||
#define Net_NTPPacket_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Foundation.h"
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Timestamp.h"
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API NTPPacket
|
||||
/// This class is the NTP packet abstraction.
|
||||
{
|
||||
public:
|
||||
NTPPacket();
|
||||
/// Creates an NTPPacket.
|
||||
|
||||
NTPPacket(Poco::UInt8 *packet);
|
||||
/// Creates an NTPPacket.
|
||||
///
|
||||
/// Assumed to have at least 48 bytes.
|
||||
|
||||
~NTPPacket();
|
||||
/// Destroys the NTPPacket.
|
||||
|
||||
void packet(Poco::UInt8 *packet) const;
|
||||
/// Returns the NTP packet.
|
||||
///
|
||||
/// Assumed to have at least 48 bytes.
|
||||
|
||||
void setPacket(Poco::UInt8 *packet);
|
||||
/// Returns the NTP packet.
|
||||
///
|
||||
/// Assumed to have exactly 48 bytes.
|
||||
|
||||
Poco::Int8 leapIndicator() const;
|
||||
/// Returns the leap indicator.
|
||||
|
||||
Poco::Int8 version() const;
|
||||
/// Returns the version.
|
||||
|
||||
Poco::Int8 mode() const;
|
||||
/// Returns the mode.
|
||||
|
||||
Poco::Int8 stratum() const;
|
||||
/// Returns the stratum.
|
||||
|
||||
Poco::Int8 pool() const;
|
||||
/// Returns the pool.
|
||||
|
||||
Poco::Int8 precision() const;
|
||||
/// Returns the precision
|
||||
|
||||
Poco::Int32 rootDelay() const;
|
||||
/// Returns the root delay
|
||||
|
||||
Poco::Int32 rootDispersion() const;
|
||||
/// Returns the root dispersion
|
||||
|
||||
Poco::Int32 referenceId() const;
|
||||
/// Returns the reference id
|
||||
|
||||
Poco::Int64 referenceTimestamp() const;
|
||||
/// Returns the reference timestamp
|
||||
|
||||
Poco::Int64 originateTimestamp() const;
|
||||
/// Returns the originate timestamp
|
||||
|
||||
Poco::Int64 receiveTimestamp() const;
|
||||
/// Returns the receive timestamp
|
||||
|
||||
Poco::Int64 transmitTimestamp() const;
|
||||
/// Returns the transmit timestamp
|
||||
|
||||
Poco::Timestamp referenceTime() const;
|
||||
/// Returns the reference time
|
||||
|
||||
Poco::Timestamp originateTime() const;
|
||||
/// Returns the originate time
|
||||
|
||||
Poco::Timestamp receiveTime() const;
|
||||
/// Returns the receive time
|
||||
|
||||
Poco::Timestamp transmitTime() const;
|
||||
/// Returns the transmit time
|
||||
private:
|
||||
Poco::Timestamp convertTime(Poco::Int64 tm) const;
|
||||
|
||||
Poco::Int8 _leapIndicator;
|
||||
Poco::Int8 _version;
|
||||
Poco::Int8 _mode;
|
||||
Poco::Int8 _stratum;
|
||||
Poco::Int8 _pool;
|
||||
Poco::Int8 _precision;
|
||||
Poco::Int32 _rootDelay;
|
||||
Poco::Int32 _rootDispersion;
|
||||
Poco::Int32 _referenceId;
|
||||
Poco::Int64 _referenceTimestamp;
|
||||
Poco::Int64 _originateTimestamp;
|
||||
Poco::Int64 _receiveTimestamp;
|
||||
Poco::Int64 _transmitTimestamp;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline Poco::Int8 NTPPacket::leapIndicator() const
|
||||
{
|
||||
return _leapIndicator;
|
||||
}
|
||||
|
||||
|
||||
inline Poco::Int8 NTPPacket::version() const
|
||||
{
|
||||
return _version;
|
||||
}
|
||||
|
||||
|
||||
inline Poco::Int8 NTPPacket::mode() const
|
||||
{
|
||||
return _mode;
|
||||
}
|
||||
|
||||
|
||||
inline Poco::Int8 NTPPacket::stratum() const
|
||||
{
|
||||
return _stratum;
|
||||
}
|
||||
|
||||
|
||||
inline Poco::Int8 NTPPacket::pool() const
|
||||
{
|
||||
return _pool;
|
||||
}
|
||||
|
||||
|
||||
inline Poco::Int8 NTPPacket::precision() const
|
||||
{
|
||||
return _precision;
|
||||
}
|
||||
|
||||
|
||||
inline Poco::Int32 NTPPacket::rootDelay() const
|
||||
{
|
||||
return _rootDelay;
|
||||
}
|
||||
|
||||
|
||||
inline Poco::Int32 NTPPacket::rootDispersion() const
|
||||
{
|
||||
return _rootDispersion;
|
||||
}
|
||||
|
||||
|
||||
inline Poco::Int32 NTPPacket::referenceId() const
|
||||
{
|
||||
return _referenceId;
|
||||
}
|
||||
|
||||
|
||||
inline Poco::Int64 NTPPacket::referenceTimestamp() const
|
||||
{
|
||||
return _referenceTimestamp;
|
||||
}
|
||||
|
||||
|
||||
inline Poco::Int64 NTPPacket::originateTimestamp() const
|
||||
{
|
||||
return _originateTimestamp;
|
||||
}
|
||||
|
||||
|
||||
inline Poco::Int64 NTPPacket::receiveTimestamp() const
|
||||
{
|
||||
return _receiveTimestamp;
|
||||
}
|
||||
|
||||
|
||||
inline Poco::Int64 NTPPacket::transmitTimestamp() const
|
||||
{
|
||||
return _transmitTimestamp;
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_NTPPacket_INCLUDED
|
||||
132
vendor/POCO/Net/include/Poco/Net/NameValueCollection.h
vendored
Normal file
132
vendor/POCO/Net/include/Poco/Net/NameValueCollection.h
vendored
Normal file
@@ -0,0 +1,132 @@
|
||||
//
|
||||
// NameValueCollection.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: Messages
|
||||
// Module: NameValueCollection
|
||||
//
|
||||
// Definition of the NameValueCollection class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_NameValueCollection_INCLUDED
|
||||
#define Net_NameValueCollection_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/String.h"
|
||||
#include "Poco/ListMap.h"
|
||||
#include <cstddef>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API NameValueCollection
|
||||
/// A collection of name-value pairs that are used in
|
||||
/// various internet protocols like HTTP and SMTP.
|
||||
///
|
||||
/// The name is case-insensitive.
|
||||
///
|
||||
/// There can be more than one name-value pair with the
|
||||
/// same name.
|
||||
{
|
||||
public:
|
||||
using HeaderMap = Poco::ListMap<std::string, std::string>;
|
||||
using Iterator = HeaderMap::Iterator;
|
||||
using ConstIterator = HeaderMap::ConstIterator;
|
||||
|
||||
NameValueCollection();
|
||||
/// Creates an empty NameValueCollection.
|
||||
|
||||
NameValueCollection(const NameValueCollection& nvc);
|
||||
/// Creates a NameValueCollection by copying another one.
|
||||
|
||||
NameValueCollection(NameValueCollection&& nvc) noexcept;
|
||||
/// Creates a NameValueCollection by moving another one.
|
||||
|
||||
virtual ~NameValueCollection();
|
||||
/// Destroys the NameValueCollection.
|
||||
|
||||
NameValueCollection& operator = (const NameValueCollection& nvc);
|
||||
/// Assigns the name-value pairs of another NameValueCollection to this one.
|
||||
|
||||
NameValueCollection& operator = (NameValueCollection&& nvc) noexcept;
|
||||
/// Moves the name-value pairs of another NameValueCollection to this one.
|
||||
|
||||
void swap(NameValueCollection& nvc);
|
||||
/// Swaps the NameValueCollection with another one.
|
||||
|
||||
const std::string& operator [] (const std::string& name) const;
|
||||
/// Returns the value of the (first) name-value pair with the given name.
|
||||
///
|
||||
/// Throws a NotFoundException if the name-value pair does not exist.
|
||||
|
||||
void set(const std::string& name, const std::string& value);
|
||||
/// Sets the value of the (first) name-value pair with the given name.
|
||||
|
||||
void add(const std::string& name, const std::string& value);
|
||||
/// Adds a new name-value pair with the given name and value.
|
||||
|
||||
const std::string& get(const std::string& name) const;
|
||||
/// Returns the value of the first name-value pair with the given name.
|
||||
///
|
||||
/// Throws a NotFoundException if the name-value pair does not exist.
|
||||
|
||||
const std::string& get(const std::string& name, const std::string& defaultValue) const;
|
||||
/// Returns the value of the first name-value pair with the given name.
|
||||
/// If no value with the given name has been found, the defaultValue is returned.
|
||||
|
||||
bool has(const std::string& name) const;
|
||||
/// Returns true if there is at least one name-value pair
|
||||
/// with the given name.
|
||||
|
||||
ConstIterator find(const std::string& name) const;
|
||||
/// Returns an iterator pointing to the first name-value pair
|
||||
/// with the given name.
|
||||
|
||||
ConstIterator begin() const;
|
||||
/// Returns an iterator pointing to the begin of
|
||||
/// the name-value pair collection.
|
||||
|
||||
ConstIterator end() const;
|
||||
/// Returns an iterator pointing to the end of
|
||||
/// the name-value pair collection.
|
||||
|
||||
bool empty() const;
|
||||
/// Returns true iff the header does not have any content.
|
||||
|
||||
std::size_t size() const;
|
||||
/// Returns the number of name-value pairs in the
|
||||
/// collection.
|
||||
|
||||
void erase(const std::string& name);
|
||||
/// Removes all name-value pairs with the given name.
|
||||
|
||||
void clear();
|
||||
/// Removes all name-value pairs and their values.
|
||||
|
||||
private:
|
||||
HeaderMap _map;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline void swap(NameValueCollection& nvc1, NameValueCollection& nvc2)
|
||||
{
|
||||
nvc1.swap(nvc2);
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_NameValueCollection_INCLUDED
|
||||
127
vendor/POCO/Net/include/Poco/Net/Net.h
vendored
Normal file
127
vendor/POCO/Net/include/Poco/Net/Net.h
vendored
Normal file
@@ -0,0 +1,127 @@
|
||||
//
|
||||
// Net.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: NetCore
|
||||
// Module: Net
|
||||
//
|
||||
// Basic definitions for the Poco Net library.
|
||||
// This file must be the first file included by every other Net
|
||||
// header file.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_Net_INCLUDED
|
||||
#define Net_Net_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Foundation.h"
|
||||
|
||||
|
||||
//
|
||||
// The following block is the standard way of creating macros which make exporting
|
||||
// from a DLL simpler. All files within this DLL are compiled with the Net_EXPORTS
|
||||
// symbol defined on the command line. this symbol should not be defined on any project
|
||||
// that uses this DLL. This way any other project whose source files include this file see
|
||||
// Net_API functions as being imported from a DLL, wheras this DLL sees symbols
|
||||
// defined with this macro as being exported.
|
||||
//
|
||||
#if defined(_WIN32) && defined(POCO_DLL)
|
||||
#if defined(Net_EXPORTS)
|
||||
#define Net_API __declspec(dllexport)
|
||||
#else
|
||||
#define Net_API __declspec(dllimport)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
#if !defined(Net_API)
|
||||
#if !defined(POCO_NO_GCC_API_ATTRIBUTE) && defined (__GNUC__) && (__GNUC__ >= 4)
|
||||
#define Net_API __attribute__ ((visibility ("default")))
|
||||
#else
|
||||
#define Net_API
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
//
|
||||
// Automatically link Net library.
|
||||
//
|
||||
#if defined(_MSC_VER)
|
||||
#if !defined(POCO_NO_AUTOMATIC_LIBS) && !defined(Net_EXPORTS)
|
||||
#pragma comment(lib, "PocoNet" POCO_LIB_SUFFIX)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
// Default to enabled IPv6 support if not explicitly disabled
|
||||
#if !defined(POCO_NET_NO_IPv6) && !defined (POCO_HAVE_IPv6)
|
||||
#define POCO_HAVE_IPv6
|
||||
#elif defined(POCO_NET_NO_IPv6) && defined (POCO_HAVE_IPv6)
|
||||
#undef POCO_HAVE_IPv6
|
||||
#endif // POCO_NET_NO_IPv6, POCO_HAVE_IPv6
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
void Net_API initializeNetwork();
|
||||
/// Initialize the network subsystem.
|
||||
/// (Windows only, no-op elsewhere)
|
||||
|
||||
|
||||
void Net_API uninitializeNetwork();
|
||||
/// Uninitialize the network subsystem.
|
||||
/// (Windows only, no-op elsewhere)
|
||||
|
||||
|
||||
std::string htmlize(const std::string& str);
|
||||
/// Returns a copy of html with reserved HTML
|
||||
/// characters (<, >, ", &) propery escaped.
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
//
|
||||
// Automate network initialization (only relevant on Windows).
|
||||
//
|
||||
|
||||
#if defined(POCO_OS_FAMILY_WINDOWS) && !defined(POCO_NO_AUTOMATIC_LIB_INIT) && !defined(__GNUC__)
|
||||
|
||||
extern "C" const struct Net_API NetworkInitializer pocoNetworkInitializer;
|
||||
|
||||
#if defined(Net_EXPORTS)
|
||||
#if defined(_WIN64) || (defined(_WIN32_WCE) && !defined(x86))
|
||||
#define POCO_NET_FORCE_SYMBOL(s) __pragma(comment (linker, "/export:"#s))
|
||||
#elif defined(_WIN32)
|
||||
#define POCO_NET_FORCE_SYMBOL(s) __pragma(comment (linker, "/export:_"#s))
|
||||
#endif
|
||||
#else // !Net_EXPORTS
|
||||
#if defined(_WIN64) || (defined(_WIN32_WCE) && !defined(x86))
|
||||
#define POCO_NET_FORCE_SYMBOL(s) __pragma(comment (linker, "/include:"#s))
|
||||
#elif defined(_WIN32)
|
||||
#define POCO_NET_FORCE_SYMBOL(s) __pragma(comment (linker, "/include:_"#s))
|
||||
#endif
|
||||
#endif // Net_EXPORTS
|
||||
|
||||
POCO_NET_FORCE_SYMBOL(pocoNetworkInitializer)
|
||||
|
||||
#endif // POCO_OS_FAMILY_WINDOWS
|
||||
|
||||
|
||||
//
|
||||
// Define POCO_NET_HAS_INTERFACE for platforms that have network interface detection implemented.
|
||||
//
|
||||
#if defined(POCO_OS_FAMILY_WINDOWS) || (POCO_OS == POCO_OS_LINUX) || (POCO_OS == POCO_OS_ANDROID) || defined(POCO_OS_FAMILY_BSD) || (POCO_OS == POCO_OS_SOLARIS) || (POCO_OS == POCO_OS_QNX)
|
||||
#define POCO_NET_HAS_INTERFACE
|
||||
#endif
|
||||
|
||||
|
||||
#endif // Net_Net_INCLUDED
|
||||
61
vendor/POCO/Net/include/Poco/Net/NetException.h
vendored
Normal file
61
vendor/POCO/Net/include/Poco/Net/NetException.h
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
//
|
||||
// NetException.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: NetCore
|
||||
// Module: NetException
|
||||
//
|
||||
// Definition of the NetException class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_NetException_INCLUDED
|
||||
#define Net_NetException_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Exception.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
POCO_DECLARE_EXCEPTION(Net_API, NetException, Poco::IOException)
|
||||
POCO_DECLARE_EXCEPTION(Net_API, InvalidAddressException, NetException)
|
||||
POCO_DECLARE_EXCEPTION(Net_API, InvalidSocketException, NetException)
|
||||
POCO_DECLARE_EXCEPTION(Net_API, ServiceNotFoundException, NetException)
|
||||
POCO_DECLARE_EXCEPTION(Net_API, ConnectionAbortedException, NetException)
|
||||
POCO_DECLARE_EXCEPTION(Net_API, ConnectionResetException, NetException)
|
||||
POCO_DECLARE_EXCEPTION(Net_API, ConnectionRefusedException, NetException)
|
||||
POCO_DECLARE_EXCEPTION(Net_API, DNSException, NetException)
|
||||
POCO_DECLARE_EXCEPTION(Net_API, HostNotFoundException, DNSException)
|
||||
POCO_DECLARE_EXCEPTION(Net_API, NoAddressFoundException, DNSException)
|
||||
POCO_DECLARE_EXCEPTION(Net_API, InterfaceNotFoundException, NetException)
|
||||
POCO_DECLARE_EXCEPTION(Net_API, NoMessageException, NetException)
|
||||
POCO_DECLARE_EXCEPTION(Net_API, MessageException, NetException)
|
||||
POCO_DECLARE_EXCEPTION(Net_API, MultipartException, MessageException)
|
||||
POCO_DECLARE_EXCEPTION(Net_API, HTTPException, NetException)
|
||||
POCO_DECLARE_EXCEPTION(Net_API, NotAuthenticatedException, HTTPException)
|
||||
POCO_DECLARE_EXCEPTION(Net_API, UnsupportedRedirectException, HTTPException)
|
||||
POCO_DECLARE_EXCEPTION(Net_API, FTPException, NetException)
|
||||
POCO_DECLARE_EXCEPTION(Net_API, SMTPException, NetException)
|
||||
POCO_DECLARE_EXCEPTION(Net_API, POP3Exception, NetException)
|
||||
POCO_DECLARE_EXCEPTION(Net_API, ICMPException, NetException)
|
||||
POCO_DECLARE_EXCEPTION(Net_API, ICMPFragmentationException, NetException)
|
||||
POCO_DECLARE_EXCEPTION(Net_API, NTPException, NetException)
|
||||
POCO_DECLARE_EXCEPTION(Net_API, HTMLFormException, NetException)
|
||||
POCO_DECLARE_EXCEPTION(Net_API, WebSocketException, NetException)
|
||||
POCO_DECLARE_EXCEPTION(Net_API, UnsupportedFamilyException, NetException)
|
||||
POCO_DECLARE_EXCEPTION(Net_API, AddressFamilyMismatchException, NetException)
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_NetException_INCLUDED
|
||||
352
vendor/POCO/Net/include/Poco/Net/NetworkInterface.h
vendored
Normal file
352
vendor/POCO/Net/include/Poco/Net/NetworkInterface.h
vendored
Normal file
@@ -0,0 +1,352 @@
|
||||
//
|
||||
// NetworkInterface.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: Sockets
|
||||
// Module: NetworkInterface
|
||||
//
|
||||
// Definition of the NetworkInterface class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_NetworkInterface_INCLUDED
|
||||
#define Net_NetworkInterface_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
|
||||
|
||||
#ifdef POCO_NET_HAS_INTERFACE
|
||||
|
||||
|
||||
#include "Poco/Net/IPAddress.h"
|
||||
#include "Poco/Mutex.h"
|
||||
#include "Poco/Tuple.h"
|
||||
#include <map>
|
||||
#include <ostream>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class NetworkInterfaceImpl;
|
||||
|
||||
|
||||
class Net_API NetworkInterface
|
||||
/// This class represents a network interface.
|
||||
///
|
||||
/// NetworkInterface is used with MulticastSocket to specify
|
||||
/// multicast interfaces for sending and receiving multicast
|
||||
/// messages.
|
||||
///
|
||||
/// The class also provides static member functions for
|
||||
/// enumerating or searching network interfaces and their
|
||||
/// respective configuration values.
|
||||
///
|
||||
/// On Windows, detection capabilities vary depending on the
|
||||
/// OS version/service pack. Although the best effort is made
|
||||
/// not to attempt access to non-existent features through a
|
||||
/// combination of compile/runtime checks, when running binaries
|
||||
/// compiled on a newer version of the OS on an older one
|
||||
/// problems may occur; if possible, it is best to run
|
||||
/// binaries on the OS version where they were compiled.
|
||||
/// This particularly applies to OS versions older than Vista
|
||||
/// and XP.
|
||||
{
|
||||
public:
|
||||
typedef std::vector<NetworkInterface> List;
|
||||
typedef List NetworkInterfaceList;//@deprecated
|
||||
typedef std::map<unsigned, NetworkInterface> Map;
|
||||
typedef Poco::Tuple<IPAddress, IPAddress, IPAddress> AddressTuple;
|
||||
typedef std::vector<AddressTuple> AddressList;
|
||||
typedef AddressList::iterator AddressIterator;
|
||||
typedef AddressList::const_iterator ConstAddressIterator;
|
||||
typedef std::vector<unsigned char> MACAddress;
|
||||
|
||||
enum AddressType
|
||||
{
|
||||
IP_ADDRESS,
|
||||
SUBNET_MASK,
|
||||
BROADCAST_ADDRESS
|
||||
};
|
||||
|
||||
enum Type
|
||||
{
|
||||
NI_TYPE_ETHERNET_CSMACD,
|
||||
NI_TYPE_ISO88025_TOKENRING,
|
||||
NI_TYPE_FRAMERELAY,
|
||||
NI_TYPE_PPP,
|
||||
NI_TYPE_SOFTWARE_LOOPBACK,
|
||||
NI_TYPE_ATM,
|
||||
NI_TYPE_IEEE80211,
|
||||
NI_TYPE_TUNNEL,
|
||||
NI_TYPE_IEEE1394,
|
||||
NI_TYPE_OTHER
|
||||
};
|
||||
|
||||
enum IPVersion
|
||||
{
|
||||
IPv4_ONLY, /// Return interfaces with IPv4 address only
|
||||
IPv6_ONLY, /// Return interfaces with IPv6 address only
|
||||
IPv4_OR_IPv6 /// Return interfaces with IPv4 or IPv6 address
|
||||
};
|
||||
|
||||
static const unsigned NO_INDEX = ~0;
|
||||
#if defined(POCO_OS_FAMILY_WINDOWS)
|
||||
static const char MAC_SEPARATOR = '-';
|
||||
#else
|
||||
static const char MAC_SEPARATOR = ':';
|
||||
#endif
|
||||
|
||||
NetworkInterface(unsigned index = NO_INDEX);
|
||||
/// Creates a NetworkInterface representing the
|
||||
/// default interface.
|
||||
///
|
||||
/// The name is empty, the IP address is the wildcard
|
||||
/// address and the index is max value of unsigned integer.
|
||||
|
||||
NetworkInterface(const NetworkInterface& interfc);
|
||||
/// Creates the NetworkInterface by copying another one.
|
||||
|
||||
~NetworkInterface();
|
||||
/// Destroys the NetworkInterface.
|
||||
|
||||
NetworkInterface& operator = (const NetworkInterface& interfc);
|
||||
/// Assigns another NetworkInterface.
|
||||
|
||||
bool operator < (const NetworkInterface& other) const;
|
||||
/// Operator less-than.
|
||||
|
||||
bool operator == (const NetworkInterface& other) const;
|
||||
/// Operator equal. Compares interface indices.
|
||||
|
||||
void swap(NetworkInterface& other);
|
||||
/// Swaps the NetworkInterface with another one.
|
||||
|
||||
unsigned index() const;
|
||||
/// Returns the interface OS index.
|
||||
|
||||
const std::string& name() const;
|
||||
/// Returns the interface name.
|
||||
|
||||
const std::string& displayName() const;
|
||||
/// Returns the interface display name.
|
||||
///
|
||||
/// On Windows platforms, this is currently the network adapter
|
||||
/// name. This may change to the "friendly name" of the network
|
||||
/// connection in a future version, however.
|
||||
///
|
||||
/// On other platforms this is the same as name().
|
||||
|
||||
const std::string& adapterName() const;
|
||||
/// Returns the interface adapter name.
|
||||
///
|
||||
/// On Windows platforms, this is the network adapter LUID.
|
||||
/// The adapter name is used by some Windows Net APIs like DHCP.
|
||||
///
|
||||
/// On other platforms this is the same as name().
|
||||
|
||||
const IPAddress& firstAddress(IPAddress::Family family) const;
|
||||
/// Returns the first IP address bound to the interface.
|
||||
/// Throws NotFoundException if the address family is not
|
||||
/// configured on the interface.
|
||||
|
||||
void firstAddress(IPAddress& addr, IPAddress::Family family = IPAddress::IPv4) const;
|
||||
/// Returns the first IP address bound to the interface.
|
||||
/// If the address family is not configured on the interface,
|
||||
/// the address returned in addr will be unspecified (wildcard).
|
||||
|
||||
const IPAddress& address(unsigned index = 0) const;
|
||||
/// Returns the IP address bound to the interface at index position.
|
||||
|
||||
void addAddress(const IPAddress& address);
|
||||
/// Adds address to the interface.
|
||||
|
||||
void addAddress(const IPAddress& address, const IPAddress& subnetMask, const IPAddress& broadcastAddress);
|
||||
/// Adds address to the interface.
|
||||
|
||||
const AddressList& addressList() const;
|
||||
/// Returns the list of IP addresses bound to the interface.
|
||||
|
||||
const IPAddress& subnetMask(unsigned index = 0) const;
|
||||
/// Returns the subnet mask for this network interface.
|
||||
|
||||
const IPAddress& broadcastAddress(unsigned index = 0) const;
|
||||
/// Returns the broadcast address for this network interface.
|
||||
|
||||
const IPAddress& destAddress(unsigned index = 0) const;
|
||||
/// Returns the IPv4 point-to-point destination address for this network interface.
|
||||
|
||||
const MACAddress& macAddress() const;
|
||||
/// Returns MAC (Media Access Control) address for the interface.
|
||||
|
||||
unsigned mtu() const;
|
||||
/// Returns the MTU for this interface.
|
||||
|
||||
NetworkInterface::Type type() const;
|
||||
/// returns the MIB IfType of the interface.
|
||||
|
||||
bool supportsIP() const;
|
||||
/// Returns true if the interface supports IP.
|
||||
|
||||
bool supportsIPv4() const;
|
||||
/// Returns true if the interface supports IPv4.
|
||||
|
||||
bool supportsIPv6() const;
|
||||
/// Returns true if the interface supports IPv6.
|
||||
|
||||
bool supportsBroadcast() const;
|
||||
/// Returns true if the interface supports broadcast.
|
||||
|
||||
bool supportsMulticast() const;
|
||||
/// Returns true if the interface supports multicast.
|
||||
|
||||
bool isLoopback() const;
|
||||
/// Returns true if the interface is loopback.
|
||||
|
||||
bool isPointToPoint() const;
|
||||
/// Returns true if the interface is point-to-point.
|
||||
|
||||
bool isRunning() const;
|
||||
/// Returns true if the interface is running.
|
||||
|
||||
bool isUp() const;
|
||||
/// Returns true if the interface is up.
|
||||
|
||||
static NetworkInterface forName(const std::string& name, bool requireIPv6 = false);
|
||||
/// Returns the NetworkInterface for the given name.
|
||||
///
|
||||
/// If requireIPv6 is false, an IPv4 interface is returned.
|
||||
/// Otherwise, an IPv6 interface is returned.
|
||||
///
|
||||
/// Throws an InterfaceNotFoundException if an interface
|
||||
/// with the give name does not exist.
|
||||
|
||||
static NetworkInterface forName(const std::string& name, IPVersion ipVersion);
|
||||
/// Returns the NetworkInterface for the given name.
|
||||
///
|
||||
/// The ipVersion argument can be used to specify whether
|
||||
/// an IPv4 (IPv4_ONLY) or IPv6 (IPv6_ONLY) interface is required,
|
||||
/// or whether the caller does not care (IPv4_OR_IPv6).
|
||||
///
|
||||
/// Throws an InterfaceNotFoundException if an interface
|
||||
/// with the give name does not exist.
|
||||
|
||||
static NetworkInterface forAddress(const IPAddress& address);
|
||||
/// Returns the NetworkInterface for the given IP address.
|
||||
///
|
||||
/// Throws an InterfaceNotFoundException if an interface
|
||||
/// with the give address does not exist.
|
||||
|
||||
static NetworkInterface forIndex(unsigned index);
|
||||
/// Returns the NetworkInterface for the given interface index.
|
||||
///
|
||||
/// Throws an InterfaceNotFoundException if an interface
|
||||
/// with the given index does not exist.
|
||||
|
||||
static List list(bool ipOnly = true, bool upOnly = true);
|
||||
/// Returns a list with all network interfaces
|
||||
/// on the system.
|
||||
///
|
||||
/// If ipOnly is true, only interfaces supporting IP
|
||||
/// are returned. Otherwise, all system network interfaces
|
||||
/// are returned.
|
||||
///
|
||||
/// If upOnly is true, only interfaces being up are returned.
|
||||
/// Otherwise, both interfaces being up and down are returned.
|
||||
///
|
||||
/// If there are multiple addresses bound to one interface,
|
||||
/// multiple NetworkInterface entries are listed for
|
||||
/// the same interface.
|
||||
|
||||
static Map map(bool ipOnly = true, bool upOnly = true);
|
||||
/// Returns a map containing system network interfaces
|
||||
/// Map is keyed by interface system indices.
|
||||
///
|
||||
/// If ipOnly is true, only interfaces supporting IP
|
||||
/// are returned. Otherwise, all system network interfaces
|
||||
/// are returned.
|
||||
///
|
||||
/// If upOnly is true, only interfaces being up are returned.
|
||||
/// Otherwise, both interfaces being up and down are returned.
|
||||
///
|
||||
/// If there are multiple addresses bound to one interface,
|
||||
/// they are contained within the NetworkInterface (second)
|
||||
/// member of the pair.
|
||||
|
||||
protected:
|
||||
NetworkInterface(const std::string& name, const std::string& displayName, const std::string& adapterName, const IPAddress& address, unsigned index, MACAddress* pMACAddress = 0);
|
||||
/// Creates the NetworkInterface.
|
||||
|
||||
NetworkInterface(const std::string& name, const std::string& displayName, const std::string& adapterName, unsigned index, MACAddress* pMACAddress = 0);
|
||||
/// Creates the NetworkInterface.
|
||||
|
||||
NetworkInterface(const std::string& name, const IPAddress& address, unsigned index, MACAddress* pMACAddress = 0);
|
||||
/// Creates the NetworkInterface.
|
||||
|
||||
NetworkInterface(const std::string& name,
|
||||
const std::string& displayName,
|
||||
const std::string& adapterName,
|
||||
const IPAddress& address,
|
||||
const IPAddress& subnetMask,
|
||||
const IPAddress& broadcastAddress,
|
||||
unsigned index,
|
||||
MACAddress* pMACAddress = 0);
|
||||
/// Creates the NetworkInterface.
|
||||
|
||||
NetworkInterface(const std::string& name,
|
||||
const IPAddress& address,
|
||||
const IPAddress& subnetMask,
|
||||
const IPAddress& broadcastAddress,
|
||||
unsigned index,
|
||||
MACAddress* pMACAddress = 0);
|
||||
/// Creates the NetworkInterface.
|
||||
|
||||
IPAddress interfaceNameToAddress(const std::string& interfaceName) const;
|
||||
/// Determines the IPAddress bound to the interface with the given name.
|
||||
|
||||
unsigned interfaceNameToIndex(const std::string& interfaceName) const;
|
||||
/// Determines the interface index of the interface with the given name.
|
||||
|
||||
NetworkInterfaceImpl& impl() { return *_pImpl; };
|
||||
|
||||
private:
|
||||
NetworkInterfaceImpl* _pImpl;
|
||||
|
||||
static Poco::FastMutex _mutex;
|
||||
};
|
||||
|
||||
|
||||
///
|
||||
/// inlines
|
||||
///
|
||||
|
||||
|
||||
inline bool NetworkInterface::operator < (const NetworkInterface& other) const
|
||||
{
|
||||
return this->index() < other.index();
|
||||
}
|
||||
|
||||
|
||||
inline bool NetworkInterface::operator == (const NetworkInterface& other) const
|
||||
{
|
||||
return this->index() == other.index();
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
Net_API std::ostream& operator << (std::ostream& ostr, const Poco::Net::NetworkInterface::MACAddress& addr);
|
||||
|
||||
|
||||
#endif // POCO_NET_HAS_INTERFACE
|
||||
|
||||
|
||||
#endif // Net_NetworkInterface_INCLUDED
|
||||
47
vendor/POCO/Net/include/Poco/Net/NullPartHandler.h
vendored
Normal file
47
vendor/POCO/Net/include/Poco/Net/NullPartHandler.h
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
//
|
||||
// NullPartHandler.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: Messages
|
||||
// Module: NullPartHandler
|
||||
//
|
||||
// Definition of the NullPartHandler class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_NullPartHandler_INCLUDED
|
||||
#define Net_NullPartHandler_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/PartHandler.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API NullPartHandler: public PartHandler
|
||||
/// A very special PartHandler that simply discards all data.
|
||||
{
|
||||
public:
|
||||
NullPartHandler();
|
||||
/// Creates the NullPartHandler.
|
||||
|
||||
~NullPartHandler();
|
||||
/// Destroys the NullPartHandler.
|
||||
|
||||
void handlePart(const MessageHeader& header, std::istream& stream);
|
||||
/// Reads and discards all data from the stream.
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_NullPartHandler_INCLUDED
|
||||
274
vendor/POCO/Net/include/Poco/Net/OAuth10Credentials.h
vendored
Normal file
274
vendor/POCO/Net/include/Poco/Net/OAuth10Credentials.h
vendored
Normal file
@@ -0,0 +1,274 @@
|
||||
//
|
||||
// OAuth10Credentials.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: OAuth
|
||||
// Module: OAuth10Credentials
|
||||
//
|
||||
// Definition of the OAuth10Credentials class.
|
||||
//
|
||||
// Copyright (c) 2014, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_OAuth10Credentials_INCLUDED
|
||||
#define Net_OAuth10Credentials_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/URI.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class HTTPRequest;
|
||||
class HTMLForm;
|
||||
|
||||
|
||||
class Net_API OAuth10Credentials
|
||||
/// This class implements OAuth 1.0A authentication for HTTP requests,
|
||||
/// according to RFC 5849.
|
||||
///
|
||||
/// Only PLAINTEXT and HMAC-SHA1 signature methods are
|
||||
/// supported. The RSA-SHA1 signature method is not supported.
|
||||
///
|
||||
/// The OAuth10Credentials can be used to sign a client request, as
|
||||
/// well as to verify the signature of a request on the server.
|
||||
///
|
||||
/// To sign a client request, using a known consumer (client) key, consumer (client) secret,
|
||||
/// OAuth token and token secret:
|
||||
///
|
||||
/// 1. Create an OAuth10Credentials object using all four credentials, either using
|
||||
/// the four argument constructor, or by using the default constructor and setting
|
||||
/// the credentials using the setter methods.
|
||||
/// 2. Create a URI containing the full request URI.
|
||||
/// 3. Create an appropriate HTTPRequest object.
|
||||
/// 4. Optionally, create a HTMLForm object containing additional parameters to sign.
|
||||
/// 5. Sign the request by calling authenticate(). This will add an OAuth
|
||||
/// Authorization header to the request.
|
||||
/// 6. Send the request using a HTTPClientSession.
|
||||
///
|
||||
/// To request the OAuth request token from a server, using only the consumer (client) key
|
||||
/// and consumer (client) secret:
|
||||
///
|
||||
/// 1. Create an OAuth10Credentials object using the two consumer credentials, either using
|
||||
/// the two argument constructor, or by using the default constructor and setting
|
||||
/// the credentials using the setter methods.
|
||||
/// 2. Specify the callback URI using setCallback().
|
||||
/// 3. Create a URI containing the full request URI to obtain the token.
|
||||
/// 4. Create an appropriate HTTPRequest object.
|
||||
/// 5. Sign the request by calling authenticate(). This will add an OAuth
|
||||
/// Authorization header to the request.
|
||||
/// 6. Send the request using a HTTPClientSession.
|
||||
/// 7. The response will contain the request token and request token secret.
|
||||
/// These can be extracted from the response body using a HTMLForm object.
|
||||
///
|
||||
/// Requesting the access token and secret (temporary credentials) from the server
|
||||
/// is analogous to signing a client request using consumer key, consumer secret,
|
||||
/// request token and request token secret.
|
||||
/// The server response will contain the access token and access token secret,
|
||||
/// which can again be extracted from the response body using a HTMLForm object.
|
||||
///
|
||||
/// To verify a request on the server:
|
||||
///
|
||||
/// 1. Create an OAuth10Credentials object using the constructor taking a
|
||||
/// HTTPRequest object. This will extract the consumer key and token (if
|
||||
/// provided).
|
||||
/// 2. Provide the consumer secret and token secret (if required) matching the
|
||||
/// consumer key and token to the OAuth10Credentials object using the
|
||||
/// setter methods.
|
||||
/// 3. Create an URI object containing the full request URI.
|
||||
/// 4. Call verify() to verify the signature.
|
||||
/// 5. If verification was successful, and the request was a request for
|
||||
/// a request (temporary) token, call getCallback() to
|
||||
/// obtain the callback URI provided by the client.
|
||||
{
|
||||
public:
|
||||
enum SignatureMethod
|
||||
/// OAuth 1.0A Signature Method.
|
||||
{
|
||||
SIGN_PLAINTEXT, /// OAuth 1.0A PLAINTEXT signature method
|
||||
SIGN_HMAC_SHA1 /// OAuth 1.0A HMAC-SHA1 signature method
|
||||
};
|
||||
|
||||
OAuth10Credentials();
|
||||
/// Creates an empty OAuth10Credentials object.
|
||||
|
||||
OAuth10Credentials(const std::string& consumerKey, const std::string& consumerSecret);
|
||||
/// Creates an OAuth10Credentials object with the given consumer key and consumer secret.
|
||||
///
|
||||
/// The token and tokenSecret will be left empty.
|
||||
|
||||
OAuth10Credentials(const std::string& consumerKey, const std::string& consumerSecret, const std::string& token, const std::string& tokenSecret);
|
||||
/// Creates an OAuth10Credentials object with the given consumer key and
|
||||
/// consumer secret, as well as token and token secret.
|
||||
|
||||
explicit OAuth10Credentials(const HTTPRequest& request);
|
||||
/// Creates an OAuth10Credentials object from a HTTPRequest object.
|
||||
///
|
||||
/// Extracts consumer key and token (if available) from the Authorization header.
|
||||
///
|
||||
/// Throws a NotAuthenticatedException if the request does
|
||||
/// not contain OAuth 1.0 credentials.
|
||||
|
||||
~OAuth10Credentials();
|
||||
/// Destroys the OAuth10Credentials.
|
||||
|
||||
void setConsumerKey(const std::string& consumerKey);
|
||||
/// Sets the consumer key.
|
||||
|
||||
const std::string& getConsumerKey() const;
|
||||
/// Returns the consumer key.
|
||||
|
||||
void setConsumerSecret(const std::string& consumerSecret);
|
||||
/// Sets the consumer secret.
|
||||
|
||||
const std::string& getConsumerSecret() const;
|
||||
/// Returns the consumer secret.
|
||||
|
||||
void setToken(const std::string& token);
|
||||
/// Sets the token.
|
||||
|
||||
const std::string& getToken() const;
|
||||
/// Returns the token.
|
||||
|
||||
void setTokenSecret(const std::string& tokenSecret);
|
||||
/// Sets the token.
|
||||
|
||||
const std::string& getTokenSecret() const;
|
||||
/// Returns the token secret.
|
||||
|
||||
void setRealm(const std::string& realm);
|
||||
/// Sets the optional realm to be included in the Authorization header.
|
||||
|
||||
const std::string& getRealm() const;
|
||||
/// Returns the optional realm to be included in the Authorization header.
|
||||
|
||||
void setCallback(const std::string& uri);
|
||||
/// Sets the callback URI.
|
||||
|
||||
const std::string& getCallback() const;
|
||||
/// Returns the callback URI.
|
||||
|
||||
void authenticate(HTTPRequest& request, const Poco::URI& uri, SignatureMethod method = SIGN_HMAC_SHA1);
|
||||
/// Adds an OAuth 1.0A Authentication header to the given request, using
|
||||
/// the given signature method.
|
||||
|
||||
void authenticate(HTTPRequest& request, const Poco::URI& uri, const Poco::Net::HTMLForm& params, SignatureMethod method = SIGN_HMAC_SHA1);
|
||||
/// Adds an OAuth 1.0A Authentication header to the given request, using
|
||||
/// the given signature method.
|
||||
|
||||
bool verify(const HTTPRequest& request, const Poco::URI& uri);
|
||||
/// Verifies the signature of the given request.
|
||||
///
|
||||
/// The consumer key, consumer secret, token and token secret must have been set.
|
||||
///
|
||||
/// Returns true if the signature is valid, otherwise false.
|
||||
///
|
||||
/// Throws a NotAuthenticatedException if the request does not contain OAuth
|
||||
/// credentials, or in case of an unsupported OAuth version or signature method.
|
||||
|
||||
bool verify(const HTTPRequest& request, const Poco::URI& uri, const Poco::Net::HTMLForm& params);
|
||||
/// Verifies the signature of the given request.
|
||||
///
|
||||
/// The consumer key, consumer secret, token and token secret must have been set.
|
||||
///
|
||||
/// Returns true if the signature is valid, otherwise false.
|
||||
///
|
||||
/// Throws a NotAuthenticatedException if the request does not contain OAuth
|
||||
/// credentials, or in case of an unsupported OAuth version or signature method.
|
||||
|
||||
void nonceAndTimestampForTesting(const std::string& nonce, const std::string& timestamp);
|
||||
/// Sets the nonce and timestamp to a wellknown value.
|
||||
///
|
||||
/// For use by testsuite only, to test the signature
|
||||
/// algorithm with wellknown inputs.
|
||||
///
|
||||
/// In normal operation, the nonce is a random value
|
||||
/// computed by createNonce() and the timestamp is taken
|
||||
/// from the system time.
|
||||
|
||||
static const std::string SCHEME;
|
||||
|
||||
protected:
|
||||
void signPlaintext(Poco::Net::HTTPRequest& request) const;
|
||||
/// Signs the given HTTP request according to OAuth 1.0A PLAINTEXT signature method.
|
||||
|
||||
void signHMACSHA1(Poco::Net::HTTPRequest& request, const std::string& uri, const Poco::Net::HTMLForm& params) const;
|
||||
/// Signs the given HTTP request according to OAuth 1.0A HMAC-SHA1 signature method.
|
||||
|
||||
std::string createNonce() const;
|
||||
/// Creates a nonce, which is basically a Base64-encoded 32 character random
|
||||
/// string, with non-alphanumeric characters removed.
|
||||
|
||||
std::string createSignature(const Poco::Net::HTTPRequest& request, const std::string& uri, const Poco::Net::HTMLForm& params, const std::string& nonce, const std::string& timestamp) const;
|
||||
/// Creates a OAuth signature for the given request and its parameters, according
|
||||
/// to <https://dev.twitter.com/docs/auth/creating-signature>.
|
||||
|
||||
static std::string percentEncode(const std::string& str);
|
||||
/// Percent-encodes the given string according to Twitter API's rules,
|
||||
/// given in <https://dev.twitter.com/docs/auth/percent-encoding-parameters>.
|
||||
|
||||
private:
|
||||
OAuth10Credentials(const OAuth10Credentials&);
|
||||
OAuth10Credentials& operator = (const OAuth10Credentials&);
|
||||
|
||||
std::string _consumerKey;
|
||||
std::string _consumerSecret;
|
||||
std::string _token;
|
||||
std::string _tokenSecret;
|
||||
std::string _callback;
|
||||
std::string _realm;
|
||||
std::string _nonce;
|
||||
std::string _timestamp;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline const std::string& OAuth10Credentials::getConsumerKey() const
|
||||
{
|
||||
return _consumerKey;
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& OAuth10Credentials::getConsumerSecret() const
|
||||
{
|
||||
return _consumerSecret;
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& OAuth10Credentials::getToken() const
|
||||
{
|
||||
return _token;
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& OAuth10Credentials::getTokenSecret() const
|
||||
{
|
||||
return _tokenSecret;
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& OAuth10Credentials::getRealm() const
|
||||
{
|
||||
return _realm;
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& OAuth10Credentials::getCallback() const
|
||||
{
|
||||
return _callback;
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_OAuth10Credentials_INCLUDED
|
||||
132
vendor/POCO/Net/include/Poco/Net/OAuth20Credentials.h
vendored
Normal file
132
vendor/POCO/Net/include/Poco/Net/OAuth20Credentials.h
vendored
Normal file
@@ -0,0 +1,132 @@
|
||||
//
|
||||
// OAuth20Credentials.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: OAuth
|
||||
// Module: OAuth20Credentials
|
||||
//
|
||||
// Definition of the OAuth20Credentials class.
|
||||
//
|
||||
// Copyright (c) 2014, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_OAuth20Credentials_INCLUDED
|
||||
#define Net_OAuth20Credentials_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class HTTPRequest;
|
||||
|
||||
|
||||
class Net_API OAuth20Credentials
|
||||
/// This class implements OAuth 2.0 authentication for HTTP requests,
|
||||
/// via Bearer tokens in the Authorization header,
|
||||
/// according to RFC 6749 and RFC 6750.
|
||||
///
|
||||
/// To add an Authorization header containing a bearer token
|
||||
/// to a HTTPRequest object, create an OAuth20Credentials object
|
||||
/// with the bearer token and call authenticate().
|
||||
///
|
||||
/// The bearer token can also be extracted from a HTTPRequest
|
||||
/// by creating the OAuth20Credentials object with a HTTPRequest
|
||||
/// object containing a "Bearer" Authorization header and
|
||||
/// calling getBearerToken().
|
||||
///
|
||||
/// The authorization header scheme can be changed from
|
||||
/// "Bearer" to a custom value. For example, GitHub uses
|
||||
/// the "token" scheme.
|
||||
{
|
||||
public:
|
||||
OAuth20Credentials();
|
||||
/// Creates an empty OAuth20Credentials object.
|
||||
|
||||
explicit OAuth20Credentials(const std::string& bearerToken);
|
||||
/// Creates an OAuth20Credentials object with the given bearer token.
|
||||
|
||||
OAuth20Credentials(const std::string& bearerToken, const std::string& scheme);
|
||||
/// Creates an OAuth20Credentials object with the given bearer token
|
||||
/// and authorization scheme, which overrides the default scheme ("Bearer").
|
||||
///
|
||||
/// This is useful for services like GitHub, which use "token" as scheme.
|
||||
|
||||
explicit OAuth20Credentials(const HTTPRequest& request);
|
||||
/// Creates an OAuth20Credentials object from a HTTPRequest object.
|
||||
///
|
||||
/// Extracts bearer token from the Authorization header, which
|
||||
/// must use the "Bearer" authorization scheme.
|
||||
///
|
||||
/// Throws a NotAuthenticatedException if the request does
|
||||
/// not contain a bearer token in the Authorization header.
|
||||
|
||||
OAuth20Credentials(const HTTPRequest& request, const std::string& scheme);
|
||||
/// Creates an OAuth20Credentials object from a HTTPRequest object.
|
||||
///
|
||||
/// Extracts bearer token from the Authorization header, which must
|
||||
/// use the given authorization scheme.
|
||||
///
|
||||
/// Throws a NotAuthenticatedException if the request does
|
||||
/// not contain a bearer token in the Authorization header.
|
||||
|
||||
~OAuth20Credentials();
|
||||
/// Destroys the HTTPCredentials.
|
||||
|
||||
void setBearerToken(const std::string& bearerToken);
|
||||
/// Sets the bearer token.
|
||||
|
||||
const std::string& getBearerToken() const;
|
||||
/// Returns the bearer token.
|
||||
|
||||
void setScheme(const std::string& scheme);
|
||||
/// Sets the Authorization header scheme.
|
||||
|
||||
const std::string& getScheme() const;
|
||||
/// Returns the Authorization header scheme.
|
||||
|
||||
void authenticate(HTTPRequest& request);
|
||||
/// Adds an Authorization header containing the bearer token to
|
||||
/// the HTTPRequest.
|
||||
|
||||
static const std::string SCHEME;
|
||||
|
||||
protected:
|
||||
void extractBearerToken(const HTTPRequest& request);
|
||||
/// Extracts the bearer token from the HTTPRequest.
|
||||
|
||||
private:
|
||||
OAuth20Credentials(const OAuth20Credentials&);
|
||||
OAuth20Credentials& operator = (const OAuth20Credentials&);
|
||||
|
||||
std::string _bearerToken;
|
||||
std::string _scheme;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline const std::string& OAuth20Credentials::getBearerToken() const
|
||||
{
|
||||
return _bearerToken;
|
||||
}
|
||||
|
||||
|
||||
inline const std::string& OAuth20Credentials::getScheme() const
|
||||
{
|
||||
return _scheme;
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_OAuth20Credentials_INCLUDED
|
||||
185
vendor/POCO/Net/include/Poco/Net/POP3ClientSession.h
vendored
Normal file
185
vendor/POCO/Net/include/Poco/Net/POP3ClientSession.h
vendored
Normal file
@@ -0,0 +1,185 @@
|
||||
//
|
||||
// POP3ClientSession.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: Mail
|
||||
// Module: POP3ClientSession
|
||||
//
|
||||
// Definition of the POP3ClientSession class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_POP3ClientSession_INCLUDED
|
||||
#define Net_POP3ClientSession_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/DialogSocket.h"
|
||||
#include "Poco/Timespan.h"
|
||||
#include <ostream>
|
||||
#include <vector>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class MessageHeader;
|
||||
class MailMessage;
|
||||
class PartHandler;
|
||||
|
||||
|
||||
class Net_API POP3ClientSession
|
||||
/// This class implements an Post Office Protocol
|
||||
/// Version 3 (POP3, RFC 1939)
|
||||
/// client for receiving e-mail messages.
|
||||
{
|
||||
public:
|
||||
enum
|
||||
{
|
||||
POP3_PORT = 110
|
||||
};
|
||||
|
||||
struct MessageInfo
|
||||
/// Information returned by listMessages().
|
||||
{
|
||||
int id;
|
||||
int size;
|
||||
};
|
||||
|
||||
using MessageInfoVec = std::vector<MessageInfo>;
|
||||
|
||||
explicit POP3ClientSession(const StreamSocket& socket);
|
||||
/// Creates the POP3ClientSession using
|
||||
/// the given socket, which must be connected
|
||||
/// to a POP3 server.
|
||||
|
||||
POP3ClientSession(const std::string& host, Poco::UInt16 port = POP3_PORT);
|
||||
/// Creates the POP3ClientSession using a socket connected
|
||||
/// to the given host and port.
|
||||
|
||||
virtual ~POP3ClientSession();
|
||||
/// Destroys the SMTPClientSession.
|
||||
|
||||
void setTimeout(const Poco::Timespan& timeout);
|
||||
/// Sets the timeout for socket read operations.
|
||||
|
||||
Poco::Timespan getTimeout() const;
|
||||
/// Returns the timeout for socket read operations.
|
||||
|
||||
void login(const std::string& username, const std::string& password);
|
||||
/// Logs in to the POP3 server by sending a USER command
|
||||
/// followed by a PASS command.
|
||||
///
|
||||
/// Throws a POP3Exception in case of a POP3-specific error, or a
|
||||
/// NetException in case of a general network communication failure.
|
||||
|
||||
void close();
|
||||
/// Sends a QUIT command and closes the connection to the server.
|
||||
///
|
||||
/// Throws a POP3Exception in case of a POP3-specific error, or a
|
||||
/// NetException in case of a general network communication failure.
|
||||
|
||||
int messageCount();
|
||||
/// Sends a STAT command to determine the number of messages
|
||||
/// available on the server and returns that number.
|
||||
///
|
||||
/// Throws a POP3Exception in case of a POP3-specific error, or a
|
||||
/// NetException in case of a general network communication failure.
|
||||
|
||||
void listMessages(MessageInfoVec& messages);
|
||||
/// Fills the given vector with the ids and sizes of all
|
||||
/// messages available on the server.
|
||||
///
|
||||
/// Throws a POP3Exception in case of a POP3-specific error, or a
|
||||
/// NetException in case of a general network communication failure.
|
||||
|
||||
void retrieveMessage(int id, MailMessage& message);
|
||||
/// Retrieves the message with the given id from the server and
|
||||
/// stores the raw message content in the message's
|
||||
/// content string, available with message.getContent().
|
||||
///
|
||||
/// Throws a POP3Exception in case of a POP3-specific error, or a
|
||||
/// NetException in case of a general network communication failure.
|
||||
|
||||
void retrieveMessage(int id, MailMessage& message, PartHandler& handler);
|
||||
/// Retrieves the message with the given id from the server and
|
||||
/// stores it in message.
|
||||
///
|
||||
/// If the message has multiple parts, the parts
|
||||
/// are reported to the PartHandler. If the message
|
||||
/// is not a multi-part message, the content is stored
|
||||
/// in a string available by calling message.getContent().
|
||||
///
|
||||
/// Throws a POP3Exception in case of a POP3-specific error, or a
|
||||
/// NetException in case of a general network communication failure.
|
||||
|
||||
void retrieveMessage(int id, std::ostream& ostr);
|
||||
/// Retrieves the raw message with the given id from the
|
||||
/// server and copies it to the given output stream.
|
||||
///
|
||||
/// Throws a POP3Exception in case of a POP3-specific error, or a
|
||||
/// NetException in case of a general network communication failure.
|
||||
|
||||
void retrieveHeader(int id, MessageHeader& header);
|
||||
/// Retrieves the message header of the message with the
|
||||
/// given id and stores it in header.
|
||||
///
|
||||
/// For this to work, the server must support the TOP command.
|
||||
///
|
||||
/// Throws a POP3Exception in case of a POP3-specific error, or a
|
||||
/// NetException in case of a general network communication failure.
|
||||
|
||||
void deleteMessage(int id);
|
||||
/// Marks the message with the given ID for deletion. The message
|
||||
/// will be deleted when the connection to the server is
|
||||
/// closed by calling close().
|
||||
///
|
||||
/// Throws a POP3Exception in case of a POP3-specific error, or a
|
||||
/// NetException in case of a general network communication failure.
|
||||
|
||||
bool sendCommand(const std::string& command, std::string& response);
|
||||
/// Sends the given command verbatim to the server
|
||||
/// and waits for a response.
|
||||
///
|
||||
/// Returns true if the response is positive, false otherwise.
|
||||
///
|
||||
/// Throws a POP3Exception in case of a POP3-specific error, or a
|
||||
/// NetException in case of a general network communication failure.
|
||||
|
||||
bool sendCommand(const std::string& command, const std::string& arg, std::string& response);
|
||||
/// Sends the given command verbatim to the server
|
||||
/// and waits for a response.
|
||||
///
|
||||
/// Returns true if the response is positive, false otherwise.
|
||||
///
|
||||
/// Throws a POP3Exception in case of a POP3-specific error, or a
|
||||
/// NetException in case of a general network communication failure.
|
||||
|
||||
bool sendCommand(const std::string& command, const std::string& arg1, const std::string& arg2, std::string& response);
|
||||
/// Sends the given command verbatim to the server
|
||||
/// and waits for a response.
|
||||
///
|
||||
/// Returns true if the response is positive, false otherwise.
|
||||
///
|
||||
/// Throws a POP3Exception in case of a POP3-specific error, or a
|
||||
/// NetException in case of a general network communication failure.
|
||||
|
||||
protected:
|
||||
static bool isPositive(const std::string& response);
|
||||
|
||||
private:
|
||||
DialogSocket _socket;
|
||||
bool _isOpen;
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_POP3ClientSession_INCLUDED
|
||||
242
vendor/POCO/Net/include/Poco/Net/ParallelSocketAcceptor.h
vendored
Normal file
242
vendor/POCO/Net/include/Poco/Net/ParallelSocketAcceptor.h
vendored
Normal file
@@ -0,0 +1,242 @@
|
||||
//
|
||||
// ParallelSocketAcceptor.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: Reactor
|
||||
// Module: ParallelSocketAcceptor
|
||||
//
|
||||
// Definition of the ParallelSocketAcceptor class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_ParallelSocketAcceptor_INCLUDED
|
||||
#define Net_ParallelSocketAcceptor_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/ParallelSocketReactor.h"
|
||||
#include "Poco/Net/StreamSocket.h"
|
||||
#include "Poco/Net/ServerSocket.h"
|
||||
#include "Poco/Environment.h"
|
||||
#include "Poco/NObserver.h"
|
||||
#include "Poco/SharedPtr.h"
|
||||
#include <vector>
|
||||
|
||||
|
||||
using Poco::Net::Socket;
|
||||
using Poco::Net::SocketReactor;
|
||||
using Poco::Net::ServerSocket;
|
||||
using Poco::Net::StreamSocket;
|
||||
using Poco::NObserver;
|
||||
using Poco::AutoPtr;
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
template <class ServiceHandler, class SR>
|
||||
class ParallelSocketAcceptor
|
||||
/// This class implements the Acceptor part of the Acceptor-Connector design pattern.
|
||||
/// Only the difference from single-threaded version is documented here, For full
|
||||
/// description see Poco::Net::SocketAcceptor documentation.
|
||||
///
|
||||
/// This is a multi-threaded version of SocketAcceptor, it differs from the
|
||||
/// single-threaded version in number of reactors (defaulting to number of processors)
|
||||
/// that can be specified at construction time and is rotated in a round-robin fashion
|
||||
/// by event handler. See ParallelSocketAcceptor::onAccept and
|
||||
/// ParallelSocketAcceptor::createServiceHandler documentation and implementation for
|
||||
/// details.
|
||||
{
|
||||
public:
|
||||
using ParallelReactor = Poco::Net::ParallelSocketReactor<SR>;
|
||||
using Observer = Poco::Observer<ParallelSocketAcceptor, ReadableNotification>;
|
||||
|
||||
explicit ParallelSocketAcceptor(ServerSocket& socket,
|
||||
unsigned threads = Poco::Environment::processorCount()):
|
||||
_socket(socket),
|
||||
_pReactor(0),
|
||||
_threads(threads),
|
||||
_next(0)
|
||||
/// Creates a ParallelSocketAcceptor using the given ServerSocket,
|
||||
/// sets number of threads and populates the reactors vector.
|
||||
{
|
||||
init();
|
||||
}
|
||||
|
||||
ParallelSocketAcceptor(ServerSocket& socket,
|
||||
SocketReactor& reactor,
|
||||
unsigned threads = Poco::Environment::processorCount()):
|
||||
_socket(socket),
|
||||
_pReactor(&reactor),
|
||||
_threads(threads),
|
||||
_next(0)
|
||||
/// Creates a ParallelSocketAcceptor using the given ServerSocket, sets the
|
||||
/// number of threads, populates the reactors vector and registers itself
|
||||
/// with the given SocketReactor.
|
||||
{
|
||||
init();
|
||||
_pReactor->addEventHandler(_socket, Observer(*this, &ParallelSocketAcceptor::onAccept));
|
||||
}
|
||||
|
||||
virtual ~ParallelSocketAcceptor()
|
||||
/// Destroys the ParallelSocketAcceptor.
|
||||
{
|
||||
try
|
||||
{
|
||||
if (_pReactor)
|
||||
{
|
||||
_pReactor->removeEventHandler(_socket, Observer(*this, &ParallelSocketAcceptor::onAccept));
|
||||
}
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
poco_unexpected();
|
||||
}
|
||||
}
|
||||
|
||||
void setReactor(SocketReactor& reactor)
|
||||
/// Sets the reactor for this acceptor.
|
||||
{
|
||||
registerAcceptor(reactor);
|
||||
}
|
||||
|
||||
virtual void registerAcceptor(SocketReactor& reactor)
|
||||
/// Registers the ParallelSocketAcceptor with a SocketReactor.
|
||||
///
|
||||
/// A subclass can override this function to e.g.
|
||||
/// register an event handler for timeout event.
|
||||
///
|
||||
/// The overriding method must either call the base class
|
||||
/// implementation or register the accept handler on its own.
|
||||
{
|
||||
_pReactor = &reactor;
|
||||
if (!_pReactor->hasEventHandler(_socket, Observer(*this, &ParallelSocketAcceptor::onAccept)))
|
||||
{
|
||||
_pReactor->addEventHandler(_socket, Observer(*this, &ParallelSocketAcceptor::onAccept));
|
||||
}
|
||||
}
|
||||
|
||||
virtual void unregisterAcceptor()
|
||||
/// Unregisters the ParallelSocketAcceptor.
|
||||
///
|
||||
/// A subclass can override this function to e.g.
|
||||
/// unregister its event handler for a timeout event.
|
||||
///
|
||||
/// The overriding method must either call the base class
|
||||
/// implementation or unregister the accept handler on its own.
|
||||
{
|
||||
if (_pReactor)
|
||||
{
|
||||
_pReactor->removeEventHandler(_socket, Observer(*this, &ParallelSocketAcceptor::onAccept));
|
||||
}
|
||||
}
|
||||
|
||||
void onAccept(ReadableNotification* pNotification)
|
||||
/// Accepts connection and creates event handler.
|
||||
{
|
||||
pNotification->release();
|
||||
StreamSocket sock = _socket.acceptConnection();
|
||||
_pReactor->wakeUp();
|
||||
createServiceHandler(sock);
|
||||
}
|
||||
|
||||
protected:
|
||||
typedef std::vector<typename ParallelReactor::Ptr> ReactorVec;
|
||||
|
||||
virtual ServiceHandler* createServiceHandler(StreamSocket& socket)
|
||||
/// Create and initialize a new ServiceHandler instance.
|
||||
/// If socket is already registered with a reactor, the new
|
||||
/// ServiceHandler instance is given that reactor; otherwise,
|
||||
/// the next reactor is used. Reactors are rotated in round-robin
|
||||
/// fashion.
|
||||
///
|
||||
/// Subclasses can override this method.
|
||||
{
|
||||
SocketReactor* pReactor = reactor(socket);
|
||||
if (!pReactor)
|
||||
{
|
||||
std::size_t next = _next++;
|
||||
if (_next == _reactors.size()) _next = 0;
|
||||
pReactor = _reactors[next];
|
||||
}
|
||||
pReactor->wakeUp();
|
||||
return new ServiceHandler(socket, *pReactor);
|
||||
}
|
||||
|
||||
SocketReactor* reactor(const Socket& socket)
|
||||
/// Returns reactor where this socket is already registered
|
||||
/// for polling, if found; otherwise returns null pointer.
|
||||
{
|
||||
typename ReactorVec::iterator it = _reactors.begin();
|
||||
typename ReactorVec::iterator end = _reactors.end();
|
||||
for (; it != end; ++it)
|
||||
{
|
||||
if ((*it)->has(socket)) return it->get();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
SocketReactor* reactor()
|
||||
/// Returns a pointer to the SocketReactor where
|
||||
/// this SocketAcceptor is registered.
|
||||
///
|
||||
/// The pointer may be null.
|
||||
{
|
||||
return _pReactor;
|
||||
}
|
||||
|
||||
Socket& socket()
|
||||
/// Returns a reference to the SocketAcceptor's socket.
|
||||
{
|
||||
return _socket;
|
||||
}
|
||||
|
||||
void init()
|
||||
/// Populates the reactors vector.
|
||||
{
|
||||
poco_assert (_threads > 0);
|
||||
|
||||
for (unsigned i = 0; i < _threads; ++i)
|
||||
_reactors.push_back(new ParallelReactor);
|
||||
}
|
||||
|
||||
ReactorVec& reactors()
|
||||
/// Returns reference to vector of reactors.
|
||||
{
|
||||
return _reactors;
|
||||
}
|
||||
|
||||
SocketReactor* reactor(std::size_t idx)
|
||||
/// Returns reference to the reactor at position idx.
|
||||
{
|
||||
return _reactors.at(idx).get();
|
||||
}
|
||||
|
||||
std::size_t next()
|
||||
/// Returns the next reactor index.
|
||||
{
|
||||
return _next;
|
||||
}
|
||||
|
||||
private:
|
||||
ParallelSocketAcceptor();
|
||||
ParallelSocketAcceptor(const ParallelSocketAcceptor&);
|
||||
ParallelSocketAcceptor& operator = (const ParallelSocketAcceptor&);
|
||||
|
||||
ServerSocket _socket;
|
||||
SocketReactor* _pReactor;
|
||||
unsigned _threads;
|
||||
ReactorVec _reactors;
|
||||
std::size_t _next;
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_ParallelSocketAcceptor_INCLUDED
|
||||
90
vendor/POCO/Net/include/Poco/Net/ParallelSocketReactor.h
vendored
Normal file
90
vendor/POCO/Net/include/Poco/Net/ParallelSocketReactor.h
vendored
Normal file
@@ -0,0 +1,90 @@
|
||||
//
|
||||
// ParallelSocketReactor.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: Reactor
|
||||
// Module: ParallelSocketReactor
|
||||
//
|
||||
// Definition of the ParallelSocketReactor class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_ParallelSocketReactor_INCLUDED
|
||||
#define Net_ParallelSocketReactor_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/SocketReactor.h"
|
||||
#include "Poco/Net/SocketNotification.h"
|
||||
#include "Poco/Net/StreamSocket.h"
|
||||
#include "Poco/Net/ServerSocket.h"
|
||||
#include "Poco/NObserver.h"
|
||||
#include "Poco/Thread.h"
|
||||
#include "Poco/SharedPtr.h"
|
||||
|
||||
|
||||
using Poco::Net::Socket;
|
||||
using Poco::Net::SocketReactor;
|
||||
using Poco::Net::ReadableNotification;
|
||||
using Poco::Net::ShutdownNotification;
|
||||
using Poco::Net::ServerSocket;
|
||||
using Poco::Net::StreamSocket;
|
||||
using Poco::NObserver;
|
||||
using Poco::AutoPtr;
|
||||
using Poco::Thread;
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
template <class SR>
|
||||
class ParallelSocketReactor: public SR
|
||||
{
|
||||
public:
|
||||
using Ptr = Poco::SharedPtr<ParallelSocketReactor>;
|
||||
|
||||
ParallelSocketReactor()
|
||||
{
|
||||
_thread.start(*this);
|
||||
}
|
||||
|
||||
ParallelSocketReactor(const Poco::Timespan& timeout):
|
||||
SR(timeout)
|
||||
{
|
||||
_thread.start(*this);
|
||||
}
|
||||
|
||||
~ParallelSocketReactor()
|
||||
{
|
||||
try
|
||||
{
|
||||
this->stop();
|
||||
_thread.join();
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
poco_unexpected();
|
||||
}
|
||||
}
|
||||
|
||||
protected:
|
||||
void onIdle()
|
||||
{
|
||||
SR::onIdle();
|
||||
Poco::Thread::yield();
|
||||
}
|
||||
|
||||
private:
|
||||
Poco::Thread _thread;
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_ParallelSocketReactor_INCLUDED
|
||||
68
vendor/POCO/Net/include/Poco/Net/PartHandler.h
vendored
Normal file
68
vendor/POCO/Net/include/Poco/Net/PartHandler.h
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
//
|
||||
// PartHandler.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: Messages
|
||||
// Module: PartHandler
|
||||
//
|
||||
// Definition of the PartHandler class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_PartHandler_INCLUDED
|
||||
#define Net_PartHandler_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include <istream>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class MessageHeader;
|
||||
|
||||
|
||||
class Net_API PartHandler
|
||||
/// The base class for all part or attachment handlers.
|
||||
///
|
||||
/// Part handlers are used for handling email parts and
|
||||
/// attachments in MIME multipart messages, as well as file
|
||||
/// uploads via HTML forms.
|
||||
///
|
||||
/// Subclasses must override handlePart().
|
||||
{
|
||||
public:
|
||||
virtual void handlePart(const MessageHeader& header, std::istream& stream) = 0;
|
||||
/// Called for every part encountered during the processing
|
||||
/// of an email message or an uploaded HTML form.
|
||||
///
|
||||
/// Information about the part can be extracted from
|
||||
/// the given message header. What information can be obtained
|
||||
/// from header depends on the kind of part.
|
||||
///
|
||||
/// The content of the part can be read from stream.
|
||||
|
||||
protected:
|
||||
PartHandler();
|
||||
/// Creates the PartHandler.
|
||||
|
||||
virtual ~PartHandler();
|
||||
/// Destroys the PartHandler.
|
||||
|
||||
private:
|
||||
PartHandler(const PartHandler&);
|
||||
PartHandler& operator = (const PartHandler&);
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_PartHandler_INCLUDED
|
||||
110
vendor/POCO/Net/include/Poco/Net/PartSource.h
vendored
Normal file
110
vendor/POCO/Net/include/Poco/Net/PartSource.h
vendored
Normal file
@@ -0,0 +1,110 @@
|
||||
//
|
||||
// PartSource.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: Messages
|
||||
// Module: PartSource
|
||||
//
|
||||
// Definition of the PartSource class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_PartSource_INCLUDED
|
||||
#define Net_PartSource_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/MessageHeader.h"
|
||||
#include <istream>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API PartSource
|
||||
/// This abstract class is used for adding parts or attachments
|
||||
/// to mail messages, as well as for uploading files as part of a HTML form.
|
||||
{
|
||||
public:
|
||||
virtual std::istream& stream() = 0;
|
||||
/// Returns an input stream for reading the
|
||||
/// part data.
|
||||
///
|
||||
/// Subclasses must override this method.
|
||||
|
||||
virtual const std::string& filename() const;
|
||||
/// Returns the filename for the part or attachment.
|
||||
///
|
||||
/// May be overridden by subclasses. The default
|
||||
/// implementation returns an empty string.
|
||||
|
||||
const std::string& mediaType() const;
|
||||
/// Returns the MIME media type for this part or attachment.
|
||||
|
||||
MessageHeader& headers();
|
||||
/// Returns a MessageHeader containing additional header
|
||||
/// fields for the part.
|
||||
|
||||
const MessageHeader& headers() const;
|
||||
/// Returns a MessageHeader containing additional header
|
||||
/// fields for the part.
|
||||
|
||||
virtual std::streamsize getContentLength() const;
|
||||
/// Returns the content length for this part
|
||||
/// which may be UNKNOWN_CONTENT_LENGTH if
|
||||
/// not available.
|
||||
|
||||
virtual ~PartSource();
|
||||
/// Destroys the PartSource.
|
||||
|
||||
static const int UNKNOWN_CONTENT_LENGTH;
|
||||
|
||||
protected:
|
||||
PartSource();
|
||||
/// Creates the PartSource, using
|
||||
/// the application/octet-stream MIME type.
|
||||
|
||||
PartSource(const std::string& mediaType);
|
||||
/// Creates the PartSource, using the
|
||||
/// given MIME type.
|
||||
|
||||
private:
|
||||
PartSource(const PartSource&);
|
||||
PartSource& operator = (const PartSource&);
|
||||
|
||||
std::string _mediaType;
|
||||
MessageHeader _headers;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline const std::string& PartSource::mediaType() const
|
||||
{
|
||||
return _mediaType;
|
||||
}
|
||||
|
||||
|
||||
inline MessageHeader& PartSource::headers()
|
||||
{
|
||||
return _headers;
|
||||
}
|
||||
|
||||
|
||||
inline const MessageHeader& PartSource::headers() const
|
||||
{
|
||||
return _headers;
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_PartSource_INCLUDED
|
||||
106
vendor/POCO/Net/include/Poco/Net/PartStore.h
vendored
Normal file
106
vendor/POCO/Net/include/Poco/Net/PartStore.h
vendored
Normal file
@@ -0,0 +1,106 @@
|
||||
//
|
||||
// PartStore.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: Messages
|
||||
// Module: PartStore
|
||||
//
|
||||
// Definition of the PartStore class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_PartStore_INCLUDED
|
||||
#define Net_PartStore_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/PartSource.h"
|
||||
#include "Poco/FileStream.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API PartStore: public PartSource
|
||||
/// A parent class for part stores storing message parts.
|
||||
{
|
||||
public:
|
||||
PartStore(const std::string& mediaType);
|
||||
/// Creates the PartStore for the given MIME type.
|
||||
|
||||
~PartStore();
|
||||
/// Destroys the PartFileStore.
|
||||
|
||||
private:
|
||||
PartStore();
|
||||
};
|
||||
|
||||
|
||||
class Net_API FilePartStore: public PartStore
|
||||
/// An implementation of PartSource for persisting
|
||||
/// parts (usually email attachment files) to the file system.
|
||||
{
|
||||
public:
|
||||
FilePartStore(const std::string& content, const std::string& mediaType, const std::string& filename = "");
|
||||
/// Creates the FilePartStore for the given MIME type.
|
||||
/// For security purposes, attachment filename is NOT used to save file to the file system.
|
||||
/// A unique temporary file name is used to persist the file.
|
||||
/// The given filename parameter is the message part (attachment) filename (see filename()) only.
|
||||
///
|
||||
/// Throws an exception if the file cannot be opened.
|
||||
|
||||
~FilePartStore();
|
||||
/// Destroys the FilePartStore.
|
||||
|
||||
std::istream& stream();
|
||||
/// Returns a file input stream for the given file.
|
||||
|
||||
const std::string& filename() const;
|
||||
/// Returns the filename portion of the path.
|
||||
/// This is the name under which the file is known
|
||||
/// to the user of this class (typically, MailMessage
|
||||
/// class). The real name of the file as saved
|
||||
/// to the filesystem can be obtained by calling
|
||||
/// path() member function.
|
||||
|
||||
const std::string& path() const;
|
||||
/// Returns the full path to the file as saved
|
||||
/// to the file system. For security reasons,
|
||||
/// file is not saved under the real file name
|
||||
/// (as specified by the user).
|
||||
|
||||
private:
|
||||
std::string _filename;
|
||||
std::string _path;
|
||||
Poco::FileStream _fstr;
|
||||
};
|
||||
|
||||
|
||||
class PartStoreFactory
|
||||
/// Parent factory class for part stores creation.
|
||||
{
|
||||
public:
|
||||
virtual PartSource* createPartStore(const std::string& content, const std::string& mediaType, const std::string& filename = "") = 0;
|
||||
};
|
||||
|
||||
|
||||
class FilePartStoreFactory: public PartStoreFactory
|
||||
{
|
||||
public:
|
||||
PartSource* createPartStore(const std::string& content, const std::string& mediaType, const std::string& filename = "")
|
||||
{
|
||||
return new FilePartStore(content, mediaType, filename);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_PartStore_INCLUDED
|
||||
92
vendor/POCO/Net/include/Poco/Net/PollSet.h
vendored
Normal file
92
vendor/POCO/Net/include/Poco/Net/PollSet.h
vendored
Normal file
@@ -0,0 +1,92 @@
|
||||
//
|
||||
// PollSet.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: Sockets
|
||||
// Module: PollSet
|
||||
//
|
||||
// Definition of the PollSet class.
|
||||
//
|
||||
// Copyright (c) 2016, Applied Informatics Software Engineering GmbH.
|
||||
// All rights reserved.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_PollSet_INCLUDED
|
||||
#define Net_PollSet_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Socket.h"
|
||||
#include <map>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class PollSetImpl;
|
||||
|
||||
|
||||
class Net_API PollSet
|
||||
/// A set of sockets that can be efficiently polled as a whole.
|
||||
///
|
||||
/// If supported, PollSet is implemented using epoll (Linux) or
|
||||
/// poll (BSD) APIs. A fallback implementation using select()
|
||||
/// is also provided.
|
||||
{
|
||||
public:
|
||||
enum Mode
|
||||
{
|
||||
POLL_READ = 0x01,
|
||||
POLL_WRITE = 0x02,
|
||||
POLL_ERROR = 0x04
|
||||
};
|
||||
|
||||
using SocketModeMap = std::map<Poco::Net::Socket, int>;
|
||||
|
||||
PollSet();
|
||||
/// Creates an empty PollSet.
|
||||
|
||||
~PollSet();
|
||||
/// Destroys the PollSet.
|
||||
|
||||
void add(const Poco::Net::Socket& socket, int mode);
|
||||
/// Adds the given socket to the set, for polling with
|
||||
/// the given mode, which can be an OR'd combination of
|
||||
/// POLL_READ, POLL_WRITE and POLL_ERROR.
|
||||
|
||||
void remove(const Poco::Net::Socket& socket);
|
||||
/// Removes the given socket from the set.
|
||||
|
||||
void update(const Poco::Net::Socket& socket, int mode);
|
||||
/// Updates the mode of the given socket.
|
||||
|
||||
bool has(const Socket& socket) const;
|
||||
/// Returns true if socket is registered for polling.
|
||||
|
||||
bool empty() const;
|
||||
/// Returns true if no socket is registered for polling.
|
||||
|
||||
void clear();
|
||||
/// Removes all sockets from the PollSet.
|
||||
|
||||
SocketModeMap poll(const Poco::Timespan& timeout);
|
||||
/// Waits until the state of at least one of the PollSet's sockets
|
||||
/// changes accordingly to its mode, or the timeout expires.
|
||||
/// Returns a PollMap containing the sockets that have had
|
||||
/// their state changed.
|
||||
|
||||
private:
|
||||
PollSetImpl* _pImpl;
|
||||
|
||||
PollSet(const PollSet&);
|
||||
PollSet& operator = (const PollSet&);
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_PollSet_INCLUDED
|
||||
86
vendor/POCO/Net/include/Poco/Net/QuotedPrintableDecoder.h
vendored
Normal file
86
vendor/POCO/Net/include/Poco/Net/QuotedPrintableDecoder.h
vendored
Normal file
@@ -0,0 +1,86 @@
|
||||
//
|
||||
// QuotedPrintableDecoder.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: Messages
|
||||
// Module: QuotedPrintableDecoder
|
||||
//
|
||||
// Definition of the QuotedPrintableDecoder class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_QuotedPrintableDecoder_INCLUDED
|
||||
#define Net_QuotedPrintableDecoder_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/UnbufferedStreamBuf.h"
|
||||
#include <istream>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API QuotedPrintableDecoderBuf: public Poco::UnbufferedStreamBuf
|
||||
/// This streambuf decodes all quoted-printable (see RFC 2045)
|
||||
/// encoded data read from the istream connected to it.
|
||||
///
|
||||
/// Note: For performance reasons, the characters
|
||||
/// are read directly from the given istream's
|
||||
/// underlying streambuf, so the state
|
||||
/// of the istream will not reflect that of
|
||||
/// its streambuf.
|
||||
{
|
||||
public:
|
||||
QuotedPrintableDecoderBuf(std::istream& istr);
|
||||
~QuotedPrintableDecoderBuf();
|
||||
|
||||
private:
|
||||
int readFromDevice();
|
||||
|
||||
std::streambuf& _buf;
|
||||
};
|
||||
|
||||
|
||||
class Net_API QuotedPrintableDecoderIOS: public virtual std::ios
|
||||
/// The base class for QuotedPrintableDecoder.
|
||||
///
|
||||
/// This class is needed to ensure the correct initialization
|
||||
/// order of the stream buffer and base classes.
|
||||
{
|
||||
public:
|
||||
QuotedPrintableDecoderIOS(std::istream& istr);
|
||||
~QuotedPrintableDecoderIOS();
|
||||
QuotedPrintableDecoderBuf* rdbuf();
|
||||
|
||||
protected:
|
||||
QuotedPrintableDecoderBuf _buf;
|
||||
};
|
||||
|
||||
|
||||
class Net_API QuotedPrintableDecoder: public QuotedPrintableDecoderIOS, public std::istream
|
||||
/// This istream decodes all quoted-printable (see RFC 2045)
|
||||
/// encoded data read from the istream connected to it.
|
||||
///
|
||||
/// Note: For performance reasons, the characters
|
||||
/// are read directly from the given istream's
|
||||
/// underlying streambuf, so the state
|
||||
/// of the istream will not reflect that of
|
||||
/// its streambuf.
|
||||
{
|
||||
public:
|
||||
QuotedPrintableDecoder(std::istream& istr);
|
||||
~QuotedPrintableDecoder();
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_QuotedPrintableDecoder_INCLUDED
|
||||
85
vendor/POCO/Net/include/Poco/Net/QuotedPrintableEncoder.h
vendored
Normal file
85
vendor/POCO/Net/include/Poco/Net/QuotedPrintableEncoder.h
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
//
|
||||
// QuotedPrintableEncoder.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: Messages
|
||||
// Module: QuotedPrintableEncoder
|
||||
//
|
||||
// Definition of the QuotedPrintableEncoder class.
|
||||
//
|
||||
// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_QuotedPrintableEncoder_INCLUDED
|
||||
#define Net_QuotedPrintableEncoder_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/UnbufferedStreamBuf.h"
|
||||
#include <ostream>
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API QuotedPrintableEncoderBuf: public Poco::UnbufferedStreamBuf
|
||||
/// This streambuf encodes all data written
|
||||
/// to it in quoted-printable encoding (see RFC 2045)
|
||||
/// and forwards it to a connected ostream.
|
||||
{
|
||||
public:
|
||||
QuotedPrintableEncoderBuf(std::ostream& ostr);
|
||||
~QuotedPrintableEncoderBuf();
|
||||
int close();
|
||||
|
||||
private:
|
||||
int writeToDevice(char c);
|
||||
void writeEncoded(char c);
|
||||
void writeRaw(char c);
|
||||
|
||||
int _pending;
|
||||
int _lineLength;
|
||||
std::ostream& _ostr;
|
||||
};
|
||||
|
||||
|
||||
class Net_API QuotedPrintableEncoderIOS: public virtual std::ios
|
||||
/// The base class for QuotedPrintableEncoder.
|
||||
///
|
||||
/// This class is needed to ensure the correct initialization
|
||||
/// order of the stream buffer and base classes.
|
||||
{
|
||||
public:
|
||||
QuotedPrintableEncoderIOS(std::ostream& ostr);
|
||||
~QuotedPrintableEncoderIOS();
|
||||
int close();
|
||||
QuotedPrintableEncoderBuf* rdbuf();
|
||||
|
||||
protected:
|
||||
QuotedPrintableEncoderBuf _buf;
|
||||
};
|
||||
|
||||
|
||||
class Net_API QuotedPrintableEncoder: public QuotedPrintableEncoderIOS, public std::ostream
|
||||
/// This ostream encodes all data
|
||||
/// written to it in quoted-printable encoding
|
||||
/// (see RFC 2045) and forwards it to a connected ostream.
|
||||
/// Always call close() when done
|
||||
/// writing data, to ensure proper
|
||||
/// completion of the encoding operation.
|
||||
{
|
||||
public:
|
||||
QuotedPrintableEncoder(std::ostream& ostr);
|
||||
~QuotedPrintableEncoder();
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_QuotedPrintableEncoder_INCLUDED
|
||||
161
vendor/POCO/Net/include/Poco/Net/RawSocket.h
vendored
Normal file
161
vendor/POCO/Net/include/Poco/Net/RawSocket.h
vendored
Normal file
@@ -0,0 +1,161 @@
|
||||
//
|
||||
// RawSocket.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: Sockets
|
||||
// Module: RawSocket
|
||||
//
|
||||
// Definition of the RawSocket class.
|
||||
//
|
||||
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_RawSocket_INCLUDED
|
||||
#define Net_RawSocket_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/Socket.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API RawSocket: public Socket
|
||||
/// This class provides an interface to a
|
||||
/// raw IP socket.
|
||||
{
|
||||
public:
|
||||
RawSocket();
|
||||
/// Creates an unconnected IPv4 raw socket.
|
||||
|
||||
RawSocket(SocketAddress::Family family, int proto = IPPROTO_RAW);
|
||||
/// Creates an unconnected raw socket.
|
||||
///
|
||||
/// The socket will be created for the
|
||||
/// given address family.
|
||||
|
||||
RawSocket(const SocketAddress& address, bool reuseAddress = false);
|
||||
/// Creates a raw socket and binds it
|
||||
/// to the given address.
|
||||
///
|
||||
/// Depending on the address family, the socket
|
||||
/// will be either an IPv4 or an IPv6 socket.
|
||||
|
||||
RawSocket(const Socket& socket);
|
||||
/// Creates the RawSocket with the SocketImpl
|
||||
/// from another socket. The SocketImpl must be
|
||||
/// a RawSocketImpl, otherwise an InvalidArgumentException
|
||||
/// will be thrown.
|
||||
|
||||
~RawSocket();
|
||||
/// Destroys the RawSocket.
|
||||
|
||||
RawSocket& operator = (const Socket& socket);
|
||||
/// Assignment operator.
|
||||
///
|
||||
/// Releases the socket's SocketImpl and
|
||||
/// attaches the SocketImpl from the other socket and
|
||||
/// increments the reference count of the SocketImpl.
|
||||
|
||||
void connect(const SocketAddress& address);
|
||||
/// Restricts incoming and outgoing
|
||||
/// packets to the specified address.
|
||||
///
|
||||
/// Calls to connect() cannot come before calls to bind().
|
||||
|
||||
void bind(const SocketAddress& address, bool reuseAddress = false);
|
||||
/// Bind a local address to the socket.
|
||||
///
|
||||
/// This is usually only done when establishing a server
|
||||
/// socket.
|
||||
///
|
||||
/// If reuseAddress is true, sets the SO_REUSEADDR
|
||||
/// socket option.
|
||||
///
|
||||
/// Calls to connect() cannot come before calls to bind().
|
||||
|
||||
void bind(const SocketAddress& address, bool reuseAddress, bool reusePort);
|
||||
/// Bind a local address to the socket.
|
||||
///
|
||||
/// This is usually only done when establishing a server
|
||||
/// socket.
|
||||
///
|
||||
/// If reuseAddress is true, sets the SO_REUSEADDR
|
||||
/// socket option.
|
||||
///
|
||||
/// If reusePort is true, sets the SO_REUSEPORT
|
||||
/// socket option.
|
||||
///
|
||||
/// Calls to connect() cannot come before calls to bind().
|
||||
|
||||
int sendBytes(const void* buffer, int length, int flags = 0);
|
||||
/// Sends the contents of the given buffer through
|
||||
/// the socket.
|
||||
///
|
||||
/// Returns the number of bytes sent, which may be
|
||||
/// less than the number of bytes specified.
|
||||
|
||||
int receiveBytes(void* buffer, int length, int flags = 0);
|
||||
/// Receives data from the socket and stores it
|
||||
/// in buffer. Up to length bytes are received.
|
||||
///
|
||||
/// Returns the number of bytes received.
|
||||
|
||||
int sendTo(const void* buffer, int length, const SocketAddress& address, int flags = 0);
|
||||
/// Sends the contents of the given buffer through
|
||||
/// the socket to the given address.
|
||||
///
|
||||
/// Returns the number of bytes sent, which may be
|
||||
/// less than the number of bytes specified.
|
||||
|
||||
int receiveFrom(void* buffer, int length, SocketAddress& address, int flags = 0);
|
||||
/// Receives data from the socket and stores it
|
||||
/// in buffer. Up to length bytes are received.
|
||||
/// Stores the address of the sender in address.
|
||||
///
|
||||
/// Returns the number of bytes received.
|
||||
|
||||
void setBroadcast(bool flag);
|
||||
/// Sets the value of the SO_BROADCAST socket option.
|
||||
///
|
||||
/// Setting this flag allows sending datagrams to
|
||||
/// the broadcast address.
|
||||
|
||||
bool getBroadcast() const;
|
||||
/// Returns the value of the SO_BROADCAST socket option.
|
||||
|
||||
protected:
|
||||
RawSocket(SocketImpl* pImpl);
|
||||
/// Creates the Socket and attaches the given SocketImpl.
|
||||
/// The socket takes ownership of the SocketImpl.
|
||||
///
|
||||
/// The SocketImpl must be a StreamSocketImpl, otherwise
|
||||
/// an InvalidArgumentException will be thrown.
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
inline void RawSocket::setBroadcast(bool flag)
|
||||
{
|
||||
impl()->setBroadcast(flag);
|
||||
}
|
||||
|
||||
|
||||
inline bool RawSocket::getBroadcast() const
|
||||
{
|
||||
return impl()->getBroadcast();
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_RawSocket_INCLUDED
|
||||
56
vendor/POCO/Net/include/Poco/Net/RawSocketImpl.h
vendored
Normal file
56
vendor/POCO/Net/include/Poco/Net/RawSocketImpl.h
vendored
Normal file
@@ -0,0 +1,56 @@
|
||||
//
|
||||
// RawSocketImpl.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: Sockets
|
||||
// Module: RawSocketImpl
|
||||
//
|
||||
// Definition of the RawSocketImpl class.
|
||||
//
|
||||
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_RawSocketImpl_INCLUDED
|
||||
#define Net_RawSocketImpl_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Net/SocketImpl.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API RawSocketImpl: public SocketImpl
|
||||
/// This class implements a raw socket.
|
||||
{
|
||||
public:
|
||||
RawSocketImpl();
|
||||
/// Creates an unconnected IPv4 raw socket with IPPROTO_RAW.
|
||||
|
||||
RawSocketImpl(SocketAddress::Family family, int proto = IPPROTO_RAW);
|
||||
/// Creates an unconnected raw socket.
|
||||
///
|
||||
/// The socket will be created for the
|
||||
/// given address family.
|
||||
|
||||
RawSocketImpl(poco_socket_t sockfd);
|
||||
/// Creates a RawSocketImpl using the given native socket.
|
||||
|
||||
protected:
|
||||
void init(int af);
|
||||
void init2(int af, int proto);
|
||||
|
||||
~RawSocketImpl();
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_RawSocketImpl_INCLUDED
|
||||
161
vendor/POCO/Net/include/Poco/Net/RemoteSyslogChannel.h
vendored
Normal file
161
vendor/POCO/Net/include/Poco/Net/RemoteSyslogChannel.h
vendored
Normal file
@@ -0,0 +1,161 @@
|
||||
//
|
||||
// RemoteSyslogChannel.h
|
||||
//
|
||||
// Library: Net
|
||||
// Package: Logging
|
||||
// Module: RemoteSyslogChannel
|
||||
//
|
||||
// Definition of the RemoteSyslogChannel class.
|
||||
//
|
||||
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#ifndef Net_RemoteSyslogChannel_INCLUDED
|
||||
#define Net_RemoteSyslogChannel_INCLUDED
|
||||
|
||||
|
||||
#include "Poco/Net/Net.h"
|
||||
#include "Poco/Channel.h"
|
||||
#include "Poco/Mutex.h"
|
||||
#include "Poco/Net/DatagramSocket.h"
|
||||
#include "Poco/Net/SocketAddress.h"
|
||||
#include "Poco/AutoPtr.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
namespace Net {
|
||||
|
||||
|
||||
class Net_API RemoteSyslogChannel: public Poco::Channel
|
||||
/// This Channel implements remote syslog logging over UDP according
|
||||
/// to RFC 5424 "The Syslog Protocol"
|
||||
/// and RFC 5426 "Transmission of syslog messages over UDP".
|
||||
///
|
||||
/// In addition, RemoteSyslogListener also supports the "old" BSD syslog
|
||||
/// protocol, as described in RFC 3164.
|
||||
///
|
||||
/// RFC 5425 structured data can be passed via the "structured-data"
|
||||
/// property of the log Message. The content of the "structured-data"
|
||||
/// property must be correct according to RFC 5425.
|
||||
///
|
||||
/// Example:
|
||||
/// msg.set("structured-data", "[exampleSDID@32473 iut=\"3\" eventSource=\"Application\" eventID=\"1011\"]");
|
||||
{
|
||||
public:
|
||||
using Ptr = Poco::AutoPtr<RemoteSyslogChannel>;
|
||||
|
||||
static const std::string BSD_TIMEFORMAT;
|
||||
static const std::string SYSLOG_TIMEFORMAT;
|
||||
|
||||
enum Severity
|
||||
{
|
||||
SYSLOG_EMERGENCY = 0, /// Emergency: system is unusable
|
||||
SYSLOG_ALERT = 1, /// Alert: action must be taken immediately
|
||||
SYSLOG_CRITICAL = 2, /// Critical: critical conditions
|
||||
SYSLOG_ERROR = 3, /// Error: error conditions
|
||||
SYSLOG_WARNING = 4, /// Warning: warning conditions
|
||||
SYSLOG_NOTICE = 5, /// Notice: normal but significant condition
|
||||
SYSLOG_INFORMATIONAL = 6, /// Informational: informational messages
|
||||
SYSLOG_DEBUG = 7 /// Debug: debug-level messages
|
||||
};
|
||||
|
||||
enum Facility
|
||||
{
|
||||
SYSLOG_KERN = ( 0<<3), /// kernel messages
|
||||
SYSLOG_USER = ( 1<<3), /// random user-level messages
|
||||
SYSLOG_MAIL = ( 2<<3), /// mail system
|
||||
SYSLOG_DAEMON = ( 3<<3), /// system daemons
|
||||
SYSLOG_AUTH = ( 4<<3), /// security/authorization messages
|
||||
SYSLOG_SYSLOG = ( 5<<3), /// messages generated internally by syslogd
|
||||
SYSLOG_LPR = ( 6<<3), /// line printer subsystem
|
||||
SYSLOG_NEWS = ( 7<<3), /// network news subsystem
|
||||
SYSLOG_UUCP = ( 8<<3), /// UUCP subsystem
|
||||
SYSLOG_CRON = ( 9<<3), /// clock daemon
|
||||
SYSLOG_AUTHPRIV = (10<<3), /// security/authorization messages (private)
|
||||
SYSLOG_FTP = (11<<3), /// ftp daemon
|
||||
SYSLOG_NTP = (12<<3), /// ntp subsystem
|
||||
SYSLOG_LOGAUDIT = (13<<3), /// log audit
|
||||
SYSLOG_LOGALERT = (14<<3), /// log alert
|
||||
SYSLOG_CLOCK = (15<<3), /// clock daemon
|
||||
SYSLOG_LOCAL0 = (16<<3), /// reserved for local use
|
||||
SYSLOG_LOCAL1 = (17<<3), /// reserved for local use
|
||||
SYSLOG_LOCAL2 = (18<<3), /// reserved for local use
|
||||
SYSLOG_LOCAL3 = (19<<3), /// reserved for local use
|
||||
SYSLOG_LOCAL4 = (20<<3), /// reserved for local use
|
||||
SYSLOG_LOCAL5 = (21<<3), /// reserved for local use
|
||||
SYSLOG_LOCAL6 = (22<<3), /// reserved for local use
|
||||
SYSLOG_LOCAL7 = (23<<3) /// reserved for local use
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
SYSLOG_PORT = 514
|
||||
};
|
||||
|
||||
RemoteSyslogChannel();
|
||||
/// Creates a RemoteSyslogChannel.
|
||||
|
||||
RemoteSyslogChannel(const std::string& address, const std::string& name, int facility = SYSLOG_USER, bool bsdFormat = false);
|
||||
/// Creates a RemoteSyslogChannel with the given target address, name, and facility.
|
||||
/// If bsdFormat is true, messages are formatted according to RFC 3164.
|
||||
|
||||
void open();
|
||||
/// Opens the RemoteSyslogChannel.
|
||||
|
||||
void close();
|
||||
/// Closes the RemoteSyslogChannel.
|
||||
|
||||
void log(const Message& msg);
|
||||
/// Sends the message's text to the syslog service.
|
||||
|
||||
void setProperty(const std::string& name, const std::string& value);
|
||||
/// Sets the property with the given value.
|
||||
///
|
||||
/// The following properties are supported:
|
||||
/// * name: The name used to identify the source of log messages.
|
||||
/// * facility: The facility added to each log message. See the Facility enumeration for a list of supported values.
|
||||
/// The LOG_ prefix can be omitted and values are case insensitive (e.g. a facility value "mail" is recognized as SYSLOG_MAIL)
|
||||
/// * format: "bsd"/"rfc3164" (RFC 3164 format) or "new"/"rfc5424" (default)
|
||||
/// * loghost: The target IP address or host name where log messages are sent. Optionally, a port number (separated
|
||||
/// by a colon) can also be specified.
|
||||
/// * host: (optional) Host name included in syslog messages. If not specified, the host's real domain name or
|
||||
/// IP address will be used.
|
||||
|
||||
std::string getProperty(const std::string& name) const;
|
||||
/// Returns the value of the property with the given name.
|
||||
|
||||
static void registerChannel();
|
||||
/// Registers the channel with the global LoggingFactory.
|
||||
|
||||
static const std::string PROP_NAME;
|
||||
static const std::string PROP_FACILITY;
|
||||
static const std::string PROP_FORMAT;
|
||||
static const std::string PROP_LOGHOST;
|
||||
static const std::string PROP_HOST;
|
||||
static const std::string STRUCTURED_DATA;
|
||||
|
||||
protected:
|
||||
~RemoteSyslogChannel();
|
||||
static int getPrio(const Message& msg);
|
||||
|
||||
private:
|
||||
std::string _logHost;
|
||||
std::string _name;
|
||||
std::string _host;
|
||||
int _facility;
|
||||
bool _bsdFormat;
|
||||
DatagramSocket _socket;
|
||||
SocketAddress _socketAddress;
|
||||
bool _open;
|
||||
mutable Poco::FastMutex _mutex;
|
||||
};
|
||||
|
||||
|
||||
} } // namespace Poco::Net
|
||||
|
||||
|
||||
#endif // Net_RemoteSyslogChannel_INCLUDED
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user