Merge branch 'develop' into feature/mail-msg-decode

This commit is contained in:
Alex Fabijanic 2017-11-03 21:51:44 -05:00
commit 6fbbb0648c
43 changed files with 2542 additions and 1919 deletions

View File

@ -40,19 +40,19 @@ public:
DigestEngine();
virtual ~DigestEngine();
void update(const void* data, std::size_t length);
void update(char data);
void update(const std::string& data);
/// Updates the digest with the given data.
virtual std::size_t digestLength() const = 0;
/// Returns the length of the digest in bytes.
virtual void reset() = 0;
/// Resets the engine so that a new
/// digest can be computed.
virtual const Digest& digest() = 0;
/// Finishes the computation of the digest and
/// returns the message digest. Resets the engine
@ -66,11 +66,16 @@ public:
static Digest digestFromHex(const std::string& digest);
/// Converts a string created by digestToHex back to its Digest presentation
static bool constantTimeEquals(const Digest& d1, const Digest& d2);
/// Compares two Digest values using a constant-time comparison
/// algorithm. This can be used to prevent timing attacks
/// (as discussed in <https://codahale.com/a-lesson-in-timing-attacks/>).
protected:
virtual void updateImpl(const void* data, std::size_t length) = 0;
/// Updates the digest with the given data. Must be implemented
/// by subclasses.
private:
DigestEngine(const DigestEngine&);
DigestEngine& operator = (const DigestEngine&);
@ -96,7 +101,7 @@ inline void DigestEngine::update(char data)
inline void DigestEngine::update(const std::string& data)
{
updateImpl(data.data(), data.size());
updateImpl(data.data(), data.size());
}

View File

@ -79,5 +79,21 @@ DigestEngine::Digest DigestEngine::digestFromHex(const std::string& digest)
}
bool DigestEngine::constantTimeEquals(const Digest& d1, const Digest& d2)
{
if (d1.size() != d2.size()) return false;
int result = 0;
Digest::const_iterator it1 = d1.begin();
Digest::const_iterator it2 = d2.begin();
Digest::const_iterator end1 = d1.end();
while (it1 != end1)
{
result |= *it1++ ^ *it2++;
}
return result == 0;
}
} // namespace Poco

View File

@ -48,7 +48,7 @@ void MD5EngineTest::testMD5()
engine.update("abcdefghijklmnopqrstuvwxyz");
assert (DigestEngine::digestToHex(engine.digest()) == "c3fcd3d76192e4007dfb496cca67e13b");
engine.update("ABCDEFGHIJKLMNOPQRSTUVWXYZ");
engine.update("abcdefghijklmnopqrstuvwxyz0123456789");
assert (DigestEngine::digestToHex(engine.digest()) == "d174ab98d277d9f5a5611c2c9f419d9f");
@ -58,6 +58,17 @@ void MD5EngineTest::testMD5()
}
void MD5EngineTest::testConstantTimeEquals()
{
DigestEngine::Digest d1 = DigestEngine::digestFromHex("d41d8cd98f00b204e9800998ecf8427e");
DigestEngine::Digest d2 = DigestEngine::digestFromHex("d41d8cd98f00b204e9800998ecf8427e");
DigestEngine::Digest d3 = DigestEngine::digestFromHex("0cc175b9c0f1b6a831c399e269772661");
assert (DigestEngine::constantTimeEquals(d1, d2));
assert (!DigestEngine::constantTimeEquals(d1, d3));
}
void MD5EngineTest::setUp()
{
}
@ -73,6 +84,7 @@ CppUnit::Test* MD5EngineTest::suite()
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("MD5EngineTest");
CppUnit_addTest(pSuite, MD5EngineTest, testMD5);
CppUnit_addTest(pSuite, MD5EngineTest, testConstantTimeEquals);
return pSuite;
}

View File

@ -25,6 +25,7 @@ public:
~MD5EngineTest();
void testMD5();
void testConstantTimeEquals();
void setUp();
void tearDown();

View File

@ -31,7 +31,8 @@ objects = \
NTPClient NTPEventArgs NTPPacket \
RemoteSyslogChannel RemoteSyslogListener SMTPChannel \
WebSocket WebSocketImpl \
OAuth10Credentials OAuth20Credentials
OAuth10Credentials OAuth20Credentials \
PollSet
target = PocoNet
target_version = $(LIBVERSION)

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<?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">
@ -32,7 +32,7 @@
<RootNamespace>Net</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
@ -63,27 +63,27 @@
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<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"/>
<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"/>
<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"/>
<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"/>
<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"/>
<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"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>14.0.23107.0</_ProjectFileVersion>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">PocoNetd</TargetName>
@ -132,7 +132,7 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
@ -164,9 +164,9 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
@ -195,7 +195,7 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<ProgramDataBaseFileName>..\lib\PocoNetmtd.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
@ -220,9 +220,9 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Lib>
@ -242,7 +242,7 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<ProgramDataBaseFileName>..\lib\PocoNetmdd.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
@ -267,10 +267,10 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<ProgramDataBaseFileName>..\lib\PocoNetmd.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Lib>
@ -279,212 +279,214 @@
</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\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\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\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\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\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\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\WebSocket.h"/>
<ClInclude Include="include\Poco\Net\WebSocketImpl.h"/>
<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\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\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\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\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\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\WebSocket.h" />
<ClInclude Include="include\Poco\Net\WebSocketImpl.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\AbstractHTTPRequestHandler.cpp"/>
<ClCompile Include="src\DatagramSocket.cpp"/>
<ClCompile Include="src\DatagramSocketImpl.cpp"/>
<ClCompile Include="src\DialogSocket.cpp"/>
<ClCompile Include="src\DNS.cpp"/>
<ClCompile Include="src\FilePartSource.cpp"/>
<ClCompile Include="src\FTPClientSession.cpp"/>
<ClCompile Include="src\FTPStreamFactory.cpp"/>
<ClCompile Include="src\HostEntry.cpp"/>
<ClCompile Include="src\HTMLForm.cpp"/>
<ClCompile Include="src\HTTPAuthenticationParams.cpp"/>
<ClCompile Include="src\HTTPBasicCredentials.cpp"/>
<ClCompile Include="src\HTTPBufferAllocator.cpp"/>
<ClCompile Include="src\HTTPChunkedStream.cpp"/>
<ClCompile Include="src\HTTPClientSession.cpp"/>
<ClCompile Include="src\HTTPCookie.cpp"/>
<ClCompile Include="src\HTTPCredentials.cpp"/>
<ClCompile Include="src\HTTPDigestCredentials.cpp"/>
<ClCompile Include="src\HTTPFixedLengthStream.cpp"/>
<ClCompile Include="src\HTTPHeaderStream.cpp"/>
<ClCompile Include="src\HTTPIOStream.cpp"/>
<ClCompile Include="src\HTTPMessage.cpp"/>
<ClCompile Include="src\HTTPRequest.cpp"/>
<ClCompile Include="src\HTTPRequestHandler.cpp"/>
<ClCompile Include="src\HTTPRequestHandlerFactory.cpp"/>
<ClCompile Include="src\HTTPResponse.cpp"/>
<ClCompile Include="src\HTTPServer.cpp"/>
<ClCompile Include="src\HTTPServerConnection.cpp"/>
<ClCompile Include="src\HTTPServerConnectionFactory.cpp"/>
<ClCompile Include="src\HTTPServerParams.cpp"/>
<ClCompile Include="src\HTTPServerRequest.cpp"/>
<ClCompile Include="src\HTTPServerRequestImpl.cpp"/>
<ClCompile Include="src\HTTPServerResponse.cpp"/>
<ClCompile Include="src\HTTPServerResponseImpl.cpp"/>
<ClCompile Include="src\HTTPServerSession.cpp"/>
<ClCompile Include="src\HTTPSession.cpp"/>
<ClCompile Include="src\HTTPSessionFactory.cpp"/>
<ClCompile Include="src\HTTPSessionInstantiator.cpp"/>
<ClCompile Include="src\HTTPStream.cpp"/>
<ClCompile Include="src\HTTPStreamFactory.cpp"/>
<ClCompile Include="src\ICMPClient.cpp"/>
<ClCompile Include="src\ICMPEventArgs.cpp"/>
<ClCompile Include="src\ICMPPacket.cpp"/>
<ClCompile Include="src\ICMPPacketImpl.cpp"/>
<ClCompile Include="src\ICMPSocket.cpp"/>
<ClCompile Include="src\ICMPSocketImpl.cpp"/>
<ClCompile Include="src\ICMPv4PacketImpl.cpp"/>
<ClCompile Include="src\IPAddress.cpp"/>
<ClCompile Include="src\IPAddressImpl.cpp"/>
<ClCompile Include="src\MailMessage.cpp"/>
<ClCompile Include="src\MailRecipient.cpp"/>
<ClCompile Include="src\MailStream.cpp"/>
<ClCompile Include="src\MediaType.cpp"/>
<ClCompile Include="src\MessageHeader.cpp"/>
<ClCompile Include="src\MulticastSocket.cpp"/>
<ClCompile Include="src\MultipartReader.cpp"/>
<ClCompile Include="src\MultipartWriter.cpp"/>
<ClCompile Include="src\NameValueCollection.cpp"/>
<ClCompile Include="src\Net.cpp"/>
<ClCompile Include="src\NetException.cpp"/>
<ClCompile Include="src\NetworkInterface.cpp"/>
<ClCompile Include="src\NTPClient.cpp"/>
<ClCompile Include="src\NTPEventArgs.cpp"/>
<ClCompile Include="src\NTPPacket.cpp"/>
<ClCompile Include="src\NullPartHandler.cpp"/>
<ClCompile Include="src\OAuth10Credentials.cpp"/>
<ClCompile Include="src\OAuth20Credentials.cpp"/>
<ClCompile Include="src\PartHandler.cpp"/>
<ClCompile Include="src\PartSource.cpp"/>
<ClCompile Include="src\PartStore.cpp"/>
<ClCompile Include="src\POP3ClientSession.cpp"/>
<ClCompile Include="src\QuotedPrintableDecoder.cpp"/>
<ClCompile Include="src\QuotedPrintableEncoder.cpp"/>
<ClCompile Include="src\RawSocket.cpp"/>
<ClCompile Include="src\RawSocketImpl.cpp"/>
<ClCompile Include="src\RemoteSyslogChannel.cpp"/>
<ClCompile Include="src\RemoteSyslogListener.cpp"/>
<ClCompile Include="src\ServerSocket.cpp"/>
<ClCompile Include="src\ServerSocketImpl.cpp"/>
<ClCompile Include="src\SMTPChannel.cpp"/>
<ClCompile Include="src\SMTPClientSession.cpp"/>
<ClCompile Include="src\Socket.cpp"/>
<ClCompile Include="src\SocketAddress.cpp"/>
<ClCompile Include="src\SocketAddressImpl.cpp"/>
<ClCompile Include="src\SocketImpl.cpp"/>
<ClCompile Include="src\SocketNotification.cpp"/>
<ClCompile Include="src\SocketNotifier.cpp"/>
<ClCompile Include="src\SocketReactor.cpp"/>
<ClCompile Include="src\SocketStream.cpp"/>
<ClCompile Include="src\StreamSocket.cpp"/>
<ClCompile Include="src\StreamSocketImpl.cpp"/>
<ClCompile Include="src\StringPartSource.cpp"/>
<ClCompile Include="src\TCPServer.cpp"/>
<ClCompile Include="src\TCPServerConnection.cpp"/>
<ClCompile Include="src\TCPServerConnectionFactory.cpp"/>
<ClCompile Include="src\TCPServerDispatcher.cpp"/>
<ClCompile Include="src\TCPServerParams.cpp"/>
<ClCompile Include="src\WebSocket.cpp"/>
<ClCompile Include="src\WebSocketImpl.cpp"/>
<ClCompile Include="src\AbstractHTTPRequestHandler.cpp" />
<ClCompile Include="src\DatagramSocket.cpp" />
<ClCompile Include="src\DatagramSocketImpl.cpp" />
<ClCompile Include="src\DialogSocket.cpp" />
<ClCompile Include="src\DNS.cpp" />
<ClCompile Include="src\FilePartSource.cpp" />
<ClCompile Include="src\FTPClientSession.cpp" />
<ClCompile Include="src\FTPStreamFactory.cpp" />
<ClCompile Include="src\HostEntry.cpp" />
<ClCompile Include="src\HTMLForm.cpp" />
<ClCompile Include="src\HTTPAuthenticationParams.cpp" />
<ClCompile Include="src\HTTPBasicCredentials.cpp" />
<ClCompile Include="src\HTTPBufferAllocator.cpp" />
<ClCompile Include="src\HTTPChunkedStream.cpp" />
<ClCompile Include="src\HTTPClientSession.cpp" />
<ClCompile Include="src\HTTPCookie.cpp" />
<ClCompile Include="src\HTTPCredentials.cpp" />
<ClCompile Include="src\HTTPDigestCredentials.cpp" />
<ClCompile Include="src\HTTPFixedLengthStream.cpp" />
<ClCompile Include="src\HTTPHeaderStream.cpp" />
<ClCompile Include="src\HTTPIOStream.cpp" />
<ClCompile Include="src\HTTPMessage.cpp" />
<ClCompile Include="src\HTTPRequest.cpp" />
<ClCompile Include="src\HTTPRequestHandler.cpp" />
<ClCompile Include="src\HTTPRequestHandlerFactory.cpp" />
<ClCompile Include="src\HTTPResponse.cpp" />
<ClCompile Include="src\HTTPServer.cpp" />
<ClCompile Include="src\HTTPServerConnection.cpp" />
<ClCompile Include="src\HTTPServerConnectionFactory.cpp" />
<ClCompile Include="src\HTTPServerParams.cpp" />
<ClCompile Include="src\HTTPServerRequest.cpp" />
<ClCompile Include="src\HTTPServerRequestImpl.cpp" />
<ClCompile Include="src\HTTPServerResponse.cpp" />
<ClCompile Include="src\HTTPServerResponseImpl.cpp" />
<ClCompile Include="src\HTTPServerSession.cpp" />
<ClCompile Include="src\HTTPSession.cpp" />
<ClCompile Include="src\HTTPSessionFactory.cpp" />
<ClCompile Include="src\HTTPSessionInstantiator.cpp" />
<ClCompile Include="src\HTTPStream.cpp" />
<ClCompile Include="src\HTTPStreamFactory.cpp" />
<ClCompile Include="src\ICMPClient.cpp" />
<ClCompile Include="src\ICMPEventArgs.cpp" />
<ClCompile Include="src\ICMPPacket.cpp" />
<ClCompile Include="src\ICMPPacketImpl.cpp" />
<ClCompile Include="src\ICMPSocket.cpp" />
<ClCompile Include="src\ICMPSocketImpl.cpp" />
<ClCompile Include="src\ICMPv4PacketImpl.cpp" />
<ClCompile Include="src\IPAddress.cpp" />
<ClCompile Include="src\IPAddressImpl.cpp" />
<ClCompile Include="src\MailMessage.cpp" />
<ClCompile Include="src\MailRecipient.cpp" />
<ClCompile Include="src\MailStream.cpp" />
<ClCompile Include="src\MediaType.cpp" />
<ClCompile Include="src\MessageHeader.cpp" />
<ClCompile Include="src\MulticastSocket.cpp" />
<ClCompile Include="src\MultipartReader.cpp" />
<ClCompile Include="src\MultipartWriter.cpp" />
<ClCompile Include="src\NameValueCollection.cpp" />
<ClCompile Include="src\Net.cpp" />
<ClCompile Include="src\NetException.cpp" />
<ClCompile Include="src\NetworkInterface.cpp" />
<ClCompile Include="src\NTPClient.cpp" />
<ClCompile Include="src\NTPEventArgs.cpp" />
<ClCompile Include="src\NTPPacket.cpp" />
<ClCompile Include="src\NullPartHandler.cpp" />
<ClCompile Include="src\OAuth10Credentials.cpp" />
<ClCompile Include="src\OAuth20Credentials.cpp" />
<ClCompile Include="src\PartHandler.cpp" />
<ClCompile Include="src\PartSource.cpp" />
<ClCompile Include="src\PartStore.cpp" />
<ClCompile Include="src\PollSet.cpp" />
<ClCompile Include="src\POP3ClientSession.cpp" />
<ClCompile Include="src\QuotedPrintableDecoder.cpp" />
<ClCompile Include="src\QuotedPrintableEncoder.cpp" />
<ClCompile Include="src\RawSocket.cpp" />
<ClCompile Include="src\RawSocketImpl.cpp" />
<ClCompile Include="src\RemoteSyslogChannel.cpp" />
<ClCompile Include="src\RemoteSyslogListener.cpp" />
<ClCompile Include="src\ServerSocket.cpp" />
<ClCompile Include="src\ServerSocketImpl.cpp" />
<ClCompile Include="src\SMTPChannel.cpp" />
<ClCompile Include="src\SMTPClientSession.cpp" />
<ClCompile Include="src\Socket.cpp" />
<ClCompile Include="src\SocketAddress.cpp" />
<ClCompile Include="src\SocketAddressImpl.cpp" />
<ClCompile Include="src\SocketImpl.cpp" />
<ClCompile Include="src\SocketNotification.cpp" />
<ClCompile Include="src\SocketNotifier.cpp" />
<ClCompile Include="src\SocketReactor.cpp" />
<ClCompile Include="src\SocketStream.cpp" />
<ClCompile Include="src\StreamSocket.cpp" />
<ClCompile Include="src\StreamSocketImpl.cpp" />
<ClCompile Include="src\StringPartSource.cpp" />
<ClCompile Include="src\TCPServer.cpp" />
<ClCompile Include="src\TCPServerConnection.cpp" />
<ClCompile Include="src\TCPServerConnectionFactory.cpp" />
<ClCompile Include="src\TCPServerDispatcher.cpp" />
<ClCompile Include="src\TCPServerParams.cpp" />
<ClCompile Include="src\WebSocket.cpp" />
<ClCompile Include="src\WebSocketImpl.cpp" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\DLLVersion.rc">
@ -496,6 +498,6 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">true</ExcludedFromBuild>
</ResourceCompile>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@ -462,6 +462,9 @@
<ClInclude Include="include\Poco\Net\OAuth20Credentials.h">
<Filter>OAuth\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Net\PollSet.h">
<Filter>Sockets\Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\DNS.cpp">
@ -761,6 +764,9 @@
<ClCompile Include="src\OAuth20Credentials.cpp">
<Filter>OAuth\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\PollSet.cpp">
<Filter>Sockets\Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\DLLVersion.rc" />

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<?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">
@ -32,7 +32,7 @@
<RootNamespace>Net</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
@ -63,27 +63,27 @@
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<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"/>
<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"/>
<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"/>
<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"/>
<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"/>
<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"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>14.0.23107.0</_ProjectFileVersion>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">PocoNetd</TargetName>
@ -132,7 +132,7 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
@ -164,9 +164,9 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
@ -195,7 +195,7 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<ProgramDataBaseFileName>..\lib\PocoNetmtd.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
@ -220,9 +220,9 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Lib>
@ -242,7 +242,7 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<ProgramDataBaseFileName>..\lib\PocoNetmdd.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
@ -267,10 +267,10 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<ProgramDataBaseFileName>..\lib\PocoNetmd.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Lib>
@ -279,212 +279,214 @@
</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\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\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\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\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\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\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\WebSocket.h"/>
<ClInclude Include="include\Poco\Net\WebSocketImpl.h"/>
<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\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\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\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\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\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\WebSocket.h" />
<ClInclude Include="include\Poco\Net\WebSocketImpl.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\AbstractHTTPRequestHandler.cpp"/>
<ClCompile Include="src\DatagramSocket.cpp"/>
<ClCompile Include="src\DatagramSocketImpl.cpp"/>
<ClCompile Include="src\DialogSocket.cpp"/>
<ClCompile Include="src\DNS.cpp"/>
<ClCompile Include="src\FilePartSource.cpp"/>
<ClCompile Include="src\FTPClientSession.cpp"/>
<ClCompile Include="src\FTPStreamFactory.cpp"/>
<ClCompile Include="src\HostEntry.cpp"/>
<ClCompile Include="src\HTMLForm.cpp"/>
<ClCompile Include="src\HTTPAuthenticationParams.cpp"/>
<ClCompile Include="src\HTTPBasicCredentials.cpp"/>
<ClCompile Include="src\HTTPBufferAllocator.cpp"/>
<ClCompile Include="src\HTTPChunkedStream.cpp"/>
<ClCompile Include="src\HTTPClientSession.cpp"/>
<ClCompile Include="src\HTTPCookie.cpp"/>
<ClCompile Include="src\HTTPCredentials.cpp"/>
<ClCompile Include="src\HTTPDigestCredentials.cpp"/>
<ClCompile Include="src\HTTPFixedLengthStream.cpp"/>
<ClCompile Include="src\HTTPHeaderStream.cpp"/>
<ClCompile Include="src\HTTPIOStream.cpp"/>
<ClCompile Include="src\HTTPMessage.cpp"/>
<ClCompile Include="src\HTTPRequest.cpp"/>
<ClCompile Include="src\HTTPRequestHandler.cpp"/>
<ClCompile Include="src\HTTPRequestHandlerFactory.cpp"/>
<ClCompile Include="src\HTTPResponse.cpp"/>
<ClCompile Include="src\HTTPServer.cpp"/>
<ClCompile Include="src\HTTPServerConnection.cpp"/>
<ClCompile Include="src\HTTPServerConnectionFactory.cpp"/>
<ClCompile Include="src\HTTPServerParams.cpp"/>
<ClCompile Include="src\HTTPServerRequest.cpp"/>
<ClCompile Include="src\HTTPServerRequestImpl.cpp"/>
<ClCompile Include="src\HTTPServerResponse.cpp"/>
<ClCompile Include="src\HTTPServerResponseImpl.cpp"/>
<ClCompile Include="src\HTTPServerSession.cpp"/>
<ClCompile Include="src\HTTPSession.cpp"/>
<ClCompile Include="src\HTTPSessionFactory.cpp"/>
<ClCompile Include="src\HTTPSessionInstantiator.cpp"/>
<ClCompile Include="src\HTTPStream.cpp"/>
<ClCompile Include="src\HTTPStreamFactory.cpp"/>
<ClCompile Include="src\ICMPClient.cpp"/>
<ClCompile Include="src\ICMPEventArgs.cpp"/>
<ClCompile Include="src\ICMPPacket.cpp"/>
<ClCompile Include="src\ICMPPacketImpl.cpp"/>
<ClCompile Include="src\ICMPSocket.cpp"/>
<ClCompile Include="src\ICMPSocketImpl.cpp"/>
<ClCompile Include="src\ICMPv4PacketImpl.cpp"/>
<ClCompile Include="src\IPAddress.cpp"/>
<ClCompile Include="src\IPAddressImpl.cpp"/>
<ClCompile Include="src\MailMessage.cpp"/>
<ClCompile Include="src\MailRecipient.cpp"/>
<ClCompile Include="src\MailStream.cpp"/>
<ClCompile Include="src\MediaType.cpp"/>
<ClCompile Include="src\MessageHeader.cpp"/>
<ClCompile Include="src\MulticastSocket.cpp"/>
<ClCompile Include="src\MultipartReader.cpp"/>
<ClCompile Include="src\MultipartWriter.cpp"/>
<ClCompile Include="src\NameValueCollection.cpp"/>
<ClCompile Include="src\Net.cpp"/>
<ClCompile Include="src\NetException.cpp"/>
<ClCompile Include="src\NetworkInterface.cpp"/>
<ClCompile Include="src\NTPClient.cpp"/>
<ClCompile Include="src\NTPEventArgs.cpp"/>
<ClCompile Include="src\NTPPacket.cpp"/>
<ClCompile Include="src\NullPartHandler.cpp"/>
<ClCompile Include="src\OAuth10Credentials.cpp"/>
<ClCompile Include="src\OAuth20Credentials.cpp"/>
<ClCompile Include="src\PartHandler.cpp"/>
<ClCompile Include="src\PartSource.cpp"/>
<ClCompile Include="src\PartStore.cpp"/>
<ClCompile Include="src\POP3ClientSession.cpp"/>
<ClCompile Include="src\QuotedPrintableDecoder.cpp"/>
<ClCompile Include="src\QuotedPrintableEncoder.cpp"/>
<ClCompile Include="src\RawSocket.cpp"/>
<ClCompile Include="src\RawSocketImpl.cpp"/>
<ClCompile Include="src\RemoteSyslogChannel.cpp"/>
<ClCompile Include="src\RemoteSyslogListener.cpp"/>
<ClCompile Include="src\ServerSocket.cpp"/>
<ClCompile Include="src\ServerSocketImpl.cpp"/>
<ClCompile Include="src\SMTPChannel.cpp"/>
<ClCompile Include="src\SMTPClientSession.cpp"/>
<ClCompile Include="src\Socket.cpp"/>
<ClCompile Include="src\SocketAddress.cpp"/>
<ClCompile Include="src\SocketAddressImpl.cpp"/>
<ClCompile Include="src\SocketImpl.cpp"/>
<ClCompile Include="src\SocketNotification.cpp"/>
<ClCompile Include="src\SocketNotifier.cpp"/>
<ClCompile Include="src\SocketReactor.cpp"/>
<ClCompile Include="src\SocketStream.cpp"/>
<ClCompile Include="src\StreamSocket.cpp"/>
<ClCompile Include="src\StreamSocketImpl.cpp"/>
<ClCompile Include="src\StringPartSource.cpp"/>
<ClCompile Include="src\TCPServer.cpp"/>
<ClCompile Include="src\TCPServerConnection.cpp"/>
<ClCompile Include="src\TCPServerConnectionFactory.cpp"/>
<ClCompile Include="src\TCPServerDispatcher.cpp"/>
<ClCompile Include="src\TCPServerParams.cpp"/>
<ClCompile Include="src\WebSocket.cpp"/>
<ClCompile Include="src\WebSocketImpl.cpp"/>
<ClCompile Include="src\AbstractHTTPRequestHandler.cpp" />
<ClCompile Include="src\DatagramSocket.cpp" />
<ClCompile Include="src\DatagramSocketImpl.cpp" />
<ClCompile Include="src\DialogSocket.cpp" />
<ClCompile Include="src\DNS.cpp" />
<ClCompile Include="src\FilePartSource.cpp" />
<ClCompile Include="src\FTPClientSession.cpp" />
<ClCompile Include="src\FTPStreamFactory.cpp" />
<ClCompile Include="src\HostEntry.cpp" />
<ClCompile Include="src\HTMLForm.cpp" />
<ClCompile Include="src\HTTPAuthenticationParams.cpp" />
<ClCompile Include="src\HTTPBasicCredentials.cpp" />
<ClCompile Include="src\HTTPBufferAllocator.cpp" />
<ClCompile Include="src\HTTPChunkedStream.cpp" />
<ClCompile Include="src\HTTPClientSession.cpp" />
<ClCompile Include="src\HTTPCookie.cpp" />
<ClCompile Include="src\HTTPCredentials.cpp" />
<ClCompile Include="src\HTTPDigestCredentials.cpp" />
<ClCompile Include="src\HTTPFixedLengthStream.cpp" />
<ClCompile Include="src\HTTPHeaderStream.cpp" />
<ClCompile Include="src\HTTPIOStream.cpp" />
<ClCompile Include="src\HTTPMessage.cpp" />
<ClCompile Include="src\HTTPRequest.cpp" />
<ClCompile Include="src\HTTPRequestHandler.cpp" />
<ClCompile Include="src\HTTPRequestHandlerFactory.cpp" />
<ClCompile Include="src\HTTPResponse.cpp" />
<ClCompile Include="src\HTTPServer.cpp" />
<ClCompile Include="src\HTTPServerConnection.cpp" />
<ClCompile Include="src\HTTPServerConnectionFactory.cpp" />
<ClCompile Include="src\HTTPServerParams.cpp" />
<ClCompile Include="src\HTTPServerRequest.cpp" />
<ClCompile Include="src\HTTPServerRequestImpl.cpp" />
<ClCompile Include="src\HTTPServerResponse.cpp" />
<ClCompile Include="src\HTTPServerResponseImpl.cpp" />
<ClCompile Include="src\HTTPServerSession.cpp" />
<ClCompile Include="src\HTTPSession.cpp" />
<ClCompile Include="src\HTTPSessionFactory.cpp" />
<ClCompile Include="src\HTTPSessionInstantiator.cpp" />
<ClCompile Include="src\HTTPStream.cpp" />
<ClCompile Include="src\HTTPStreamFactory.cpp" />
<ClCompile Include="src\ICMPClient.cpp" />
<ClCompile Include="src\ICMPEventArgs.cpp" />
<ClCompile Include="src\ICMPPacket.cpp" />
<ClCompile Include="src\ICMPPacketImpl.cpp" />
<ClCompile Include="src\ICMPSocket.cpp" />
<ClCompile Include="src\ICMPSocketImpl.cpp" />
<ClCompile Include="src\ICMPv4PacketImpl.cpp" />
<ClCompile Include="src\IPAddress.cpp" />
<ClCompile Include="src\IPAddressImpl.cpp" />
<ClCompile Include="src\MailMessage.cpp" />
<ClCompile Include="src\MailRecipient.cpp" />
<ClCompile Include="src\MailStream.cpp" />
<ClCompile Include="src\MediaType.cpp" />
<ClCompile Include="src\MessageHeader.cpp" />
<ClCompile Include="src\MulticastSocket.cpp" />
<ClCompile Include="src\MultipartReader.cpp" />
<ClCompile Include="src\MultipartWriter.cpp" />
<ClCompile Include="src\NameValueCollection.cpp" />
<ClCompile Include="src\Net.cpp" />
<ClCompile Include="src\NetException.cpp" />
<ClCompile Include="src\NetworkInterface.cpp" />
<ClCompile Include="src\NTPClient.cpp" />
<ClCompile Include="src\NTPEventArgs.cpp" />
<ClCompile Include="src\NTPPacket.cpp" />
<ClCompile Include="src\NullPartHandler.cpp" />
<ClCompile Include="src\OAuth10Credentials.cpp" />
<ClCompile Include="src\OAuth20Credentials.cpp" />
<ClCompile Include="src\PartHandler.cpp" />
<ClCompile Include="src\PartSource.cpp" />
<ClCompile Include="src\PartStore.cpp" />
<ClCompile Include="src\PollSet.cpp" />
<ClCompile Include="src\POP3ClientSession.cpp" />
<ClCompile Include="src\QuotedPrintableDecoder.cpp" />
<ClCompile Include="src\QuotedPrintableEncoder.cpp" />
<ClCompile Include="src\RawSocket.cpp" />
<ClCompile Include="src\RawSocketImpl.cpp" />
<ClCompile Include="src\RemoteSyslogChannel.cpp" />
<ClCompile Include="src\RemoteSyslogListener.cpp" />
<ClCompile Include="src\ServerSocket.cpp" />
<ClCompile Include="src\ServerSocketImpl.cpp" />
<ClCompile Include="src\SMTPChannel.cpp" />
<ClCompile Include="src\SMTPClientSession.cpp" />
<ClCompile Include="src\Socket.cpp" />
<ClCompile Include="src\SocketAddress.cpp" />
<ClCompile Include="src\SocketAddressImpl.cpp" />
<ClCompile Include="src\SocketImpl.cpp" />
<ClCompile Include="src\SocketNotification.cpp" />
<ClCompile Include="src\SocketNotifier.cpp" />
<ClCompile Include="src\SocketReactor.cpp" />
<ClCompile Include="src\SocketStream.cpp" />
<ClCompile Include="src\StreamSocket.cpp" />
<ClCompile Include="src\StreamSocketImpl.cpp" />
<ClCompile Include="src\StringPartSource.cpp" />
<ClCompile Include="src\TCPServer.cpp" />
<ClCompile Include="src\TCPServerConnection.cpp" />
<ClCompile Include="src\TCPServerConnectionFactory.cpp" />
<ClCompile Include="src\TCPServerDispatcher.cpp" />
<ClCompile Include="src\TCPServerParams.cpp" />
<ClCompile Include="src\WebSocket.cpp" />
<ClCompile Include="src\WebSocketImpl.cpp" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\DLLVersion.rc">
@ -496,6 +498,6 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">true</ExcludedFromBuild>
</ResourceCompile>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@ -462,6 +462,9 @@
<ClInclude Include="include\Poco\Net\OAuth20Credentials.h">
<Filter>OAuth\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Net\PollSet.h">
<Filter>Sockets\Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\DNS.cpp">
@ -761,6 +764,9 @@
<ClCompile Include="src\OAuth20Credentials.cpp">
<Filter>OAuth\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\PollSet.cpp">
<Filter>Sockets\Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\DLLVersion.rc" />

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<?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|x64">
@ -32,7 +32,7 @@
<RootNamespace>Net</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
@ -63,27 +63,27 @@
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<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"/>
<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"/>
<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"/>
<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"/>
<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"/>
<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"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>14.0.23107.0</_ProjectFileVersion>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">PocoNet64d</TargetName>
@ -132,7 +132,7 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
@ -164,9 +164,9 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
@ -195,7 +195,7 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<ProgramDataBaseFileName>..\lib64\PocoNetmtd.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
@ -220,9 +220,9 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Lib>
@ -242,7 +242,7 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<ProgramDataBaseFileName>..\lib64\PocoNetmdd.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
@ -267,9 +267,9 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Lib>
@ -277,212 +277,214 @@
</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\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\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\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\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\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\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\WebSocket.h"/>
<ClInclude Include="include\Poco\Net\WebSocketImpl.h"/>
<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\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\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\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\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\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\WebSocket.h" />
<ClInclude Include="include\Poco\Net\WebSocketImpl.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\AbstractHTTPRequestHandler.cpp"/>
<ClCompile Include="src\DatagramSocket.cpp"/>
<ClCompile Include="src\DatagramSocketImpl.cpp"/>
<ClCompile Include="src\DialogSocket.cpp"/>
<ClCompile Include="src\DNS.cpp"/>
<ClCompile Include="src\FilePartSource.cpp"/>
<ClCompile Include="src\FTPClientSession.cpp"/>
<ClCompile Include="src\FTPStreamFactory.cpp"/>
<ClCompile Include="src\HostEntry.cpp"/>
<ClCompile Include="src\HTMLForm.cpp"/>
<ClCompile Include="src\HTTPAuthenticationParams.cpp"/>
<ClCompile Include="src\HTTPBasicCredentials.cpp"/>
<ClCompile Include="src\HTTPBufferAllocator.cpp"/>
<ClCompile Include="src\HTTPChunkedStream.cpp"/>
<ClCompile Include="src\HTTPClientSession.cpp"/>
<ClCompile Include="src\HTTPCookie.cpp"/>
<ClCompile Include="src\HTTPCredentials.cpp"/>
<ClCompile Include="src\HTTPDigestCredentials.cpp"/>
<ClCompile Include="src\HTTPFixedLengthStream.cpp"/>
<ClCompile Include="src\HTTPHeaderStream.cpp"/>
<ClCompile Include="src\HTTPIOStream.cpp"/>
<ClCompile Include="src\HTTPMessage.cpp"/>
<ClCompile Include="src\HTTPRequest.cpp"/>
<ClCompile Include="src\HTTPRequestHandler.cpp"/>
<ClCompile Include="src\HTTPRequestHandlerFactory.cpp"/>
<ClCompile Include="src\HTTPResponse.cpp"/>
<ClCompile Include="src\HTTPServer.cpp"/>
<ClCompile Include="src\HTTPServerConnection.cpp"/>
<ClCompile Include="src\HTTPServerConnectionFactory.cpp"/>
<ClCompile Include="src\HTTPServerParams.cpp"/>
<ClCompile Include="src\HTTPServerRequest.cpp"/>
<ClCompile Include="src\HTTPServerRequestImpl.cpp"/>
<ClCompile Include="src\HTTPServerResponse.cpp"/>
<ClCompile Include="src\HTTPServerResponseImpl.cpp"/>
<ClCompile Include="src\HTTPServerSession.cpp"/>
<ClCompile Include="src\HTTPSession.cpp"/>
<ClCompile Include="src\HTTPSessionFactory.cpp"/>
<ClCompile Include="src\HTTPSessionInstantiator.cpp"/>
<ClCompile Include="src\HTTPStream.cpp"/>
<ClCompile Include="src\HTTPStreamFactory.cpp"/>
<ClCompile Include="src\ICMPClient.cpp"/>
<ClCompile Include="src\ICMPEventArgs.cpp"/>
<ClCompile Include="src\ICMPPacket.cpp"/>
<ClCompile Include="src\ICMPPacketImpl.cpp"/>
<ClCompile Include="src\ICMPSocket.cpp"/>
<ClCompile Include="src\ICMPSocketImpl.cpp"/>
<ClCompile Include="src\ICMPv4PacketImpl.cpp"/>
<ClCompile Include="src\IPAddress.cpp"/>
<ClCompile Include="src\IPAddressImpl.cpp"/>
<ClCompile Include="src\MailMessage.cpp"/>
<ClCompile Include="src\MailRecipient.cpp"/>
<ClCompile Include="src\MailStream.cpp"/>
<ClCompile Include="src\MediaType.cpp"/>
<ClCompile Include="src\MessageHeader.cpp"/>
<ClCompile Include="src\MulticastSocket.cpp"/>
<ClCompile Include="src\MultipartReader.cpp"/>
<ClCompile Include="src\MultipartWriter.cpp"/>
<ClCompile Include="src\NameValueCollection.cpp"/>
<ClCompile Include="src\Net.cpp"/>
<ClCompile Include="src\NetException.cpp"/>
<ClCompile Include="src\NetworkInterface.cpp"/>
<ClCompile Include="src\NTPClient.cpp"/>
<ClCompile Include="src\NTPEventArgs.cpp"/>
<ClCompile Include="src\NTPPacket.cpp"/>
<ClCompile Include="src\NullPartHandler.cpp"/>
<ClCompile Include="src\OAuth10Credentials.cpp"/>
<ClCompile Include="src\OAuth20Credentials.cpp"/>
<ClCompile Include="src\PartHandler.cpp"/>
<ClCompile Include="src\PartSource.cpp"/>
<ClCompile Include="src\PartStore.cpp"/>
<ClCompile Include="src\POP3ClientSession.cpp"/>
<ClCompile Include="src\QuotedPrintableDecoder.cpp"/>
<ClCompile Include="src\QuotedPrintableEncoder.cpp"/>
<ClCompile Include="src\RawSocket.cpp"/>
<ClCompile Include="src\RawSocketImpl.cpp"/>
<ClCompile Include="src\RemoteSyslogChannel.cpp"/>
<ClCompile Include="src\RemoteSyslogListener.cpp"/>
<ClCompile Include="src\ServerSocket.cpp"/>
<ClCompile Include="src\ServerSocketImpl.cpp"/>
<ClCompile Include="src\SMTPChannel.cpp"/>
<ClCompile Include="src\SMTPClientSession.cpp"/>
<ClCompile Include="src\Socket.cpp"/>
<ClCompile Include="src\SocketAddress.cpp"/>
<ClCompile Include="src\SocketAddressImpl.cpp"/>
<ClCompile Include="src\SocketImpl.cpp"/>
<ClCompile Include="src\SocketNotification.cpp"/>
<ClCompile Include="src\SocketNotifier.cpp"/>
<ClCompile Include="src\SocketReactor.cpp"/>
<ClCompile Include="src\SocketStream.cpp"/>
<ClCompile Include="src\StreamSocket.cpp"/>
<ClCompile Include="src\StreamSocketImpl.cpp"/>
<ClCompile Include="src\StringPartSource.cpp"/>
<ClCompile Include="src\TCPServer.cpp"/>
<ClCompile Include="src\TCPServerConnection.cpp"/>
<ClCompile Include="src\TCPServerConnectionFactory.cpp"/>
<ClCompile Include="src\TCPServerDispatcher.cpp"/>
<ClCompile Include="src\TCPServerParams.cpp"/>
<ClCompile Include="src\WebSocket.cpp"/>
<ClCompile Include="src\WebSocketImpl.cpp"/>
<ClCompile Include="src\AbstractHTTPRequestHandler.cpp" />
<ClCompile Include="src\DatagramSocket.cpp" />
<ClCompile Include="src\DatagramSocketImpl.cpp" />
<ClCompile Include="src\DialogSocket.cpp" />
<ClCompile Include="src\DNS.cpp" />
<ClCompile Include="src\FilePartSource.cpp" />
<ClCompile Include="src\FTPClientSession.cpp" />
<ClCompile Include="src\FTPStreamFactory.cpp" />
<ClCompile Include="src\HostEntry.cpp" />
<ClCompile Include="src\HTMLForm.cpp" />
<ClCompile Include="src\HTTPAuthenticationParams.cpp" />
<ClCompile Include="src\HTTPBasicCredentials.cpp" />
<ClCompile Include="src\HTTPBufferAllocator.cpp" />
<ClCompile Include="src\HTTPChunkedStream.cpp" />
<ClCompile Include="src\HTTPClientSession.cpp" />
<ClCompile Include="src\HTTPCookie.cpp" />
<ClCompile Include="src\HTTPCredentials.cpp" />
<ClCompile Include="src\HTTPDigestCredentials.cpp" />
<ClCompile Include="src\HTTPFixedLengthStream.cpp" />
<ClCompile Include="src\HTTPHeaderStream.cpp" />
<ClCompile Include="src\HTTPIOStream.cpp" />
<ClCompile Include="src\HTTPMessage.cpp" />
<ClCompile Include="src\HTTPRequest.cpp" />
<ClCompile Include="src\HTTPRequestHandler.cpp" />
<ClCompile Include="src\HTTPRequestHandlerFactory.cpp" />
<ClCompile Include="src\HTTPResponse.cpp" />
<ClCompile Include="src\HTTPServer.cpp" />
<ClCompile Include="src\HTTPServerConnection.cpp" />
<ClCompile Include="src\HTTPServerConnectionFactory.cpp" />
<ClCompile Include="src\HTTPServerParams.cpp" />
<ClCompile Include="src\HTTPServerRequest.cpp" />
<ClCompile Include="src\HTTPServerRequestImpl.cpp" />
<ClCompile Include="src\HTTPServerResponse.cpp" />
<ClCompile Include="src\HTTPServerResponseImpl.cpp" />
<ClCompile Include="src\HTTPServerSession.cpp" />
<ClCompile Include="src\HTTPSession.cpp" />
<ClCompile Include="src\HTTPSessionFactory.cpp" />
<ClCompile Include="src\HTTPSessionInstantiator.cpp" />
<ClCompile Include="src\HTTPStream.cpp" />
<ClCompile Include="src\HTTPStreamFactory.cpp" />
<ClCompile Include="src\ICMPClient.cpp" />
<ClCompile Include="src\ICMPEventArgs.cpp" />
<ClCompile Include="src\ICMPPacket.cpp" />
<ClCompile Include="src\ICMPPacketImpl.cpp" />
<ClCompile Include="src\ICMPSocket.cpp" />
<ClCompile Include="src\ICMPSocketImpl.cpp" />
<ClCompile Include="src\ICMPv4PacketImpl.cpp" />
<ClCompile Include="src\IPAddress.cpp" />
<ClCompile Include="src\IPAddressImpl.cpp" />
<ClCompile Include="src\MailMessage.cpp" />
<ClCompile Include="src\MailRecipient.cpp" />
<ClCompile Include="src\MailStream.cpp" />
<ClCompile Include="src\MediaType.cpp" />
<ClCompile Include="src\MessageHeader.cpp" />
<ClCompile Include="src\MulticastSocket.cpp" />
<ClCompile Include="src\MultipartReader.cpp" />
<ClCompile Include="src\MultipartWriter.cpp" />
<ClCompile Include="src\NameValueCollection.cpp" />
<ClCompile Include="src\Net.cpp" />
<ClCompile Include="src\NetException.cpp" />
<ClCompile Include="src\NetworkInterface.cpp" />
<ClCompile Include="src\NTPClient.cpp" />
<ClCompile Include="src\NTPEventArgs.cpp" />
<ClCompile Include="src\NTPPacket.cpp" />
<ClCompile Include="src\NullPartHandler.cpp" />
<ClCompile Include="src\OAuth10Credentials.cpp" />
<ClCompile Include="src\OAuth20Credentials.cpp" />
<ClCompile Include="src\PartHandler.cpp" />
<ClCompile Include="src\PartSource.cpp" />
<ClCompile Include="src\PartStore.cpp" />
<ClCompile Include="src\PollSet.cpp" />
<ClCompile Include="src\POP3ClientSession.cpp" />
<ClCompile Include="src\QuotedPrintableDecoder.cpp" />
<ClCompile Include="src\QuotedPrintableEncoder.cpp" />
<ClCompile Include="src\RawSocket.cpp" />
<ClCompile Include="src\RawSocketImpl.cpp" />
<ClCompile Include="src\RemoteSyslogChannel.cpp" />
<ClCompile Include="src\RemoteSyslogListener.cpp" />
<ClCompile Include="src\ServerSocket.cpp" />
<ClCompile Include="src\ServerSocketImpl.cpp" />
<ClCompile Include="src\SMTPChannel.cpp" />
<ClCompile Include="src\SMTPClientSession.cpp" />
<ClCompile Include="src\Socket.cpp" />
<ClCompile Include="src\SocketAddress.cpp" />
<ClCompile Include="src\SocketAddressImpl.cpp" />
<ClCompile Include="src\SocketImpl.cpp" />
<ClCompile Include="src\SocketNotification.cpp" />
<ClCompile Include="src\SocketNotifier.cpp" />
<ClCompile Include="src\SocketReactor.cpp" />
<ClCompile Include="src\SocketStream.cpp" />
<ClCompile Include="src\StreamSocket.cpp" />
<ClCompile Include="src\StreamSocketImpl.cpp" />
<ClCompile Include="src\StringPartSource.cpp" />
<ClCompile Include="src\TCPServer.cpp" />
<ClCompile Include="src\TCPServerConnection.cpp" />
<ClCompile Include="src\TCPServerConnectionFactory.cpp" />
<ClCompile Include="src\TCPServerDispatcher.cpp" />
<ClCompile Include="src\TCPServerParams.cpp" />
<ClCompile Include="src\WebSocket.cpp" />
<ClCompile Include="src\WebSocketImpl.cpp" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\DLLVersion.rc">
@ -494,6 +496,6 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">true</ExcludedFromBuild>
</ResourceCompile>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@ -462,6 +462,9 @@
<ClInclude Include="include\Poco\Net\OAuth20Credentials.h">
<Filter>OAuth\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Net\PollSet.h">
<Filter>Sockets\Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\DNS.cpp">
@ -761,6 +764,9 @@
<ClCompile Include="src\OAuth20Credentials.cpp">
<Filter>OAuth\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\PollSet.cpp">
<Filter>Sockets\Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\DLLVersion.rc" />

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<?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|x64">
@ -32,7 +32,7 @@
<RootNamespace>Net</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
@ -63,27 +63,27 @@
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<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"/>
<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"/>
<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"/>
<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"/>
<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"/>
<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"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>14.0.23107.0</_ProjectFileVersion>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">PocoNet64d</TargetName>
@ -132,7 +132,7 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
@ -164,9 +164,9 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
@ -195,7 +195,7 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<ProgramDataBaseFileName>..\lib64\PocoNetmtd.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
@ -220,9 +220,9 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Lib>
@ -242,7 +242,7 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<ProgramDataBaseFileName>..\lib64\PocoNetmdd.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
@ -267,9 +267,9 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Lib>
@ -277,212 +277,214 @@
</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\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\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\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\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\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\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\WebSocket.h"/>
<ClInclude Include="include\Poco\Net\WebSocketImpl.h"/>
<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\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\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\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\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\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\WebSocket.h" />
<ClInclude Include="include\Poco\Net\WebSocketImpl.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\AbstractHTTPRequestHandler.cpp"/>
<ClCompile Include="src\DatagramSocket.cpp"/>
<ClCompile Include="src\DatagramSocketImpl.cpp"/>
<ClCompile Include="src\DialogSocket.cpp"/>
<ClCompile Include="src\DNS.cpp"/>
<ClCompile Include="src\FilePartSource.cpp"/>
<ClCompile Include="src\FTPClientSession.cpp"/>
<ClCompile Include="src\FTPStreamFactory.cpp"/>
<ClCompile Include="src\HostEntry.cpp"/>
<ClCompile Include="src\HTMLForm.cpp"/>
<ClCompile Include="src\HTTPAuthenticationParams.cpp"/>
<ClCompile Include="src\HTTPBasicCredentials.cpp"/>
<ClCompile Include="src\HTTPBufferAllocator.cpp"/>
<ClCompile Include="src\HTTPChunkedStream.cpp"/>
<ClCompile Include="src\HTTPClientSession.cpp"/>
<ClCompile Include="src\HTTPCookie.cpp"/>
<ClCompile Include="src\HTTPCredentials.cpp"/>
<ClCompile Include="src\HTTPDigestCredentials.cpp"/>
<ClCompile Include="src\HTTPFixedLengthStream.cpp"/>
<ClCompile Include="src\HTTPHeaderStream.cpp"/>
<ClCompile Include="src\HTTPIOStream.cpp"/>
<ClCompile Include="src\HTTPMessage.cpp"/>
<ClCompile Include="src\HTTPRequest.cpp"/>
<ClCompile Include="src\HTTPRequestHandler.cpp"/>
<ClCompile Include="src\HTTPRequestHandlerFactory.cpp"/>
<ClCompile Include="src\HTTPResponse.cpp"/>
<ClCompile Include="src\HTTPServer.cpp"/>
<ClCompile Include="src\HTTPServerConnection.cpp"/>
<ClCompile Include="src\HTTPServerConnectionFactory.cpp"/>
<ClCompile Include="src\HTTPServerParams.cpp"/>
<ClCompile Include="src\HTTPServerRequest.cpp"/>
<ClCompile Include="src\HTTPServerRequestImpl.cpp"/>
<ClCompile Include="src\HTTPServerResponse.cpp"/>
<ClCompile Include="src\HTTPServerResponseImpl.cpp"/>
<ClCompile Include="src\HTTPServerSession.cpp"/>
<ClCompile Include="src\HTTPSession.cpp"/>
<ClCompile Include="src\HTTPSessionFactory.cpp"/>
<ClCompile Include="src\HTTPSessionInstantiator.cpp"/>
<ClCompile Include="src\HTTPStream.cpp"/>
<ClCompile Include="src\HTTPStreamFactory.cpp"/>
<ClCompile Include="src\ICMPClient.cpp"/>
<ClCompile Include="src\ICMPEventArgs.cpp"/>
<ClCompile Include="src\ICMPPacket.cpp"/>
<ClCompile Include="src\ICMPPacketImpl.cpp"/>
<ClCompile Include="src\ICMPSocket.cpp"/>
<ClCompile Include="src\ICMPSocketImpl.cpp"/>
<ClCompile Include="src\ICMPv4PacketImpl.cpp"/>
<ClCompile Include="src\IPAddress.cpp"/>
<ClCompile Include="src\IPAddressImpl.cpp"/>
<ClCompile Include="src\MailMessage.cpp"/>
<ClCompile Include="src\MailRecipient.cpp"/>
<ClCompile Include="src\MailStream.cpp"/>
<ClCompile Include="src\MediaType.cpp"/>
<ClCompile Include="src\MessageHeader.cpp"/>
<ClCompile Include="src\MulticastSocket.cpp"/>
<ClCompile Include="src\MultipartReader.cpp"/>
<ClCompile Include="src\MultipartWriter.cpp"/>
<ClCompile Include="src\NameValueCollection.cpp"/>
<ClCompile Include="src\Net.cpp"/>
<ClCompile Include="src\NetException.cpp"/>
<ClCompile Include="src\NetworkInterface.cpp"/>
<ClCompile Include="src\NTPClient.cpp"/>
<ClCompile Include="src\NTPEventArgs.cpp"/>
<ClCompile Include="src\NTPPacket.cpp"/>
<ClCompile Include="src\NullPartHandler.cpp"/>
<ClCompile Include="src\OAuth10Credentials.cpp"/>
<ClCompile Include="src\OAuth20Credentials.cpp"/>
<ClCompile Include="src\PartHandler.cpp"/>
<ClCompile Include="src\PartSource.cpp"/>
<ClCompile Include="src\PartStore.cpp"/>
<ClCompile Include="src\POP3ClientSession.cpp"/>
<ClCompile Include="src\QuotedPrintableDecoder.cpp"/>
<ClCompile Include="src\QuotedPrintableEncoder.cpp"/>
<ClCompile Include="src\RawSocket.cpp"/>
<ClCompile Include="src\RawSocketImpl.cpp"/>
<ClCompile Include="src\RemoteSyslogChannel.cpp"/>
<ClCompile Include="src\RemoteSyslogListener.cpp"/>
<ClCompile Include="src\ServerSocket.cpp"/>
<ClCompile Include="src\ServerSocketImpl.cpp"/>
<ClCompile Include="src\SMTPChannel.cpp"/>
<ClCompile Include="src\SMTPClientSession.cpp"/>
<ClCompile Include="src\Socket.cpp"/>
<ClCompile Include="src\SocketAddress.cpp"/>
<ClCompile Include="src\SocketAddressImpl.cpp"/>
<ClCompile Include="src\SocketImpl.cpp"/>
<ClCompile Include="src\SocketNotification.cpp"/>
<ClCompile Include="src\SocketNotifier.cpp"/>
<ClCompile Include="src\SocketReactor.cpp"/>
<ClCompile Include="src\SocketStream.cpp"/>
<ClCompile Include="src\StreamSocket.cpp"/>
<ClCompile Include="src\StreamSocketImpl.cpp"/>
<ClCompile Include="src\StringPartSource.cpp"/>
<ClCompile Include="src\TCPServer.cpp"/>
<ClCompile Include="src\TCPServerConnection.cpp"/>
<ClCompile Include="src\TCPServerConnectionFactory.cpp"/>
<ClCompile Include="src\TCPServerDispatcher.cpp"/>
<ClCompile Include="src\TCPServerParams.cpp"/>
<ClCompile Include="src\WebSocket.cpp"/>
<ClCompile Include="src\WebSocketImpl.cpp"/>
<ClCompile Include="src\AbstractHTTPRequestHandler.cpp" />
<ClCompile Include="src\DatagramSocket.cpp" />
<ClCompile Include="src\DatagramSocketImpl.cpp" />
<ClCompile Include="src\DialogSocket.cpp" />
<ClCompile Include="src\DNS.cpp" />
<ClCompile Include="src\FilePartSource.cpp" />
<ClCompile Include="src\FTPClientSession.cpp" />
<ClCompile Include="src\FTPStreamFactory.cpp" />
<ClCompile Include="src\HostEntry.cpp" />
<ClCompile Include="src\HTMLForm.cpp" />
<ClCompile Include="src\HTTPAuthenticationParams.cpp" />
<ClCompile Include="src\HTTPBasicCredentials.cpp" />
<ClCompile Include="src\HTTPBufferAllocator.cpp" />
<ClCompile Include="src\HTTPChunkedStream.cpp" />
<ClCompile Include="src\HTTPClientSession.cpp" />
<ClCompile Include="src\HTTPCookie.cpp" />
<ClCompile Include="src\HTTPCredentials.cpp" />
<ClCompile Include="src\HTTPDigestCredentials.cpp" />
<ClCompile Include="src\HTTPFixedLengthStream.cpp" />
<ClCompile Include="src\HTTPHeaderStream.cpp" />
<ClCompile Include="src\HTTPIOStream.cpp" />
<ClCompile Include="src\HTTPMessage.cpp" />
<ClCompile Include="src\HTTPRequest.cpp" />
<ClCompile Include="src\HTTPRequestHandler.cpp" />
<ClCompile Include="src\HTTPRequestHandlerFactory.cpp" />
<ClCompile Include="src\HTTPResponse.cpp" />
<ClCompile Include="src\HTTPServer.cpp" />
<ClCompile Include="src\HTTPServerConnection.cpp" />
<ClCompile Include="src\HTTPServerConnectionFactory.cpp" />
<ClCompile Include="src\HTTPServerParams.cpp" />
<ClCompile Include="src\HTTPServerRequest.cpp" />
<ClCompile Include="src\HTTPServerRequestImpl.cpp" />
<ClCompile Include="src\HTTPServerResponse.cpp" />
<ClCompile Include="src\HTTPServerResponseImpl.cpp" />
<ClCompile Include="src\HTTPServerSession.cpp" />
<ClCompile Include="src\HTTPSession.cpp" />
<ClCompile Include="src\HTTPSessionFactory.cpp" />
<ClCompile Include="src\HTTPSessionInstantiator.cpp" />
<ClCompile Include="src\HTTPStream.cpp" />
<ClCompile Include="src\HTTPStreamFactory.cpp" />
<ClCompile Include="src\ICMPClient.cpp" />
<ClCompile Include="src\ICMPEventArgs.cpp" />
<ClCompile Include="src\ICMPPacket.cpp" />
<ClCompile Include="src\ICMPPacketImpl.cpp" />
<ClCompile Include="src\ICMPSocket.cpp" />
<ClCompile Include="src\ICMPSocketImpl.cpp" />
<ClCompile Include="src\ICMPv4PacketImpl.cpp" />
<ClCompile Include="src\IPAddress.cpp" />
<ClCompile Include="src\IPAddressImpl.cpp" />
<ClCompile Include="src\MailMessage.cpp" />
<ClCompile Include="src\MailRecipient.cpp" />
<ClCompile Include="src\MailStream.cpp" />
<ClCompile Include="src\MediaType.cpp" />
<ClCompile Include="src\MessageHeader.cpp" />
<ClCompile Include="src\MulticastSocket.cpp" />
<ClCompile Include="src\MultipartReader.cpp" />
<ClCompile Include="src\MultipartWriter.cpp" />
<ClCompile Include="src\NameValueCollection.cpp" />
<ClCompile Include="src\Net.cpp" />
<ClCompile Include="src\NetException.cpp" />
<ClCompile Include="src\NetworkInterface.cpp" />
<ClCompile Include="src\NTPClient.cpp" />
<ClCompile Include="src\NTPEventArgs.cpp" />
<ClCompile Include="src\NTPPacket.cpp" />
<ClCompile Include="src\NullPartHandler.cpp" />
<ClCompile Include="src\OAuth10Credentials.cpp" />
<ClCompile Include="src\OAuth20Credentials.cpp" />
<ClCompile Include="src\PartHandler.cpp" />
<ClCompile Include="src\PartSource.cpp" />
<ClCompile Include="src\PartStore.cpp" />
<ClCompile Include="src\PollSet.cpp" />
<ClCompile Include="src\POP3ClientSession.cpp" />
<ClCompile Include="src\QuotedPrintableDecoder.cpp" />
<ClCompile Include="src\QuotedPrintableEncoder.cpp" />
<ClCompile Include="src\RawSocket.cpp" />
<ClCompile Include="src\RawSocketImpl.cpp" />
<ClCompile Include="src\RemoteSyslogChannel.cpp" />
<ClCompile Include="src\RemoteSyslogListener.cpp" />
<ClCompile Include="src\ServerSocket.cpp" />
<ClCompile Include="src\ServerSocketImpl.cpp" />
<ClCompile Include="src\SMTPChannel.cpp" />
<ClCompile Include="src\SMTPClientSession.cpp" />
<ClCompile Include="src\Socket.cpp" />
<ClCompile Include="src\SocketAddress.cpp" />
<ClCompile Include="src\SocketAddressImpl.cpp" />
<ClCompile Include="src\SocketImpl.cpp" />
<ClCompile Include="src\SocketNotification.cpp" />
<ClCompile Include="src\SocketNotifier.cpp" />
<ClCompile Include="src\SocketReactor.cpp" />
<ClCompile Include="src\SocketStream.cpp" />
<ClCompile Include="src\StreamSocket.cpp" />
<ClCompile Include="src\StreamSocketImpl.cpp" />
<ClCompile Include="src\StringPartSource.cpp" />
<ClCompile Include="src\TCPServer.cpp" />
<ClCompile Include="src\TCPServerConnection.cpp" />
<ClCompile Include="src\TCPServerConnectionFactory.cpp" />
<ClCompile Include="src\TCPServerDispatcher.cpp" />
<ClCompile Include="src\TCPServerParams.cpp" />
<ClCompile Include="src\WebSocket.cpp" />
<ClCompile Include="src\WebSocketImpl.cpp" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\DLLVersion.rc">
@ -494,6 +496,6 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">true</ExcludedFromBuild>
</ResourceCompile>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@ -462,6 +462,9 @@
<ClInclude Include="include\Poco\Net\OAuth20Credentials.h">
<Filter>OAuth\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Net\PollSet.h">
<Filter>Sockets\Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\DNS.cpp">
@ -761,6 +764,9 @@
<ClCompile Include="src\OAuth20Credentials.cpp">
<Filter>OAuth\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\PollSet.cpp">
<Filter>Sockets\Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\DLLVersion.rc" />

View File

@ -0,0 +1,86 @@
//
// 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
};
typedef std::map<Poco::Net::Socket, int> SocketModeMap;
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.
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

View File

@ -56,7 +56,7 @@ public:
/// with the client.
///
/// The client socket's address is returned in clientAddr.
virtual void connect(const SocketAddress& address);
/// Initializes the socket and establishes a connection to
/// the TCP server at the given address.
@ -73,7 +73,7 @@ public:
/// Initializes the socket and establishes a connection to
/// the TCP server at the given address. Prior to opening the
/// connection the socket is set to nonblocking mode.
virtual void bind(const SocketAddress& address, bool reuseAddress = false);
/// Bind a local address to the socket.
///
@ -149,14 +149,14 @@ public:
virtual void shutdownReceive();
/// Shuts down the receiving part of the socket connection.
virtual void shutdownSend();
/// Shuts down the sending part of the socket connection.
virtual void shutdown();
/// Shuts down both the receiving and the sending part
/// of the socket connection.
virtual int sendBytes(const void* buffer, int length, int flags = 0);
/// Sends the contents of the given buffer through
/// the socket.
@ -166,7 +166,7 @@ public:
///
/// Certain socket implementations may also return a negative
/// value denoting a certain condition.
virtual 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.
@ -175,21 +175,21 @@ public:
///
/// Certain socket implementations may also return a negative
/// value denoting a certain condition.
virtual 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.
virtual 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.
virtual void sendUrgent(unsigned char data);
/// Sends one byte of urgent data through
/// the socket.
@ -198,11 +198,11 @@ public:
///
/// The preferred way for a socket to receive urgent data
/// is by enabling the SO_OOBINLINE option.
virtual int available();
/// Returns the number of bytes available that can be read
/// without causing the socket to block.
virtual bool poll(const Poco::Timespan& timeout, int mode);
/// Determines the status of the socket, using a
/// call to select().
@ -212,10 +212,10 @@ public:
///
/// Returns true if the next operation corresponding to
/// mode will not block, false otherwise.
virtual void setSendBufferSize(int size);
/// Sets the size of the send buffer.
virtual int getSendBufferSize();
/// Returns the size of the send buffer.
///
@ -225,7 +225,7 @@ public:
virtual void setReceiveBufferSize(int size);
/// Sets the size of the receive buffer.
virtual int getReceiveBufferSize();
/// Returns the size of the receive buffer.
///
@ -235,7 +235,7 @@ public:
virtual void setSendTimeout(const Poco::Timespan& timeout);
/// Sets the send timeout for the socket.
virtual Poco::Timespan getSendTimeout();
/// Returns the send timeout for the socket.
///
@ -248,20 +248,20 @@ public:
///
/// On systems that do not support SO_RCVTIMEO, a
/// workaround using poll() is provided.
virtual Poco::Timespan getReceiveTimeout();
/// Returns the receive timeout for the socket.
///
/// The returned timeout may be different than the
/// timeout previously set with setReceiveTimeout(),
/// as the system is free to adjust the value.
virtual SocketAddress address();
/// Returns the IP address and port number of the socket.
virtual SocketAddress peerAddress();
/// Returns the IP address and port number of the peer socket.
void setOption(int level, int option, int value);
/// Sets the socket option specified by level and option
/// to the given integer value.
@ -273,19 +273,19 @@ public:
void setOption(int level, int option, unsigned char value);
/// Sets the socket option specified by level and option
/// to the given integer value.
void setOption(int level, int option, const Poco::Timespan& value);
/// Sets the socket option specified by level and option
/// to the given time value.
void setOption(int level, int option, const IPAddress& value);
/// Sets the socket option specified by level and option
/// to the given time value.
virtual void setRawOption(int level, int option, const void* value, poco_socklen_t length);
/// Sets the socket option specified by level and option
/// to the given time value.
void getOption(int level, int option, int& value);
/// Returns the value of the socket option
/// specified by level and option.
@ -301,36 +301,36 @@ public:
void getOption(int level, int option, Poco::Timespan& value);
/// Returns the value of the socket option
/// specified by level and option.
void getOption(int level, int option, IPAddress& value);
/// Returns the value of the socket option
/// specified by level and option.
virtual void getRawOption(int level, int option, void* value, poco_socklen_t& length);
/// Returns the value of the socket option
/// specified by level and option.
/// specified by level and option.
void setLinger(bool on, int seconds);
/// Sets the value of the SO_LINGER socket option.
void getLinger(bool& on, int& seconds);
/// Returns the value of the SO_LINGER socket option.
void setNoDelay(bool flag);
/// Sets the value of the TCP_NODELAY socket option.
bool getNoDelay();
/// Returns the value of the TCP_NODELAY socket option.
void setKeepAlive(bool flag);
/// Sets the value of the SO_KEEPALIVE socket option.
bool getKeepAlive();
/// Returns the value of the SO_KEEPALIVE socket option.
void setReuseAddress(bool flag);
/// Sets the value of the SO_REUSEADDR socket option.
bool getReuseAddress();
/// Returns the value of the SO_REUSEADDR socket option.
@ -338,22 +338,22 @@ public:
/// Sets the value of the SO_REUSEPORT socket option.
/// Does nothing if the socket implementation does not
/// support SO_REUSEPORT.
bool getReusePort();
/// Returns the value of the SO_REUSEPORT socket option.
///
/// Returns false if the socket implementation does not
/// support SO_REUSEPORT.
void setOOBInline(bool flag);
/// Sets the value of the SO_OOBINLINE socket option.
bool getOOBInline();
/// Returns the value of the SO_OOBINLINE socket option.
void setBroadcast(bool flag);
/// Sets the value of the SO_BROADCAST socket option.
bool getBroadcast();
/// Returns the value of the SO_BROADCAST socket option.
@ -397,7 +397,7 @@ public:
protected:
SocketImpl();
/// Creates a SocketImpl.
SocketImpl(poco_socket_t sockfd);
/// Creates a SocketImpl using the given native socket.
@ -443,22 +443,23 @@ protected:
static void error(int code);
/// Throws an appropriate exception for the given error code.
static void error(int code, const std::string& arg);
/// Throws an appropriate exception for the given error code.
private:
SocketImpl(const SocketImpl&);
SocketImpl& operator = (const SocketImpl&);
poco_socket_t _sockfd;
Poco::Timespan _recvTimeout;
Poco::Timespan _sndTimeout;
bool _blocking;
bool _isBrokenTimeout;
friend class Socket;
friend class SecureSocketImpl;
friend class PollSetImpl;
};

521
Net/src/PollSet.cpp Normal file
View File

@ -0,0 +1,521 @@
//
// PollSet.cpp
//
// Library: Net
// Package: Sockets
// Module: PollSet
//
// Copyright (c) 2016, Applied Informatics Software Engineering GmbH.
// All rights reserved.
//
// SPDX-License-Identifier: BSL-1.0
//
#if defined(_WIN32)
#include "Poco/Platform_WIN32_OSVER.h"
#endif
#include "Poco/Net/PollSet.h"
#include "Poco/Net/SocketImpl.h"
#include "Poco/Mutex.h"
#include <set>
#if defined(_WIN32) && _WIN32_WINNT >= 0x0600
#ifndef POCO_HAVE_FD_POLL
#define POCO_HAVE_FD_POLL 1
#endif
#elif defined(POCO_OS_FAMILY_BSD)
#ifndef POCO_HAVE_FD_POLL
#define POCO_HAVE_FD_POLL 1
#endif
#endif
#if defined(POCO_HAVE_FD_EPOLL)
#include <sys/epoll.h>
#elif defined(POCO_HAVE_FD_POLL)
#ifndef _WIN32
#include <poll.h>
#endif
#endif
namespace Poco {
namespace Net {
#if defined(POCO_HAVE_FD_EPOLL)
//
// Linux implementation using epoll
//
class PollSetImpl
{
public:
PollSetImpl():
_epollfd(-1),
_events(1024)
{
_epollfd = epoll_create(1);
if (_epollfd < 0)
{
SocketImpl::error();
}
}
~PollSetImpl()
{
if (_epollfd >= 0)
::close(_epollfd);
}
void add(const Socket& socket, int mode)
{
Poco::FastMutex::ScopedLock lock(_mutex);
poco_socket_t fd = socket.impl()->sockfd();
struct epoll_event ev;
ev.events = 0;
if (mode & PollSet::POLL_READ)
ev.events |= EPOLLIN;
if (mode & PollSet::POLL_WRITE)
ev.events |= EPOLLOUT;
if (mode & PollSet::POLL_ERROR)
ev.events |= EPOLLERR;
ev.data.ptr = socket.impl();
int err = epoll_ctl(_epollfd, EPOLL_CTL_ADD, fd, &ev);
if (err) SocketImpl::error();
_socketMap[socket.impl()] = socket;
}
void remove(const Socket& socket)
{
Poco::FastMutex::ScopedLock lock(_mutex);
poco_socket_t fd = socket.impl()->sockfd();
struct epoll_event ev;
ev.events = 0;
ev.data.ptr = 0;
int err = epoll_ctl(_epollfd, EPOLL_CTL_DEL, fd, &ev);
if (err) SocketImpl::error();
_socketMap.erase(socket.impl());
}
void update(const Socket& socket, int mode)
{
poco_socket_t fd = socket.impl()->sockfd();
struct epoll_event ev;
ev.events = 0;
if (mode & PollSet::POLL_READ)
ev.events |= EPOLLIN;
if (mode & PollSet::POLL_WRITE)
ev.events |= EPOLLOUT;
if (mode & PollSet::POLL_ERROR)
ev.events |= EPOLLERR;
ev.data.ptr = socket.impl();
int err = epoll_ctl(_epollfd, EPOLL_CTL_MOD, fd, &ev);
if (err)
{
SocketImpl::error();
}
}
void clear()
{
Poco::FastMutex::ScopedLock lock(_mutex);
::close(_epollfd);
_socketMap.clear();
_epollfd = epoll_create(1);
if (_epollfd < 0)
{
SocketImpl::error();
}
}
PollSet::SocketModeMap poll(const Poco::Timespan& timeout)
{
PollSet::SocketModeMap result;
if (_socketMap.empty()) return result;
Poco::Timespan remainingTime(timeout);
int rc;
do
{
Poco::Timestamp start;
rc = epoll_wait(_epollfd, &_events[0], _events.size(), remainingTime.totalMilliseconds());
if (rc < 0 && SocketImpl::lastError() == POCO_EINTR)
{
Poco::Timestamp end;
Poco::Timespan waited = end - start;
if (waited < remainingTime)
remainingTime -= waited;
else
remainingTime = 0;
}
}
while (rc < 0 && SocketImpl::lastError() == POCO_EINTR);
if (rc < 0) SocketImpl::error();
Poco::FastMutex::ScopedLock lock(_mutex);
for (int i = 0; i < rc; i++)
{
std::map<void*, Socket>::iterator it = _socketMap.find(_events[i].data.ptr);
if (it != _socketMap.end())
{
if (_events[i].events & EPOLLIN)
result[it->second] |= PollSet::POLL_READ;
if (_events[i].events & EPOLLOUT)
result[it->second] |= PollSet::POLL_WRITE;
if (_events[i].events & EPOLLERR)
result[it->second] |= PollSet::POLL_ERROR;
}
}
return result;
}
private:
Poco::FastMutex _mutex;
int _epollfd;
std::map<void*, Socket> _socketMap;
std::vector<struct epoll_event> _events;
};
#elif defined(POCO_HAVE_FD_POLL)
//
// BSD implementation using poll
//
class PollSetImpl
{
public:
void add(const Socket& socket, int mode)
{
Poco::FastMutex::ScopedLock lock(_mutex);
poco_socket_t fd = socket.impl()->sockfd();
_addMap[fd] = mode;
_removeSet.erase(fd);
_socketMap[fd] = socket;
}
void remove(const Socket& socket)
{
Poco::FastMutex::ScopedLock lock(_mutex);
poco_socket_t fd = socket.impl()->sockfd();
_removeSet.insert(fd);
_addMap.erase(fd);
_socketMap.erase(fd);
}
void update(const Socket& socket, int mode)
{
Poco::FastMutex::ScopedLock lock(_mutex);
poco_socket_t fd = socket.impl()->sockfd();
for (std::vector<pollfd>::iterator it = _pollfds.begin(); it != _pollfds.end(); ++it)
{
if (it->fd == fd)
{
it->events = 0;
if (mode & PollSet::POLL_READ)
it->events |= POLLIN;
if (mode & PollSet::POLL_WRITE)
it->events |= POLLOUT;
}
}
}
void clear()
{
Poco::FastMutex::ScopedLock lock(_mutex);
_socketMap.clear();
_addMap.clear();
_removeSet.clear();
_pollfds.clear();
}
PollSet::SocketModeMap poll(const Poco::Timespan& timeout)
{
PollSet::SocketModeMap result;
{
Poco::FastMutex::ScopedLock lock(_mutex);
if (!_removeSet.empty())
{
for (std::vector<pollfd>::iterator it = _pollfds.begin(); it != _pollfds.end();)
{
if (_removeSet.find(it->fd) != _removeSet.end())
{
it = _pollfds.erase(it);
}
else ++it;
}
_removeSet.clear();
}
_pollfds.reserve(_pollfds.size() + _addMap.size());
for (std::map<poco_socket_t, int>::iterator it = _addMap.begin(); it != _addMap.end(); ++it)
{
pollfd pfd;
pfd.fd = it->first;
pfd.events = 0;
pfd.revents = 0;
if (it->second & PollSet::POLL_READ)
pfd.events |= POLLIN;
if (it->second & PollSet::POLL_WRITE)
pfd.events |= POLLOUT;
_pollfds.push_back(pfd);
}
_addMap.clear();
}
if (_pollfds.empty()) return result;
Poco::Timespan remainingTime(timeout);
int rc;
do
{
Poco::Timestamp start;
#ifdef _WIN32
rc = WSAPoll(&_pollfds[0], _pollfds.size(), static_cast<INT>(timeout.totalMilliseconds()));
#else
rc = ::poll(&_pollfds[0], _pollfds.size(), timeout.totalMilliseconds());
#endif
if (rc < 0 && SocketImpl::lastError() == POCO_EINTR)
{
Poco::Timestamp end;
Poco::Timespan waited = end - start;
if (waited < remainingTime)
remainingTime -= waited;
else
remainingTime = 0;
}
}
while (rc < 0 && SocketImpl::lastError() == POCO_EINTR);
if (rc < 0) SocketImpl::error();
{
Poco::FastMutex::ScopedLock lock(_mutex);
if (!_socketMap.empty())
{
for (std::vector<pollfd>::iterator it = _pollfds.begin(); it != _pollfds.end(); ++it)
{
std::map<poco_socket_t, Socket>::const_iterator its = _socketMap.find(it->fd);
if (its != _socketMap.end())
{
if (it->revents & POLLIN)
result[its->second] |= PollSet::POLL_READ;
if (it->revents & POLLOUT)
result[its->second] |= PollSet::POLL_WRITE;
if (it->revents & POLLERR)
result[its->second] |= PollSet::POLL_ERROR;
}
it->revents = 0;
}
}
}
return result;
}
private:
Poco::FastMutex _mutex;
std::map<poco_socket_t, Socket> _socketMap;
std::map<poco_socket_t, int> _addMap;
std::set<poco_socket_t> _removeSet;
std::vector<pollfd> _pollfds;
};
#else
//
// Fallback implementation using select()
//
class PollSetImpl
{
public:
void add(const Socket& socket, int mode)
{
Poco::FastMutex::ScopedLock lock(_mutex);
_map[socket] = mode;
}
void remove(const Socket& socket)
{
Poco::FastMutex::ScopedLock lock(_mutex);
_map.erase(socket);
}
void update(const Socket& socket, int mode)
{
Poco::FastMutex::ScopedLock lock(_mutex);
_map[socket] = mode;
}
void clear()
{
Poco::FastMutex::ScopedLock lock(_mutex);
_map.clear();
}
PollSet::SocketModeMap poll(const Poco::Timespan& timeout)
{
fd_set fdRead;
fd_set fdWrite;
fd_set fdExcept;
int nfd = 0;
FD_ZERO(&fdRead);
FD_ZERO(&fdWrite);
FD_ZERO(&fdExcept);
{
Poco::FastMutex::ScopedLock lock(_mutex);
for (PollSet::SocketModeMap::const_iterator it = _map.begin(); it != _map.end(); ++it)
{
poco_socket_t fd = it->first.impl()->sockfd();
if (fd != POCO_INVALID_SOCKET && it->second)
{
if (int(fd) > nfd) nfd = int(fd);
if (it->second & PollSet::POLL_READ)
{
FD_SET(fd, &fdRead);
}
if (it->second & PollSet::POLL_WRITE)
{
FD_SET(fd, &fdWrite);
}
if (it->second & PollSet::POLL_ERROR)
{
FD_SET(fd, &fdExcept);
}
}
}
}
PollSet::SocketModeMap result;
if (nfd == 0) return result;
Poco::Timespan remainingTime(timeout);
int rc;
do
{
struct timeval tv;
tv.tv_sec = (long) remainingTime.totalSeconds();
tv.tv_usec = (long) remainingTime.useconds();
Poco::Timestamp start;
rc = ::select(nfd + 1, &fdRead, &fdWrite, &fdExcept, &tv);
if (rc < 0 && SocketImpl::lastError() == POCO_EINTR)
{
Poco::Timestamp end;
Poco::Timespan waited = end - start;
if (waited < remainingTime)
remainingTime -= waited;
else
remainingTime = 0;
}
}
while (rc < 0 && SocketImpl::lastError() == POCO_EINTR);
if (rc < 0) SocketImpl::error();
{
Poco::FastMutex::ScopedLock lock(_mutex);
for (PollSet::SocketModeMap::const_iterator it = _map.begin(); it != _map.end(); ++it)
{
poco_socket_t fd = it->first.impl()->sockfd();
if (fd != POCO_INVALID_SOCKET)
{
if (FD_ISSET(fd, &fdRead))
{
result[it->first] |= PollSet::POLL_READ;
}
if (FD_ISSET(fd, &fdWrite))
{
result[it->first] |= PollSet::POLL_WRITE;
}
if (FD_ISSET(fd, &fdExcept))
{
result[it->first] |= PollSet::POLL_ERROR;
}
}
}
}
return result;
}
private:
Poco::FastMutex _mutex;
PollSet::SocketModeMap _map;
};
#endif
PollSet::PollSet():
_pImpl(new PollSetImpl)
{
}
PollSet::~PollSet()
{
delete _pImpl;
}
void PollSet::add(const Socket& socket, int mode)
{
_pImpl->add(socket, mode);
}
void PollSet::remove(const Socket& socket)
{
_pImpl->remove(socket);
}
void PollSet::update(const Socket& socket, int mode)
{
_pImpl->update(socket, mode);
}
void PollSet::clear()
{
_pImpl->clear();
}
PollSet::SocketModeMap PollSet::poll(const Poco::Timespan& timeout)
{
return _pImpl->poll(timeout);
}
} } // namespace Poco::Net

View File

@ -26,7 +26,8 @@ objects = \
NTPClientTest NTPClientTestSuite \
WebSocketTest WebSocketTestSuite \
SyslogTest \
OAuth10CredentialsTest OAuth20CredentialsTest OAuthTestSuite
OAuth10CredentialsTest OAuth20CredentialsTest OAuthTestSuite \
PollSetTest
target = testrunner
target_version = 1

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<?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">
@ -32,7 +32,7 @@
<RootNamespace>TestSuite</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
@ -63,27 +63,27 @@
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<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"/>
<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"/>
<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"/>
<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"/>
<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"/>
<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"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>14.0.23107.0</_ProjectFileVersion>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">TestSuited</TargetName>
@ -136,7 +136,7 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
@ -167,9 +167,9 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
@ -196,7 +196,7 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
@ -227,9 +227,9 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
@ -256,7 +256,7 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
@ -287,9 +287,9 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
@ -304,130 +304,132 @@
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="src\DatagramSocketTest.h"/>
<ClInclude Include="src\DialogServer.h"/>
<ClInclude Include="src\DialogSocketTest.h"/>
<ClInclude Include="src\DNSTest.h"/>
<ClInclude Include="src\EchoServer.h"/>
<ClInclude Include="src\FTPClientSessionTest.h"/>
<ClInclude Include="src\FTPClientTestSuite.h"/>
<ClInclude Include="src\FTPStreamFactoryTest.h"/>
<ClInclude Include="src\HTMLFormTest.h"/>
<ClInclude Include="src\HTMLTestSuite.h"/>
<ClInclude Include="src\HTTPClientSessionTest.h"/>
<ClInclude Include="src\HTTPClientTestSuite.h"/>
<ClInclude Include="src\HTTPCookieTest.h"/>
<ClInclude Include="src\HTTPCredentialsTest.h"/>
<ClInclude Include="src\HTTPRequestTest.h"/>
<ClInclude Include="src\HTTPResponseTest.h"/>
<ClInclude Include="src\HTTPServerTest.h"/>
<ClInclude Include="src\HTTPServerTestSuite.h"/>
<ClInclude Include="src\HTTPStreamFactoryTest.h"/>
<ClInclude Include="src\HTTPTestServer.h"/>
<ClInclude Include="src\HTTPTestSuite.h"/>
<ClInclude Include="src\ICMPClientTest.h"/>
<ClInclude Include="src\ICMPClientTestSuite.h"/>
<ClInclude Include="src\ICMPSocketTest.h"/>
<ClInclude Include="src\IPAddressTest.h"/>
<ClInclude Include="src\MailMessageTest.h"/>
<ClInclude Include="src\MailStreamTest.h"/>
<ClInclude Include="src\MailTestSuite.h"/>
<ClInclude Include="src\MediaTypeTest.h"/>
<ClInclude Include="src\MessageHeaderTest.h"/>
<ClInclude Include="src\MessagesTestSuite.h"/>
<ClInclude Include="src\MulticastEchoServer.h"/>
<ClInclude Include="src\MulticastSocketTest.h"/>
<ClInclude Include="src\MultipartReaderTest.h"/>
<ClInclude Include="src\MultipartWriterTest.h"/>
<ClInclude Include="src\NameValueCollectionTest.h"/>
<ClInclude Include="src\NetCoreTestSuite.h"/>
<ClInclude Include="src\NetTestSuite.h"/>
<ClInclude Include="src\NetworkInterfaceTest.h"/>
<ClInclude Include="src\NTPClientTest.h"/>
<ClInclude Include="src\NTPClientTestSuite.h"/>
<ClInclude Include="src\OAuth10CredentialsTest.h"/>
<ClInclude Include="src\OAuth20CredentialsTest.h"/>
<ClInclude Include="src\OAuthTestSuite.h"/>
<ClInclude Include="src\POP3ClientSessionTest.h"/>
<ClInclude Include="src\QuotedPrintableTest.h"/>
<ClInclude Include="src\RawSocketTest.h"/>
<ClInclude Include="src\ReactorTestSuite.h"/>
<ClInclude Include="src\SMTPClientSessionTest.h"/>
<ClInclude Include="src\SocketAddressTest.h"/>
<ClInclude Include="src\SocketReactorTest.h"/>
<ClInclude Include="src\SocketsTestSuite.h"/>
<ClInclude Include="src\SocketStreamTest.h"/>
<ClInclude Include="src\SocketTest.h"/>
<ClInclude Include="src\SyslogTest.h"/>
<ClInclude Include="src\TCPServerTest.h"/>
<ClInclude Include="src\TCPServerTestSuite.h"/>
<ClInclude Include="src\UDPEchoServer.h"/>
<ClInclude Include="src\WebSocketTest.h"/>
<ClInclude Include="src\WebSocketTestSuite.h"/>
<ClInclude Include="src\DatagramSocketTest.h" />
<ClInclude Include="src\DialogServer.h" />
<ClInclude Include="src\DialogSocketTest.h" />
<ClInclude Include="src\DNSTest.h" />
<ClInclude Include="src\EchoServer.h" />
<ClInclude Include="src\FTPClientSessionTest.h" />
<ClInclude Include="src\FTPClientTestSuite.h" />
<ClInclude Include="src\FTPStreamFactoryTest.h" />
<ClInclude Include="src\HTMLFormTest.h" />
<ClInclude Include="src\HTMLTestSuite.h" />
<ClInclude Include="src\HTTPClientSessionTest.h" />
<ClInclude Include="src\HTTPClientTestSuite.h" />
<ClInclude Include="src\HTTPCookieTest.h" />
<ClInclude Include="src\HTTPCredentialsTest.h" />
<ClInclude Include="src\HTTPRequestTest.h" />
<ClInclude Include="src\HTTPResponseTest.h" />
<ClInclude Include="src\HTTPServerTest.h" />
<ClInclude Include="src\HTTPServerTestSuite.h" />
<ClInclude Include="src\HTTPStreamFactoryTest.h" />
<ClInclude Include="src\HTTPTestServer.h" />
<ClInclude Include="src\HTTPTestSuite.h" />
<ClInclude Include="src\ICMPClientTest.h" />
<ClInclude Include="src\ICMPClientTestSuite.h" />
<ClInclude Include="src\ICMPSocketTest.h" />
<ClInclude Include="src\IPAddressTest.h" />
<ClInclude Include="src\MailMessageTest.h" />
<ClInclude Include="src\MailStreamTest.h" />
<ClInclude Include="src\MailTestSuite.h" />
<ClInclude Include="src\MediaTypeTest.h" />
<ClInclude Include="src\MessageHeaderTest.h" />
<ClInclude Include="src\MessagesTestSuite.h" />
<ClInclude Include="src\MulticastEchoServer.h" />
<ClInclude Include="src\MulticastSocketTest.h" />
<ClInclude Include="src\MultipartReaderTest.h" />
<ClInclude Include="src\MultipartWriterTest.h" />
<ClInclude Include="src\NameValueCollectionTest.h" />
<ClInclude Include="src\NetCoreTestSuite.h" />
<ClInclude Include="src\NetTestSuite.h" />
<ClInclude Include="src\NetworkInterfaceTest.h" />
<ClInclude Include="src\NTPClientTest.h" />
<ClInclude Include="src\NTPClientTestSuite.h" />
<ClInclude Include="src\OAuth10CredentialsTest.h" />
<ClInclude Include="src\OAuth20CredentialsTest.h" />
<ClInclude Include="src\OAuthTestSuite.h" />
<ClInclude Include="src\PollSetTest.h" />
<ClInclude Include="src\POP3ClientSessionTest.h" />
<ClInclude Include="src\QuotedPrintableTest.h" />
<ClInclude Include="src\RawSocketTest.h" />
<ClInclude Include="src\ReactorTestSuite.h" />
<ClInclude Include="src\SMTPClientSessionTest.h" />
<ClInclude Include="src\SocketAddressTest.h" />
<ClInclude Include="src\SocketReactorTest.h" />
<ClInclude Include="src\SocketsTestSuite.h" />
<ClInclude Include="src\SocketStreamTest.h" />
<ClInclude Include="src\SocketTest.h" />
<ClInclude Include="src\SyslogTest.h" />
<ClInclude Include="src\TCPServerTest.h" />
<ClInclude Include="src\TCPServerTestSuite.h" />
<ClInclude Include="src\UDPEchoServer.h" />
<ClInclude Include="src\WebSocketTest.h" />
<ClInclude Include="src\WebSocketTestSuite.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\DatagramSocketTest.cpp"/>
<ClCompile Include="src\DialogServer.cpp"/>
<ClCompile Include="src\DialogSocketTest.cpp"/>
<ClCompile Include="src\DNSTest.cpp"/>
<ClCompile Include="src\Driver.cpp"/>
<ClCompile Include="src\EchoServer.cpp"/>
<ClCompile Include="src\FTPClientSessionTest.cpp"/>
<ClCompile Include="src\FTPClientTestSuite.cpp"/>
<ClCompile Include="src\FTPStreamFactoryTest.cpp"/>
<ClCompile Include="src\HTMLFormTest.cpp"/>
<ClCompile Include="src\HTMLTestSuite.cpp"/>
<ClCompile Include="src\HTTPClientSessionTest.cpp"/>
<ClCompile Include="src\HTTPClientTestSuite.cpp"/>
<ClCompile Include="src\HTTPCookieTest.cpp"/>
<ClCompile Include="src\HTTPCredentialsTest.cpp"/>
<ClCompile Include="src\HTTPRequestTest.cpp"/>
<ClCompile Include="src\HTTPResponseTest.cpp"/>
<ClCompile Include="src\HTTPServerTest.cpp"/>
<ClCompile Include="src\HTTPServerTestSuite.cpp"/>
<ClCompile Include="src\HTTPStreamFactoryTest.cpp"/>
<ClCompile Include="src\HTTPTestServer.cpp"/>
<ClCompile Include="src\HTTPTestSuite.cpp"/>
<ClCompile Include="src\ICMPClientTest.cpp"/>
<ClCompile Include="src\ICMPClientTestSuite.cpp"/>
<ClCompile Include="src\ICMPSocketTest.cpp"/>
<ClCompile Include="src\IPAddressTest.cpp"/>
<ClCompile Include="src\MailMessageTest.cpp"/>
<ClCompile Include="src\MailStreamTest.cpp"/>
<ClCompile Include="src\MailTestSuite.cpp"/>
<ClCompile Include="src\MediaTypeTest.cpp"/>
<ClCompile Include="src\MessageHeaderTest.cpp"/>
<ClCompile Include="src\MessagesTestSuite.cpp"/>
<ClCompile Include="src\MulticastEchoServer.cpp"/>
<ClCompile Include="src\MulticastSocketTest.cpp"/>
<ClCompile Include="src\MultipartReaderTest.cpp"/>
<ClCompile Include="src\MultipartWriterTest.cpp"/>
<ClCompile Include="src\NameValueCollectionTest.cpp"/>
<ClCompile Include="src\NetCoreTestSuite.cpp"/>
<ClCompile Include="src\NetTestSuite.cpp"/>
<ClCompile Include="src\NetworkInterfaceTest.cpp"/>
<ClCompile Include="src\NTPClientTest.cpp"/>
<ClCompile Include="src\NTPClientTestSuite.cpp"/>
<ClCompile Include="src\OAuth10CredentialsTest.cpp"/>
<ClCompile Include="src\OAuth20CredentialsTest.cpp"/>
<ClCompile Include="src\OAuthTestSuite.cpp"/>
<ClCompile Include="src\POP3ClientSessionTest.cpp"/>
<ClCompile Include="src\QuotedPrintableTest.cpp"/>
<ClCompile Include="src\RawSocketTest.cpp"/>
<ClCompile Include="src\ReactorTestSuite.cpp"/>
<ClCompile Include="src\SMTPClientSessionTest.cpp"/>
<ClCompile Include="src\SocketAddressTest.cpp"/>
<ClCompile Include="src\SocketReactorTest.cpp"/>
<ClCompile Include="src\SocketsTestSuite.cpp"/>
<ClCompile Include="src\SocketStreamTest.cpp"/>
<ClCompile Include="src\SocketTest.cpp"/>
<ClCompile Include="src\SyslogTest.cpp"/>
<ClCompile Include="src\TCPServerTest.cpp"/>
<ClCompile Include="src\TCPServerTestSuite.cpp"/>
<ClCompile Include="src\UDPEchoServer.cpp"/>
<ClCompile Include="src\WebSocketTest.cpp"/>
<ClCompile Include="src\WebSocketTestSuite.cpp"/>
<ClCompile Include="src\DatagramSocketTest.cpp" />
<ClCompile Include="src\DialogServer.cpp" />
<ClCompile Include="src\DialogSocketTest.cpp" />
<ClCompile Include="src\DNSTest.cpp" />
<ClCompile Include="src\Driver.cpp" />
<ClCompile Include="src\EchoServer.cpp" />
<ClCompile Include="src\FTPClientSessionTest.cpp" />
<ClCompile Include="src\FTPClientTestSuite.cpp" />
<ClCompile Include="src\FTPStreamFactoryTest.cpp" />
<ClCompile Include="src\HTMLFormTest.cpp" />
<ClCompile Include="src\HTMLTestSuite.cpp" />
<ClCompile Include="src\HTTPClientSessionTest.cpp" />
<ClCompile Include="src\HTTPClientTestSuite.cpp" />
<ClCompile Include="src\HTTPCookieTest.cpp" />
<ClCompile Include="src\HTTPCredentialsTest.cpp" />
<ClCompile Include="src\HTTPRequestTest.cpp" />
<ClCompile Include="src\HTTPResponseTest.cpp" />
<ClCompile Include="src\HTTPServerTest.cpp" />
<ClCompile Include="src\HTTPServerTestSuite.cpp" />
<ClCompile Include="src\HTTPStreamFactoryTest.cpp" />
<ClCompile Include="src\HTTPTestServer.cpp" />
<ClCompile Include="src\HTTPTestSuite.cpp" />
<ClCompile Include="src\ICMPClientTest.cpp" />
<ClCompile Include="src\ICMPClientTestSuite.cpp" />
<ClCompile Include="src\ICMPSocketTest.cpp" />
<ClCompile Include="src\IPAddressTest.cpp" />
<ClCompile Include="src\MailMessageTest.cpp" />
<ClCompile Include="src\MailStreamTest.cpp" />
<ClCompile Include="src\MailTestSuite.cpp" />
<ClCompile Include="src\MediaTypeTest.cpp" />
<ClCompile Include="src\MessageHeaderTest.cpp" />
<ClCompile Include="src\MessagesTestSuite.cpp" />
<ClCompile Include="src\MulticastEchoServer.cpp" />
<ClCompile Include="src\MulticastSocketTest.cpp" />
<ClCompile Include="src\MultipartReaderTest.cpp" />
<ClCompile Include="src\MultipartWriterTest.cpp" />
<ClCompile Include="src\NameValueCollectionTest.cpp" />
<ClCompile Include="src\NetCoreTestSuite.cpp" />
<ClCompile Include="src\NetTestSuite.cpp" />
<ClCompile Include="src\NetworkInterfaceTest.cpp" />
<ClCompile Include="src\NTPClientTest.cpp" />
<ClCompile Include="src\NTPClientTestSuite.cpp" />
<ClCompile Include="src\OAuth10CredentialsTest.cpp" />
<ClCompile Include="src\OAuth20CredentialsTest.cpp" />
<ClCompile Include="src\OAuthTestSuite.cpp" />
<ClCompile Include="src\PollSetTest.cpp" />
<ClCompile Include="src\POP3ClientSessionTest.cpp" />
<ClCompile Include="src\QuotedPrintableTest.cpp" />
<ClCompile Include="src\RawSocketTest.cpp" />
<ClCompile Include="src\ReactorTestSuite.cpp" />
<ClCompile Include="src\SMTPClientSessionTest.cpp" />
<ClCompile Include="src\SocketAddressTest.cpp" />
<ClCompile Include="src\SocketReactorTest.cpp" />
<ClCompile Include="src\SocketsTestSuite.cpp" />
<ClCompile Include="src\SocketStreamTest.cpp" />
<ClCompile Include="src\SocketTest.cpp" />
<ClCompile Include="src\SyslogTest.cpp" />
<ClCompile Include="src\TCPServerTest.cpp" />
<ClCompile Include="src\TCPServerTestSuite.cpp" />
<ClCompile Include="src\UDPEchoServer.cpp" />
<ClCompile Include="src\WebSocketTest.cpp" />
<ClCompile Include="src\WebSocketTestSuite.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@ -342,6 +342,9 @@
<ClInclude Include="src\OAuthTestSuite.h">
<Filter>OAuth\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\PollSetTest.h">
<Filter>Sockets\Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\DNSTest.cpp">
@ -527,5 +530,8 @@
<ClCompile Include="src\OAuthTestSuite.cpp">
<Filter>OAuth\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\PollSetTest.cpp">
<Filter>Sockets\Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<?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">
@ -32,7 +32,7 @@
<RootNamespace>TestSuite</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
@ -63,27 +63,27 @@
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<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"/>
<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"/>
<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"/>
<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"/>
<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"/>
<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"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>14.0.23107.0</_ProjectFileVersion>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">TestSuited</TargetName>
@ -136,7 +136,7 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
@ -167,9 +167,9 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
@ -196,7 +196,7 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
@ -227,9 +227,9 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
@ -256,7 +256,7 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
@ -287,9 +287,9 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
@ -304,130 +304,132 @@
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="src\DatagramSocketTest.h"/>
<ClInclude Include="src\DialogServer.h"/>
<ClInclude Include="src\DialogSocketTest.h"/>
<ClInclude Include="src\DNSTest.h"/>
<ClInclude Include="src\EchoServer.h"/>
<ClInclude Include="src\FTPClientSessionTest.h"/>
<ClInclude Include="src\FTPClientTestSuite.h"/>
<ClInclude Include="src\FTPStreamFactoryTest.h"/>
<ClInclude Include="src\HTMLFormTest.h"/>
<ClInclude Include="src\HTMLTestSuite.h"/>
<ClInclude Include="src\HTTPClientSessionTest.h"/>
<ClInclude Include="src\HTTPClientTestSuite.h"/>
<ClInclude Include="src\HTTPCookieTest.h"/>
<ClInclude Include="src\HTTPCredentialsTest.h"/>
<ClInclude Include="src\HTTPRequestTest.h"/>
<ClInclude Include="src\HTTPResponseTest.h"/>
<ClInclude Include="src\HTTPServerTest.h"/>
<ClInclude Include="src\HTTPServerTestSuite.h"/>
<ClInclude Include="src\HTTPStreamFactoryTest.h"/>
<ClInclude Include="src\HTTPTestServer.h"/>
<ClInclude Include="src\HTTPTestSuite.h"/>
<ClInclude Include="src\ICMPClientTest.h"/>
<ClInclude Include="src\ICMPClientTestSuite.h"/>
<ClInclude Include="src\ICMPSocketTest.h"/>
<ClInclude Include="src\IPAddressTest.h"/>
<ClInclude Include="src\MailMessageTest.h"/>
<ClInclude Include="src\MailStreamTest.h"/>
<ClInclude Include="src\MailTestSuite.h"/>
<ClInclude Include="src\MediaTypeTest.h"/>
<ClInclude Include="src\MessageHeaderTest.h"/>
<ClInclude Include="src\MessagesTestSuite.h"/>
<ClInclude Include="src\MulticastEchoServer.h"/>
<ClInclude Include="src\MulticastSocketTest.h"/>
<ClInclude Include="src\MultipartReaderTest.h"/>
<ClInclude Include="src\MultipartWriterTest.h"/>
<ClInclude Include="src\NameValueCollectionTest.h"/>
<ClInclude Include="src\NetCoreTestSuite.h"/>
<ClInclude Include="src\NetTestSuite.h"/>
<ClInclude Include="src\NetworkInterfaceTest.h"/>
<ClInclude Include="src\NTPClientTest.h"/>
<ClInclude Include="src\NTPClientTestSuite.h"/>
<ClInclude Include="src\OAuth10CredentialsTest.h"/>
<ClInclude Include="src\OAuth20CredentialsTest.h"/>
<ClInclude Include="src\OAuthTestSuite.h"/>
<ClInclude Include="src\POP3ClientSessionTest.h"/>
<ClInclude Include="src\QuotedPrintableTest.h"/>
<ClInclude Include="src\RawSocketTest.h"/>
<ClInclude Include="src\ReactorTestSuite.h"/>
<ClInclude Include="src\SMTPClientSessionTest.h"/>
<ClInclude Include="src\SocketAddressTest.h"/>
<ClInclude Include="src\SocketReactorTest.h"/>
<ClInclude Include="src\SocketsTestSuite.h"/>
<ClInclude Include="src\SocketStreamTest.h"/>
<ClInclude Include="src\SocketTest.h"/>
<ClInclude Include="src\SyslogTest.h"/>
<ClInclude Include="src\TCPServerTest.h"/>
<ClInclude Include="src\TCPServerTestSuite.h"/>
<ClInclude Include="src\UDPEchoServer.h"/>
<ClInclude Include="src\WebSocketTest.h"/>
<ClInclude Include="src\WebSocketTestSuite.h"/>
<ClInclude Include="src\DatagramSocketTest.h" />
<ClInclude Include="src\DialogServer.h" />
<ClInclude Include="src\DialogSocketTest.h" />
<ClInclude Include="src\DNSTest.h" />
<ClInclude Include="src\EchoServer.h" />
<ClInclude Include="src\FTPClientSessionTest.h" />
<ClInclude Include="src\FTPClientTestSuite.h" />
<ClInclude Include="src\FTPStreamFactoryTest.h" />
<ClInclude Include="src\HTMLFormTest.h" />
<ClInclude Include="src\HTMLTestSuite.h" />
<ClInclude Include="src\HTTPClientSessionTest.h" />
<ClInclude Include="src\HTTPClientTestSuite.h" />
<ClInclude Include="src\HTTPCookieTest.h" />
<ClInclude Include="src\HTTPCredentialsTest.h" />
<ClInclude Include="src\HTTPRequestTest.h" />
<ClInclude Include="src\HTTPResponseTest.h" />
<ClInclude Include="src\HTTPServerTest.h" />
<ClInclude Include="src\HTTPServerTestSuite.h" />
<ClInclude Include="src\HTTPStreamFactoryTest.h" />
<ClInclude Include="src\HTTPTestServer.h" />
<ClInclude Include="src\HTTPTestSuite.h" />
<ClInclude Include="src\ICMPClientTest.h" />
<ClInclude Include="src\ICMPClientTestSuite.h" />
<ClInclude Include="src\ICMPSocketTest.h" />
<ClInclude Include="src\IPAddressTest.h" />
<ClInclude Include="src\MailMessageTest.h" />
<ClInclude Include="src\MailStreamTest.h" />
<ClInclude Include="src\MailTestSuite.h" />
<ClInclude Include="src\MediaTypeTest.h" />
<ClInclude Include="src\MessageHeaderTest.h" />
<ClInclude Include="src\MessagesTestSuite.h" />
<ClInclude Include="src\MulticastEchoServer.h" />
<ClInclude Include="src\MulticastSocketTest.h" />
<ClInclude Include="src\MultipartReaderTest.h" />
<ClInclude Include="src\MultipartWriterTest.h" />
<ClInclude Include="src\NameValueCollectionTest.h" />
<ClInclude Include="src\NetCoreTestSuite.h" />
<ClInclude Include="src\NetTestSuite.h" />
<ClInclude Include="src\NetworkInterfaceTest.h" />
<ClInclude Include="src\NTPClientTest.h" />
<ClInclude Include="src\NTPClientTestSuite.h" />
<ClInclude Include="src\OAuth10CredentialsTest.h" />
<ClInclude Include="src\OAuth20CredentialsTest.h" />
<ClInclude Include="src\OAuthTestSuite.h" />
<ClInclude Include="src\PollSetTest.h" />
<ClInclude Include="src\POP3ClientSessionTest.h" />
<ClInclude Include="src\QuotedPrintableTest.h" />
<ClInclude Include="src\RawSocketTest.h" />
<ClInclude Include="src\ReactorTestSuite.h" />
<ClInclude Include="src\SMTPClientSessionTest.h" />
<ClInclude Include="src\SocketAddressTest.h" />
<ClInclude Include="src\SocketReactorTest.h" />
<ClInclude Include="src\SocketsTestSuite.h" />
<ClInclude Include="src\SocketStreamTest.h" />
<ClInclude Include="src\SocketTest.h" />
<ClInclude Include="src\SyslogTest.h" />
<ClInclude Include="src\TCPServerTest.h" />
<ClInclude Include="src\TCPServerTestSuite.h" />
<ClInclude Include="src\UDPEchoServer.h" />
<ClInclude Include="src\WebSocketTest.h" />
<ClInclude Include="src\WebSocketTestSuite.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\DatagramSocketTest.cpp"/>
<ClCompile Include="src\DialogServer.cpp"/>
<ClCompile Include="src\DialogSocketTest.cpp"/>
<ClCompile Include="src\DNSTest.cpp"/>
<ClCompile Include="src\Driver.cpp"/>
<ClCompile Include="src\EchoServer.cpp"/>
<ClCompile Include="src\FTPClientSessionTest.cpp"/>
<ClCompile Include="src\FTPClientTestSuite.cpp"/>
<ClCompile Include="src\FTPStreamFactoryTest.cpp"/>
<ClCompile Include="src\HTMLFormTest.cpp"/>
<ClCompile Include="src\HTMLTestSuite.cpp"/>
<ClCompile Include="src\HTTPClientSessionTest.cpp"/>
<ClCompile Include="src\HTTPClientTestSuite.cpp"/>
<ClCompile Include="src\HTTPCookieTest.cpp"/>
<ClCompile Include="src\HTTPCredentialsTest.cpp"/>
<ClCompile Include="src\HTTPRequestTest.cpp"/>
<ClCompile Include="src\HTTPResponseTest.cpp"/>
<ClCompile Include="src\HTTPServerTest.cpp"/>
<ClCompile Include="src\HTTPServerTestSuite.cpp"/>
<ClCompile Include="src\HTTPStreamFactoryTest.cpp"/>
<ClCompile Include="src\HTTPTestServer.cpp"/>
<ClCompile Include="src\HTTPTestSuite.cpp"/>
<ClCompile Include="src\ICMPClientTest.cpp"/>
<ClCompile Include="src\ICMPClientTestSuite.cpp"/>
<ClCompile Include="src\ICMPSocketTest.cpp"/>
<ClCompile Include="src\IPAddressTest.cpp"/>
<ClCompile Include="src\MailMessageTest.cpp"/>
<ClCompile Include="src\MailStreamTest.cpp"/>
<ClCompile Include="src\MailTestSuite.cpp"/>
<ClCompile Include="src\MediaTypeTest.cpp"/>
<ClCompile Include="src\MessageHeaderTest.cpp"/>
<ClCompile Include="src\MessagesTestSuite.cpp"/>
<ClCompile Include="src\MulticastEchoServer.cpp"/>
<ClCompile Include="src\MulticastSocketTest.cpp"/>
<ClCompile Include="src\MultipartReaderTest.cpp"/>
<ClCompile Include="src\MultipartWriterTest.cpp"/>
<ClCompile Include="src\NameValueCollectionTest.cpp"/>
<ClCompile Include="src\NetCoreTestSuite.cpp"/>
<ClCompile Include="src\NetTestSuite.cpp"/>
<ClCompile Include="src\NetworkInterfaceTest.cpp"/>
<ClCompile Include="src\NTPClientTest.cpp"/>
<ClCompile Include="src\NTPClientTestSuite.cpp"/>
<ClCompile Include="src\OAuth10CredentialsTest.cpp"/>
<ClCompile Include="src\OAuth20CredentialsTest.cpp"/>
<ClCompile Include="src\OAuthTestSuite.cpp"/>
<ClCompile Include="src\POP3ClientSessionTest.cpp"/>
<ClCompile Include="src\QuotedPrintableTest.cpp"/>
<ClCompile Include="src\RawSocketTest.cpp"/>
<ClCompile Include="src\ReactorTestSuite.cpp"/>
<ClCompile Include="src\SMTPClientSessionTest.cpp"/>
<ClCompile Include="src\SocketAddressTest.cpp"/>
<ClCompile Include="src\SocketReactorTest.cpp"/>
<ClCompile Include="src\SocketsTestSuite.cpp"/>
<ClCompile Include="src\SocketStreamTest.cpp"/>
<ClCompile Include="src\SocketTest.cpp"/>
<ClCompile Include="src\SyslogTest.cpp"/>
<ClCompile Include="src\TCPServerTest.cpp"/>
<ClCompile Include="src\TCPServerTestSuite.cpp"/>
<ClCompile Include="src\UDPEchoServer.cpp"/>
<ClCompile Include="src\WebSocketTest.cpp"/>
<ClCompile Include="src\WebSocketTestSuite.cpp"/>
<ClCompile Include="src\DatagramSocketTest.cpp" />
<ClCompile Include="src\DialogServer.cpp" />
<ClCompile Include="src\DialogSocketTest.cpp" />
<ClCompile Include="src\DNSTest.cpp" />
<ClCompile Include="src\Driver.cpp" />
<ClCompile Include="src\EchoServer.cpp" />
<ClCompile Include="src\FTPClientSessionTest.cpp" />
<ClCompile Include="src\FTPClientTestSuite.cpp" />
<ClCompile Include="src\FTPStreamFactoryTest.cpp" />
<ClCompile Include="src\HTMLFormTest.cpp" />
<ClCompile Include="src\HTMLTestSuite.cpp" />
<ClCompile Include="src\HTTPClientSessionTest.cpp" />
<ClCompile Include="src\HTTPClientTestSuite.cpp" />
<ClCompile Include="src\HTTPCookieTest.cpp" />
<ClCompile Include="src\HTTPCredentialsTest.cpp" />
<ClCompile Include="src\HTTPRequestTest.cpp" />
<ClCompile Include="src\HTTPResponseTest.cpp" />
<ClCompile Include="src\HTTPServerTest.cpp" />
<ClCompile Include="src\HTTPServerTestSuite.cpp" />
<ClCompile Include="src\HTTPStreamFactoryTest.cpp" />
<ClCompile Include="src\HTTPTestServer.cpp" />
<ClCompile Include="src\HTTPTestSuite.cpp" />
<ClCompile Include="src\ICMPClientTest.cpp" />
<ClCompile Include="src\ICMPClientTestSuite.cpp" />
<ClCompile Include="src\ICMPSocketTest.cpp" />
<ClCompile Include="src\IPAddressTest.cpp" />
<ClCompile Include="src\MailMessageTest.cpp" />
<ClCompile Include="src\MailStreamTest.cpp" />
<ClCompile Include="src\MailTestSuite.cpp" />
<ClCompile Include="src\MediaTypeTest.cpp" />
<ClCompile Include="src\MessageHeaderTest.cpp" />
<ClCompile Include="src\MessagesTestSuite.cpp" />
<ClCompile Include="src\MulticastEchoServer.cpp" />
<ClCompile Include="src\MulticastSocketTest.cpp" />
<ClCompile Include="src\MultipartReaderTest.cpp" />
<ClCompile Include="src\MultipartWriterTest.cpp" />
<ClCompile Include="src\NameValueCollectionTest.cpp" />
<ClCompile Include="src\NetCoreTestSuite.cpp" />
<ClCompile Include="src\NetTestSuite.cpp" />
<ClCompile Include="src\NetworkInterfaceTest.cpp" />
<ClCompile Include="src\NTPClientTest.cpp" />
<ClCompile Include="src\NTPClientTestSuite.cpp" />
<ClCompile Include="src\OAuth10CredentialsTest.cpp" />
<ClCompile Include="src\OAuth20CredentialsTest.cpp" />
<ClCompile Include="src\OAuthTestSuite.cpp" />
<ClCompile Include="src\PollSetTest.cpp" />
<ClCompile Include="src\POP3ClientSessionTest.cpp" />
<ClCompile Include="src\QuotedPrintableTest.cpp" />
<ClCompile Include="src\RawSocketTest.cpp" />
<ClCompile Include="src\ReactorTestSuite.cpp" />
<ClCompile Include="src\SMTPClientSessionTest.cpp" />
<ClCompile Include="src\SocketAddressTest.cpp" />
<ClCompile Include="src\SocketReactorTest.cpp" />
<ClCompile Include="src\SocketsTestSuite.cpp" />
<ClCompile Include="src\SocketStreamTest.cpp" />
<ClCompile Include="src\SocketTest.cpp" />
<ClCompile Include="src\SyslogTest.cpp" />
<ClCompile Include="src\TCPServerTest.cpp" />
<ClCompile Include="src\TCPServerTestSuite.cpp" />
<ClCompile Include="src\UDPEchoServer.cpp" />
<ClCompile Include="src\WebSocketTest.cpp" />
<ClCompile Include="src\WebSocketTestSuite.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@ -342,6 +342,9 @@
<ClInclude Include="src\OAuthTestSuite.h">
<Filter>OAuth\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\PollSetTest.h">
<Filter>Sockets\Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\DNSTest.cpp">
@ -527,5 +530,8 @@
<ClCompile Include="src\OAuthTestSuite.cpp">
<Filter>OAuth\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\PollSetTest.cpp">
<Filter>Sockets\Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<?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|x64">
@ -32,7 +32,7 @@
<RootNamespace>TestSuite</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
@ -63,27 +63,27 @@
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<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"/>
<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"/>
<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"/>
<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"/>
<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"/>
<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"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>14.0.23107.0</_ProjectFileVersion>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">TestSuited</TargetName>
@ -136,7 +136,7 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
@ -167,9 +167,9 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
@ -196,7 +196,7 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
@ -227,9 +227,9 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
@ -256,7 +256,7 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
@ -287,9 +287,9 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
@ -304,130 +304,132 @@
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="src\DatagramSocketTest.h"/>
<ClInclude Include="src\DialogServer.h"/>
<ClInclude Include="src\DialogSocketTest.h"/>
<ClInclude Include="src\DNSTest.h"/>
<ClInclude Include="src\EchoServer.h"/>
<ClInclude Include="src\FTPClientSessionTest.h"/>
<ClInclude Include="src\FTPClientTestSuite.h"/>
<ClInclude Include="src\FTPStreamFactoryTest.h"/>
<ClInclude Include="src\HTMLFormTest.h"/>
<ClInclude Include="src\HTMLTestSuite.h"/>
<ClInclude Include="src\HTTPClientSessionTest.h"/>
<ClInclude Include="src\HTTPClientTestSuite.h"/>
<ClInclude Include="src\HTTPCookieTest.h"/>
<ClInclude Include="src\HTTPCredentialsTest.h"/>
<ClInclude Include="src\HTTPRequestTest.h"/>
<ClInclude Include="src\HTTPResponseTest.h"/>
<ClInclude Include="src\HTTPServerTest.h"/>
<ClInclude Include="src\HTTPServerTestSuite.h"/>
<ClInclude Include="src\HTTPStreamFactoryTest.h"/>
<ClInclude Include="src\HTTPTestServer.h"/>
<ClInclude Include="src\HTTPTestSuite.h"/>
<ClInclude Include="src\ICMPClientTest.h"/>
<ClInclude Include="src\ICMPClientTestSuite.h"/>
<ClInclude Include="src\ICMPSocketTest.h"/>
<ClInclude Include="src\IPAddressTest.h"/>
<ClInclude Include="src\MailMessageTest.h"/>
<ClInclude Include="src\MailStreamTest.h"/>
<ClInclude Include="src\MailTestSuite.h"/>
<ClInclude Include="src\MediaTypeTest.h"/>
<ClInclude Include="src\MessageHeaderTest.h"/>
<ClInclude Include="src\MessagesTestSuite.h"/>
<ClInclude Include="src\MulticastEchoServer.h"/>
<ClInclude Include="src\MulticastSocketTest.h"/>
<ClInclude Include="src\MultipartReaderTest.h"/>
<ClInclude Include="src\MultipartWriterTest.h"/>
<ClInclude Include="src\NameValueCollectionTest.h"/>
<ClInclude Include="src\NetCoreTestSuite.h"/>
<ClInclude Include="src\NetTestSuite.h"/>
<ClInclude Include="src\NetworkInterfaceTest.h"/>
<ClInclude Include="src\NTPClientTest.h"/>
<ClInclude Include="src\NTPClientTestSuite.h"/>
<ClInclude Include="src\OAuth10CredentialsTest.h"/>
<ClInclude Include="src\OAuth20CredentialsTest.h"/>
<ClInclude Include="src\OAuthTestSuite.h"/>
<ClInclude Include="src\POP3ClientSessionTest.h"/>
<ClInclude Include="src\QuotedPrintableTest.h"/>
<ClInclude Include="src\RawSocketTest.h"/>
<ClInclude Include="src\ReactorTestSuite.h"/>
<ClInclude Include="src\SMTPClientSessionTest.h"/>
<ClInclude Include="src\SocketAddressTest.h"/>
<ClInclude Include="src\SocketReactorTest.h"/>
<ClInclude Include="src\SocketsTestSuite.h"/>
<ClInclude Include="src\SocketStreamTest.h"/>
<ClInclude Include="src\SocketTest.h"/>
<ClInclude Include="src\SyslogTest.h"/>
<ClInclude Include="src\TCPServerTest.h"/>
<ClInclude Include="src\TCPServerTestSuite.h"/>
<ClInclude Include="src\UDPEchoServer.h"/>
<ClInclude Include="src\WebSocketTest.h"/>
<ClInclude Include="src\WebSocketTestSuite.h"/>
<ClInclude Include="src\DatagramSocketTest.h" />
<ClInclude Include="src\DialogServer.h" />
<ClInclude Include="src\DialogSocketTest.h" />
<ClInclude Include="src\DNSTest.h" />
<ClInclude Include="src\EchoServer.h" />
<ClInclude Include="src\FTPClientSessionTest.h" />
<ClInclude Include="src\FTPClientTestSuite.h" />
<ClInclude Include="src\FTPStreamFactoryTest.h" />
<ClInclude Include="src\HTMLFormTest.h" />
<ClInclude Include="src\HTMLTestSuite.h" />
<ClInclude Include="src\HTTPClientSessionTest.h" />
<ClInclude Include="src\HTTPClientTestSuite.h" />
<ClInclude Include="src\HTTPCookieTest.h" />
<ClInclude Include="src\HTTPCredentialsTest.h" />
<ClInclude Include="src\HTTPRequestTest.h" />
<ClInclude Include="src\HTTPResponseTest.h" />
<ClInclude Include="src\HTTPServerTest.h" />
<ClInclude Include="src\HTTPServerTestSuite.h" />
<ClInclude Include="src\HTTPStreamFactoryTest.h" />
<ClInclude Include="src\HTTPTestServer.h" />
<ClInclude Include="src\HTTPTestSuite.h" />
<ClInclude Include="src\ICMPClientTest.h" />
<ClInclude Include="src\ICMPClientTestSuite.h" />
<ClInclude Include="src\ICMPSocketTest.h" />
<ClInclude Include="src\IPAddressTest.h" />
<ClInclude Include="src\MailMessageTest.h" />
<ClInclude Include="src\MailStreamTest.h" />
<ClInclude Include="src\MailTestSuite.h" />
<ClInclude Include="src\MediaTypeTest.h" />
<ClInclude Include="src\MessageHeaderTest.h" />
<ClInclude Include="src\MessagesTestSuite.h" />
<ClInclude Include="src\MulticastEchoServer.h" />
<ClInclude Include="src\MulticastSocketTest.h" />
<ClInclude Include="src\MultipartReaderTest.h" />
<ClInclude Include="src\MultipartWriterTest.h" />
<ClInclude Include="src\NameValueCollectionTest.h" />
<ClInclude Include="src\NetCoreTestSuite.h" />
<ClInclude Include="src\NetTestSuite.h" />
<ClInclude Include="src\NetworkInterfaceTest.h" />
<ClInclude Include="src\NTPClientTest.h" />
<ClInclude Include="src\NTPClientTestSuite.h" />
<ClInclude Include="src\OAuth10CredentialsTest.h" />
<ClInclude Include="src\OAuth20CredentialsTest.h" />
<ClInclude Include="src\OAuthTestSuite.h" />
<ClInclude Include="src\PollSetTest.h" />
<ClInclude Include="src\POP3ClientSessionTest.h" />
<ClInclude Include="src\QuotedPrintableTest.h" />
<ClInclude Include="src\RawSocketTest.h" />
<ClInclude Include="src\ReactorTestSuite.h" />
<ClInclude Include="src\SMTPClientSessionTest.h" />
<ClInclude Include="src\SocketAddressTest.h" />
<ClInclude Include="src\SocketReactorTest.h" />
<ClInclude Include="src\SocketsTestSuite.h" />
<ClInclude Include="src\SocketStreamTest.h" />
<ClInclude Include="src\SocketTest.h" />
<ClInclude Include="src\SyslogTest.h" />
<ClInclude Include="src\TCPServerTest.h" />
<ClInclude Include="src\TCPServerTestSuite.h" />
<ClInclude Include="src\UDPEchoServer.h" />
<ClInclude Include="src\WebSocketTest.h" />
<ClInclude Include="src\WebSocketTestSuite.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\DatagramSocketTest.cpp"/>
<ClCompile Include="src\DialogServer.cpp"/>
<ClCompile Include="src\DialogSocketTest.cpp"/>
<ClCompile Include="src\DNSTest.cpp"/>
<ClCompile Include="src\Driver.cpp"/>
<ClCompile Include="src\EchoServer.cpp"/>
<ClCompile Include="src\FTPClientSessionTest.cpp"/>
<ClCompile Include="src\FTPClientTestSuite.cpp"/>
<ClCompile Include="src\FTPStreamFactoryTest.cpp"/>
<ClCompile Include="src\HTMLFormTest.cpp"/>
<ClCompile Include="src\HTMLTestSuite.cpp"/>
<ClCompile Include="src\HTTPClientSessionTest.cpp"/>
<ClCompile Include="src\HTTPClientTestSuite.cpp"/>
<ClCompile Include="src\HTTPCookieTest.cpp"/>
<ClCompile Include="src\HTTPCredentialsTest.cpp"/>
<ClCompile Include="src\HTTPRequestTest.cpp"/>
<ClCompile Include="src\HTTPResponseTest.cpp"/>
<ClCompile Include="src\HTTPServerTest.cpp"/>
<ClCompile Include="src\HTTPServerTestSuite.cpp"/>
<ClCompile Include="src\HTTPStreamFactoryTest.cpp"/>
<ClCompile Include="src\HTTPTestServer.cpp"/>
<ClCompile Include="src\HTTPTestSuite.cpp"/>
<ClCompile Include="src\ICMPClientTest.cpp"/>
<ClCompile Include="src\ICMPClientTestSuite.cpp"/>
<ClCompile Include="src\ICMPSocketTest.cpp"/>
<ClCompile Include="src\IPAddressTest.cpp"/>
<ClCompile Include="src\MailMessageTest.cpp"/>
<ClCompile Include="src\MailStreamTest.cpp"/>
<ClCompile Include="src\MailTestSuite.cpp"/>
<ClCompile Include="src\MediaTypeTest.cpp"/>
<ClCompile Include="src\MessageHeaderTest.cpp"/>
<ClCompile Include="src\MessagesTestSuite.cpp"/>
<ClCompile Include="src\MulticastEchoServer.cpp"/>
<ClCompile Include="src\MulticastSocketTest.cpp"/>
<ClCompile Include="src\MultipartReaderTest.cpp"/>
<ClCompile Include="src\MultipartWriterTest.cpp"/>
<ClCompile Include="src\NameValueCollectionTest.cpp"/>
<ClCompile Include="src\NetCoreTestSuite.cpp"/>
<ClCompile Include="src\NetTestSuite.cpp"/>
<ClCompile Include="src\NetworkInterfaceTest.cpp"/>
<ClCompile Include="src\NTPClientTest.cpp"/>
<ClCompile Include="src\NTPClientTestSuite.cpp"/>
<ClCompile Include="src\OAuth10CredentialsTest.cpp"/>
<ClCompile Include="src\OAuth20CredentialsTest.cpp"/>
<ClCompile Include="src\OAuthTestSuite.cpp"/>
<ClCompile Include="src\POP3ClientSessionTest.cpp"/>
<ClCompile Include="src\QuotedPrintableTest.cpp"/>
<ClCompile Include="src\RawSocketTest.cpp"/>
<ClCompile Include="src\ReactorTestSuite.cpp"/>
<ClCompile Include="src\SMTPClientSessionTest.cpp"/>
<ClCompile Include="src\SocketAddressTest.cpp"/>
<ClCompile Include="src\SocketReactorTest.cpp"/>
<ClCompile Include="src\SocketsTestSuite.cpp"/>
<ClCompile Include="src\SocketStreamTest.cpp"/>
<ClCompile Include="src\SocketTest.cpp"/>
<ClCompile Include="src\SyslogTest.cpp"/>
<ClCompile Include="src\TCPServerTest.cpp"/>
<ClCompile Include="src\TCPServerTestSuite.cpp"/>
<ClCompile Include="src\UDPEchoServer.cpp"/>
<ClCompile Include="src\WebSocketTest.cpp"/>
<ClCompile Include="src\WebSocketTestSuite.cpp"/>
<ClCompile Include="src\DatagramSocketTest.cpp" />
<ClCompile Include="src\DialogServer.cpp" />
<ClCompile Include="src\DialogSocketTest.cpp" />
<ClCompile Include="src\DNSTest.cpp" />
<ClCompile Include="src\Driver.cpp" />
<ClCompile Include="src\EchoServer.cpp" />
<ClCompile Include="src\FTPClientSessionTest.cpp" />
<ClCompile Include="src\FTPClientTestSuite.cpp" />
<ClCompile Include="src\FTPStreamFactoryTest.cpp" />
<ClCompile Include="src\HTMLFormTest.cpp" />
<ClCompile Include="src\HTMLTestSuite.cpp" />
<ClCompile Include="src\HTTPClientSessionTest.cpp" />
<ClCompile Include="src\HTTPClientTestSuite.cpp" />
<ClCompile Include="src\HTTPCookieTest.cpp" />
<ClCompile Include="src\HTTPCredentialsTest.cpp" />
<ClCompile Include="src\HTTPRequestTest.cpp" />
<ClCompile Include="src\HTTPResponseTest.cpp" />
<ClCompile Include="src\HTTPServerTest.cpp" />
<ClCompile Include="src\HTTPServerTestSuite.cpp" />
<ClCompile Include="src\HTTPStreamFactoryTest.cpp" />
<ClCompile Include="src\HTTPTestServer.cpp" />
<ClCompile Include="src\HTTPTestSuite.cpp" />
<ClCompile Include="src\ICMPClientTest.cpp" />
<ClCompile Include="src\ICMPClientTestSuite.cpp" />
<ClCompile Include="src\ICMPSocketTest.cpp" />
<ClCompile Include="src\IPAddressTest.cpp" />
<ClCompile Include="src\MailMessageTest.cpp" />
<ClCompile Include="src\MailStreamTest.cpp" />
<ClCompile Include="src\MailTestSuite.cpp" />
<ClCompile Include="src\MediaTypeTest.cpp" />
<ClCompile Include="src\MessageHeaderTest.cpp" />
<ClCompile Include="src\MessagesTestSuite.cpp" />
<ClCompile Include="src\MulticastEchoServer.cpp" />
<ClCompile Include="src\MulticastSocketTest.cpp" />
<ClCompile Include="src\MultipartReaderTest.cpp" />
<ClCompile Include="src\MultipartWriterTest.cpp" />
<ClCompile Include="src\NameValueCollectionTest.cpp" />
<ClCompile Include="src\NetCoreTestSuite.cpp" />
<ClCompile Include="src\NetTestSuite.cpp" />
<ClCompile Include="src\NetworkInterfaceTest.cpp" />
<ClCompile Include="src\NTPClientTest.cpp" />
<ClCompile Include="src\NTPClientTestSuite.cpp" />
<ClCompile Include="src\OAuth10CredentialsTest.cpp" />
<ClCompile Include="src\OAuth20CredentialsTest.cpp" />
<ClCompile Include="src\OAuthTestSuite.cpp" />
<ClCompile Include="src\PollSetTest.cpp" />
<ClCompile Include="src\POP3ClientSessionTest.cpp" />
<ClCompile Include="src\QuotedPrintableTest.cpp" />
<ClCompile Include="src\RawSocketTest.cpp" />
<ClCompile Include="src\ReactorTestSuite.cpp" />
<ClCompile Include="src\SMTPClientSessionTest.cpp" />
<ClCompile Include="src\SocketAddressTest.cpp" />
<ClCompile Include="src\SocketReactorTest.cpp" />
<ClCompile Include="src\SocketsTestSuite.cpp" />
<ClCompile Include="src\SocketStreamTest.cpp" />
<ClCompile Include="src\SocketTest.cpp" />
<ClCompile Include="src\SyslogTest.cpp" />
<ClCompile Include="src\TCPServerTest.cpp" />
<ClCompile Include="src\TCPServerTestSuite.cpp" />
<ClCompile Include="src\UDPEchoServer.cpp" />
<ClCompile Include="src\WebSocketTest.cpp" />
<ClCompile Include="src\WebSocketTestSuite.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@ -342,6 +342,9 @@
<ClInclude Include="src\OAuthTestSuite.h">
<Filter>OAuth\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\PollSetTest.h">
<Filter>Sockets\Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\DNSTest.cpp">
@ -527,5 +530,8 @@
<ClCompile Include="src\OAuthTestSuite.cpp">
<Filter>OAuth\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\PollSetTest.cpp">
<Filter>Sockets\Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<?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|x64">
@ -32,7 +32,7 @@
<RootNamespace>TestSuite</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
@ -63,27 +63,27 @@
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<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"/>
<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"/>
<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"/>
<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"/>
<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"/>
<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"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>14.0.23107.0</_ProjectFileVersion>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">TestSuited</TargetName>
@ -136,7 +136,7 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
@ -167,9 +167,9 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
@ -196,7 +196,7 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
@ -227,9 +227,9 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
@ -256,7 +256,7 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
@ -287,9 +287,9 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
@ -304,130 +304,132 @@
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="src\DatagramSocketTest.h"/>
<ClInclude Include="src\DialogServer.h"/>
<ClInclude Include="src\DialogSocketTest.h"/>
<ClInclude Include="src\DNSTest.h"/>
<ClInclude Include="src\EchoServer.h"/>
<ClInclude Include="src\FTPClientSessionTest.h"/>
<ClInclude Include="src\FTPClientTestSuite.h"/>
<ClInclude Include="src\FTPStreamFactoryTest.h"/>
<ClInclude Include="src\HTMLFormTest.h"/>
<ClInclude Include="src\HTMLTestSuite.h"/>
<ClInclude Include="src\HTTPClientSessionTest.h"/>
<ClInclude Include="src\HTTPClientTestSuite.h"/>
<ClInclude Include="src\HTTPCookieTest.h"/>
<ClInclude Include="src\HTTPCredentialsTest.h"/>
<ClInclude Include="src\HTTPRequestTest.h"/>
<ClInclude Include="src\HTTPResponseTest.h"/>
<ClInclude Include="src\HTTPServerTest.h"/>
<ClInclude Include="src\HTTPServerTestSuite.h"/>
<ClInclude Include="src\HTTPStreamFactoryTest.h"/>
<ClInclude Include="src\HTTPTestServer.h"/>
<ClInclude Include="src\HTTPTestSuite.h"/>
<ClInclude Include="src\ICMPClientTest.h"/>
<ClInclude Include="src\ICMPClientTestSuite.h"/>
<ClInclude Include="src\ICMPSocketTest.h"/>
<ClInclude Include="src\IPAddressTest.h"/>
<ClInclude Include="src\MailMessageTest.h"/>
<ClInclude Include="src\MailStreamTest.h"/>
<ClInclude Include="src\MailTestSuite.h"/>
<ClInclude Include="src\MediaTypeTest.h"/>
<ClInclude Include="src\MessageHeaderTest.h"/>
<ClInclude Include="src\MessagesTestSuite.h"/>
<ClInclude Include="src\MulticastEchoServer.h"/>
<ClInclude Include="src\MulticastSocketTest.h"/>
<ClInclude Include="src\MultipartReaderTest.h"/>
<ClInclude Include="src\MultipartWriterTest.h"/>
<ClInclude Include="src\NameValueCollectionTest.h"/>
<ClInclude Include="src\NetCoreTestSuite.h"/>
<ClInclude Include="src\NetTestSuite.h"/>
<ClInclude Include="src\NetworkInterfaceTest.h"/>
<ClInclude Include="src\NTPClientTest.h"/>
<ClInclude Include="src\NTPClientTestSuite.h"/>
<ClInclude Include="src\OAuth10CredentialsTest.h"/>
<ClInclude Include="src\OAuth20CredentialsTest.h"/>
<ClInclude Include="src\OAuthTestSuite.h"/>
<ClInclude Include="src\POP3ClientSessionTest.h"/>
<ClInclude Include="src\QuotedPrintableTest.h"/>
<ClInclude Include="src\RawSocketTest.h"/>
<ClInclude Include="src\ReactorTestSuite.h"/>
<ClInclude Include="src\SMTPClientSessionTest.h"/>
<ClInclude Include="src\SocketAddressTest.h"/>
<ClInclude Include="src\SocketReactorTest.h"/>
<ClInclude Include="src\SocketsTestSuite.h"/>
<ClInclude Include="src\SocketStreamTest.h"/>
<ClInclude Include="src\SocketTest.h"/>
<ClInclude Include="src\SyslogTest.h"/>
<ClInclude Include="src\TCPServerTest.h"/>
<ClInclude Include="src\TCPServerTestSuite.h"/>
<ClInclude Include="src\UDPEchoServer.h"/>
<ClInclude Include="src\WebSocketTest.h"/>
<ClInclude Include="src\WebSocketTestSuite.h"/>
<ClInclude Include="src\DatagramSocketTest.h" />
<ClInclude Include="src\DialogServer.h" />
<ClInclude Include="src\DialogSocketTest.h" />
<ClInclude Include="src\DNSTest.h" />
<ClInclude Include="src\EchoServer.h" />
<ClInclude Include="src\FTPClientSessionTest.h" />
<ClInclude Include="src\FTPClientTestSuite.h" />
<ClInclude Include="src\FTPStreamFactoryTest.h" />
<ClInclude Include="src\HTMLFormTest.h" />
<ClInclude Include="src\HTMLTestSuite.h" />
<ClInclude Include="src\HTTPClientSessionTest.h" />
<ClInclude Include="src\HTTPClientTestSuite.h" />
<ClInclude Include="src\HTTPCookieTest.h" />
<ClInclude Include="src\HTTPCredentialsTest.h" />
<ClInclude Include="src\HTTPRequestTest.h" />
<ClInclude Include="src\HTTPResponseTest.h" />
<ClInclude Include="src\HTTPServerTest.h" />
<ClInclude Include="src\HTTPServerTestSuite.h" />
<ClInclude Include="src\HTTPStreamFactoryTest.h" />
<ClInclude Include="src\HTTPTestServer.h" />
<ClInclude Include="src\HTTPTestSuite.h" />
<ClInclude Include="src\ICMPClientTest.h" />
<ClInclude Include="src\ICMPClientTestSuite.h" />
<ClInclude Include="src\ICMPSocketTest.h" />
<ClInclude Include="src\IPAddressTest.h" />
<ClInclude Include="src\MailMessageTest.h" />
<ClInclude Include="src\MailStreamTest.h" />
<ClInclude Include="src\MailTestSuite.h" />
<ClInclude Include="src\MediaTypeTest.h" />
<ClInclude Include="src\MessageHeaderTest.h" />
<ClInclude Include="src\MessagesTestSuite.h" />
<ClInclude Include="src\MulticastEchoServer.h" />
<ClInclude Include="src\MulticastSocketTest.h" />
<ClInclude Include="src\MultipartReaderTest.h" />
<ClInclude Include="src\MultipartWriterTest.h" />
<ClInclude Include="src\NameValueCollectionTest.h" />
<ClInclude Include="src\NetCoreTestSuite.h" />
<ClInclude Include="src\NetTestSuite.h" />
<ClInclude Include="src\NetworkInterfaceTest.h" />
<ClInclude Include="src\NTPClientTest.h" />
<ClInclude Include="src\NTPClientTestSuite.h" />
<ClInclude Include="src\OAuth10CredentialsTest.h" />
<ClInclude Include="src\OAuth20CredentialsTest.h" />
<ClInclude Include="src\OAuthTestSuite.h" />
<ClInclude Include="src\PollSetTest.h" />
<ClInclude Include="src\POP3ClientSessionTest.h" />
<ClInclude Include="src\QuotedPrintableTest.h" />
<ClInclude Include="src\RawSocketTest.h" />
<ClInclude Include="src\ReactorTestSuite.h" />
<ClInclude Include="src\SMTPClientSessionTest.h" />
<ClInclude Include="src\SocketAddressTest.h" />
<ClInclude Include="src\SocketReactorTest.h" />
<ClInclude Include="src\SocketsTestSuite.h" />
<ClInclude Include="src\SocketStreamTest.h" />
<ClInclude Include="src\SocketTest.h" />
<ClInclude Include="src\SyslogTest.h" />
<ClInclude Include="src\TCPServerTest.h" />
<ClInclude Include="src\TCPServerTestSuite.h" />
<ClInclude Include="src\UDPEchoServer.h" />
<ClInclude Include="src\WebSocketTest.h" />
<ClInclude Include="src\WebSocketTestSuite.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\DatagramSocketTest.cpp"/>
<ClCompile Include="src\DialogServer.cpp"/>
<ClCompile Include="src\DialogSocketTest.cpp"/>
<ClCompile Include="src\DNSTest.cpp"/>
<ClCompile Include="src\Driver.cpp"/>
<ClCompile Include="src\EchoServer.cpp"/>
<ClCompile Include="src\FTPClientSessionTest.cpp"/>
<ClCompile Include="src\FTPClientTestSuite.cpp"/>
<ClCompile Include="src\FTPStreamFactoryTest.cpp"/>
<ClCompile Include="src\HTMLFormTest.cpp"/>
<ClCompile Include="src\HTMLTestSuite.cpp"/>
<ClCompile Include="src\HTTPClientSessionTest.cpp"/>
<ClCompile Include="src\HTTPClientTestSuite.cpp"/>
<ClCompile Include="src\HTTPCookieTest.cpp"/>
<ClCompile Include="src\HTTPCredentialsTest.cpp"/>
<ClCompile Include="src\HTTPRequestTest.cpp"/>
<ClCompile Include="src\HTTPResponseTest.cpp"/>
<ClCompile Include="src\HTTPServerTest.cpp"/>
<ClCompile Include="src\HTTPServerTestSuite.cpp"/>
<ClCompile Include="src\HTTPStreamFactoryTest.cpp"/>
<ClCompile Include="src\HTTPTestServer.cpp"/>
<ClCompile Include="src\HTTPTestSuite.cpp"/>
<ClCompile Include="src\ICMPClientTest.cpp"/>
<ClCompile Include="src\ICMPClientTestSuite.cpp"/>
<ClCompile Include="src\ICMPSocketTest.cpp"/>
<ClCompile Include="src\IPAddressTest.cpp"/>
<ClCompile Include="src\MailMessageTest.cpp"/>
<ClCompile Include="src\MailStreamTest.cpp"/>
<ClCompile Include="src\MailTestSuite.cpp"/>
<ClCompile Include="src\MediaTypeTest.cpp"/>
<ClCompile Include="src\MessageHeaderTest.cpp"/>
<ClCompile Include="src\MessagesTestSuite.cpp"/>
<ClCompile Include="src\MulticastEchoServer.cpp"/>
<ClCompile Include="src\MulticastSocketTest.cpp"/>
<ClCompile Include="src\MultipartReaderTest.cpp"/>
<ClCompile Include="src\MultipartWriterTest.cpp"/>
<ClCompile Include="src\NameValueCollectionTest.cpp"/>
<ClCompile Include="src\NetCoreTestSuite.cpp"/>
<ClCompile Include="src\NetTestSuite.cpp"/>
<ClCompile Include="src\NetworkInterfaceTest.cpp"/>
<ClCompile Include="src\NTPClientTest.cpp"/>
<ClCompile Include="src\NTPClientTestSuite.cpp"/>
<ClCompile Include="src\OAuth10CredentialsTest.cpp"/>
<ClCompile Include="src\OAuth20CredentialsTest.cpp"/>
<ClCompile Include="src\OAuthTestSuite.cpp"/>
<ClCompile Include="src\POP3ClientSessionTest.cpp"/>
<ClCompile Include="src\QuotedPrintableTest.cpp"/>
<ClCompile Include="src\RawSocketTest.cpp"/>
<ClCompile Include="src\ReactorTestSuite.cpp"/>
<ClCompile Include="src\SMTPClientSessionTest.cpp"/>
<ClCompile Include="src\SocketAddressTest.cpp"/>
<ClCompile Include="src\SocketReactorTest.cpp"/>
<ClCompile Include="src\SocketsTestSuite.cpp"/>
<ClCompile Include="src\SocketStreamTest.cpp"/>
<ClCompile Include="src\SocketTest.cpp"/>
<ClCompile Include="src\SyslogTest.cpp"/>
<ClCompile Include="src\TCPServerTest.cpp"/>
<ClCompile Include="src\TCPServerTestSuite.cpp"/>
<ClCompile Include="src\UDPEchoServer.cpp"/>
<ClCompile Include="src\WebSocketTest.cpp"/>
<ClCompile Include="src\WebSocketTestSuite.cpp"/>
<ClCompile Include="src\DatagramSocketTest.cpp" />
<ClCompile Include="src\DialogServer.cpp" />
<ClCompile Include="src\DialogSocketTest.cpp" />
<ClCompile Include="src\DNSTest.cpp" />
<ClCompile Include="src\Driver.cpp" />
<ClCompile Include="src\EchoServer.cpp" />
<ClCompile Include="src\FTPClientSessionTest.cpp" />
<ClCompile Include="src\FTPClientTestSuite.cpp" />
<ClCompile Include="src\FTPStreamFactoryTest.cpp" />
<ClCompile Include="src\HTMLFormTest.cpp" />
<ClCompile Include="src\HTMLTestSuite.cpp" />
<ClCompile Include="src\HTTPClientSessionTest.cpp" />
<ClCompile Include="src\HTTPClientTestSuite.cpp" />
<ClCompile Include="src\HTTPCookieTest.cpp" />
<ClCompile Include="src\HTTPCredentialsTest.cpp" />
<ClCompile Include="src\HTTPRequestTest.cpp" />
<ClCompile Include="src\HTTPResponseTest.cpp" />
<ClCompile Include="src\HTTPServerTest.cpp" />
<ClCompile Include="src\HTTPServerTestSuite.cpp" />
<ClCompile Include="src\HTTPStreamFactoryTest.cpp" />
<ClCompile Include="src\HTTPTestServer.cpp" />
<ClCompile Include="src\HTTPTestSuite.cpp" />
<ClCompile Include="src\ICMPClientTest.cpp" />
<ClCompile Include="src\ICMPClientTestSuite.cpp" />
<ClCompile Include="src\ICMPSocketTest.cpp" />
<ClCompile Include="src\IPAddressTest.cpp" />
<ClCompile Include="src\MailMessageTest.cpp" />
<ClCompile Include="src\MailStreamTest.cpp" />
<ClCompile Include="src\MailTestSuite.cpp" />
<ClCompile Include="src\MediaTypeTest.cpp" />
<ClCompile Include="src\MessageHeaderTest.cpp" />
<ClCompile Include="src\MessagesTestSuite.cpp" />
<ClCompile Include="src\MulticastEchoServer.cpp" />
<ClCompile Include="src\MulticastSocketTest.cpp" />
<ClCompile Include="src\MultipartReaderTest.cpp" />
<ClCompile Include="src\MultipartWriterTest.cpp" />
<ClCompile Include="src\NameValueCollectionTest.cpp" />
<ClCompile Include="src\NetCoreTestSuite.cpp" />
<ClCompile Include="src\NetTestSuite.cpp" />
<ClCompile Include="src\NetworkInterfaceTest.cpp" />
<ClCompile Include="src\NTPClientTest.cpp" />
<ClCompile Include="src\NTPClientTestSuite.cpp" />
<ClCompile Include="src\OAuth10CredentialsTest.cpp" />
<ClCompile Include="src\OAuth20CredentialsTest.cpp" />
<ClCompile Include="src\OAuthTestSuite.cpp" />
<ClCompile Include="src\PollSetTest.cpp" />
<ClCompile Include="src\POP3ClientSessionTest.cpp" />
<ClCompile Include="src\QuotedPrintableTest.cpp" />
<ClCompile Include="src\RawSocketTest.cpp" />
<ClCompile Include="src\ReactorTestSuite.cpp" />
<ClCompile Include="src\SMTPClientSessionTest.cpp" />
<ClCompile Include="src\SocketAddressTest.cpp" />
<ClCompile Include="src\SocketReactorTest.cpp" />
<ClCompile Include="src\SocketsTestSuite.cpp" />
<ClCompile Include="src\SocketStreamTest.cpp" />
<ClCompile Include="src\SocketTest.cpp" />
<ClCompile Include="src\SyslogTest.cpp" />
<ClCompile Include="src\TCPServerTest.cpp" />
<ClCompile Include="src\TCPServerTestSuite.cpp" />
<ClCompile Include="src\UDPEchoServer.cpp" />
<ClCompile Include="src\WebSocketTest.cpp" />
<ClCompile Include="src\WebSocketTestSuite.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@ -342,6 +342,9 @@
<ClInclude Include="src\OAuthTestSuite.h">
<Filter>OAuth\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\PollSetTest.h">
<Filter>Sockets\Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\DNSTest.cpp">
@ -527,5 +530,8 @@
<ClCompile Include="src\OAuthTestSuite.cpp">
<Filter>OAuth\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\PollSetTest.cpp">
<Filter>Sockets\Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -0,0 +1,135 @@
//
// PollSetTest.cpp
//
// Copyright (c) 2016, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "PollSetTest.h"
#include "Poco/CppUnit/TestCaller.h"
#include "Poco/CppUnit/TestSuite.h"
#include "EchoServer.h"
#include "Poco/Net/StreamSocket.h"
#include "Poco/Net/ServerSocket.h"
#include "Poco/Net/SocketAddress.h"
#include "Poco/Net/NetException.h"
#include "Poco/Net/PollSet.h"
#include "Poco/Stopwatch.h"
using Poco::Net::Socket;
using Poco::Net::StreamSocket;
using Poco::Net::ServerSocket;
using Poco::Net::SocketAddress;
using Poco::Net::ConnectionRefusedException;
using Poco::Net::PollSet;
using Poco::Timespan;
using Poco::Stopwatch;
PollSetTest::PollSetTest(const std::string& name): CppUnit::TestCase(name)
{
}
PollSetTest::~PollSetTest()
{
}
void PollSetTest::testPoll()
{
EchoServer echoServer1;
EchoServer echoServer2;
StreamSocket ss1;
StreamSocket ss2;
ss1.connect(SocketAddress("127.0.0.1", echoServer1.port()));
ss2.connect(SocketAddress("127.0.0.1", echoServer2.port()));
PollSet ps;
ps.add(ss1, PollSet::POLL_READ);
// nothing readable
Stopwatch sw;
sw.start();
Timespan timeout(1000000);
assert (ps.poll(timeout).empty());
assert (sw.elapsed() >= 900000);
sw.restart();
ps.add(ss2, PollSet::POLL_READ);
// ss1 must be writable, if polled for
ps.update(ss1, PollSet::POLL_READ | PollSet::POLL_WRITE);
PollSet::SocketModeMap sm = ps.poll(timeout);
assert (sm.find(ss1) != sm.end());
assert (sm.find(ss2) == sm.end());
assert (sm.find(ss1)->second == PollSet::POLL_WRITE);
assert (sw.elapsed() < 100000);
ps.update(ss1, PollSet::POLL_READ);
ss1.sendBytes("hello", 5);
char buffer[256];
sw.restart();
sm = ps.poll(timeout);
assert (sm.find(ss1) != sm.end());
assert (sm.find(ss2) == sm.end());
assert (sm.find(ss1)->second == PollSet::POLL_READ);
assert (sw.elapsed() < 100000);
int n = ss1.receiveBytes(buffer, sizeof(buffer));
assert (n == 5);
assert (std::string(buffer, n) == "hello");
ss2.sendBytes("HELLO", 5);
sw.restart();
sm = ps.poll(timeout);
assert (sm.find(ss1) == sm.end());
assert (sm.find(ss2) != sm.end());
assert (sm.find(ss2)->second == PollSet::POLL_READ);
assert (sw.elapsed() < 100000);
n = ss2.receiveBytes(buffer, sizeof(buffer));
assert (n == 5);
assert (std::string(buffer, n) == "HELLO");
ps.remove(ss2);
ss2.sendBytes("HELLO", 5);
sw.restart();
sm = ps.poll(timeout);
assert (sm.empty());
n = ss2.receiveBytes(buffer, sizeof(buffer));
assert (n == 5);
assert (std::string(buffer, n) == "HELLO");
ss1.close();
ss2.close();
}
void PollSetTest::setUp()
{
}
void PollSetTest::tearDown()
{
}
CppUnit::Test* PollSetTest::suite()
{
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("PollSetTest");
CppUnit_addTest(pSuite, PollSetTest, testPoll);
return pSuite;
}

View File

@ -0,0 +1,36 @@
//
// PollSetTest.h
//
// Definition of the PollSetTest class.
//
// Copyright (c) 2016, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef PollSetTest_INCLUDED
#define PollSetTest_INCLUDED
#include "Poco/Net/Net.h"
#include "Poco/CppUnit/TestCase.h"
class PollSetTest: public CppUnit::TestCase
{
public:
PollSetTest(const std::string& name);
~PollSetTest();
void testPoll();
void setUp();
void tearDown();
static CppUnit::Test* suite();
};
#endif // PollSetTest_INCLUDED

View File

@ -15,6 +15,7 @@
#include "MulticastSocketTest.h"
#include "DialogSocketTest.h"
#include "RawSocketTest.h"
#include "PollSetTest.h"
CppUnit::Test* SocketsTestSuite::suite()
@ -29,5 +30,6 @@ CppUnit::Test* SocketsTestSuite::suite()
#ifdef POCO_NET_HAS_INTERFACE
pSuite->addTest(MulticastSocketTest::suite());
#endif
pSuite->addTest(PollSetTest::suite());
return pSuite;
}

View File

@ -80,7 +80,7 @@ bool Decompress::handleZipEntry(std::istream& zipStream, const ZipLocalFileHeade
{
std::string dirName = hdr.getFileName();
if (!ZipCommon::isValidPath(dirName))
throw ZipException("Illegal entry name " + dirName + " containing parent directory reference");
throw ZipException("Illegal entry name " + dirName);
Poco::Path dir(_outDir, dirName);
dir.makeDirectory();
Poco::File aFile(dir);
@ -100,7 +100,7 @@ bool Decompress::handleZipEntry(std::istream& zipStream, const ZipLocalFileHeade
}
if (!ZipCommon::isValidPath(fileName))
throw ZipException("Illegal entry name " + fileName + " containing parent directory reference");
throw ZipException("Illegal entry name " + fileName);
Poco::Path file(fileName);
file.makeFile();

View File

@ -13,6 +13,7 @@
#include "Poco/Zip/ZipCommon.h"
#include "Poco/Path.h"
namespace Poco {
@ -21,15 +22,26 @@ namespace Zip {
bool ZipCommon::isValidPath(const std::string& path)
{
if (!Path(path).isRelative() || !Path(path, Path::PATH_WINDOWS).isRelative())
return false;
if (path == "..")
return false;
if (path.compare(0, 3, "../") == 0)
if ((path.size() >= 3) && path.compare(0, 3, "../") == 0)
return false;
if (path.compare(0, 3, "..\\") == 0)
if ((path.size() >= 3) && path.compare(0, 3, "..\\") == 0)
return false;
if (path.find("/..") != std::string::npos)
if (path.find("/../") != std::string::npos)
return false;
if (path.find("\\..") != std::string::npos)
if (path.find("\\..\\") != std::string::npos)
return false;
if (path.find("/..\\") != std::string::npos)
return false;
if (path.find("\\../") != std::string::npos)
return false;
if ((path.size() >= 2) && path.compare(0, 2, "~/") == 0)
return false;
if (path.size() > 0 && (path[0] == '/' || path[0] == '\\'))
return false;
return true;
}

View File

@ -174,7 +174,6 @@ int ZipStreamBuf::readFromDevice(char* buffer, std::streamsize length)
// now push back the header to the stream, so that the ZipLocalFileHeader can read it
Poco::Int32 size = static_cast<Poco::Int32>(nfo.getFullHeaderSize());
_expectedCrc32 = nfo.getCRC32();
const char* rawHeader = nfo.getRawHeader();
_pIstr->seekg(-size, std::ios::cur);
if (!_pIstr->good()) throw Poco::IOException("Failed to seek on input stream");
if (!crcValid())

BIN
Zip/testsuite/data/vuln.zip Normal file

Binary file not shown.

View File

@ -1 +0,0 @@
just some test data

View File

@ -38,7 +38,7 @@ CompressTest::~CompressTest()
void CompressTest::testSingleFile()
{
std::ofstream out("appinf.zip", std::ios::binary);
std::ofstream out(Poco::Path::temp() + "appinf.zip", std::ios::binary);
Poco::Path theFile(ZipTest::getTestFile("data", "test.zip"));
Compress c(out, true);
c.addFile(theFile, theFile.getFileName());
@ -48,10 +48,9 @@ void CompressTest::testSingleFile()
void CompressTest::testDirectory()
{
std::ofstream out("pocobin.zip", std::ios::binary);
std::ofstream out(Poco::Path::temp() + "pocobin.zip", std::ios::binary);
Poco::File aFile("some/");
if (aFile.exists())
aFile.remove(true);
if (aFile.exists()) aFile.remove(true);
Poco::File aDir("some/recursive/dir/");
aDir.createDirectories();
Poco::File aDir2("some/other/recursive/dir/");
@ -67,19 +66,20 @@ void CompressTest::testDirectory()
Compress c(out, true);
c.addRecursive(theFile, ZipCommon::CL_MAXIMUM, false, theFile);
ZipArchive a(c.close());
Poco::File(aFile).remove(true);
}
void CompressTest::testManipulator()
{
{
std::ofstream out("appinf.zip", std::ios::binary);
std::ofstream out(Poco::Path::temp() + "appinf.zip", std::ios::binary);
Poco::Path theFile(ZipTest::getTestFile("data", "test.zip"));
Compress c(out, true);
c.addFile(theFile, theFile.getFileName());
ZipArchive a(c.close());
}
ZipManipulator zm("appinf.zip", true);
ZipManipulator zm(Poco::Path::temp() + "appinf.zip", true);
zm.renameFile("test.zip", "renamedtest.zip");
zm.addFile("doc/othertest.zip", ZipTest::getTestFile("data", "test.zip"));
ZipArchive archive=zm.commit();
@ -90,13 +90,13 @@ void CompressTest::testManipulator()
void CompressTest::testManipulatorDel()
{
{
std::ofstream out("appinf.zip", std::ios::binary);
std::ofstream out(Poco::Path::temp() + "appinf.zip", std::ios::binary);
Poco::Path theFile(ZipTest::getTestFile("data", "test.zip"));
Compress c(out, true);
c.addFile(theFile, theFile.getFileName());
ZipArchive a(c.close());
}
ZipManipulator zm("appinf.zip", true);
ZipManipulator zm(Poco::Path::temp() + "appinf.zip", true);
zm.deleteFile("test.zip");
zm.addFile("doc/data.zip", ZipTest::getTestFile("data", "data.zip"));
ZipArchive archive=zm.commit();
@ -108,13 +108,13 @@ void CompressTest::testManipulatorDel()
void CompressTest::testManipulatorReplace()
{
{
std::ofstream out("appinf.zip", std::ios::binary);
std::ofstream out(Poco::Path::temp() + "appinf.zip", std::ios::binary);
Poco::Path theFile(ZipTest::getTestFile("data", "test.zip"));
Compress c(out, true);
c.addFile(theFile, theFile.getFileName());
ZipArchive a(c.close());
}
ZipManipulator zm("appinf.zip", true);
ZipManipulator zm(Poco::Path::temp() + "appinf.zip", true);
zm.replaceFile("test.zip", ZipTest::getTestFile("data", "doc.zip"));
ZipArchive archive=zm.commit();
@ -126,7 +126,7 @@ void CompressTest::testManipulatorReplace()
void CompressTest::testSetZipComment()
{
std::string comment("Testing...123...");
std::ofstream out("comment.zip", std::ios::binary);
std::ofstream out(Poco::Path::temp() + "comment.zip", std::ios::binary);
Poco::Path theFile(ZipTest::getTestFile("data", "test.zip"));
Compress c(out, true);
c.addFile(theFile, theFile.getFileName());
@ -157,27 +157,28 @@ void CompressTest::createDataFile(const std::string& path, Poco::UInt64 size)
void CompressTest::testZip64()
{
typedef std::map<std::string, Poco::UInt64> FileMap;
std::cout << std::endl;
std::map<std::string, Poco::UInt64> files;
FileMap files;
files["data1.bin"] = static_cast<Poco::UInt64>(KB)*4096+1;
files["data2.bin"] = static_cast<Poco::UInt64>(KB)*16;
files["data3.bin"] = static_cast<Poco::UInt64>(KB)*4096-1;
for(std::map<std::string, Poco::UInt64>::const_iterator it = files.begin(); it != files.end(); it++)
for(FileMap::const_iterator it = files.begin(); it != files.end(); it++)
{
std::cout << '\t' << "createDataFile(" << it->first << ", " << it->second << ");" << std::endl;
createDataFile(it->first, it->second);
}
std::ofstream out("zip64.zip", std::ios::binary | std::ios::trunc);
std::ofstream out(Poco::Path::temp() + "zip64.zip", std::ios::binary | std::ios::trunc);
Compress c(out, true, true);
for(std::map<std::string, Poco::UInt64>::const_iterator it = files.begin(); it != files.end(); it++)
for(FileMap::const_iterator it = files.begin(); it != files.end(); it++)
{
const std::string& path = it->first;
std::cout << '\t' << "addFile(" << path << ");" << std::endl;
c.addFile(path, path, ZipCommon::CM_STORE);
}
ZipArchive a(c.close());
for(std::map<std::string, Poco::UInt64>::const_iterator it = files.begin(); it != files.end(); it++)
for(FileMap::const_iterator it = files.begin(); it != files.end(); it++)
{
const std::string& path = it->first;
Poco::UInt64 size = it->second;
@ -187,6 +188,10 @@ void CompressTest::testZip64()
assert(file.getUncompressedSize() == size);
assert(file.getCompressedSize() == size);
}
for (FileMap::const_iterator it = files.begin(); it != files.end(); it++)
{
Poco::File(it->first).remove();
}
}

View File

@ -52,16 +52,16 @@ void ZipTest::testSkipSingleFile()
ZipLocalFileHeader hdr(inp, false, skip);
assert (ZipCommon::HS_FAT == hdr.getHostSystem());
int major = hdr.getMajorVersionNumber();
int minor = hdr.getMinorVersionNumber();
int POCO_UNUSED minor = hdr.getMinorVersionNumber();
assert (major <= 2);
std::size_t hdrSize = hdr.getHeaderSize();
assert (hdrSize > 30);
ZipCommon::CompressionMethod cm = hdr.getCompressionMethod();
ZipCommon::CompressionMethod POCO_UNUSED cm = hdr.getCompressionMethod();
assert (!hdr.isEncrypted());
Poco::DateTime aDate = hdr.lastModifiedAt();
Poco::UInt64 cS = hdr.getCompressedSize();
Poco::UInt64 uS = hdr.getUncompressedSize();
const std::string& fileName = hdr.getFileName();
Poco::UInt64 POCO_UNUSED cS = hdr.getCompressedSize();
Poco::UInt64 POCO_UNUSED uS = hdr.getUncompressedSize();
const std::string& POCO_UNUSED fileName = hdr.getFileName();
}
@ -100,7 +100,7 @@ void ZipTest::testCrcAndSizeAfterData()
std::string testFile = getTestFile("data", "data.zip");
std::ifstream inp(testFile.c_str(), std::ios::binary);
assert (inp.good());
Decompress dec(inp, Poco::Path());
Decompress dec(inp, Poco::Path::temp());
dec.EError += Poco::Delegate<ZipTest, std::pair<const Poco::Zip::ZipLocalFileHeader, const std::string> >(this, &ZipTest::onDecompressError);
dec.decompressAllFiles();
dec.EError -= Poco::Delegate<ZipTest, std::pair<const Poco::Zip::ZipLocalFileHeader, const std::string> >(this, &ZipTest::onDecompressError);
@ -124,7 +124,7 @@ void ZipTest::testCrcAndSizeAfterDataWithArchive()
Poco::Path path(it->second.getFileName());
if (path.isFile())
{
std::ofstream os("test.dat");
std::ofstream os(Poco::Path::temp() + "test.dat");
Poco::StreamCopier::copyStream(zipis,os);
}
}
@ -161,7 +161,7 @@ void ZipTest::testDecompress()
std::string testFile = getTestFile("data", "test.zip");
std::ifstream inp(testFile.c_str(), std::ios::binary);
assert (inp.good());
Decompress dec(inp, Poco::Path());
Decompress dec(inp, Poco::Path::temp());
dec.EError += Poco::Delegate<ZipTest, std::pair<const Poco::Zip::ZipLocalFileHeader, const std::string> >(this, &ZipTest::onDecompressError);
dec.decompressAllFiles();
dec.EError -= Poco::Delegate<ZipTest, std::pair<const Poco::Zip::ZipLocalFileHeader, const std::string> >(this, &ZipTest::onDecompressError);
@ -175,7 +175,35 @@ void ZipTest::testDecompressFlat()
std::string testFile = getTestFile("data", "test.zip");
std::ifstream inp(testFile.c_str(), std::ios::binary);
assert (inp.good());
Decompress dec(inp, Poco::Path(), true);
Decompress dec(inp, Poco::Path::temp(), true);
dec.EError += Poco::Delegate<ZipTest, std::pair<const Poco::Zip::ZipLocalFileHeader, const std::string> >(this, &ZipTest::onDecompressError);
dec.decompressAllFiles();
dec.EError -= Poco::Delegate<ZipTest, std::pair<const Poco::Zip::ZipLocalFileHeader, const std::string> >(this, &ZipTest::onDecompressError);
assert (_errCnt == 0);
assert (!dec.mapping().empty());
}
void ZipTest::testDecompressVuln()
{
std::string testFile = getTestFile("data", "vuln.zip");
std::ifstream inp(testFile.c_str(), std::ios::binary);
assert(inp.good());
Decompress dec(inp, Poco::Path::temp());
dec.EError += Poco::Delegate<ZipTest, std::pair<const Poco::Zip::ZipLocalFileHeader, const std::string> >(this, &ZipTest::onDecompressError);
dec.decompressAllFiles();
dec.EError -= Poco::Delegate<ZipTest, std::pair<const Poco::Zip::ZipLocalFileHeader, const std::string> >(this, &ZipTest::onDecompressError);
assert (_errCnt == 1);
assert (dec.mapping().empty());
}
void ZipTest::testDecompressFlatVuln()
{
std::string testFile = getTestFile("data", "vuln.zip");
std::ifstream inp(testFile.c_str(), std::ios::binary);
assert(inp.good());
Decompress dec(inp, Poco::Path::temp(), true);
dec.EError += Poco::Delegate<ZipTest, std::pair<const Poco::Zip::ZipLocalFileHeader, const std::string> >(this, &ZipTest::onDecompressError);
dec.decompressAllFiles();
dec.EError -= Poco::Delegate<ZipTest, std::pair<const Poco::Zip::ZipLocalFileHeader, const std::string> >(this, &ZipTest::onDecompressError);
@ -196,8 +224,8 @@ void ZipTest::verifyDataFile(const std::string& path, Poco::UInt64 size)
std::memset(buffer2.begin(), 0, buffer2.size());
Poco::UInt64 bytesToRead = std::min(size, static_cast<Poco::UInt64>(buffer2.size()));
in.read(buffer2.begin(), bytesToRead);
assert(!in.fail() );
assert(std::memcmp(buffer1.begin(), buffer2.begin(), static_cast<std::size_t>(bytesToRead)) == 0);
assert (!in.fail() );
assert (std::memcmp(buffer1.begin(), buffer2.begin(), static_cast<std::size_t>(bytesToRead)) == 0);
size -= bytesToRead;
}
char c;
@ -209,9 +237,9 @@ void ZipTest::verifyDataFile(const std::string& path, Poco::UInt64 size)
void ZipTest::testDecompressZip64()
{
std::map<std::string, Poco::UInt64> files;
files["data1.bin"] = static_cast<Poco::UInt64>(KB)*4096+1;
files["data2.bin"] = static_cast<Poco::UInt64>(KB)*16;
files["data3.bin"] = static_cast<Poco::UInt64>(KB)*4096-1;
files[Poco::Path::temp() + "data1.bin"] = static_cast<Poco::UInt64>(KB)*4096+1;
files[Poco::Path::temp() + "data2.bin"] = static_cast<Poco::UInt64>(KB)*16;
files[Poco::Path::temp() + "data3.bin"] = static_cast<Poco::UInt64>(KB)*4096-1;
for(std::map<std::string, Poco::UInt64>::const_iterator it = files.begin(); it != files.end(); it++)
{
@ -219,8 +247,8 @@ void ZipTest::testDecompressZip64()
if(file.exists())
file.remove();
}
std::ifstream in("zip64.zip", std::ios::binary);
Decompress c(in, ".");
std::ifstream in(Poco::Path::temp() + "zip64.zip", std::ios::binary);
Decompress c(in, Poco::Path::temp());
c.decompressAllFiles();
for(std::map<std::string, Poco::UInt64>::const_iterator it = files.begin(); it != files.end(); it++)
{
@ -229,6 +257,43 @@ void ZipTest::testDecompressZip64()
}
void ZipTest::testValidPath()
{
assert (ZipCommon::isValidPath("."));
assert (ZipCommon::isValidPath("file.txt"));
assert (ZipCommon::isValidPath(".file.txt"));
assert (ZipCommon::isValidPath("..file.txt"));
assert (ZipCommon::isValidPath("file.txt.."));
assert (ZipCommon::isValidPath(".file..txt"));
assert (ZipCommon::isValidPath("~file..txt"));
assert (ZipCommon::isValidPath("~file/~"));
assert (ZipCommon::isValidPath("dir/~"));
assert (ZipCommon::isValidPath("some"));
assert (ZipCommon::isValidPath("some/dir"));
assert (ZipCommon::isValidPath("some/dir/or/another"));
assert (ZipCommon::isValidPath("some/dir/./another"));
assert (ZipCommon::isValidPath("some/dir/or/another/file.txt"));
assert (ZipCommon::isValidPath("s~me\\d.r\\.or..\\an..her\\file.txt"));
assert (ZipCommon::isValidPath("some\\dir\\or\\another"));
assert (ZipCommon::isValidPath("some\\dir\\or\\another\\file.txt"));
assert (ZipCommon::isValidPath("s~me\\d.r/.or..\\an..her\\file.txt"));
assert (!ZipCommon::isValidPath("/../"));
assert (!ZipCommon::isValidPath("/"));
assert (!ZipCommon::isValidPath("\\..\\"));
assert (!ZipCommon::isValidPath("/..\\"));
assert (!ZipCommon::isValidPath("\\../"));
assert (!ZipCommon::isValidPath(".."));
assert (!ZipCommon::isValidPath("~/"));
assert (!ZipCommon::isValidPath("~/~"));
assert (!ZipCommon::isValidPath("/~"));
assert (!ZipCommon::isValidPath("/file.txt"));
assert (!ZipCommon::isValidPath("~/file.txt"));
assert (!ZipCommon::isValidPath("some/dir/or/../another/file.txt"));
assert (!ZipCommon::isValidPath("C:\\Windows\\system32"));
}
void ZipTest::onDecompressError(const void* pSender, std::pair<const Poco::Zip::ZipLocalFileHeader, const std::string>& info)
{
++_errCnt;
@ -255,9 +320,12 @@ CppUnit::Test* ZipTest::suite()
CppUnit_addTest(pSuite, ZipTest, testDecompressSingleFileInDir);
CppUnit_addTest(pSuite, ZipTest, testDecompress);
CppUnit_addTest(pSuite, ZipTest, testDecompressFlat);
CppUnit_addTest(pSuite, ZipTest, testDecompressVuln);
CppUnit_addTest(pSuite, ZipTest, testDecompressFlatVuln);
CppUnit_addTest(pSuite, ZipTest, testCrcAndSizeAfterData);
CppUnit_addTest(pSuite, ZipTest, testCrcAndSizeAfterDataWithArchive);
CppUnit_addTest(pSuite, ZipTest, testDecompressZip64);
CppUnit_addTest(pSuite, ZipTest, testValidPath);
return pSuite;
}

View File

@ -29,15 +29,17 @@ public:
void testDecompressSingleFile();
void testDecompressSingleFileInDir();
void testDecompress();
void testDecompressFlat();
void testDecompressVuln();
void testDecompressFlatVuln();
void testCrcAndSizeAfterData();
void testCrcAndSizeAfterDataWithArchive();
void testDecompressFlat();
static const Poco::UInt64 KB = 1024;
static const Poco::UInt64 MB = 1024*KB;
void verifyDataFile(const std::string& path, Poco::UInt64 size);
void testDecompressZip64();
void testValidPath();
void setUp();
void tearDown();

View File

@ -1,49 +0,0 @@
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed vitae arcu
ac arcu semper mollis. Donec lobortis mi at dui. Integer placerat,
sapien at suscipit faucibus, mi quam sodales sapien, non accumsan enim
justo sit amet sem. Proin fermentum dui vitae metus. Donec a velit et
lectus fermentum bibendum. Donec risus magna, fermentum tempor, tempor
cursus, elementum ac, turpis. Suspendisse ultricies tincidunt quam. Nam
quis risus. Suspendisse in lacus. Vivamus et est ac nisi sollicitudin
ullamcorper. Sed vitae ligula non sem suscipit tempus. Donec tincidunt,
justo nec tristique euismod, sapien velit consequat ante, in vestibulum
dolor justo nec orci. Sed placerat eros. Suspendisse potenti. Vestibulum
eu sem at ante aliquet varius. In quis diam nec libero pretium
vestibulum. Morbi ipsum. Vivamus eros.
Nam pellentesque ante. Donec sit amet nisl. Vestibulum blandit risus sit
amet quam facilisis mollis. Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Nulla mattis orci a diam. Duis ultricies massa rhoncus
neque. Morbi hendrerit arcu vel mi. Suspendisse lorem. Pellentesque non
nunc molestie metus pretium tristique. Maecenas ante. Nunc sagittis.
Proin ornare. Donec mi tellus, venenatis nec, ultrices ac, hendrerit in,
quam. Mauris nunc. Vivamus cursus rhoncus felis. Nunc at justo. In hac
habitasse platea dictumst. Nulla metus sapien, cursus nec, luctus eget,
malesuada sed, odio. Sed augue orci, sollicitudin id, auctor eu,
porttitor id, eros. Proin arcu dolor, iaculis quis, ullamcorper sit
amet, ullamcorper nec, ante. Sed dictum luctus est. Phasellus nibh.
Morbi fringilla magna et mi. In eleifend sem non dui luctus suscipit.
Duis dapibus. Proin molestie. Cras vel dui.
In et orci vel erat euismod sodales. Integer porta. Vivamus congue
turpis eu eros tincidunt fermentum. Curabitur consequat ultrices mi.
Praesent sit amet ante. Proin ante. Phasellus vitae nibh. Aliquam ipsum
massa, pretium quis, mattis sed, sagittis sit amet, justo. Integer quam.
Aenean leo erat, commodo quis, elementum sit amet, placerat sed, lacus.
Nam a nunc in sapien scelerisque sodales. Phasellus luctus arcu at
nulla. Pellentesque habitant morbi tristique senectus et netus et
malesuada fames ac turpis egestas. Donec facilisis.
Nam scelerisque lacus a eros. Praesent ac arcu et nisl eleifend commodo.
Aenean vestibulum, augue vel posuere mattis, sem massa varius mauris,
non porttitor diam felis eu libero. Suspendisse vulputate, urna quis
dictum scelerisque, risus est pharetra orci, a iaculis dui sem quis
quam. Nam imperdiet quam eget velit. Mauris dui lacus, posuere in,
cursus eget, ultrices ut, eros. Etiam eget purus. Curabitur accumsan
lacinia urna. Donec aliquet dictum erat. Nulla ac magna. Quisque
ultrices vehicula lacus. Fusce eu quam quis est mollis adipiscing.
Pellentesque non libero at eros vulputate iaculis. Praesent vitae orci
ac sapien laoreet scelerisque. Ut ut libero. Vivamus massa urna,
convallis at, laoreet a, adipiscing et, eros. Suspendisse feugiat
malesuada felis. Suspendisse a odio eget tortor tempus pretium.

View File

@ -1,49 +0,0 @@
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed vitae arcu
ac arcu semper mollis. Donec lobortis mi at dui. Integer placerat,
sapien at suscipit faucibus, mi quam sodales sapien, non accumsan enim
justo sit amet sem. Proin fermentum dui vitae metus. Donec a velit et
lectus fermentum bibendum. Donec risus magna, fermentum tempor, tempor
cursus, elementum ac, turpis. Suspendisse ultricies tincidunt quam. Nam
quis risus. Suspendisse in lacus. Vivamus et est ac nisi sollicitudin
ullamcorper. Sed vitae ligula non sem suscipit tempus. Donec tincidunt,
justo nec tristique euismod, sapien velit consequat ante, in vestibulum
dolor justo nec orci. Sed placerat eros. Suspendisse potenti. Vestibulum
eu sem at ante aliquet varius. In quis diam nec libero pretium
vestibulum. Morbi ipsum. Vivamus eros.
Nam pellentesque ante. Donec sit amet nisl. Vestibulum blandit risus sit
amet quam facilisis mollis. Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Nulla mattis orci a diam. Duis ultricies massa rhoncus
neque. Morbi hendrerit arcu vel mi. Suspendisse lorem. Pellentesque non
nunc molestie metus pretium tristique. Maecenas ante. Nunc sagittis.
Proin ornare. Donec mi tellus, venenatis nec, ultrices ac, hendrerit in,
quam. Mauris nunc. Vivamus cursus rhoncus felis. Nunc at justo. In hac
habitasse platea dictumst. Nulla metus sapien, cursus nec, luctus eget,
malesuada sed, odio. Sed augue orci, sollicitudin id, auctor eu,
porttitor id, eros. Proin arcu dolor, iaculis quis, ullamcorper sit
amet, ullamcorper nec, ante. Sed dictum luctus est. Phasellus nibh.
Morbi fringilla magna et mi. In eleifend sem non dui luctus suscipit.
Duis dapibus. Proin molestie. Cras vel dui.
In et orci vel erat euismod sodales. Integer porta. Vivamus congue
turpis eu eros tincidunt fermentum. Curabitur consequat ultrices mi.
Praesent sit amet ante. Proin ante. Phasellus vitae nibh. Aliquam ipsum
massa, pretium quis, mattis sed, sagittis sit amet, justo. Integer quam.
Aenean leo erat, commodo quis, elementum sit amet, placerat sed, lacus.
Nam a nunc in sapien scelerisque sodales. Phasellus luctus arcu at
nulla. Pellentesque habitant morbi tristique senectus et netus et
malesuada fames ac turpis egestas. Donec facilisis.
Nam scelerisque lacus a eros. Praesent ac arcu et nisl eleifend commodo.
Aenean vestibulum, augue vel posuere mattis, sem massa varius mauris,
non porttitor diam felis eu libero. Suspendisse vulputate, urna quis
dictum scelerisque, risus est pharetra orci, a iaculis dui sem quis
quam. Nam imperdiet quam eget velit. Mauris dui lacus, posuere in,
cursus eget, ultrices ut, eros. Etiam eget purus. Curabitur accumsan
lacinia urna. Donec aliquet dictum erat. Nulla ac magna. Quisque
ultrices vehicula lacus. Fusce eu quam quis est mollis adipiscing.
Pellentesque non libero at eros vulputate iaculis. Praesent vitae orci
ac sapien laoreet scelerisque. Ut ut libero. Vivamus massa urna,
convallis at, laoreet a, adipiscing et, eros. Suspendisse feugiat
malesuada felis. Suspendisse a odio eget tortor tempus pretium.

View File

@ -1,49 +0,0 @@
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed vitae arcu
ac arcu semper mollis. Donec lobortis mi at dui. Integer placerat,
sapien at suscipit faucibus, mi quam sodales sapien, non accumsan enim
justo sit amet sem. Proin fermentum dui vitae metus. Donec a velit et
lectus fermentum bibendum. Donec risus magna, fermentum tempor, tempor
cursus, elementum ac, turpis. Suspendisse ultricies tincidunt quam. Nam
quis risus. Suspendisse in lacus. Vivamus et est ac nisi sollicitudin
ullamcorper. Sed vitae ligula non sem suscipit tempus. Donec tincidunt,
justo nec tristique euismod, sapien velit consequat ante, in vestibulum
dolor justo nec orci. Sed placerat eros. Suspendisse potenti. Vestibulum
eu sem at ante aliquet varius. In quis diam nec libero pretium
vestibulum. Morbi ipsum. Vivamus eros.
Nam pellentesque ante. Donec sit amet nisl. Vestibulum blandit risus sit
amet quam facilisis mollis. Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Nulla mattis orci a diam. Duis ultricies massa rhoncus
neque. Morbi hendrerit arcu vel mi. Suspendisse lorem. Pellentesque non
nunc molestie metus pretium tristique. Maecenas ante. Nunc sagittis.
Proin ornare. Donec mi tellus, venenatis nec, ultrices ac, hendrerit in,
quam. Mauris nunc. Vivamus cursus rhoncus felis. Nunc at justo. In hac
habitasse platea dictumst. Nulla metus sapien, cursus nec, luctus eget,
malesuada sed, odio. Sed augue orci, sollicitudin id, auctor eu,
porttitor id, eros. Proin arcu dolor, iaculis quis, ullamcorper sit
amet, ullamcorper nec, ante. Sed dictum luctus est. Phasellus nibh.
Morbi fringilla magna et mi. In eleifend sem non dui luctus suscipit.
Duis dapibus. Proin molestie. Cras vel dui.
In et orci vel erat euismod sodales. Integer porta. Vivamus congue
turpis eu eros tincidunt fermentum. Curabitur consequat ultrices mi.
Praesent sit amet ante. Proin ante. Phasellus vitae nibh. Aliquam ipsum
massa, pretium quis, mattis sed, sagittis sit amet, justo. Integer quam.
Aenean leo erat, commodo quis, elementum sit amet, placerat sed, lacus.
Nam a nunc in sapien scelerisque sodales. Phasellus luctus arcu at
nulla. Pellentesque habitant morbi tristique senectus et netus et
malesuada fames ac turpis egestas. Donec facilisis.
Nam scelerisque lacus a eros. Praesent ac arcu et nisl eleifend commodo.
Aenean vestibulum, augue vel posuere mattis, sem massa varius mauris,
non porttitor diam felis eu libero. Suspendisse vulputate, urna quis
dictum scelerisque, risus est pharetra orci, a iaculis dui sem quis
quam. Nam imperdiet quam eget velit. Mauris dui lacus, posuere in,
cursus eget, ultrices ut, eros. Etiam eget purus. Curabitur accumsan
lacinia urna. Donec aliquet dictum erat. Nulla ac magna. Quisque
ultrices vehicula lacus. Fusce eu quam quis est mollis adipiscing.
Pellentesque non libero at eros vulputate iaculis. Praesent vitae orci
ac sapien laoreet scelerisque. Ut ut libero. Vivamus massa urna,
convallis at, laoreet a, adipiscing et, eros. Suspendisse feugiat
malesuada felis. Suspendisse a odio eget tortor tempus pretium.

View File

@ -1,49 +0,0 @@
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed vitae arcu
ac arcu semper mollis. Donec lobortis mi at dui. Integer placerat,
sapien at suscipit faucibus, mi quam sodales sapien, non accumsan enim
justo sit amet sem. Proin fermentum dui vitae metus. Donec a velit et
lectus fermentum bibendum. Donec risus magna, fermentum tempor, tempor
cursus, elementum ac, turpis. Suspendisse ultricies tincidunt quam. Nam
quis risus. Suspendisse in lacus. Vivamus et est ac nisi sollicitudin
ullamcorper. Sed vitae ligula non sem suscipit tempus. Donec tincidunt,
justo nec tristique euismod, sapien velit consequat ante, in vestibulum
dolor justo nec orci. Sed placerat eros. Suspendisse potenti. Vestibulum
eu sem at ante aliquet varius. In quis diam nec libero pretium
vestibulum. Morbi ipsum. Vivamus eros.
Nam pellentesque ante. Donec sit amet nisl. Vestibulum blandit risus sit
amet quam facilisis mollis. Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Nulla mattis orci a diam. Duis ultricies massa rhoncus
neque. Morbi hendrerit arcu vel mi. Suspendisse lorem. Pellentesque non
nunc molestie metus pretium tristique. Maecenas ante. Nunc sagittis.
Proin ornare. Donec mi tellus, venenatis nec, ultrices ac, hendrerit in,
quam. Mauris nunc. Vivamus cursus rhoncus felis. Nunc at justo. In hac
habitasse platea dictumst. Nulla metus sapien, cursus nec, luctus eget,
malesuada sed, odio. Sed augue orci, sollicitudin id, auctor eu,
porttitor id, eros. Proin arcu dolor, iaculis quis, ullamcorper sit
amet, ullamcorper nec, ante. Sed dictum luctus est. Phasellus nibh.
Morbi fringilla magna et mi. In eleifend sem non dui luctus suscipit.
Duis dapibus. Proin molestie. Cras vel dui.
In et orci vel erat euismod sodales. Integer porta. Vivamus congue
turpis eu eros tincidunt fermentum. Curabitur consequat ultrices mi.
Praesent sit amet ante. Proin ante. Phasellus vitae nibh. Aliquam ipsum
massa, pretium quis, mattis sed, sagittis sit amet, justo. Integer quam.
Aenean leo erat, commodo quis, elementum sit amet, placerat sed, lacus.
Nam a nunc in sapien scelerisque sodales. Phasellus luctus arcu at
nulla. Pellentesque habitant morbi tristique senectus et netus et
malesuada fames ac turpis egestas. Donec facilisis.
Nam scelerisque lacus a eros. Praesent ac arcu et nisl eleifend commodo.
Aenean vestibulum, augue vel posuere mattis, sem massa varius mauris,
non porttitor diam felis eu libero. Suspendisse vulputate, urna quis
dictum scelerisque, risus est pharetra orci, a iaculis dui sem quis
quam. Nam imperdiet quam eget velit. Mauris dui lacus, posuere in,
cursus eget, ultrices ut, eros. Etiam eget purus. Curabitur accumsan
lacinia urna. Donec aliquet dictum erat. Nulla ac magna. Quisque
ultrices vehicula lacus. Fusce eu quam quis est mollis adipiscing.
Pellentesque non libero at eros vulputate iaculis. Praesent vitae orci
ac sapien laoreet scelerisque. Ut ut libero. Vivamus massa urna,
convallis at, laoreet a, adipiscing et, eros. Suspendisse feugiat
malesuada felis. Suspendisse a odio eget tortor tempus pretium.

View File

@ -1,49 +0,0 @@
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed vitae arcu
ac arcu semper mollis. Donec lobortis mi at dui. Integer placerat,
sapien at suscipit faucibus, mi quam sodales sapien, non accumsan enim
justo sit amet sem. Proin fermentum dui vitae metus. Donec a velit et
lectus fermentum bibendum. Donec risus magna, fermentum tempor, tempor
cursus, elementum ac, turpis. Suspendisse ultricies tincidunt quam. Nam
quis risus. Suspendisse in lacus. Vivamus et est ac nisi sollicitudin
ullamcorper. Sed vitae ligula non sem suscipit tempus. Donec tincidunt,
justo nec tristique euismod, sapien velit consequat ante, in vestibulum
dolor justo nec orci. Sed placerat eros. Suspendisse potenti. Vestibulum
eu sem at ante aliquet varius. In quis diam nec libero pretium
vestibulum. Morbi ipsum. Vivamus eros.
Nam pellentesque ante. Donec sit amet nisl. Vestibulum blandit risus sit
amet quam facilisis mollis. Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Nulla mattis orci a diam. Duis ultricies massa rhoncus
neque. Morbi hendrerit arcu vel mi. Suspendisse lorem. Pellentesque non
nunc molestie metus pretium tristique. Maecenas ante. Nunc sagittis.
Proin ornare. Donec mi tellus, venenatis nec, ultrices ac, hendrerit in,
quam. Mauris nunc. Vivamus cursus rhoncus felis. Nunc at justo. In hac
habitasse platea dictumst. Nulla metus sapien, cursus nec, luctus eget,
malesuada sed, odio. Sed augue orci, sollicitudin id, auctor eu,
porttitor id, eros. Proin arcu dolor, iaculis quis, ullamcorper sit
amet, ullamcorper nec, ante. Sed dictum luctus est. Phasellus nibh.
Morbi fringilla magna et mi. In eleifend sem non dui luctus suscipit.
Duis dapibus. Proin molestie. Cras vel dui.
In et orci vel erat euismod sodales. Integer porta. Vivamus congue
turpis eu eros tincidunt fermentum. Curabitur consequat ultrices mi.
Praesent sit amet ante. Proin ante. Phasellus vitae nibh. Aliquam ipsum
massa, pretium quis, mattis sed, sagittis sit amet, justo. Integer quam.
Aenean leo erat, commodo quis, elementum sit amet, placerat sed, lacus.
Nam a nunc in sapien scelerisque sodales. Phasellus luctus arcu at
nulla. Pellentesque habitant morbi tristique senectus et netus et
malesuada fames ac turpis egestas. Donec facilisis.
Nam scelerisque lacus a eros. Praesent ac arcu et nisl eleifend commodo.
Aenean vestibulum, augue vel posuere mattis, sem massa varius mauris,
non porttitor diam felis eu libero. Suspendisse vulputate, urna quis
dictum scelerisque, risus est pharetra orci, a iaculis dui sem quis
quam. Nam imperdiet quam eget velit. Mauris dui lacus, posuere in,
cursus eget, ultrices ut, eros. Etiam eget purus. Curabitur accumsan
lacinia urna. Donec aliquet dictum erat. Nulla ac magna. Quisque
ultrices vehicula lacus. Fusce eu quam quis est mollis adipiscing.
Pellentesque non libero at eros vulputate iaculis. Praesent vitae orci
ac sapien laoreet scelerisque. Ut ut libero. Vivamus massa urna,
convallis at, laoreet a, adipiscing et, eros. Suspendisse feugiat
malesuada felis. Suspendisse a odio eget tortor tempus pretium.

View File

@ -1,49 +0,0 @@
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed vitae arcu
ac arcu semper mollis. Donec lobortis mi at dui. Integer placerat,
sapien at suscipit faucibus, mi quam sodales sapien, non accumsan enim
justo sit amet sem. Proin fermentum dui vitae metus. Donec a velit et
lectus fermentum bibendum. Donec risus magna, fermentum tempor, tempor
cursus, elementum ac, turpis. Suspendisse ultricies tincidunt quam. Nam
quis risus. Suspendisse in lacus. Vivamus et est ac nisi sollicitudin
ullamcorper. Sed vitae ligula non sem suscipit tempus. Donec tincidunt,
justo nec tristique euismod, sapien velit consequat ante, in vestibulum
dolor justo nec orci. Sed placerat eros. Suspendisse potenti. Vestibulum
eu sem at ante aliquet varius. In quis diam nec libero pretium
vestibulum. Morbi ipsum. Vivamus eros.
Nam pellentesque ante. Donec sit amet nisl. Vestibulum blandit risus sit
amet quam facilisis mollis. Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Nulla mattis orci a diam. Duis ultricies massa rhoncus
neque. Morbi hendrerit arcu vel mi. Suspendisse lorem. Pellentesque non
nunc molestie metus pretium tristique. Maecenas ante. Nunc sagittis.
Proin ornare. Donec mi tellus, venenatis nec, ultrices ac, hendrerit in,
quam. Mauris nunc. Vivamus cursus rhoncus felis. Nunc at justo. In hac
habitasse platea dictumst. Nulla metus sapien, cursus nec, luctus eget,
malesuada sed, odio. Sed augue orci, sollicitudin id, auctor eu,
porttitor id, eros. Proin arcu dolor, iaculis quis, ullamcorper sit
amet, ullamcorper nec, ante. Sed dictum luctus est. Phasellus nibh.
Morbi fringilla magna et mi. In eleifend sem non dui luctus suscipit.
Duis dapibus. Proin molestie. Cras vel dui.
In et orci vel erat euismod sodales. Integer porta. Vivamus congue
turpis eu eros tincidunt fermentum. Curabitur consequat ultrices mi.
Praesent sit amet ante. Proin ante. Phasellus vitae nibh. Aliquam ipsum
massa, pretium quis, mattis sed, sagittis sit amet, justo. Integer quam.
Aenean leo erat, commodo quis, elementum sit amet, placerat sed, lacus.
Nam a nunc in sapien scelerisque sodales. Phasellus luctus arcu at
nulla. Pellentesque habitant morbi tristique senectus et netus et
malesuada fames ac turpis egestas. Donec facilisis.
Nam scelerisque lacus a eros. Praesent ac arcu et nisl eleifend commodo.
Aenean vestibulum, augue vel posuere mattis, sem massa varius mauris,
non porttitor diam felis eu libero. Suspendisse vulputate, urna quis
dictum scelerisque, risus est pharetra orci, a iaculis dui sem quis
quam. Nam imperdiet quam eget velit. Mauris dui lacus, posuere in,
cursus eget, ultrices ut, eros. Etiam eget purus. Curabitur accumsan
lacinia urna. Donec aliquet dictum erat. Nulla ac magna. Quisque
ultrices vehicula lacus. Fusce eu quam quis est mollis adipiscing.
Pellentesque non libero at eros vulputate iaculis. Praesent vitae orci
ac sapien laoreet scelerisque. Ut ut libero. Vivamus massa urna,
convallis at, laoreet a, adipiscing et, eros. Suspendisse feugiat
malesuada felis. Suspendisse a odio eget tortor tempus pretium.

View File

@ -1,49 +0,0 @@
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed vitae arcu
ac arcu semper mollis. Donec lobortis mi at dui. Integer placerat,
sapien at suscipit faucibus, mi quam sodales sapien, non accumsan enim
justo sit amet sem. Proin fermentum dui vitae metus. Donec a velit et
lectus fermentum bibendum. Donec risus magna, fermentum tempor, tempor
cursus, elementum ac, turpis. Suspendisse ultricies tincidunt quam. Nam
quis risus. Suspendisse in lacus. Vivamus et est ac nisi sollicitudin
ullamcorper. Sed vitae ligula non sem suscipit tempus. Donec tincidunt,
justo nec tristique euismod, sapien velit consequat ante, in vestibulum
dolor justo nec orci. Sed placerat eros. Suspendisse potenti. Vestibulum
eu sem at ante aliquet varius. In quis diam nec libero pretium
vestibulum. Morbi ipsum. Vivamus eros.
Nam pellentesque ante. Donec sit amet nisl. Vestibulum blandit risus sit
amet quam facilisis mollis. Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Nulla mattis orci a diam. Duis ultricies massa rhoncus
neque. Morbi hendrerit arcu vel mi. Suspendisse lorem. Pellentesque non
nunc molestie metus pretium tristique. Maecenas ante. Nunc sagittis.
Proin ornare. Donec mi tellus, venenatis nec, ultrices ac, hendrerit in,
quam. Mauris nunc. Vivamus cursus rhoncus felis. Nunc at justo. In hac
habitasse platea dictumst. Nulla metus sapien, cursus nec, luctus eget,
malesuada sed, odio. Sed augue orci, sollicitudin id, auctor eu,
porttitor id, eros. Proin arcu dolor, iaculis quis, ullamcorper sit
amet, ullamcorper nec, ante. Sed dictum luctus est. Phasellus nibh.
Morbi fringilla magna et mi. In eleifend sem non dui luctus suscipit.
Duis dapibus. Proin molestie. Cras vel dui.
In et orci vel erat euismod sodales. Integer porta. Vivamus congue
turpis eu eros tincidunt fermentum. Curabitur consequat ultrices mi.
Praesent sit amet ante. Proin ante. Phasellus vitae nibh. Aliquam ipsum
massa, pretium quis, mattis sed, sagittis sit amet, justo. Integer quam.
Aenean leo erat, commodo quis, elementum sit amet, placerat sed, lacus.
Nam a nunc in sapien scelerisque sodales. Phasellus luctus arcu at
nulla. Pellentesque habitant morbi tristique senectus et netus et
malesuada fames ac turpis egestas. Donec facilisis.
Nam scelerisque lacus a eros. Praesent ac arcu et nisl eleifend commodo.
Aenean vestibulum, augue vel posuere mattis, sem massa varius mauris,
non porttitor diam felis eu libero. Suspendisse vulputate, urna quis
dictum scelerisque, risus est pharetra orci, a iaculis dui sem quis
quam. Nam imperdiet quam eget velit. Mauris dui lacus, posuere in,
cursus eget, ultrices ut, eros. Etiam eget purus. Curabitur accumsan
lacinia urna. Donec aliquet dictum erat. Nulla ac magna. Quisque
ultrices vehicula lacus. Fusce eu quam quis est mollis adipiscing.
Pellentesque non libero at eros vulputate iaculis. Praesent vitae orci
ac sapien laoreet scelerisque. Ut ut libero. Vivamus massa urna,
convallis at, laoreet a, adipiscing et, eros. Suspendisse feugiat
malesuada felis. Suspendisse a odio eget tortor tempus pretium.