mirror of
https://github.com/pocoproject/poco.git
synced 2025-03-30 07:26:33 +02:00
Merge remote-tracking branch 'origin/poco-1.8.0' into poco-1.8.0
This commit is contained in:
commit
1193c174f6
@ -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());
|
||||
}
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -25,6 +25,7 @@ public:
|
||||
~MD5EngineTest();
|
||||
|
||||
void testMD5();
|
||||
void testConstantTimeEquals();
|
||||
|
||||
void setUp();
|
||||
void tearDown();
|
||||
|
@ -31,7 +31,8 @@ objects = \
|
||||
NTPClient NTPEventArgs NTPPacket \
|
||||
RemoteSyslogChannel RemoteSyslogListener SMTPChannel \
|
||||
WebSocket WebSocketImpl \
|
||||
OAuth10Credentials OAuth20Credentials
|
||||
OAuth10Credentials OAuth20Credentials \
|
||||
PollSet
|
||||
|
||||
target = PocoNet
|
||||
target_version = $(LIBVERSION)
|
||||
|
@ -493,6 +493,8 @@
|
||||
RelativePath=".\include\Poco\Net\DialogSocket.h"/>
|
||||
<File
|
||||
RelativePath=".\include\Poco\Net\MulticastSocket.h"/>
|
||||
<File
|
||||
RelativePath=".\include\Poco\Net\PollSet.h"/>
|
||||
<File
|
||||
RelativePath=".\include\Poco\Net\RawSocket.h"/>
|
||||
<File
|
||||
@ -522,6 +524,8 @@
|
||||
RelativePath=".\src\DialogSocket.cpp"/>
|
||||
<File
|
||||
RelativePath=".\src\MulticastSocket.cpp"/>
|
||||
<File
|
||||
RelativePath=".\src\PollSet.cpp"/>
|
||||
<File
|
||||
RelativePath=".\src\RawSocket.cpp"/>
|
||||
<File
|
||||
|
@ -273,6 +273,7 @@
|
||||
<ClInclude Include="include\Poco\Net\DatagramSocketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\DialogSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\MulticastSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\PollSet.h"/>
|
||||
<ClInclude Include="include\Poco\Net\RawSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\RawSocketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ServerSocket.h"/>
|
||||
@ -379,6 +380,7 @@
|
||||
<ClCompile Include="src\DatagramSocketImpl.cpp"/>
|
||||
<ClCompile Include="src\DialogSocket.cpp"/>
|
||||
<ClCompile Include="src\MulticastSocket.cpp"/>
|
||||
<ClCompile Include="src\PollSet.cpp"/>
|
||||
<ClCompile Include="src\RawSocket.cpp"/>
|
||||
<ClCompile Include="src\RawSocketImpl.cpp"/>
|
||||
<ClCompile Include="src\ServerSocket.cpp"/>
|
||||
|
@ -2,148 +2,148 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="NetCore">
|
||||
<UniqueIdentifier>{130f6b8f-b030-47ec-8540-f4418b0d7efe}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8ee56ced-ae35-4ed7-bfb0-81727f22ca35}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Header Files">
|
||||
<UniqueIdentifier>{09e6e459-3100-4ef1-90e2-6c91a0bec525}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d3e8398c-89af-41a7-b047-84d7104e3eeb}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Source Files">
|
||||
<UniqueIdentifier>{8c594332-4cc5-4264-a631-144704856ec1}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e8121c1c-88e1-45a3-9e98-60f86e6e5e80}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets">
|
||||
<UniqueIdentifier>{1118fec6-63f5-4402-91d2-54121a9e2d2a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b3b830a0-a79a-4dcf-abd5-627d49bceb8f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Header Files">
|
||||
<UniqueIdentifier>{9fb6e4d5-bf25-43ca-8f40-6335eab4dfff}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{4a7e380c-5e14-4c83-a09c-988f8b1ee91e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Source Files">
|
||||
<UniqueIdentifier>{808b9c27-9b04-4302-9501-a48fab86435d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{649f9df2-1527-406b-92ae-a83b758a226d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages">
|
||||
<UniqueIdentifier>{f04e1f13-849b-4a8c-b452-e34eea9d3b1e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f90a1094-b24d-4db2-b557-da245f81292c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Header Files">
|
||||
<UniqueIdentifier>{8ca39726-6798-4eb3-bbf9-67f6a2b674f7}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{fa2d94c7-7060-4004-b2f4-a4d9be16264f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Source Files">
|
||||
<UniqueIdentifier>{f19ad75f-b88c-48db-81fd-18b11fc363c8}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2002ad1d-44a8-4206-8e9c-ad8b83049fb3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP">
|
||||
<UniqueIdentifier>{4b407813-79d0-4a10-a1c4-7922becae8dd}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{4d41a85b-8419-40b6-90da-4d08c8580e77}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Header Files">
|
||||
<UniqueIdentifier>{5a592256-ac51-4ef2-931d-09ba98a75b0b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5370f636-392a-4ce2-86a0-9f8a46dd3c8e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Source Files">
|
||||
<UniqueIdentifier>{a8bb2926-a730-457f-9bac-963dccfe35a0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0c040e0b-020c-42db-b74e-6f8e68b691be}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer">
|
||||
<UniqueIdentifier>{0aa70632-d737-443e-bfe1-45428929aec9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{39acadd7-43fb-40cb-894e-6cbfbca2ef78}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Header Files">
|
||||
<UniqueIdentifier>{fb8f0fea-d957-4906-9240-8f251289033b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b5fef4b0-eee2-40ec-94d2-eea9503a7f62}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Source Files">
|
||||
<UniqueIdentifier>{68a98d46-7c26-4bd4-a5ce-cbfea242c837}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{40073a93-8a74-4efa-b29e-7c699b294ffb}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer">
|
||||
<UniqueIdentifier>{1e256d2a-23e7-432f-b902-aefc480c8fbe}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{764bd47f-5f31-43a7-9865-b2ce1d918e7c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Header Files">
|
||||
<UniqueIdentifier>{a1447492-b25b-4cf0-a814-072e09b44a9e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0e294983-abfe-46e6-9799-c2c66afbc43d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Source Files">
|
||||
<UniqueIdentifier>{cd746f3f-8bd6-4002-bec5-9727a1fd3f4d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{db93e519-1ce5-4685-94cf-b85c26b161ac}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient">
|
||||
<UniqueIdentifier>{72f66329-d640-4abe-9806-83f86947aecb}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7f53439a-37ba-4048-80c1-8b4225b31008}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Header Files">
|
||||
<UniqueIdentifier>{2b81c7ca-d1b2-41d3-863d-8f70c826507d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d78e3692-c47c-474c-8b1c-97c6247782d5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Source Files">
|
||||
<UniqueIdentifier>{92fefc76-c1fe-4af6-b152-8cc241a30fd4}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0041736c-28d5-4a45-9340-7dc95953e37e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML">
|
||||
<UniqueIdentifier>{d48af01d-2ff2-4057-8f42-f0b57b15a816}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{01a5a86a-8e2d-43eb-af5e-0717379e2383}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Header Files">
|
||||
<UniqueIdentifier>{5ebaa7fb-230f-49e8-8b60-fe209d284588}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9f3212ff-39bf-4e54-b344-2ea1024984af}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Source Files">
|
||||
<UniqueIdentifier>{55d2b23d-2b96-4ea3-8614-f3550a7ebff5}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7e53936f-b65a-42d2-b24c-d9a8a267aece}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient">
|
||||
<UniqueIdentifier>{5f58e82f-2c26-4099-8d6d-966aca5af470}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a572aafe-1463-4f92-ad52-19154ba14020}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Header Files">
|
||||
<UniqueIdentifier>{a2149097-7e87-4390-982c-a654865da7bf}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{90e9c9b7-e61c-49af-b2e5-7413c2d3f034}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Source Files">
|
||||
<UniqueIdentifier>{6197fa77-f163-47f0-a1e2-efa876620a51}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{19cd86f1-c474-4e39-abf8-1aaf821028be}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor">
|
||||
<UniqueIdentifier>{3162c6ab-00cd-4211-a78b-2b7c6d07b7b7}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{23160e3c-8de4-4e44-a6c2-0a57459249d7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Header Files">
|
||||
<UniqueIdentifier>{41c88598-a6f0-4cfe-a5c0-87dfc0e38efe}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{afa05c4d-1275-4bea-be5b-9214aabf771b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Source Files">
|
||||
<UniqueIdentifier>{853bcc57-d3dc-40d7-b1ec-644cc240a539}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{342ac598-b712-4db4-82b5-19d93778633d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail">
|
||||
<UniqueIdentifier>{d3171a7c-0319-49a9-ba20-89868708057f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{4158634b-967e-4b6f-a00b-ad078bd13ef9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Header Files">
|
||||
<UniqueIdentifier>{b783fb4b-d592-4a36-927a-9e84ad6410be}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{58a5bfcc-60c3-4603-9d69-f0a124f50813}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Source Files">
|
||||
<UniqueIdentifier>{ac906015-6aa2-415c-8509-a72fc0cab54c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{dece29ca-057c-4353-aae4-28aa6e3eff61}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP">
|
||||
<UniqueIdentifier>{28ed34e7-49bc-4aec-baf2-a1ae9f18e76d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{44234863-8ac2-4a7f-969a-f67f286190b6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Header Files">
|
||||
<UniqueIdentifier>{65bdcf0f-d230-4fb3-9394-d95ccd8bb060}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{365558e6-239e-44ba-9fb4-696d74aedc38}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Source Files">
|
||||
<UniqueIdentifier>{f8b79fbe-1b4c-4529-b549-fa7337c7a1a0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8c7e403c-bde5-45b2-bef2-7ac1568d722d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP">
|
||||
<UniqueIdentifier>{6fe50cd9-4a25-46ef-a7d4-17ba2ef757f3}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{bcd5e8ab-eae0-48ce-b21c-361c65e8b9eb}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Header Files">
|
||||
<UniqueIdentifier>{ab09c277-f29b-421b-9289-f8c5a8885123}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{cef33ffd-1101-4abe-a1e2-b7867778e916}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Source Files">
|
||||
<UniqueIdentifier>{79979fb5-c4c9-4fe4-9a36-88a00e1015e4}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{be07a1f8-516f-4591-acc8-6bdd59e41031}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging">
|
||||
<UniqueIdentifier>{ba75e6fe-6287-4e6f-a1be-8a4364b589cb}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{6420f9ab-2ee6-4e4a-8c51-e20b055ddd5a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Header Files">
|
||||
<UniqueIdentifier>{ac1650df-29c2-412c-bc00-07a16b3b6555}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5b3465bf-3dea-4120-a07a-9ce4c4603bf4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Source Files">
|
||||
<UniqueIdentifier>{ae509786-3d0e-48a5-a2dd-8ee170618a11}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d63a7c69-e22f-4846-b55c-6eec5151c5bc}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket">
|
||||
<UniqueIdentifier>{54686718-8a29-4c3f-b1c7-1656a4d8456c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{fe9b1bde-92da-4ee6-8ccf-59a6f714d4dd}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Header Files">
|
||||
<UniqueIdentifier>{726aef43-47c2-4f6b-93c9-dee5c6d97d52}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{4e69bbbd-e362-43d6-b0fd-34b6da9ae919}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Source Files">
|
||||
<UniqueIdentifier>{77020ad9-0cf3-422b-9c40-81a87fc36dee}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{29e1911f-be57-41cd-9ff4-b611da1e1f68}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth">
|
||||
<UniqueIdentifier>{8462749f-04be-49cf-b939-1dbf777ce541}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7263f4a3-ccbf-4a21-9c14-a2f9aea4d5cf}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Header Files">
|
||||
<UniqueIdentifier>{89807653-3e1f-4055-b37d-85800b00171d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{084e0512-1072-419f-ac36-df807e4b3f8b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Source Files">
|
||||
<UniqueIdentifier>{1ea78fcb-26cb-466a-a773-fa68def09b72}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{99c89e81-5611-43a5-828b-70dc60b0e733}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@ -189,6 +189,9 @@
|
||||
<ClInclude Include="include\Poco\Net\MulticastSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\PollSet.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\RawSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
@ -503,6 +506,9 @@
|
||||
<ClCompile Include="src\MulticastSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PollSet.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
@ -332,6 +332,7 @@
|
||||
<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"/>
|
||||
@ -436,6 +437,7 @@
|
||||
<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"/>
|
||||
|
@ -2,148 +2,148 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="NetCore">
|
||||
<UniqueIdentifier>{01c6bec6-d6e3-4478-87a8-68816522e803}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f3e1db68-e5b7-4724-94c5-e1c9560ce937}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Header Files">
|
||||
<UniqueIdentifier>{9b646582-523b-4cc2-ab34-206adbf0d36d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a207e531-8a37-4149-8d65-2d3c99528e89}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Source Files">
|
||||
<UniqueIdentifier>{4c5ff9fc-eb27-430d-9b19-93494c19efe1}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c7f09d94-e478-4810-8c6c-443bc6730bcb}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets">
|
||||
<UniqueIdentifier>{1a69104e-2dcc-49e9-a023-0db24fae4432}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b2219a36-f5c1-41b2-aac7-16145caef2b2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Header Files">
|
||||
<UniqueIdentifier>{64902e98-d766-4dfb-80af-23e8a5abe2e0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1d33cc80-eefc-4711-a028-e93ce942b809}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Source Files">
|
||||
<UniqueIdentifier>{43249721-0521-48a7-8815-59fb906e9d4e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c540872a-4553-4275-9e3a-0982c9fb271a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages">
|
||||
<UniqueIdentifier>{35e62018-38d9-430a-be38-c5501abd9204}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9995a74c-955c-4c64-853d-6472040f759e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Header Files">
|
||||
<UniqueIdentifier>{d17cad86-4cc7-4b12-974b-ee87cebe2310}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{bcdde3fe-8054-45fa-9307-5f71afeb1122}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Source Files">
|
||||
<UniqueIdentifier>{516729a0-64fe-439e-a6d0-fe2c2bfdffa4}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a9479670-7429-410d-a4b9-56ddfe1914a7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP">
|
||||
<UniqueIdentifier>{83958dcf-0baf-4a5a-afd7-fe9467d36511}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{85668933-3986-40b5-8e84-05842c7a240e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Header Files">
|
||||
<UniqueIdentifier>{38c3f220-3d19-44cb-a6d9-6651a4fc11f1}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{af5474c1-aa96-4f90-b8e5-22332b714cec}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Source Files">
|
||||
<UniqueIdentifier>{ef9a12ff-d5b6-4dab-a43e-6c5b4ed8593f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{eed7f32b-3eea-44c6-8067-bd6988c93153}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer">
|
||||
<UniqueIdentifier>{82639872-033e-4255-b3f5-3964a1c11eb0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{64f6298f-94a7-4f09-830c-f941d1a654b6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Header Files">
|
||||
<UniqueIdentifier>{a97911f0-082a-4779-ba36-4dfd7e805bee}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f18adc48-2c49-4be5-83db-1bdef111f01d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Source Files">
|
||||
<UniqueIdentifier>{db8aa02c-461c-418c-ab03-b01e88577cde}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{655d4e06-14d8-44ca-8a6c-438e3ec1bd2f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer">
|
||||
<UniqueIdentifier>{f0fda094-f60a-4fe3-9acd-27601025e3d0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5f4532f9-5df5-4352-8dbe-c7b40fa5ee64}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Header Files">
|
||||
<UniqueIdentifier>{1efd0773-b187-4bc4-a193-c60f6646d791}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b5bf5492-f8a3-4701-80f0-b6f9d3962944}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Source Files">
|
||||
<UniqueIdentifier>{72644c84-8692-46c5-8c87-d5da06156856}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{79dec663-746a-4cba-9984-4724e96c5fcc}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient">
|
||||
<UniqueIdentifier>{c9fc14f6-7968-4857-9116-9e95d7bff5ea}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9735918a-31c0-4c17-bd8e-ade820b84222}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Header Files">
|
||||
<UniqueIdentifier>{df2fa945-a4dd-4749-a44b-586620922c8b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{51f9e232-a754-480f-9e93-9ea102a22de6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Source Files">
|
||||
<UniqueIdentifier>{31d155ef-c89e-4a9b-807f-ef06165558e5}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{857bcfb1-da2f-43e8-91ba-b165dd91874f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML">
|
||||
<UniqueIdentifier>{b865292b-d988-429a-8ed2-53e0dc7b1412}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{dd9291ba-aae6-4be6-ac55-6a540c519cc9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Header Files">
|
||||
<UniqueIdentifier>{2de11b52-e146-47cf-8993-eca8c3c12146}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c7cdd37f-09b8-46dc-bb69-cb61f91719f3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Source Files">
|
||||
<UniqueIdentifier>{df135fc5-5905-4c27-8ee4-f118154c52b8}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{63fab1c0-d1a3-4ab8-89b6-85a76d6e9bf7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient">
|
||||
<UniqueIdentifier>{a31bf15a-8616-4902-93ac-a89151a186b1}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3f097d1c-a559-456b-87e8-0d633e27dc86}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Header Files">
|
||||
<UniqueIdentifier>{6b3ed64c-61e8-4bdc-9f48-f6ef16afd226}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{6839f33b-b583-4d72-b9c3-e475e10faba8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Source Files">
|
||||
<UniqueIdentifier>{c4209bcc-6526-4b3b-9daa-252a88577c55}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d2d45029-50f7-4ccd-ae05-655dcb9a4225}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor">
|
||||
<UniqueIdentifier>{0294e826-7eb3-4d22-924b-c988f92a2f94}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b07f321e-aee4-4325-ba97-a542ce5f4779}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Header Files">
|
||||
<UniqueIdentifier>{0271a4fe-99dd-474f-a4b8-9efa617af091}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2b394717-615e-4b13-8f73-5979826afa14}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Source Files">
|
||||
<UniqueIdentifier>{bce3e073-496f-4146-96be-03a69df072b4}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d3fff85e-2d06-4727-9026-9818ce4fc344}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail">
|
||||
<UniqueIdentifier>{9266380c-9867-4903-a847-d489d906f60d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f896b76e-a236-4b2c-a677-6ac3007c1f02}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Header Files">
|
||||
<UniqueIdentifier>{75c72466-c058-44c0-ba7b-16032d43a4e5}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8a6543e9-4c02-45b5-92e8-2af763b906df}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Source Files">
|
||||
<UniqueIdentifier>{f1c42519-4a11-4cbf-91c4-014ccb1b52cf}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{944f67f7-4cd1-45e8-a4fe-3570c064e8ce}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP">
|
||||
<UniqueIdentifier>{b9194fbb-52d9-4318-bfc7-6f5d739731e4}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7c875980-a6d2-4563-a62b-07a2249489ac}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Header Files">
|
||||
<UniqueIdentifier>{cc9e51bc-3435-4876-80e7-f5c08c2a0efc}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e98fd658-f7c5-41e6-8496-9aa970adf752}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Source Files">
|
||||
<UniqueIdentifier>{d328d326-568d-477e-911d-7f00125d32aa}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9b88fcc2-6ff5-45cf-b2c3-ce2e7977a68c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP">
|
||||
<UniqueIdentifier>{17056f9c-aefb-4160-87e8-084310844d95}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{29f67c09-89d4-4a23-a075-2d904740741a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Header Files">
|
||||
<UniqueIdentifier>{76458a2e-5fdd-4306-bc6d-26fa14cdf920}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{89ad7280-bfa6-4ce8-9aac-53d7dace085c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Source Files">
|
||||
<UniqueIdentifier>{19fec6f7-fd61-42a6-971e-7c1d1282b877}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{913760bd-fea6-4f8b-92d0-3938752ab30e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging">
|
||||
<UniqueIdentifier>{92ac67dc-2cdc-44b9-b6d9-c21da7afcefb}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{58ff245b-fe9a-422e-8846-cf2cce08187b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Header Files">
|
||||
<UniqueIdentifier>{40f87499-2b53-4be1-96ef-5beb27517b7c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9b584f35-0765-49f4-b6ea-f2c5c940af6e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Source Files">
|
||||
<UniqueIdentifier>{d5eb1acb-de3d-4987-b6d4-0cc801b6df21}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e838c493-14da-418b-9fdf-f722177550de}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket">
|
||||
<UniqueIdentifier>{ee0438dd-1ba2-48db-be60-72f06da1f971}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{55004bfa-4da1-48ae-8e71-a32963f836e1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Header Files">
|
||||
<UniqueIdentifier>{fe23363e-e44d-428a-937f-248083926ba5}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c5112127-ee8a-472f-8a93-5a1579123f01}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Source Files">
|
||||
<UniqueIdentifier>{d15cab5b-e5e5-46ca-9180-88cfa0e32284}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{feafcd59-50bb-41da-8ead-e99c3cdb77bd}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth">
|
||||
<UniqueIdentifier>{03c33db2-0d5c-46b4-8a30-d999e3d59569}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{52dd5c39-decb-4e0f-9be0-41b0bc459815}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Header Files">
|
||||
<UniqueIdentifier>{57b28a9b-2b01-42cc-b3ba-9fd15a42fae6}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8cb55bd0-7803-46d3-aa12-2abb79156501}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Source Files">
|
||||
<UniqueIdentifier>{77fc338b-aaf9-4378-8aa2-bcef635de818}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{6e9b87ca-7033-4f05-83b6-c2f5d3eee9ce}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@ -189,6 +189,9 @@
|
||||
<ClInclude Include="include\Poco\Net\MulticastSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\PollSet.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\RawSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
@ -503,6 +506,9 @@
|
||||
<ClCompile Include="src\MulticastSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PollSet.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
@ -289,6 +289,7 @@
|
||||
<ClInclude Include="include\Poco\Net\DatagramSocketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\DialogSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\MulticastSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\PollSet.h"/>
|
||||
<ClInclude Include="include\Poco\Net\RawSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\RawSocketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ServerSocket.h"/>
|
||||
@ -395,6 +396,7 @@
|
||||
<ClCompile Include="src\DatagramSocketImpl.cpp"/>
|
||||
<ClCompile Include="src\DialogSocket.cpp"/>
|
||||
<ClCompile Include="src\MulticastSocket.cpp"/>
|
||||
<ClCompile Include="src\PollSet.cpp"/>
|
||||
<ClCompile Include="src\RawSocket.cpp"/>
|
||||
<ClCompile Include="src\RawSocketImpl.cpp"/>
|
||||
<ClCompile Include="src\ServerSocket.cpp"/>
|
||||
|
@ -2,148 +2,148 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="NetCore">
|
||||
<UniqueIdentifier>{a871cf6c-ec1b-4025-a189-eb5bdf78302c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{87211f6d-2bd7-42a7-83f8-577de8900fe4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Header Files">
|
||||
<UniqueIdentifier>{d4ef3606-a839-4b40-9553-37c790fdfa51}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f0e2708b-c1c5-4700-9b9b-26ad95fa976f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Source Files">
|
||||
<UniqueIdentifier>{d96845f5-6046-4cd5-bcf0-96b0898a73bd}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{4793786c-1dda-45be-969c-0df62d07decd}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets">
|
||||
<UniqueIdentifier>{e5b19fbd-d82f-4c1c-b3a7-bd6103c893ca}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{98313952-bc19-4074-83b1-cb301cea2483}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Header Files">
|
||||
<UniqueIdentifier>{b743ba26-5166-479e-849d-dbf050786dde}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9f3a8fe4-c9b4-453a-b9db-1d0b24d860c5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Source Files">
|
||||
<UniqueIdentifier>{0cb2941d-e4af-4fa7-a4b0-a1dea51a4bf8}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ae356354-a8c2-4ae9-8347-b3295e4f9857}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages">
|
||||
<UniqueIdentifier>{4cb70e3b-d610-45ce-98e4-a7565ecc19b0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{84b0b1bd-05ad-4fe9-af14-26016cd75cec}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Header Files">
|
||||
<UniqueIdentifier>{b9565b1c-8b85-4bdf-ac38-f1efbde847df}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{aea583e1-232a-40df-9831-1f2cd99faa2e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Source Files">
|
||||
<UniqueIdentifier>{c8df4513-d5d3-4f2d-b547-bdde9ed52539}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c36d0e86-9c80-400c-b6cd-bb93efd50734}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP">
|
||||
<UniqueIdentifier>{62daca0d-7e2d-4acf-8817-363a53460b74}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d84641ab-6aea-43fa-a9b3-c5c6a2f4a7af}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Header Files">
|
||||
<UniqueIdentifier>{9ed442a8-0530-4e1e-8f16-08bdc8283776}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ba0410df-f386-4a47-855b-1a67489daeb8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Source Files">
|
||||
<UniqueIdentifier>{94c2752b-a75e-4ba8-90fe-c7c917688497}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{798e1544-bdd5-494a-b849-0201aa9c03cd}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer">
|
||||
<UniqueIdentifier>{827d05e4-41f2-4f17-9b95-93ce032010ff}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{6d67f85f-7c62-4ab1-8ce5-39522cf5f064}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Header Files">
|
||||
<UniqueIdentifier>{ad62831f-491d-430a-af02-0d3869e9920c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3971cf3b-df0c-4f97-8314-8905759867d5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Source Files">
|
||||
<UniqueIdentifier>{43af059a-436f-4437-8d25-27f6cd9a38fc}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f8ceb19d-4df3-4cc5-9c68-f7dddd15d888}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer">
|
||||
<UniqueIdentifier>{3c45a8e8-5f84-4929-a616-436498de2fb4}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7af2aac5-0500-4fde-bcb8-074454ca8235}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Header Files">
|
||||
<UniqueIdentifier>{9cd86f6c-f19a-4327-9256-da88570772f6}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9951c46c-a205-41ae-9eaf-2454bbf4a958}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Source Files">
|
||||
<UniqueIdentifier>{2c425530-37ab-4d84-a90c-ef0aa9bc88c3}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9e55ed47-d527-422d-8da3-91739d2892b5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient">
|
||||
<UniqueIdentifier>{f83ca168-73a4-44d0-8085-a46bac92c7f1}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9127f9d7-7f4e-43f9-a5a9-be184c62a8de}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Header Files">
|
||||
<UniqueIdentifier>{2a1ab509-f2f3-4319-9306-bceba040207d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f80d59e6-8c38-4a98-8ea5-5f9677258c32}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Source Files">
|
||||
<UniqueIdentifier>{4c5d3739-5c14-4cd2-ac1f-8813dd057403}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0291bb8b-b010-44a8-ad32-a22e21feb169}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML">
|
||||
<UniqueIdentifier>{4f58d6a8-589d-48bf-ae93-ee655f5cf073}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{95df4d30-0cc9-4e43-862e-964f0c77dbc5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Header Files">
|
||||
<UniqueIdentifier>{2fd2a8fc-ce07-4949-abab-ac7b021e5989}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e129147f-dd0f-4454-a4a7-720e2459c90d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Source Files">
|
||||
<UniqueIdentifier>{79ab4cfe-9396-4c59-ac65-cb0c8c7a14fd}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{94904c68-8bf1-4e87-bcef-d7e1d7b68712}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient">
|
||||
<UniqueIdentifier>{82278035-322f-4933-87a1-215cd3b92aa3}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{07b8b34b-e5a6-4a22-b239-d33fb7f15fec}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Header Files">
|
||||
<UniqueIdentifier>{ae8bac40-6104-425d-b08a-5f67db69c565}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{94d3c731-800c-45bd-94e6-df699391b501}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Source Files">
|
||||
<UniqueIdentifier>{b22da456-dc10-4bba-b113-3e6452d8f1fa}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{586faf30-7ebe-4ff5-89d6-eb17b4a835d0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor">
|
||||
<UniqueIdentifier>{0a903a35-2849-49ef-9ec8-9305e379ba53}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{88b5b6f0-086d-4eca-949e-1fe91f64aa4a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Header Files">
|
||||
<UniqueIdentifier>{ccfe0bf1-8560-49a0-8768-5ad8bcfa333b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0e1e26ff-bd95-4353-84b5-2409bee109ef}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Source Files">
|
||||
<UniqueIdentifier>{3a5411c7-6d41-4a6e-888e-7529fa4bbe1d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1cd34d3a-1baf-45f7-bd37-040eb53038c9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail">
|
||||
<UniqueIdentifier>{7868413e-c8cb-496f-bb8a-deea40b8240e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{dacf32c6-7cd7-4594-a11b-0163a9b275ac}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Header Files">
|
||||
<UniqueIdentifier>{709ced43-224c-403a-91d3-ce231c131b09}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{23b154af-c94e-4bc0-b2aa-6414b1f107b4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Source Files">
|
||||
<UniqueIdentifier>{394206c9-4f5f-4357-998c-8e2e73e19ce3}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f390b410-3a22-429a-9d2c-7cf724d08d3b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP">
|
||||
<UniqueIdentifier>{fcbb3cb0-a651-4c27-b259-d29f7c064adf}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7a45b352-0bd6-4e11-b2d5-a576637f0f32}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Header Files">
|
||||
<UniqueIdentifier>{60923d1b-3aa4-4523-82b5-238942c63812}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{cd18f608-2c56-45fe-8cab-88e61b626360}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Source Files">
|
||||
<UniqueIdentifier>{3a4f17b9-f0ae-43cc-a607-6dd13f197292}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a2caa923-30ca-46a0-bbda-a4d7b5c68560}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP">
|
||||
<UniqueIdentifier>{8696a874-1d84-41e9-860b-e169f723aa61}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{099bc8ef-9e2c-482c-ab65-7e0d77dc9b7b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Header Files">
|
||||
<UniqueIdentifier>{d19a4e3b-e175-4413-a0bb-dc33b6ccebaf}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f2530b4c-7a5e-42c0-8670-5cdcd308a5c2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Source Files">
|
||||
<UniqueIdentifier>{638a4d80-ca6f-4126-a7e8-b93a30c7ad85}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{75514a2a-029d-4def-b3e2-239a74f2675b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging">
|
||||
<UniqueIdentifier>{a537e820-fee7-42b2-aba2-ce883a74a90a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{223a49f6-01b7-41a1-acec-22cd4ca37f63}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Header Files">
|
||||
<UniqueIdentifier>{ebdbffe6-35e2-401d-844c-0a34058bbd31}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{db318ab0-4220-458a-9fea-146a056c2232}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Source Files">
|
||||
<UniqueIdentifier>{c3f79d8b-4b54-4df5-acfd-09a9e2c0b0c9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c1f81966-497e-4a72-907e-47f24b3b2791}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket">
|
||||
<UniqueIdentifier>{d81cd7ac-9908-4c5b-b13a-df64a24b0457}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8dc59336-2af6-4ea2-8892-681d94d10426}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Header Files">
|
||||
<UniqueIdentifier>{f1085be2-ebe7-45dc-86f0-6f80cd9e4d7e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{403dffb9-502a-4b36-8900-d2816ab04886}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Source Files">
|
||||
<UniqueIdentifier>{416a9acf-77c6-490f-bd0a-efa55bdb7570}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b99af649-4203-4f66-a1fa-b53736929615}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth">
|
||||
<UniqueIdentifier>{46482235-41d6-472d-9d44-a7e95b9207c3}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1f4d59d3-29fc-4c60-af5d-97439123c355}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Header Files">
|
||||
<UniqueIdentifier>{6fd8f4ab-8454-4491-899b-fb061f417c1f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f162d641-57f2-4e8b-b6ec-bf1f56dd5371}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Source Files">
|
||||
<UniqueIdentifier>{3b071b8f-d162-4af1-970d-e029fe0b4f8d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a8cf6314-024c-41e1-ba55-957685f05ad2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@ -189,6 +189,9 @@
|
||||
<ClInclude Include="include\Poco\Net\MulticastSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\PollSet.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\RawSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
@ -503,6 +506,9 @@
|
||||
<ClCompile Include="src\MulticastSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PollSet.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
@ -293,6 +293,7 @@
|
||||
<ClInclude Include="include\Poco\Net\DatagramSocketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\DialogSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\MulticastSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\PollSet.h"/>
|
||||
<ClInclude Include="include\Poco\Net\RawSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\RawSocketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ServerSocket.h"/>
|
||||
@ -399,6 +400,7 @@
|
||||
<ClCompile Include="src\DatagramSocketImpl.cpp"/>
|
||||
<ClCompile Include="src\DialogSocket.cpp"/>
|
||||
<ClCompile Include="src\MulticastSocket.cpp"/>
|
||||
<ClCompile Include="src\PollSet.cpp"/>
|
||||
<ClCompile Include="src\RawSocket.cpp"/>
|
||||
<ClCompile Include="src\RawSocketImpl.cpp"/>
|
||||
<ClCompile Include="src\ServerSocket.cpp"/>
|
||||
|
@ -2,148 +2,148 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="NetCore">
|
||||
<UniqueIdentifier>{67828748-111f-4d59-b1c6-04d779fcea7f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5e0ee010-8061-41b2-ac78-47dd9ea8b89f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Header Files">
|
||||
<UniqueIdentifier>{26ba874e-8014-447b-9057-b18bc40aa3ad}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f108715d-a1dd-46cb-b0c7-576c9ad46bf2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Source Files">
|
||||
<UniqueIdentifier>{6fd528dc-7154-4051-a252-53af8768b20d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{00fa8767-4417-4917-9010-e53e005f6bde}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets">
|
||||
<UniqueIdentifier>{c92665e0-e63a-4359-a0e3-704c494702df}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{139af390-67aa-410e-b721-4fdf3c9c1a1e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Header Files">
|
||||
<UniqueIdentifier>{3a4368ba-04aa-4f87-9fe3-1e00b1b28f32}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{771658b8-7f1a-49cb-a543-030d1b13585b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Source Files">
|
||||
<UniqueIdentifier>{d0975984-0d20-410b-8678-d85017be8b25}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{084515e3-8451-43fc-8dd6-3ae02b9f68c7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages">
|
||||
<UniqueIdentifier>{e7f61117-ab29-40f3-9c8b-561c748e4521}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{257db6b8-c5bd-4e75-8cbb-ab2222d97fba}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Header Files">
|
||||
<UniqueIdentifier>{c4b1f9f7-7982-4261-b17d-b6ecadfb6166}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{17319ac3-a861-4d29-9629-e3f190672679}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Source Files">
|
||||
<UniqueIdentifier>{34fa93cc-72fa-47f7-a005-bc92696189cb}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e9d98e13-fd2a-4090-aced-80b00e6a3c8d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP">
|
||||
<UniqueIdentifier>{802aafca-f60e-4dc8-b766-5f4b7c1e3a0e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e53be2af-0f95-40b3-b480-72eb5adcde88}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Header Files">
|
||||
<UniqueIdentifier>{a3c2fe3a-d8da-40e4-870e-e4dda646c3a5}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7985d407-f83c-4895-b975-6832f26f40ae}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Source Files">
|
||||
<UniqueIdentifier>{95caffbf-215e-4bce-ab88-a9071121e93f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{08c92788-c737-4895-b508-4aa0bb048db0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer">
|
||||
<UniqueIdentifier>{1da36c6c-b267-4c01-98e5-f4ad73cf8e8d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{bd8aa8c9-d2e5-4c8b-a033-d434e09faf2e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Header Files">
|
||||
<UniqueIdentifier>{4bb0d8c7-f4d4-4b6d-a889-d3db355d6ef6}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7198a149-bcff-46d0-9c5f-116dd8d2a9d4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Source Files">
|
||||
<UniqueIdentifier>{402316f3-d85a-49b7-8fb0-f87ff12597d0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{735890b1-1dcc-4c8c-a776-5b365491e562}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer">
|
||||
<UniqueIdentifier>{7a269eda-9a16-4889-b32f-d132f3b84f82}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7df90178-20b4-45ca-9faf-04586207ec1b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Header Files">
|
||||
<UniqueIdentifier>{ec87b3a0-a8ff-4a7b-be1a-049079c49e28}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{397dfee6-b7b4-425d-ad72-119910582187}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Source Files">
|
||||
<UniqueIdentifier>{1a6e69fc-0963-4381-b0ce-dd8088415d22}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0770c3f2-b2d1-4aaa-bbf7-638504e556ea}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient">
|
||||
<UniqueIdentifier>{95f85704-a113-486e-bc28-981268860292}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9389ea48-a056-4ab6-9cc1-cdea1f2d550a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Header Files">
|
||||
<UniqueIdentifier>{4d00aa18-ef7f-4c9f-aea1-abf795d576fd}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5428ec24-5651-499d-9964-96cbbf7c3ace}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Source Files">
|
||||
<UniqueIdentifier>{513ffaf0-509f-4daa-9c21-4d4935a7620f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0ac1d394-1d10-449f-b88a-2893ba3bffb0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML">
|
||||
<UniqueIdentifier>{11d02313-03c2-46c6-883d-c9c740e70600}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{175a171c-aeb9-48a0-a513-83d88aa0df17}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Header Files">
|
||||
<UniqueIdentifier>{b38b9ebe-5e6d-47e2-ac43-c040062d9f24}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{253e1cb8-960b-4bcc-9767-f747da7f71e2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Source Files">
|
||||
<UniqueIdentifier>{36c594d7-ea66-4e8a-8554-ba8f616d71bc}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9b027786-d085-426c-8d0f-7e65d437daed}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient">
|
||||
<UniqueIdentifier>{058dc209-da77-4d9d-b645-ef2a56b1f5bf}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{049ef9e3-c207-4644-bad9-8e928684251e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Header Files">
|
||||
<UniqueIdentifier>{75842a7d-571e-4f33-8ec8-de036f6a8942}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{63b0ac64-3aa1-45d6-8060-6f69a43d9b0d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Source Files">
|
||||
<UniqueIdentifier>{bf93d73c-ae91-4f47-89fb-47c1b485dd5d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{eed2bbd9-465b-438f-9306-e1fb43797476}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor">
|
||||
<UniqueIdentifier>{47d6128f-7fb2-4ff7-8655-ec20726ad273}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3ec2758c-b15a-4448-aea7-8669a088e5d7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Header Files">
|
||||
<UniqueIdentifier>{58fbbf7a-116c-4c7f-b974-b262819460d6}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{23b81e64-202a-46ac-9cfe-bf155a502a66}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Source Files">
|
||||
<UniqueIdentifier>{afdd3960-4eb3-4595-8231-a9365cd01362}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f0716eba-89f0-4409-8191-fef9cdc642ef}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail">
|
||||
<UniqueIdentifier>{530ff5f8-5197-4964-b0cb-ead11fe5291c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{81e0a8d3-bc93-47bc-87f8-fe0243f28497}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Header Files">
|
||||
<UniqueIdentifier>{46920454-4cc5-46a9-bdb2-4c0b5b41d2c4}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{93bc27ea-657c-4d73-804a-1035ec9d05e1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Source Files">
|
||||
<UniqueIdentifier>{cdf48a55-3d43-4f9b-8ca7-909c55e4da62}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{13acb61f-3723-4096-b1de-a490d9c79e84}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP">
|
||||
<UniqueIdentifier>{f74a4f97-8986-46ad-b9e7-98845aa37df7}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c852ea94-f521-4f64-9740-e489c3acf98c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Header Files">
|
||||
<UniqueIdentifier>{d983bf44-855a-4ecf-8d06-54f94281abf1}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c526f5f7-60b8-49af-bf73-5349bb6409a8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Source Files">
|
||||
<UniqueIdentifier>{83d743c7-4bca-4fc9-90dc-7b775fcf682d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7912c8ff-7af3-49d9-a9f2-95f838fe2680}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP">
|
||||
<UniqueIdentifier>{ea80af8f-45c3-4f6c-bdfd-dbc3adbaad01}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{30571f88-841b-4210-a889-0d6c3da94d4a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Header Files">
|
||||
<UniqueIdentifier>{9fbc9f0d-ff52-4f1b-8aab-e9bdca7d2670}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0cb7be28-5ea2-4bcb-b527-6bddb06f234f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Source Files">
|
||||
<UniqueIdentifier>{0512e9e2-5b91-4934-8bf4-909911d235af}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ed825eda-701d-4e69-9c61-0aa2558ba807}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging">
|
||||
<UniqueIdentifier>{5ce91c5b-a90b-468b-aa73-c571357147bb}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d75a99d5-e40f-4906-8c31-2b0a1df36134}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Header Files">
|
||||
<UniqueIdentifier>{004f6329-e2e3-4d1b-a909-94440f1eec47}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0ac03649-8844-4d85-908e-78b717c373f5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Source Files">
|
||||
<UniqueIdentifier>{68ae95f2-1b58-4123-8745-3bd5df550750}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{fe1b2da7-f47f-4839-8dd7-37de9baad4f6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket">
|
||||
<UniqueIdentifier>{c38ca0c9-1292-4902-841e-494026b7f44f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{358ba0bf-115c-4a7e-b7d8-fce8c59b8538}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Header Files">
|
||||
<UniqueIdentifier>{4eb90c74-41e4-4e4b-a9ba-d09667063225}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{97077836-50f9-4e73-99c4-5cef869b46a8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Source Files">
|
||||
<UniqueIdentifier>{e4c0a3aa-1802-41be-aa16-e10ee970ed92}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{975c6b48-7219-475d-b6f4-e347b5b53817}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth">
|
||||
<UniqueIdentifier>{a152b5d0-b13e-4411-811a-388d340550e2}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5f91d6d4-a99c-4c83-9272-1b17a6e6d11c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Header Files">
|
||||
<UniqueIdentifier>{19c3ce7c-8299-4402-b978-9a609f9fc38a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{13f2d0e0-3141-4145-a96f-ac9099baecea}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Source Files">
|
||||
<UniqueIdentifier>{c3bcf024-04ff-41a8-b5aa-10d1d0c55c69}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{dc7656fe-fffe-4ee3-8d42-9e01b9d878ef}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@ -189,6 +189,9 @@
|
||||
<ClInclude Include="include\Poco\Net\MulticastSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\PollSet.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\RawSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
@ -503,6 +506,9 @@
|
||||
<ClCompile Include="src\MulticastSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PollSet.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
@ -352,6 +352,7 @@
|
||||
<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"/>
|
||||
@ -456,6 +457,7 @@
|
||||
<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"/>
|
||||
|
@ -2,148 +2,148 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="NetCore">
|
||||
<UniqueIdentifier>{3a6b1d3c-7c66-4ee6-98bd-144a0218cb19}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1e635be4-8e33-4a16-b606-3ea1a75d434e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Header Files">
|
||||
<UniqueIdentifier>{1703d0d0-175f-4d58-baaa-99f65a3af923}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{df13f6bc-d5ae-4132-9445-3f2fd5dd1e35}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Source Files">
|
||||
<UniqueIdentifier>{b5d385a6-ce1f-4df7-a6cd-b1fa04ffee17}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a22925d7-6207-489b-a3c8-65b60201f80e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets">
|
||||
<UniqueIdentifier>{b58a8dac-5779-4cfd-97bc-5af7fe992e19}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{75289941-49ff-405d-90ac-c3fcca4c1381}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Header Files">
|
||||
<UniqueIdentifier>{cb7d5c4d-0215-40bf-91f4-46a66c05b188}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{6ef2a968-144c-488a-9809-6a771e885957}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Source Files">
|
||||
<UniqueIdentifier>{d9d03e38-3c63-4ac8-8fda-c3171f37d42d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3c89546d-0118-4150-9119-2a6ddb31694a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages">
|
||||
<UniqueIdentifier>{6359fb30-e221-46d6-8443-44460ced6587}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2a707bf2-6006-4ea0-9021-460b12eb03b1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Header Files">
|
||||
<UniqueIdentifier>{d4737308-5553-4fcb-aa86-dcb4d3f36040}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8e293f27-98b5-4770-b989-39b434be7017}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Source Files">
|
||||
<UniqueIdentifier>{9b071981-e03a-47b4-8312-00c5173d3727}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f830ea6c-9b77-495a-91a5-8c1911868ef8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP">
|
||||
<UniqueIdentifier>{7e10bcc4-7c53-4bc8-9e3f-04b836f85018}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{59e6a108-b670-4131-96c5-a90a386d9dde}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Header Files">
|
||||
<UniqueIdentifier>{85fabad7-d369-44f5-9482-1a695fb1539f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{eaab392f-0958-468c-b0f3-52096f1fca6d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Source Files">
|
||||
<UniqueIdentifier>{1ac5679c-62fd-4848-b107-5462202ca8b0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{6e6fbf4c-debc-464e-bcf0-4f060d6a6569}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer">
|
||||
<UniqueIdentifier>{bdcf3128-a006-4094-ba7d-71c6278dd8b6}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ad760145-9d66-4885-b9c7-1fe4fa8fbc0e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Header Files">
|
||||
<UniqueIdentifier>{8bf0b4aa-4870-4a0f-a6a9-f5c49d0a6782}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{91688cbc-6ffe-4874-9925-09d27913adf7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Source Files">
|
||||
<UniqueIdentifier>{8463192c-0d0e-4191-bfaa-3deb60d28c06}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7f30e5b0-1a36-466f-9e8a-3748752154b9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer">
|
||||
<UniqueIdentifier>{f4712061-e388-4ecb-ac37-cf5312dad8c0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7e34bdc1-5dd7-4a3c-ba64-27c43158ea6a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Header Files">
|
||||
<UniqueIdentifier>{f1b41f8c-1fdd-4b88-bacc-e0bc259a2b7d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{514e46a9-1236-4f51-9892-202a1bbac256}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Source Files">
|
||||
<UniqueIdentifier>{5f8b0cee-b10e-4a67-b55d-740274c7a046}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{86af4f6c-61e2-49e6-87ae-4350ce816d76}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient">
|
||||
<UniqueIdentifier>{30f104e9-8a1c-4087-97a6-bd29e641b4aa}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1e1c8ada-a8c0-400f-995c-a853b4dbc422}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Header Files">
|
||||
<UniqueIdentifier>{0a1a977e-fc0f-47e0-8fea-4670b6335c69}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e4d581c2-7277-4074-86a3-9d70ec3bf228}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Source Files">
|
||||
<UniqueIdentifier>{bc7f0f70-f1d3-4dba-880e-c0baf5699009}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{dcbc57f5-16d1-40ff-8519-52d834ee4f89}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML">
|
||||
<UniqueIdentifier>{6d8730b4-7cb9-4f0f-91ae-05174e9655fb}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7d34cd9c-9073-4b47-bf0f-86fe0f22ef7d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Header Files">
|
||||
<UniqueIdentifier>{73324e17-bc8b-4de4-8cca-59a2d83b4026}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a5dc23af-0f1b-41b4-af3a-7ef9f370a331}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Source Files">
|
||||
<UniqueIdentifier>{69ada496-68b6-4ebb-889f-cabb6b292171}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{88eb3d27-a806-47e4-b127-8d6e88152820}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient">
|
||||
<UniqueIdentifier>{03ad864b-eab3-4f4d-b105-01dc563a74a6}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{4272fbee-b793-4822-af52-f62de2d5ffdd}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Header Files">
|
||||
<UniqueIdentifier>{cf5f7379-cc50-49e6-8cd4-f44e8de9f614}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7a704b64-1076-467f-9785-646354e5f3dc}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Source Files">
|
||||
<UniqueIdentifier>{703a7979-6dc0-4122-8fc9-94561327ea54}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e1dca0be-b536-419b-96bb-02d6b944e301}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor">
|
||||
<UniqueIdentifier>{a0e1b89f-e2a7-4262-9a91-fd56d32829fd}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f13a8274-133f-4858-a9a4-8f824459f5e9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Header Files">
|
||||
<UniqueIdentifier>{9790b4e3-af6a-4053-8953-d53d77b879c8}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{128adf4b-8c53-4afd-b3a0-4f4f9a9c0273}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Source Files">
|
||||
<UniqueIdentifier>{a260000f-c5d5-44d8-9b95-1b91bf8518ea}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{009ae12a-dde9-4144-a025-242d6af646b3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail">
|
||||
<UniqueIdentifier>{83b92f56-aa84-4b0e-bedc-a869544c3888}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{fbcc447f-ccd0-4181-90cf-c26b38d3fc9c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Header Files">
|
||||
<UniqueIdentifier>{8341a8b2-206f-4dbb-a128-49ec175bf20e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{75689e71-cd1d-43c3-b00f-fc0878486b46}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Source Files">
|
||||
<UniqueIdentifier>{d4a5737c-4387-4b67-a820-94fc1bbd080c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{61520212-54c7-4156-9480-dd92c1476bf1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP">
|
||||
<UniqueIdentifier>{419dc8dd-e311-4a88-8fc0-17c8539b3792}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a63e3401-23cf-4cba-a939-a6b133e3dff7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Header Files">
|
||||
<UniqueIdentifier>{ec64f888-d7c0-4fb8-b21e-75c8ba04012e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3148caaa-ab31-4d6d-a7ca-8bf37d60322c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Source Files">
|
||||
<UniqueIdentifier>{eb6338c2-c2da-40b9-b24f-034911a08d79}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9593943a-600f-482a-9d3d-ed4059cdee6d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP">
|
||||
<UniqueIdentifier>{d0c6edbd-5975-44c3-83df-89cec36b6ac2}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a8597d1b-52fa-401d-ba47-a16069a46115}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Header Files">
|
||||
<UniqueIdentifier>{bdef969f-32af-4619-a926-e7622b51d022}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d292a2fa-688c-46d8-84d4-db85e3e4a49a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Source Files">
|
||||
<UniqueIdentifier>{981f30e6-c271-4104-9691-9181f8b2c845}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0d9e7ada-02e1-4ad7-bbbc-63e38d3a87e7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging">
|
||||
<UniqueIdentifier>{2393fa9e-ba92-48ac-a795-9c7458be4da7}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{940a00b6-f2f9-47a0-86dc-af37329b3061}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Header Files">
|
||||
<UniqueIdentifier>{d0d96c02-5e90-4177-a5f7-e2f5c2b3ef9c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{84552020-14d3-496c-83dd-6687aab93f5a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Source Files">
|
||||
<UniqueIdentifier>{a050edac-6b70-4c9e-ae3a-33b0230aa68b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d7d0d2ce-4b0b-44e6-9873-b13e07c763c3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket">
|
||||
<UniqueIdentifier>{0353e56f-22e4-4753-92b8-35fb37fc80e7}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9cf79b10-a544-4dd4-86a7-242c2533e511}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Header Files">
|
||||
<UniqueIdentifier>{b7d47213-72f7-4087-a364-875182d9016f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e0f6bb8d-a9ee-4861-abd8-7a7b98240fda}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Source Files">
|
||||
<UniqueIdentifier>{621bf892-12f8-4874-a481-91ad9dfc6dde}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3293491b-5e47-459f-ae4f-0f9a543566d8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth">
|
||||
<UniqueIdentifier>{256af55e-8b77-4943-84d7-6036c48c5482}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d47e578f-d697-4255-8476-86d67c4f5587}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Header Files">
|
||||
<UniqueIdentifier>{5a19931f-a7b5-4768-a46b-956fd6eadfd5}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{6444989f-ffde-4317-a5e0-d34a45c7a339}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Source Files">
|
||||
<UniqueIdentifier>{64c76152-dd3d-40f9-9ca7-94b5c768fb08}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b828f53a-e2fb-4d26-99ad-195145130238}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@ -189,6 +189,9 @@
|
||||
<ClInclude Include="include\Poco\Net\MulticastSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\PollSet.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\RawSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
@ -503,6 +506,9 @@
|
||||
<ClCompile Include="src\MulticastSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PollSet.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
@ -85,7 +85,7 @@
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros"/>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.23107.0</_ProjectFileVersion>
|
||||
<_ProjectFileVersion>14.0.25420.1</_ProjectFileVersion>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">PocoNetd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">PocoNetmdd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">PocoNetmtd</TargetName>
|
||||
@ -352,6 +352,7 @@
|
||||
<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"/>
|
||||
@ -456,6 +457,7 @@
|
||||
<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"/>
|
||||
|
@ -2,148 +2,148 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="NetCore">
|
||||
<UniqueIdentifier>{3b7760c6-1988-4069-8087-de63261d9cd2}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e13faa94-c376-421f-b867-4c5535275306}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Header Files">
|
||||
<UniqueIdentifier>{55111580-3053-42d5-80a3-2e54b00eb892}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{014a2ad0-aade-45c8-a94a-348549ffc89b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Source Files">
|
||||
<UniqueIdentifier>{296e00f2-1b4d-4552-804a-6b6c9e3acfe5}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{84789459-38f3-43fb-b817-073ddebc42e1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets">
|
||||
<UniqueIdentifier>{4d6352a8-9438-4f89-ad86-c95302ac07e0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b7976ba0-3922-49bb-a57e-c544bfb3ee08}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Header Files">
|
||||
<UniqueIdentifier>{302f2990-4958-4498-96b5-f9ade6e42f17}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{6686e891-8fa7-44a7-9ff9-0a32f55980b9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Source Files">
|
||||
<UniqueIdentifier>{74bb85fd-4296-4af8-af9c-45d29c89fa17}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2e4075ee-ed3b-435f-85cc-f3c5129068a4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages">
|
||||
<UniqueIdentifier>{eb7ada70-ce55-4fcc-b546-039a9616e95b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d6c148a8-0670-4626-9e30-dc5e6fb8a286}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Header Files">
|
||||
<UniqueIdentifier>{4e10e1b2-fc2a-43b3-b721-c9614e0468e5}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{12081d7a-41fc-4ab8-a178-d09b6e0444e3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Source Files">
|
||||
<UniqueIdentifier>{5e0a931c-aa10-4499-a82a-8f59523e386a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{6dabfc40-72f7-478b-b9ea-c442b231f080}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP">
|
||||
<UniqueIdentifier>{0856c3bc-1e2d-493d-8969-3b513bfbcc47}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{06a9859e-3c1f-4202-a2e7-bf71adeb1ac8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Header Files">
|
||||
<UniqueIdentifier>{f8c3f258-7503-4e83-8579-f6faa77790fd}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{4843c85a-dbe3-423a-9b2b-9fd76c8c33fa}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Source Files">
|
||||
<UniqueIdentifier>{6de8f1d5-e712-4d19-9df4-608d1b7cd642}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{67208e25-3e42-4c55-9402-b717d6475c1b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer">
|
||||
<UniqueIdentifier>{4c205006-f9f7-42ca-b0b8-c6c9d3c685f7}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f0b2df8c-bbda-48d9-8285-a1915fddfe41}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Header Files">
|
||||
<UniqueIdentifier>{e7677ffc-6cd9-45e1-9975-9d07ca70a7b1}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{98520baa-c1a3-4434-9a2c-8e6e25536f93}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Source Files">
|
||||
<UniqueIdentifier>{fbcf6976-5039-468a-9062-41376fe96cb9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{39071312-dda5-4790-ad5f-11d8e5555cde}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer">
|
||||
<UniqueIdentifier>{0bbbe261-0007-4529-9bcd-0b5f4c085990}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{899b7866-6959-4016-92e2-f636e78ed44b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Header Files">
|
||||
<UniqueIdentifier>{2f06aaae-04a9-4596-bbc8-95c31660a70b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0c658dfe-ee5b-4290-a5ab-f8c68d855c0e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Source Files">
|
||||
<UniqueIdentifier>{3fc33f75-32d7-41e4-9caf-87ade7a93566}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{80f3b0bb-ab22-42d3-a744-780824f89558}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient">
|
||||
<UniqueIdentifier>{4b156d1d-5835-484a-ae9c-a9c3828b8a51}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{452b370d-1920-495f-b358-1f2ef8eb3133}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Header Files">
|
||||
<UniqueIdentifier>{d00def2e-522d-4c5e-ac0b-2faac3fb0de4}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f8784f7b-f0a1-49ac-891c-122dd828b7c3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Source Files">
|
||||
<UniqueIdentifier>{a6e36f48-a7b0-4e67-9c37-de66c07a60fa}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{305a2698-16d5-437b-8d17-2bfc68f5670c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML">
|
||||
<UniqueIdentifier>{fe5430a7-854d-4881-a35d-72afa5d3ff11}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{805164a3-fda9-4523-b0d0-9a3634e079de}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Header Files">
|
||||
<UniqueIdentifier>{495fb434-3b21-4679-88fc-6ba248f0362f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{4029e229-c0ad-4661-b624-cb938273cf1e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Source Files">
|
||||
<UniqueIdentifier>{d1f3c477-f40e-42c4-8701-b33dce029279}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0d65aebd-95f5-4c1a-8238-d0d582379cdb}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient">
|
||||
<UniqueIdentifier>{5e18ca85-af3a-4d42-b3ba-a7eb458000f8}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5295034e-8fea-4065-9074-d85d1e2a85c2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Header Files">
|
||||
<UniqueIdentifier>{470d4ac0-3be0-4ac7-9a9a-b19eaa776eac}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b42bedb0-5e65-454e-9986-10c690e2e393}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Source Files">
|
||||
<UniqueIdentifier>{57ab5a63-ecfc-4b96-bea5-026ed4798512}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{988ad0f5-aac2-409f-98bb-56524ce7ae3c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor">
|
||||
<UniqueIdentifier>{0d3cd613-a5a0-430a-8ce3-da9d32e976b6}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{fded5aad-b84e-4747-b950-64a416018826}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Header Files">
|
||||
<UniqueIdentifier>{74bc89f7-6026-462b-8ce6-1ed7a7f1989e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{6aa30fba-2a41-435f-aac4-429e121f66bc}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Source Files">
|
||||
<UniqueIdentifier>{3dd010a1-99f6-4458-b8ab-a61c8e673e59}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{165a913c-5c2a-4e41-9eab-1b993329f8b0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail">
|
||||
<UniqueIdentifier>{9a85985b-d8e3-4c69-8b8f-1661a3fa2868}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8cbbf831-0b36-41dc-a778-544cd564bc23}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Header Files">
|
||||
<UniqueIdentifier>{7d4a775a-b66f-4f33-8983-0c5a4d017e29}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9e26c752-c056-4441-8048-e87ea2d5f01b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Source Files">
|
||||
<UniqueIdentifier>{722d0ee9-eed9-4178-a849-384d72623972}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{adbf62d8-e005-4ba4-a42b-5b209ceb409d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP">
|
||||
<UniqueIdentifier>{558dc2ee-168a-430f-a0e3-53f9035d1309}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{cb56d3a9-3e95-492d-bbea-76d337504eb3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Header Files">
|
||||
<UniqueIdentifier>{7f6fa0c9-3ebb-4b88-ab90-eaf9a02f4599}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{530bdd12-0e44-4581-8280-e781b1386685}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Source Files">
|
||||
<UniqueIdentifier>{55357b4a-9c28-4f4f-857d-1a7861417f13}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{41bd4080-3b50-4efc-bb2d-393cf8196d4d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP">
|
||||
<UniqueIdentifier>{27396459-6041-4522-8d71-67928a309124}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b1530c78-b818-4305-aa81-7ce8bbaa971d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Header Files">
|
||||
<UniqueIdentifier>{5e642551-fab1-43a4-8afd-5779ae64aab0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{fb5d6634-ac71-48d7-9274-fd12348f2f04}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Source Files">
|
||||
<UniqueIdentifier>{9c68ff1a-29ed-46b2-af5c-b2d3a9c0e48f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7ebc262e-b275-4947-90ad-12609179bf76}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging">
|
||||
<UniqueIdentifier>{f11dfbb8-a925-434e-a17b-41bba2c83c45}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5a880ee9-edfe-4db9-8268-0c78afbd4709}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Header Files">
|
||||
<UniqueIdentifier>{6e012bfd-6c84-4ce9-bab6-efdd5a7d1200}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{253769a3-0511-439c-b90f-41ff291ab983}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Source Files">
|
||||
<UniqueIdentifier>{b0c8c645-aecb-4428-849f-ab70ebd77b0f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3d057e1e-ac64-4757-91c5-e0d50fef4e89}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket">
|
||||
<UniqueIdentifier>{51808074-ee1c-41c1-a601-160dc8083a3a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8bce73c2-faf0-4c48-9fd1-0ec39371eaad}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Header Files">
|
||||
<UniqueIdentifier>{dc8cf48e-1010-4467-8830-d913b989a5a2}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ce839f95-b667-462e-9866-52413285fea9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Source Files">
|
||||
<UniqueIdentifier>{8b1009fe-5ab1-49ba-a8ec-64366d2e824a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{324d6c1d-06a3-464f-a8b6-5fd016cdc7d5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth">
|
||||
<UniqueIdentifier>{597bf320-cbc6-48a8-921c-712ae14cfbd8}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{6e678ce3-5f43-4ce8-82cd-be1b92a04557}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Header Files">
|
||||
<UniqueIdentifier>{6ae0ff5d-2857-4e59-a4fd-1e14691ebfb5}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{03208067-3290-4b25-bde3-21eed0a3fbe4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Source Files">
|
||||
<UniqueIdentifier>{ecab1fad-e3b6-4d52-8bad-46b052bcdebd}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{14a81c8b-a940-4569-8daa-e8d8d218dd5c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@ -189,6 +189,9 @@
|
||||
<ClInclude Include="include\Poco\Net\MulticastSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\PollSet.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\RawSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
@ -503,6 +506,9 @@
|
||||
<ClCompile Include="src\MulticastSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PollSet.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
@ -85,7 +85,7 @@
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros"/>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.23107.0</_ProjectFileVersion>
|
||||
<_ProjectFileVersion>15.0.26228.4</_ProjectFileVersion>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">PocoNetd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">PocoNetmdd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">PocoNetmtd</TargetName>
|
||||
@ -352,6 +352,7 @@
|
||||
<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"/>
|
||||
@ -456,6 +457,7 @@
|
||||
<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"/>
|
||||
|
@ -2,148 +2,148 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="NetCore">
|
||||
<UniqueIdentifier>{3b7760c6-1988-4069-8087-de63261d9cd2}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{aac20767-0655-447b-a1e7-ad68af5e70c4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Header Files">
|
||||
<UniqueIdentifier>{55111580-3053-42d5-80a3-2e54b00eb892}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{635ff895-975e-436d-b52a-f5f2e08402b1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Source Files">
|
||||
<UniqueIdentifier>{296e00f2-1b4d-4552-804a-6b6c9e3acfe5}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{32f72e89-e863-4b4d-92a4-370cb580e81a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets">
|
||||
<UniqueIdentifier>{4d6352a8-9438-4f89-ad86-c95302ac07e0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{633a0ab0-5ee9-4341-acf2-b2f0afded777}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Header Files">
|
||||
<UniqueIdentifier>{302f2990-4958-4498-96b5-f9ade6e42f17}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{88fc10fc-1bc7-4d27-b020-4b717e9ac766}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Source Files">
|
||||
<UniqueIdentifier>{74bb85fd-4296-4af8-af9c-45d29c89fa17}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c13288b9-e65d-4c77-b155-c0d4cf46c86d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages">
|
||||
<UniqueIdentifier>{eb7ada70-ce55-4fcc-b546-039a9616e95b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{992fc706-756a-4f56-8f27-6525d94f54ef}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Header Files">
|
||||
<UniqueIdentifier>{4e10e1b2-fc2a-43b3-b721-c9614e0468e5}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{21f7c525-0d0a-4633-9d9b-0880a1d69788}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Source Files">
|
||||
<UniqueIdentifier>{5e0a931c-aa10-4499-a82a-8f59523e386a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{db8bde52-f0ed-4558-a9a9-ca2c78226b20}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP">
|
||||
<UniqueIdentifier>{0856c3bc-1e2d-493d-8969-3b513bfbcc47}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{56e739a8-94d0-464c-854a-34c10a37185c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Header Files">
|
||||
<UniqueIdentifier>{f8c3f258-7503-4e83-8579-f6faa77790fd}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f877b7f1-7f00-48f7-8e33-7bcde4cfbc37}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Source Files">
|
||||
<UniqueIdentifier>{6de8f1d5-e712-4d19-9df4-608d1b7cd642}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f8b0fa0d-685a-4a59-aff5-07099b95b0e0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer">
|
||||
<UniqueIdentifier>{4c205006-f9f7-42ca-b0b8-c6c9d3c685f7}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{958a5a06-6dad-4539-ac8b-c67517dae842}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Header Files">
|
||||
<UniqueIdentifier>{e7677ffc-6cd9-45e1-9975-9d07ca70a7b1}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e0135028-5d2a-4307-b708-73783391d365}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Source Files">
|
||||
<UniqueIdentifier>{fbcf6976-5039-468a-9062-41376fe96cb9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a48db34d-b95b-4f2b-9090-dd8028975efe}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer">
|
||||
<UniqueIdentifier>{0bbbe261-0007-4529-9bcd-0b5f4c085990}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d9ae00da-0e0d-4373-8682-7c4fbce11802}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Header Files">
|
||||
<UniqueIdentifier>{2f06aaae-04a9-4596-bbc8-95c31660a70b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c6844c29-f217-467f-932b-ee30eb57bbb4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Source Files">
|
||||
<UniqueIdentifier>{3fc33f75-32d7-41e4-9caf-87ade7a93566}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a8a368f0-b065-47de-a382-39c24e7fdf73}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient">
|
||||
<UniqueIdentifier>{4b156d1d-5835-484a-ae9c-a9c3828b8a51}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{fa57e930-8036-4ce0-8062-7896e1455605}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Header Files">
|
||||
<UniqueIdentifier>{d00def2e-522d-4c5e-ac0b-2faac3fb0de4}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ec664dc4-b696-4c04-846f-7922f589fecf}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Source Files">
|
||||
<UniqueIdentifier>{a6e36f48-a7b0-4e67-9c37-de66c07a60fa}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{fde4d486-ad10-471f-9a20-64ae85819cf6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML">
|
||||
<UniqueIdentifier>{fe5430a7-854d-4881-a35d-72afa5d3ff11}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{36839617-9c2b-45ca-99ee-26b2eb99553e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Header Files">
|
||||
<UniqueIdentifier>{495fb434-3b21-4679-88fc-6ba248f0362f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1a950b4d-a441-43b7-97c1-a24415eef8fb}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Source Files">
|
||||
<UniqueIdentifier>{d1f3c477-f40e-42c4-8701-b33dce029279}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{68736ac4-5f3c-420a-a048-784917418118}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient">
|
||||
<UniqueIdentifier>{5e18ca85-af3a-4d42-b3ba-a7eb458000f8}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{31e5f98c-29a5-40a9-bcfc-01c1dda2dd3b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Header Files">
|
||||
<UniqueIdentifier>{470d4ac0-3be0-4ac7-9a9a-b19eaa776eac}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{565b7ecb-8974-405f-9649-4c862411d275}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Source Files">
|
||||
<UniqueIdentifier>{57ab5a63-ecfc-4b96-bea5-026ed4798512}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{65ee0d87-9e1f-488a-b401-7555cfa50eb6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor">
|
||||
<UniqueIdentifier>{0d3cd613-a5a0-430a-8ce3-da9d32e976b6}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{23e2c192-45a5-4e1a-a101-e2bbb8495478}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Header Files">
|
||||
<UniqueIdentifier>{74bc89f7-6026-462b-8ce6-1ed7a7f1989e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{90ccb97c-9172-4b62-83b9-84e20871640f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Source Files">
|
||||
<UniqueIdentifier>{3dd010a1-99f6-4458-b8ab-a61c8e673e59}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{43e68ee1-5d22-4000-bb52-bd015448ce3e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail">
|
||||
<UniqueIdentifier>{9a85985b-d8e3-4c69-8b8f-1661a3fa2868}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{51f6959d-75ba-4c41-8d62-5880fd04ff8d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Header Files">
|
||||
<UniqueIdentifier>{7d4a775a-b66f-4f33-8983-0c5a4d017e29}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{21510b32-9ed3-40bf-9c51-febe9aff37bd}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Source Files">
|
||||
<UniqueIdentifier>{722d0ee9-eed9-4178-a849-384d72623972}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0a56f698-6901-4547-ba11-99aa677f9fe5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP">
|
||||
<UniqueIdentifier>{558dc2ee-168a-430f-a0e3-53f9035d1309}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a4dad996-529f-412f-8349-ea9289dde45a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Header Files">
|
||||
<UniqueIdentifier>{7f6fa0c9-3ebb-4b88-ab90-eaf9a02f4599}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d69b2ba0-7d11-44c3-bf9e-a62298d9b3dc}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Source Files">
|
||||
<UniqueIdentifier>{55357b4a-9c28-4f4f-857d-1a7861417f13}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{66b37fb3-3828-4183-ae08-a3b37ff79664}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP">
|
||||
<UniqueIdentifier>{27396459-6041-4522-8d71-67928a309124}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b8819de8-ea10-4c9b-88b5-edf315b63858}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Header Files">
|
||||
<UniqueIdentifier>{5e642551-fab1-43a4-8afd-5779ae64aab0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{83bedcc4-67d4-4da9-9b07-5b23af8e1083}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Source Files">
|
||||
<UniqueIdentifier>{9c68ff1a-29ed-46b2-af5c-b2d3a9c0e48f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{fa4f6c29-fde7-456b-9a52-1a83c5c6c4bb}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging">
|
||||
<UniqueIdentifier>{f11dfbb8-a925-434e-a17b-41bba2c83c45}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a9a7f484-63b1-408f-8d39-c2c6d825c49e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Header Files">
|
||||
<UniqueIdentifier>{6e012bfd-6c84-4ce9-bab6-efdd5a7d1200}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5cda3e90-26ba-4bc6-b0f8-c1fa56255b10}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Source Files">
|
||||
<UniqueIdentifier>{b0c8c645-aecb-4428-849f-ab70ebd77b0f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{79241a49-6578-4078-a2c8-263c2b81b82f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket">
|
||||
<UniqueIdentifier>{51808074-ee1c-41c1-a601-160dc8083a3a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3fb5a0a8-6466-47a2-a4c1-56ae6e923f87}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Header Files">
|
||||
<UniqueIdentifier>{dc8cf48e-1010-4467-8830-d913b989a5a2}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{de998a84-7e6e-44aa-871d-6b936ed742c2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Source Files">
|
||||
<UniqueIdentifier>{8b1009fe-5ab1-49ba-a8ec-64366d2e824a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a1a1f1bb-93ea-4031-9349-8b406ed23c2c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth">
|
||||
<UniqueIdentifier>{597bf320-cbc6-48a8-921c-712ae14cfbd8}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3392428b-27ad-4a57-b37c-4c56ddc44805}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Header Files">
|
||||
<UniqueIdentifier>{6ae0ff5d-2857-4e59-a4fd-1e14691ebfb5}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8d3c098e-32bb-4449-bf92-3193a12d98de}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Source Files">
|
||||
<UniqueIdentifier>{ecab1fad-e3b6-4d52-8bad-46b052bcdebd}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1275f026-6896-450e-9f17-30c160bac0ce}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@ -189,6 +189,9 @@
|
||||
<ClInclude Include="include\Poco\Net\MulticastSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\PollSet.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\RawSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
@ -503,6 +506,9 @@
|
||||
<ClCompile Include="src\MulticastSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PollSet.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
@ -447,6 +447,8 @@
|
||||
RelativePath=".\include\Poco\Net\DialogSocket.h"/>
|
||||
<File
|
||||
RelativePath=".\include\Poco\Net\MulticastSocket.h"/>
|
||||
<File
|
||||
RelativePath=".\include\Poco\Net\PollSet.h"/>
|
||||
<File
|
||||
RelativePath=".\include\Poco\Net\RawSocket.h"/>
|
||||
<File
|
||||
@ -476,6 +478,8 @@
|
||||
RelativePath=".\src\DialogSocket.cpp"/>
|
||||
<File
|
||||
RelativePath=".\src\MulticastSocket.cpp"/>
|
||||
<File
|
||||
RelativePath=".\src\PollSet.cpp"/>
|
||||
<File
|
||||
RelativePath=".\src\RawSocket.cpp"/>
|
||||
<File
|
||||
|
@ -287,6 +287,7 @@
|
||||
<ClInclude Include="include\Poco\Net\DatagramSocketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\DialogSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\MulticastSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\PollSet.h"/>
|
||||
<ClInclude Include="include\Poco\Net\RawSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\RawSocketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ServerSocket.h"/>
|
||||
@ -393,6 +394,7 @@
|
||||
<ClCompile Include="src\DatagramSocketImpl.cpp"/>
|
||||
<ClCompile Include="src\DialogSocket.cpp"/>
|
||||
<ClCompile Include="src\MulticastSocket.cpp"/>
|
||||
<ClCompile Include="src\PollSet.cpp"/>
|
||||
<ClCompile Include="src\RawSocket.cpp"/>
|
||||
<ClCompile Include="src\RawSocketImpl.cpp"/>
|
||||
<ClCompile Include="src\ServerSocket.cpp"/>
|
||||
|
@ -2,148 +2,148 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="NetCore">
|
||||
<UniqueIdentifier>{40783aba-8892-43c1-ab6d-9b64f6c5a857}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{634d2074-0eb4-4c20-ad66-d944e51f6250}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Header Files">
|
||||
<UniqueIdentifier>{44aa3f72-854d-420f-9569-6dd639bfb683}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{463403a6-4b5e-4ffe-ba7a-06f8c05c2e65}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Source Files">
|
||||
<UniqueIdentifier>{d4f63bde-6663-4696-8d1e-be699f89262c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e25a2924-f25b-45a4-b94b-09119b73c19a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets">
|
||||
<UniqueIdentifier>{76b6a7c6-d5e3-4f0b-ae15-b6adc11fb29f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{53f52745-29c7-4b46-b210-33089b01d463}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Header Files">
|
||||
<UniqueIdentifier>{78c68d53-8d63-483e-bd06-aad36c7dad0b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{948101c7-4506-4537-91f6-b41562a18856}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Source Files">
|
||||
<UniqueIdentifier>{0e7731a9-8666-44c0-9dad-89e199d43ec8}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0d602551-dbd3-4ed5-95fb-4ee89522d53e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages">
|
||||
<UniqueIdentifier>{cdefbfe2-95da-43f3-9208-16c51b5e4782}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{58214e21-f187-45ed-ad2c-66a5eed2812e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Header Files">
|
||||
<UniqueIdentifier>{20f99be1-c82a-41ee-bedd-0b4f6f93d6d0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5a9da57a-cfb7-464f-97a1-9370bc8a3f6c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Source Files">
|
||||
<UniqueIdentifier>{703a729a-05cc-4586-8f38-97994cd19b5c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7d9860a5-dd12-4d45-90dc-d6c1af559e88}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP">
|
||||
<UniqueIdentifier>{763c4195-06f5-474d-8e5a-b369265509dc}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{956ee141-adae-4bd1-a2b1-18da077a53db}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Header Files">
|
||||
<UniqueIdentifier>{5eec35d7-bc3f-4ae7-b0c7-3f16d0412bcc}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{dda88a0d-ca13-4a56-9ace-a12a98e44193}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Source Files">
|
||||
<UniqueIdentifier>{ba08685e-8c7e-44af-813b-446a33ec5988}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c575b5f2-3880-4fe1-adbe-4398b1c62a1f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer">
|
||||
<UniqueIdentifier>{e0fb5c79-7a86-40a8-8679-d39de0d7f379}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{549d260c-a2be-44ab-8b49-15dc58401d2f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Header Files">
|
||||
<UniqueIdentifier>{e49d0959-6dc8-456c-bd5c-df9a242a057c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{802b47c1-e483-45f7-aefd-bac072569982}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Source Files">
|
||||
<UniqueIdentifier>{696cec55-bfa4-495d-8e62-b534ece6068f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{22ca7373-40f8-4add-ba86-f4cc21078765}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer">
|
||||
<UniqueIdentifier>{3ff614ba-dd54-4b4c-8a41-8b697eebb1a0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c1f77065-ba58-4022-a718-5a6369a7dad9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Header Files">
|
||||
<UniqueIdentifier>{82d32e71-bfb3-483d-bc67-fb9bd797b8cd}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{69eec26f-d2df-4a5d-92ec-63f2f869f141}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Source Files">
|
||||
<UniqueIdentifier>{50e73bb9-759c-41a4-bf1d-9ec032087768}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a63f1541-ebc1-4daa-8321-5edf7224322a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient">
|
||||
<UniqueIdentifier>{6393d81f-eba9-49ea-8704-e25450c7d16d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{dbb43662-c2c0-43b4-bca6-b5f49533654a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Header Files">
|
||||
<UniqueIdentifier>{2e817a28-a73a-46c5-a1fd-ca7f12df562b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{638dd285-6627-4134-a42f-c425421f0254}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Source Files">
|
||||
<UniqueIdentifier>{ee46a664-f5d8-4184-a4a1-313c58757b2a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f662fbb3-32b8-498a-b862-93f3d8283017}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML">
|
||||
<UniqueIdentifier>{03d1a991-a4d3-49d4-8a29-0d13f4da5dc7}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d252397f-4c59-4597-ad3e-4bbdb9c7caf5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Header Files">
|
||||
<UniqueIdentifier>{6bb207ec-c209-4f66-bede-4d859aa094e9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{28b839b4-cc8e-489a-8f5a-7dd7539f3991}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Source Files">
|
||||
<UniqueIdentifier>{e533b506-9e8d-49c3-865a-3027f7da9894}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c1ee1d25-4a7b-436b-9653-34da9ac2be95}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient">
|
||||
<UniqueIdentifier>{2331517d-b398-4c6a-b8f4-7552097e459d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{41766319-105f-4ef5-b34c-16ab0ddf5dc5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Header Files">
|
||||
<UniqueIdentifier>{bc4d77a4-58dd-4b6b-9642-28570f70f88a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{32dbff4d-7640-4876-b6ac-43ecf710e565}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Source Files">
|
||||
<UniqueIdentifier>{1b0a0141-4c90-4aa6-a1ec-17c6ce09462b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{521ecaa9-b59d-4997-8300-a1654360d697}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor">
|
||||
<UniqueIdentifier>{4039b073-c0d4-432f-80db-fffb2d5c8141}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{aa07204e-73f5-4f6c-b2e0-9e8a4bc3ed4a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Header Files">
|
||||
<UniqueIdentifier>{2550462d-2444-4300-bb21-7fe60a91f11c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{40b37528-b6f8-430a-ba64-ed5cd19d4ecb}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Source Files">
|
||||
<UniqueIdentifier>{ee5e3bad-245f-4a85-8235-7e1ade673f86}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{69825d1b-553a-40d3-97ed-41f735623d05}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail">
|
||||
<UniqueIdentifier>{264a4d69-6bb0-44fe-a783-1695a0ac738e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b337390b-dbea-40ba-bf6d-31ab102d002d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Header Files">
|
||||
<UniqueIdentifier>{2d16c74a-be21-4c90-85bb-fcb1cbc341e3}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{81dadd50-de3d-45e8-80f2-262b3a81fc87}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Source Files">
|
||||
<UniqueIdentifier>{5261ebe7-5cc1-44fe-9570-52527245bcf9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9c81f5da-db8f-48e7-9120-72d9728f08b0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP">
|
||||
<UniqueIdentifier>{dc1236f3-3f33-4312-99a4-16d2cd81d506}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1960a8de-41d3-4e04-aa98-e9ad17dbe6c2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Header Files">
|
||||
<UniqueIdentifier>{43c4d194-7f0d-48b7-83f9-c62ee49e33f9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f47d2889-4745-4694-9c9c-76ea35156486}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Source Files">
|
||||
<UniqueIdentifier>{e24ddc1c-8fa1-4172-9d1a-4af98389720f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{231ea9d4-7d83-42f5-8d49-67ec3036f4b7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP">
|
||||
<UniqueIdentifier>{59792184-6870-4d3c-9b88-e8c47addb468}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c34fd142-fa23-4fa6-9fd4-ad095438fdae}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Header Files">
|
||||
<UniqueIdentifier>{31d9dae9-4912-416c-9900-54c18a4fe871}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{632d45cf-0d31-44b8-9705-b3299c724d8a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Source Files">
|
||||
<UniqueIdentifier>{2390e460-8b5f-492a-9d81-b0451082ac9f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{953b5941-d6a5-475a-be82-98a01c5b2a97}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging">
|
||||
<UniqueIdentifier>{c9dafeee-6a1d-4d59-883e-dbf8ad86041d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{34b81470-af4d-4948-b35c-d208f494041f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Header Files">
|
||||
<UniqueIdentifier>{94b93565-6161-4d5c-b644-cbfa6ce16788}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b3e74cb3-2714-46c2-a6c5-d9d9f1ecdf35}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Source Files">
|
||||
<UniqueIdentifier>{f2455228-6a07-4b3b-8995-9ec4b367369b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3719e3e1-af83-4384-a84e-e438f0472b0d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket">
|
||||
<UniqueIdentifier>{eb0f6a5a-40a8-4303-a0ca-f09add05621e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{781c45f7-4ea7-4cef-9045-5bc1304af444}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Header Files">
|
||||
<UniqueIdentifier>{3479f265-4221-4c52-a8b4-79984edb09c3}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{38f908d7-8dac-46d8-aeb3-0d96c37858f1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Source Files">
|
||||
<UniqueIdentifier>{a8566011-1ebc-46e2-af83-b198d8147aa7}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{07e9de6b-6403-4c92-9e81-62cf3192f9da}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth">
|
||||
<UniqueIdentifier>{abafc3c3-4dd8-41a3-88f0-f42816b72cc8}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{59ec7036-a39a-48dd-807e-c0edaedeea3e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Header Files">
|
||||
<UniqueIdentifier>{e2d6150d-6551-4f60-a89b-ec48a367ce81}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{37a46160-fe0a-43d8-bed7-b0290f0c2028}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Source Files">
|
||||
<UniqueIdentifier>{34a45e87-a2ad-40fd-93d1-ebebcaf576cd}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{aff50375-d1a5-4a5a-9f65-66e2d6d89df0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@ -189,6 +189,9 @@
|
||||
<ClInclude Include="include\Poco\Net\MulticastSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\PollSet.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\RawSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
@ -503,6 +506,9 @@
|
||||
<ClCompile Include="src\MulticastSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PollSet.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
@ -291,6 +291,7 @@
|
||||
<ClInclude Include="include\Poco\Net\DatagramSocketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\DialogSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\MulticastSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\PollSet.h"/>
|
||||
<ClInclude Include="include\Poco\Net\RawSocket.h"/>
|
||||
<ClInclude Include="include\Poco\Net\RawSocketImpl.h"/>
|
||||
<ClInclude Include="include\Poco\Net\ServerSocket.h"/>
|
||||
@ -397,6 +398,7 @@
|
||||
<ClCompile Include="src\DatagramSocketImpl.cpp"/>
|
||||
<ClCompile Include="src\DialogSocket.cpp"/>
|
||||
<ClCompile Include="src\MulticastSocket.cpp"/>
|
||||
<ClCompile Include="src\PollSet.cpp"/>
|
||||
<ClCompile Include="src\RawSocket.cpp"/>
|
||||
<ClCompile Include="src\RawSocketImpl.cpp"/>
|
||||
<ClCompile Include="src\ServerSocket.cpp"/>
|
||||
|
@ -2,148 +2,148 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="NetCore">
|
||||
<UniqueIdentifier>{86ee487a-e832-4d37-89da-7dcf65085751}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5f56b373-556b-4e44-816f-6e44994ea10e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Header Files">
|
||||
<UniqueIdentifier>{559b8f8f-1345-472e-80c9-a81bceb76a39}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{96e67995-4da9-4409-9096-585a558d90a4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Source Files">
|
||||
<UniqueIdentifier>{1652c643-204d-406a-a389-d6b0ae04544f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{70e4f321-9ccf-4e0d-a2cc-0276bbd32593}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets">
|
||||
<UniqueIdentifier>{e5bcc9be-6584-4f2e-83c6-df09a7150cc2}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{232d4d47-2be9-48c0-b304-355c83a0b18d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Header Files">
|
||||
<UniqueIdentifier>{f12811f7-bdfe-4ada-bb50-5725d48f68a2}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2cd1e9fd-6892-41b9-b7e1-3a082cd7bbee}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Source Files">
|
||||
<UniqueIdentifier>{c4e46274-2a27-4adb-91e1-8b6bfb7f3598}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9440059b-2c4b-41ed-b428-e0b18f2f34ed}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages">
|
||||
<UniqueIdentifier>{0542f625-2906-4f47-bbb1-5336a42c0aac}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{6f17a25b-0f21-43eb-a303-b0f369e7fc2b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Header Files">
|
||||
<UniqueIdentifier>{83185356-41aa-4ad5-b20e-4550574f314f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{97afe09b-520e-441b-8559-79761f188c34}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Source Files">
|
||||
<UniqueIdentifier>{fa174179-6d47-4a08-8073-ee88281f6f96}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8a213149-c4b2-4422-8dc6-a65a8144924b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP">
|
||||
<UniqueIdentifier>{bb9cccae-2342-4714-9460-801fc45748eb}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{19589d84-90fa-48e2-a09d-b4aed1d17d41}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Header Files">
|
||||
<UniqueIdentifier>{465b6cf1-06dd-47bf-bcc5-9a53c110d2d4}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c5826a10-3f7f-4c85-9276-b29383eb1650}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Source Files">
|
||||
<UniqueIdentifier>{f0a46e71-ddd7-4cd7-b3ea-89b219df5625}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{846750f8-9c20-4cc1-a809-a9b0bb65c4de}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer">
|
||||
<UniqueIdentifier>{7e5c966a-a907-4642-998b-9693c7a5fc3b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7bf420f9-7523-4039-ac51-b21135c1de73}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Header Files">
|
||||
<UniqueIdentifier>{609ba20e-c8b8-46c8-a4ad-4b0b68c91508}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{21e655cc-6f88-46a8-b3e4-53c78c0ee3d8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Source Files">
|
||||
<UniqueIdentifier>{c7fcc9e5-4811-4b11-a98a-d3551a4456a3}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{20159af0-aa78-48f8-b7f8-0ea48d80fae2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer">
|
||||
<UniqueIdentifier>{53b847b2-7313-4e9c-b2ab-de008620bf5c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{285de856-b318-4ec3-9e55-b5755b9006d7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Header Files">
|
||||
<UniqueIdentifier>{42f3505b-6f0f-4af8-ba07-51e2ae6723a8}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{12a6a3ac-5465-431f-9d40-8b61bf73304f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Source Files">
|
||||
<UniqueIdentifier>{eb01cdb0-feb6-416a-94a3-eec4ef0996e5}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{55bb9474-8d81-4015-a695-3ce985c674f4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient">
|
||||
<UniqueIdentifier>{ec1d56e4-50ee-4cd5-acbf-2847c5723495}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a12e5c3c-cc09-4b8a-a778-e8b49c8a9d83}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Header Files">
|
||||
<UniqueIdentifier>{f97d9b40-82d1-4595-943d-3d72b6ad2b0f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f00796e8-365f-4194-93af-76c5cb82d1e4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Source Files">
|
||||
<UniqueIdentifier>{1a13b8a3-6cd3-45e2-829c-4dd03371b609}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a6471d8e-4bce-4584-b488-941fab3fcce6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML">
|
||||
<UniqueIdentifier>{0c564d46-4cc6-43bf-b520-369f9266ad98}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3e0384f8-79ae-411c-a5fe-83bdb0afe29f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Header Files">
|
||||
<UniqueIdentifier>{bca43e87-4687-4ee6-b5ae-a7bdb26b2bab}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5f217b69-7bae-4f51-9a84-9baed9b331e7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Source Files">
|
||||
<UniqueIdentifier>{6fac568e-9d3a-4e71-a943-2c23cdc6c656}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{05e53265-812e-401f-96b8-425623e6ca98}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient">
|
||||
<UniqueIdentifier>{47fe98b6-5da0-4349-ae21-00b7035aef8f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e5e165c4-0bac-4069-81dd-48e738ca0e90}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Header Files">
|
||||
<UniqueIdentifier>{63c4a7f6-3dc5-4db8-89f3-16e6a6bfed73}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a36882b1-5136-407f-9eea-c5280e641f13}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Source Files">
|
||||
<UniqueIdentifier>{c73e9563-bbbc-4149-a05c-1aec1de5063a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7affb99f-e294-4822-a712-79b7f6414bbd}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor">
|
||||
<UniqueIdentifier>{57cf3b16-40ea-47f9-8292-b41f84e81fb8}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c066dbd7-a314-4592-b2ed-40395bf86e91}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Header Files">
|
||||
<UniqueIdentifier>{1f3ded9b-1755-4b65-a285-18fc87929ccb}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b12a014a-4781-4226-a1c2-457a1f8a25f6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Source Files">
|
||||
<UniqueIdentifier>{86b7e44e-8a6c-4966-8c47-57e8e80a98d0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{244c4495-dce6-4e93-9d72-ffcdf801fd63}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail">
|
||||
<UniqueIdentifier>{267d72dc-f7a3-420d-82f9-3149ef26d1e6}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{71ff70d3-4151-493e-805b-31eccc6d36d2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Header Files">
|
||||
<UniqueIdentifier>{bc41ffbd-aedc-46ec-93af-ca1c7b05fc98}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{54a8df04-7019-4148-9682-b828916e43cf}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Source Files">
|
||||
<UniqueIdentifier>{76b1ca83-9158-4296-b2e9-6c4cff0f9cc7}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a875c072-f744-438d-a9c3-8a011c267fe6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP">
|
||||
<UniqueIdentifier>{0c568ce8-729b-44b6-bb04-d3746d16fbc3}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{6a04a24a-dc6c-435b-975b-03d6f78582ed}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Header Files">
|
||||
<UniqueIdentifier>{b04ba018-b27e-4081-a243-5bc57318d319}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{318b905b-85b7-41e2-b458-98d1f1a54eee}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Source Files">
|
||||
<UniqueIdentifier>{d7a9b19b-6295-42ed-a84c-f7d0b3e2f124}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7646cb78-6248-4d3d-a748-cd13766f4303}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP">
|
||||
<UniqueIdentifier>{60ebadf7-151c-44e2-a498-5956497d84af}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f64537da-0179-4468-9ecb-b7b0173ce74e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Header Files">
|
||||
<UniqueIdentifier>{fa521d3e-0db8-4feb-a735-5df5a56db5bd}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1d94b7ba-2376-4fce-a32c-785440767c91}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Source Files">
|
||||
<UniqueIdentifier>{a02f0f91-312b-42df-b914-ed370bc6e529}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{63089154-1dce-4366-83e4-50215918b4a8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging">
|
||||
<UniqueIdentifier>{3d25256b-c80c-4023-83ec-3d1c385db4b0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3ae6ad3a-4437-4275-95e4-6e8368b40d45}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Header Files">
|
||||
<UniqueIdentifier>{17962125-b268-4d82-a100-c0b1daf8d473}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9ba4405d-3474-40e2-a47b-b305dab9d88c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Source Files">
|
||||
<UniqueIdentifier>{2fabbc91-804c-4e60-82b3-c02f4c3135d8}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1b3bd47c-0202-4a1e-8507-9557ab695760}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket">
|
||||
<UniqueIdentifier>{54a109fe-de1b-4368-8751-859bd9672edb}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2ff1b24d-2cbb-4843-be9f-b4cdb5496ccf}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Header Files">
|
||||
<UniqueIdentifier>{50a43da1-f2f6-43d2-b5b1-eee3e73c7874}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2f29a313-0df1-48c1-a5e6-1cadcae681ea}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Source Files">
|
||||
<UniqueIdentifier>{ba22424d-72e2-4716-8a15-769ef6fee3c9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{48309cb4-84d1-4e1a-9544-ac22341a1549}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth">
|
||||
<UniqueIdentifier>{3b44c3cd-7700-44f9-90ca-4427098d85d3}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{58a64688-f540-420c-9a5f-c14df18cd2b0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Header Files">
|
||||
<UniqueIdentifier>{63c42172-f19b-436b-89e5-22f4e723f8c9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a9808d70-5d4b-4d25-8684-f97bf9f28a92}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Source Files">
|
||||
<UniqueIdentifier>{fdda4085-c4e0-4321-a935-25fe6fece84f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8d82d270-fc18-487c-9bc6-1a7fd35933d8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@ -189,6 +189,9 @@
|
||||
<ClInclude Include="include\Poco\Net\MulticastSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\PollSet.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\RawSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
@ -503,6 +506,9 @@
|
||||
<ClCompile Include="src\MulticastSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PollSet.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
@ -350,6 +350,7 @@
|
||||
<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"/>
|
||||
@ -454,6 +455,7 @@
|
||||
<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"/>
|
||||
|
@ -2,148 +2,148 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="NetCore">
|
||||
<UniqueIdentifier>{b888b1c6-50cf-4952-8f6e-5d434297a7b2}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d793381d-e52a-4be1-b114-935577b22fb6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Header Files">
|
||||
<UniqueIdentifier>{4c009466-fd76-4f18-ab19-779fffdae3a2}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b10aa5ae-0d2d-499b-9bf8-bd3c0ad633fd}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Source Files">
|
||||
<UniqueIdentifier>{eb54fd88-a4b5-414a-ab5b-e9118038fa09}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{62671b12-1abc-4fb3-bd51-60426795ae05}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets">
|
||||
<UniqueIdentifier>{a8e2e0a2-e639-4eb8-af07-750fa44b62ff}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{589b70da-867e-4a1c-9b9a-6308c8194fe5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Header Files">
|
||||
<UniqueIdentifier>{cadcc4b3-4598-4e52-9755-f96c12e7df75}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{cfa6e673-f174-45ab-add0-90f82d12fc4a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Source Files">
|
||||
<UniqueIdentifier>{85cb52fb-0e12-43bc-9b70-00b639874374}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{84b21054-f687-4007-af69-a939f8dfefff}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages">
|
||||
<UniqueIdentifier>{5f0f2536-9f98-4e50-a974-0e0643c5ad7c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{cd97f248-86c4-425e-be74-17f7f7c5e4d6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Header Files">
|
||||
<UniqueIdentifier>{bacf6bc9-fe17-42d0-881b-07787e7fe020}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{842d3f60-8226-416f-9a58-3379620c8072}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Source Files">
|
||||
<UniqueIdentifier>{7306d074-da1a-4380-b42a-4005c57aba47}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2caeb2ec-5b20-4f25-bf56-3b1c46579f93}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP">
|
||||
<UniqueIdentifier>{a00dc57d-b1c4-4101-b79e-850a2048a493}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7b2f1809-f765-425a-b85b-0680844efe95}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Header Files">
|
||||
<UniqueIdentifier>{9ea9c5ac-ad50-450c-ac6a-1fda86b7c05a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f95d777c-0513-4616-ad73-809518be9335}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Source Files">
|
||||
<UniqueIdentifier>{3d7cce96-ebc1-4788-b216-c53ea25d64c9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8f84d5c0-555c-4e2b-ab95-893554db4bb6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer">
|
||||
<UniqueIdentifier>{558cac0b-85a7-4090-afdc-54b5f278d301}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3eb75081-b071-4756-8779-a161646fb94a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Header Files">
|
||||
<UniqueIdentifier>{196bb075-957d-48fd-8f7b-97f149fd3c21}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9353e41d-8399-40b5-849d-1656738374ff}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Source Files">
|
||||
<UniqueIdentifier>{4431836b-c59e-4e18-b416-c718f23920f6}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{06921133-2e92-4bb0-b727-bd2ae2ba5c45}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer">
|
||||
<UniqueIdentifier>{8de718b9-33f2-4fb0-a3db-e21f02d37a75}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e00832de-fd52-48f6-bb31-ac5bbe089a21}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Header Files">
|
||||
<UniqueIdentifier>{c867694c-e209-48a8-aae5-09aecbb1ea69}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{29968123-0afc-4e59-a17d-5b174817ebd8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Source Files">
|
||||
<UniqueIdentifier>{2da4bc3a-cb1d-49c3-84da-732f3848445d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f73a1f3d-f05e-43a1-aabb-546855f62795}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient">
|
||||
<UniqueIdentifier>{7b8cccb0-975e-4b8d-a7c9-8115a4f46194}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{412ce361-d8c7-49f4-b69a-f8b9cc487dc0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Header Files">
|
||||
<UniqueIdentifier>{78a9c9d2-41c3-44b3-a589-cdfc192672cf}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{00e92899-4431-48bb-a1ce-ef46f5975fac}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Source Files">
|
||||
<UniqueIdentifier>{c4536cc7-15c5-453f-a0a9-4a037f5de6a7}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{238188e2-4b3e-49ce-bc6b-a1412077c9b1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML">
|
||||
<UniqueIdentifier>{d4b4adba-bc97-4cec-8576-c58880f4d3c9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8cece644-fefd-4a34-add4-07e1559e6311}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Header Files">
|
||||
<UniqueIdentifier>{441caa87-286d-4dd2-a3e4-a68335657715}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{086aefe1-6f0d-4d9d-992a-48cce7966550}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Source Files">
|
||||
<UniqueIdentifier>{60850ca8-e1b4-4bff-a4d7-677b1162ecab}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c32dc6d6-4d1c-4d01-8b4c-6d608a6ef7e6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient">
|
||||
<UniqueIdentifier>{5d8c5790-f366-4de7-b470-3f7ebe11b21f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c21b64f3-0b55-47bd-a7c0-5e57b9963476}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Header Files">
|
||||
<UniqueIdentifier>{2b99f921-aa87-4164-a7e8-e12e692dcc29}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a44e5b02-ed0c-4dc0-9809-0b408cc04cb5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Source Files">
|
||||
<UniqueIdentifier>{4825bf01-fcad-44e6-9d23-a450e7a2252a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{13408722-e641-4ab3-9416-642e52472961}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor">
|
||||
<UniqueIdentifier>{2c13f21f-6dfd-4f87-8d1f-370112199886}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ff62509a-0532-4157-b0f1-34011d0d2160}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Header Files">
|
||||
<UniqueIdentifier>{800e3596-7a12-4e6e-838c-ebc0e8485f31}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{76648b63-cd72-4010-a1e6-0f68e391d213}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Source Files">
|
||||
<UniqueIdentifier>{158cfdd1-4a52-4aef-9070-bf1657dda28f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3abe382a-6613-4f22-9eb5-34165acd5d1c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail">
|
||||
<UniqueIdentifier>{4ad66468-46c3-4961-b5c9-6ab426add478}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{846ee1ad-1f67-48ae-b683-9e9b3d0522d9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Header Files">
|
||||
<UniqueIdentifier>{cf18879d-08bc-43ea-9cdc-b185d4179edd}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{25c2d553-e719-40ad-a62a-566dd4ee7126}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Source Files">
|
||||
<UniqueIdentifier>{45943687-58a6-4b66-b598-58c9d4de4bd8}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ff2b48a0-0e0b-469a-b30f-9a719a4998eb}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP">
|
||||
<UniqueIdentifier>{e983bcbd-e93b-4f05-be7f-95509d9d1b85}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{30d8f778-f9fe-45ac-8a03-27188ea98ad0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Header Files">
|
||||
<UniqueIdentifier>{9bf70f82-dd92-405e-b109-76ffd9c7fc87}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a0f33d50-227b-46cc-ad85-2c641a0383a2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Source Files">
|
||||
<UniqueIdentifier>{c0cf4535-27ba-4378-813a-f3531226020d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{87b4e91d-748f-4f2f-923c-17a5fc954381}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP">
|
||||
<UniqueIdentifier>{69b73142-80eb-49dc-a411-d75c16d0989e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{4159a203-b013-4706-825b-7bb5b4fd3c68}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Header Files">
|
||||
<UniqueIdentifier>{8640f551-255d-445f-bc31-54875fa3a47c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0720cef2-bfda-4ca7-a299-c5d43dc9014a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Source Files">
|
||||
<UniqueIdentifier>{3d91cf56-d99a-4279-a089-6dc7c679a58e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{39c8a605-b6ff-4fc1-a585-a73bba457f39}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging">
|
||||
<UniqueIdentifier>{0724c868-47a5-4a98-a352-474acfd46b13}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{61dbd680-e8eb-4e1c-b814-5ef8fa6ca9e8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Header Files">
|
||||
<UniqueIdentifier>{baa9431a-a094-4b79-8e0c-b546a0017042}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8cd2ae23-4297-4223-90cc-cf6ade33b9bc}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Source Files">
|
||||
<UniqueIdentifier>{5254a594-ebb4-4945-adf3-b9ee849af58b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{88b8f574-352b-4963-a042-95b8d8d836eb}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket">
|
||||
<UniqueIdentifier>{688d1b2f-ab74-46fc-908f-7ee8f273fd60}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1f505612-23bb-4ab4-a5a2-1260bec1b68e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Header Files">
|
||||
<UniqueIdentifier>{864c9db1-4bc0-4d67-978c-8a40c0594739}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5c2822ff-d9f3-408e-9e29-69182ee9289b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Source Files">
|
||||
<UniqueIdentifier>{06e12699-7764-4149-adcb-e853c4448c83}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8595d6a0-c3a5-4d46-ac64-4e0f415c974c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth">
|
||||
<UniqueIdentifier>{caff76c8-d0a2-408f-896e-29c37ae4fc35}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{eccca1da-4cb3-40c2-b5c1-222dc60847f9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Header Files">
|
||||
<UniqueIdentifier>{1cc1abf6-360b-4b36-98d6-7a806bee6605}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{60b9db26-d2d0-4cee-a699-8dde212cc2c0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Source Files">
|
||||
<UniqueIdentifier>{a5142179-3cb8-429a-b0b8-dbef923cf11a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{edbb27bd-7567-42be-adf9-7cc12ff5b521}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@ -189,6 +189,9 @@
|
||||
<ClInclude Include="include\Poco\Net\MulticastSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\PollSet.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\RawSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
@ -503,6 +506,9 @@
|
||||
<ClCompile Include="src\MulticastSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PollSet.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
@ -85,7 +85,7 @@
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros"/>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.23107.0</_ProjectFileVersion>
|
||||
<_ProjectFileVersion>14.0.25420.1</_ProjectFileVersion>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">PocoNet64d</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">PocoNetmdd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">PocoNetmtd</TargetName>
|
||||
@ -350,6 +350,7 @@
|
||||
<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"/>
|
||||
@ -454,6 +455,7 @@
|
||||
<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"/>
|
||||
|
@ -2,148 +2,148 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="NetCore">
|
||||
<UniqueIdentifier>{02548228-768f-4f6c-b7b0-50ac5ab17a3a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{572a7c45-7da5-41e6-a245-9825a8bce416}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Header Files">
|
||||
<UniqueIdentifier>{e3744da3-f8c9-404a-8a82-8c37cf6cf900}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{26c36012-06b0-48d5-aead-fa85ce5456e1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Source Files">
|
||||
<UniqueIdentifier>{2721df3e-6490-40f8-961d-76c900cbc24e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{454a3c9f-6a54-48ee-bfb2-8e2edfabde87}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets">
|
||||
<UniqueIdentifier>{001f7957-301c-4699-bda7-2b09fc26c950}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5702a9a0-04ef-4649-a989-d3836ec6505a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Header Files">
|
||||
<UniqueIdentifier>{b3812d52-7443-4cc7-bf6d-01910790a081}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3a9ad8b3-dfbf-40d5-8efe-98c49ed92dab}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Source Files">
|
||||
<UniqueIdentifier>{847a6a5c-1382-4d0f-b6ef-3aadd7da231e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{81d1a49c-43d3-49b3-a82a-8954c5d3122b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages">
|
||||
<UniqueIdentifier>{f1049859-2721-4ad8-8461-ed25a0cf7a7b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a598334e-37f7-4569-ba95-2c27a8a819ff}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Header Files">
|
||||
<UniqueIdentifier>{94aa7c34-a02a-4e6f-800a-6e77cd9721e6}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a5ba0e57-cb82-4e96-9cb2-9905e65ececb}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Source Files">
|
||||
<UniqueIdentifier>{d945581b-195b-4177-b19b-e39cbb9dc382}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2ad77310-465a-45a3-ac0a-e835f431ffa1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP">
|
||||
<UniqueIdentifier>{ad20bba2-1caf-4df0-82f2-a0fe2c93eebf}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{54e40ac0-ef22-4ba6-bf9a-254582c7610d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Header Files">
|
||||
<UniqueIdentifier>{6b755a8a-de8e-4c7d-bb5c-9afed1cdd245}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ca1f3ccd-7fcb-463c-9082-505134fcf001}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Source Files">
|
||||
<UniqueIdentifier>{adeee95e-4438-4a85-9ceb-efc0d74e2bb3}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d2855f37-1e15-4c78-96b6-c03cb8221849}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer">
|
||||
<UniqueIdentifier>{70f8dc32-5745-468f-9556-aa528b4a719c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{66234b30-77a3-4792-9e44-834b7210eb22}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Header Files">
|
||||
<UniqueIdentifier>{9dba7a2b-19ef-43ae-86cc-6c7ba97f9f7a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e4d52904-8772-4d44-ba30-19b1acf57f22}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Source Files">
|
||||
<UniqueIdentifier>{7682db85-c7b5-4e61-9648-a87fd5a53096}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ee62c23e-f534-48d5-8366-9ec3496afe92}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer">
|
||||
<UniqueIdentifier>{de5b7262-900d-4c6c-a077-685cd9f7bf15}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{eb25b565-5bc2-44df-b9ad-24ee4ec643b2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Header Files">
|
||||
<UniqueIdentifier>{fdeb6858-19f2-4fc5-ada8-40c22456997c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{484a1405-0f70-4e4f-b5b9-6935e1e9094d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Source Files">
|
||||
<UniqueIdentifier>{149d5313-839f-410f-89c5-01417f920c4c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3126bb62-8060-4c90-be29-69c1f0c297fa}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient">
|
||||
<UniqueIdentifier>{2833e5b5-a3f0-4b0d-b78d-ad86aa903c8c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c7b17268-a9fa-4338-a236-118b69247461}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Header Files">
|
||||
<UniqueIdentifier>{84a1ef90-5a6b-43d2-98bd-457526cbfacf}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a2e6c69b-f917-4ee5-9347-60d3f4125adf}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Source Files">
|
||||
<UniqueIdentifier>{03dcf1ac-efc1-4cb7-83bb-0752de412728}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{220af5fc-79e0-4a5f-983f-a6d5db6df0f5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML">
|
||||
<UniqueIdentifier>{2b1dffbb-48ca-4ed5-97f0-eb0100efad48}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{981531d7-1bc8-4576-98a7-c1449d05fafa}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Header Files">
|
||||
<UniqueIdentifier>{d2415785-a80d-4984-84a3-98d415527dc1}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f41afed5-7f39-4177-9fb0-d51d8b94e3a9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Source Files">
|
||||
<UniqueIdentifier>{0c2fe0f7-e935-43d4-9cd7-27532b969687}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{bff5a89b-6dd5-4696-af9f-1bcce957cea2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient">
|
||||
<UniqueIdentifier>{a527835b-0c35-401b-8a3f-7d6fdaa8f557}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d92ee96f-b606-465e-ad5b-5cbeb5e45f36}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Header Files">
|
||||
<UniqueIdentifier>{c666b436-d7ce-4770-9ed3-90512a02e1cd}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{bad9b007-3e1c-4c84-97e1-cd83c6e302ae}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Source Files">
|
||||
<UniqueIdentifier>{a69b38bb-3e4e-4bb1-b95e-49676b47625a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0717bac8-1f48-46f3-b920-9f1138d33da9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor">
|
||||
<UniqueIdentifier>{60ada71b-fef8-4cf5-8e3b-a7bb1f1c5dff}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e978c1ad-8625-4556-bd29-c829ea3656c6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Header Files">
|
||||
<UniqueIdentifier>{bf734071-9963-47bb-a41c-977d6ae65cce}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{61408b0a-c532-4ec4-8ae1-3d343287f67f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Source Files">
|
||||
<UniqueIdentifier>{4df07cee-acc7-4e0d-8948-015a8d209aca}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0d06b32d-daf3-4656-aae6-1ce4e0553def}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail">
|
||||
<UniqueIdentifier>{fe9385cb-0d0f-490e-9d3f-bb0f2ffc2b3f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a7ee7a75-6e88-4743-8538-0544a9a4dacd}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Header Files">
|
||||
<UniqueIdentifier>{f3c1bdd3-1431-4924-9f57-cb9f02339030}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{67256a36-5629-404e-bdda-00280b4c39a7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Source Files">
|
||||
<UniqueIdentifier>{fd18f273-d1a2-40ff-9d62-eafa88ed4a4a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5a720884-2a6f-4643-ba1c-e4ad8a2656ce}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP">
|
||||
<UniqueIdentifier>{dc22d2d4-e7a6-44e9-8818-a2845d2acdc2}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{4ec0d94b-38b8-4418-9bb5-e36d32208a0a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Header Files">
|
||||
<UniqueIdentifier>{f76229e6-abc8-4e83-95ab-88b543255423}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{152cf4f2-aaa2-4eff-bb39-a207b8454ffe}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Source Files">
|
||||
<UniqueIdentifier>{0286b7ef-728f-4c99-baf0-532d1bb28aa5}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1587a1aa-507b-4206-b9eb-d4f354d6f91c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP">
|
||||
<UniqueIdentifier>{d22edb0b-badf-4b7d-ab71-809107dbbcf4}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2e355966-256f-4002-bcc0-1a7736444f8a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Header Files">
|
||||
<UniqueIdentifier>{0c11426e-6d04-469a-9bd3-e67a8562fdd3}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{bc46d662-a42d-4f59-babd-990286d6e7a1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Source Files">
|
||||
<UniqueIdentifier>{44d30b7c-7b24-4737-89eb-f70ef4bc8746}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{247f2a99-67f7-4f4f-b737-e805295cec47}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging">
|
||||
<UniqueIdentifier>{ef6a1eac-b206-4dbf-b3fe-ee271d32bc47}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{68aaf8ef-ed05-4ca7-a211-366725899ff6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Header Files">
|
||||
<UniqueIdentifier>{51307eb5-8935-4168-8944-1367699f61c4}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8ee4b537-4645-4cab-a3d7-18d02f148813}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Source Files">
|
||||
<UniqueIdentifier>{cf5fc146-d41e-4dd1-82f4-eda4deb03d73}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{20b3b977-8e3c-420e-950a-531c1220b364}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket">
|
||||
<UniqueIdentifier>{628510e7-f2bf-4218-b75a-c16de692f03a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f810dba1-6fd4-44ab-bf32-b249b4078d1b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Header Files">
|
||||
<UniqueIdentifier>{cc877928-0b45-4345-a2cc-6a0ae34cebf2}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{250a034c-57f7-4196-8258-8f1e1612d13f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Source Files">
|
||||
<UniqueIdentifier>{5e5afa1e-4462-43af-af34-a54e265b33e1}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{60aa49e2-5ebd-4b2d-a4ae-1e1046163318}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth">
|
||||
<UniqueIdentifier>{0513f185-3414-4c3f-a7ba-e5f61e3636d3}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7eb4829c-c085-46fb-af72-79ba1183d85a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Header Files">
|
||||
<UniqueIdentifier>{44d262f3-f72e-4339-9f2f-2577f0232df0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2d1fc457-7ce3-4338-8d44-99d4b3df7135}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Source Files">
|
||||
<UniqueIdentifier>{4a266486-064d-4e5a-8131-c624c2149e1c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{003a505a-337e-4229-8ccc-bd78602391c0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@ -189,6 +189,9 @@
|
||||
<ClInclude Include="include\Poco\Net\MulticastSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\PollSet.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\RawSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
@ -503,6 +506,9 @@
|
||||
<ClCompile Include="src\MulticastSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PollSet.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
@ -85,7 +85,7 @@
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros"/>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.23107.0</_ProjectFileVersion>
|
||||
<_ProjectFileVersion>15.0.26228.4</_ProjectFileVersion>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">PocoNet64d</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">PocoNetmdd</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">PocoNetmtd</TargetName>
|
||||
@ -350,6 +350,7 @@
|
||||
<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"/>
|
||||
@ -454,6 +455,7 @@
|
||||
<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"/>
|
||||
|
@ -2,148 +2,148 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="NetCore">
|
||||
<UniqueIdentifier>{02548228-768f-4f6c-b7b0-50ac5ab17a3a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{6442b4c1-66d3-4ec8-a40e-7f08ab47c795}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Header Files">
|
||||
<UniqueIdentifier>{e3744da3-f8c9-404a-8a82-8c37cf6cf900}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8d1c024d-8244-4c90-9579-76a8f1d58e79}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Source Files">
|
||||
<UniqueIdentifier>{2721df3e-6490-40f8-961d-76c900cbc24e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f38d6d8b-41ef-4ffd-b8db-d114e669859c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets">
|
||||
<UniqueIdentifier>{001f7957-301c-4699-bda7-2b09fc26c950}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5069f6eb-db4d-4753-8029-b136bd203799}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Header Files">
|
||||
<UniqueIdentifier>{b3812d52-7443-4cc7-bf6d-01910790a081}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3ae5c32f-5564-49f7-bcfb-8aa03efc35dc}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Source Files">
|
||||
<UniqueIdentifier>{847a6a5c-1382-4d0f-b6ef-3aadd7da231e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{cabdd975-3dcc-4d5f-b2ed-2666ae8770c3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages">
|
||||
<UniqueIdentifier>{f1049859-2721-4ad8-8461-ed25a0cf7a7b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9f678a1e-cf41-40b4-a4ee-b208c5d5f3e1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Header Files">
|
||||
<UniqueIdentifier>{94aa7c34-a02a-4e6f-800a-6e77cd9721e6}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c7c82e5d-9689-4993-bcac-a506c851e0bc}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Source Files">
|
||||
<UniqueIdentifier>{d945581b-195b-4177-b19b-e39cbb9dc382}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e900fb82-05fb-4b16-8629-d4094811513c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP">
|
||||
<UniqueIdentifier>{ad20bba2-1caf-4df0-82f2-a0fe2c93eebf}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{fcfa3d93-a1ce-4aca-aaf8-30387304db50}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Header Files">
|
||||
<UniqueIdentifier>{6b755a8a-de8e-4c7d-bb5c-9afed1cdd245}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a92530db-130d-43cc-952f-01530dacb399}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Source Files">
|
||||
<UniqueIdentifier>{adeee95e-4438-4a85-9ceb-efc0d74e2bb3}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a459fa4a-3bac-4955-86d9-2619baefd417}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer">
|
||||
<UniqueIdentifier>{70f8dc32-5745-468f-9556-aa528b4a719c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e4b42a8f-9f89-43e4-8b4d-118b87e6a83e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Header Files">
|
||||
<UniqueIdentifier>{9dba7a2b-19ef-43ae-86cc-6c7ba97f9f7a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{4dd5f092-8d24-4351-b009-87de1c5842be}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Source Files">
|
||||
<UniqueIdentifier>{7682db85-c7b5-4e61-9648-a87fd5a53096}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ffe7dffe-bccb-46e0-9339-56139122bd92}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer">
|
||||
<UniqueIdentifier>{de5b7262-900d-4c6c-a077-685cd9f7bf15}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9d775cec-dfe6-40c8-a80f-26903eb3ddab}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Header Files">
|
||||
<UniqueIdentifier>{fdeb6858-19f2-4fc5-ada8-40c22456997c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e7dc7c66-5b6a-46cc-a80c-fab35c122001}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Source Files">
|
||||
<UniqueIdentifier>{149d5313-839f-410f-89c5-01417f920c4c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7c7b0b3e-c6da-45ae-876e-926f5e7480b2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient">
|
||||
<UniqueIdentifier>{2833e5b5-a3f0-4b0d-b78d-ad86aa903c8c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c0816cbe-28b2-4ecc-aa24-d1fcae444a2e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Header Files">
|
||||
<UniqueIdentifier>{84a1ef90-5a6b-43d2-98bd-457526cbfacf}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7f79be94-acfe-4a89-b15f-e5932a0ff6ab}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Source Files">
|
||||
<UniqueIdentifier>{03dcf1ac-efc1-4cb7-83bb-0752de412728}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c3be2ec8-6f4c-429c-b0a6-1d56a9321894}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML">
|
||||
<UniqueIdentifier>{2b1dffbb-48ca-4ed5-97f0-eb0100efad48}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{bddade8c-a271-45ac-b9db-b4c2f6a036d5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Header Files">
|
||||
<UniqueIdentifier>{d2415785-a80d-4984-84a3-98d415527dc1}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{75fa7ceb-e139-4814-840e-09a8ee9f12c6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Source Files">
|
||||
<UniqueIdentifier>{0c2fe0f7-e935-43d4-9cd7-27532b969687}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{be05f4bc-b5cd-4a2d-a969-3c3d8bbdc464}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient">
|
||||
<UniqueIdentifier>{a527835b-0c35-401b-8a3f-7d6fdaa8f557}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e2d94fdc-c522-403b-ac8e-126a6f544a95}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Header Files">
|
||||
<UniqueIdentifier>{c666b436-d7ce-4770-9ed3-90512a02e1cd}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{dc6a25f2-d885-4f6a-b377-26abed436d6f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Source Files">
|
||||
<UniqueIdentifier>{a69b38bb-3e4e-4bb1-b95e-49676b47625a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8e3fd2c1-f4af-47f6-8555-ce39ffb08319}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor">
|
||||
<UniqueIdentifier>{60ada71b-fef8-4cf5-8e3b-a7bb1f1c5dff}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7e2382b2-cd3e-486d-b1a7-56912c32ad70}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Header Files">
|
||||
<UniqueIdentifier>{bf734071-9963-47bb-a41c-977d6ae65cce}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d6c53942-bb1d-438a-ad39-6f9c2f4a7c36}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Source Files">
|
||||
<UniqueIdentifier>{4df07cee-acc7-4e0d-8948-015a8d209aca}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a9162ecb-0f50-4b17-a857-6afe98b83c23}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail">
|
||||
<UniqueIdentifier>{fe9385cb-0d0f-490e-9d3f-bb0f2ffc2b3f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e25932fa-c91c-4546-aaee-77d5ca5be6e7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Header Files">
|
||||
<UniqueIdentifier>{f3c1bdd3-1431-4924-9f57-cb9f02339030}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f42eb6dd-fdc5-4db7-934a-0d54090c30f8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Source Files">
|
||||
<UniqueIdentifier>{fd18f273-d1a2-40ff-9d62-eafa88ed4a4a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f440ae27-b2e0-4b9d-8925-0f83b37ea292}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP">
|
||||
<UniqueIdentifier>{dc22d2d4-e7a6-44e9-8818-a2845d2acdc2}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{54aa7b50-6cb3-4aaf-94ee-dea8cf336938}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Header Files">
|
||||
<UniqueIdentifier>{f76229e6-abc8-4e83-95ab-88b543255423}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e6f8e338-f6d0-4af3-90f5-7b74f53874b8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Source Files">
|
||||
<UniqueIdentifier>{0286b7ef-728f-4c99-baf0-532d1bb28aa5}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2cb7138d-2ad6-44ec-bc80-31d05b0f86a7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP">
|
||||
<UniqueIdentifier>{d22edb0b-badf-4b7d-ab71-809107dbbcf4}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3a7eff2f-3852-47d9-b508-0aa6997d9336}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Header Files">
|
||||
<UniqueIdentifier>{0c11426e-6d04-469a-9bd3-e67a8562fdd3}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f78d7274-2486-4ca7-bebf-a88f1c527daa}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Source Files">
|
||||
<UniqueIdentifier>{44d30b7c-7b24-4737-89eb-f70ef4bc8746}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ab469949-29b6-466a-af0e-a66eadfa91a8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging">
|
||||
<UniqueIdentifier>{ef6a1eac-b206-4dbf-b3fe-ee271d32bc47}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a5b27e6c-3cd4-498c-82d9-516b801262f6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Header Files">
|
||||
<UniqueIdentifier>{51307eb5-8935-4168-8944-1367699f61c4}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{46562fa2-614c-4fd3-bab3-2b1735a1ebfb}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Source Files">
|
||||
<UniqueIdentifier>{cf5fc146-d41e-4dd1-82f4-eda4deb03d73}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{43f39d87-319a-447f-a2e2-60dadeb6936b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket">
|
||||
<UniqueIdentifier>{628510e7-f2bf-4218-b75a-c16de692f03a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a1abe9f6-97c3-48be-926a-6a2088855450}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Header Files">
|
||||
<UniqueIdentifier>{cc877928-0b45-4345-a2cc-6a0ae34cebf2}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2c643087-03eb-44e6-8408-6d1247660651}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Source Files">
|
||||
<UniqueIdentifier>{5e5afa1e-4462-43af-af34-a54e265b33e1}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{bc9ffab9-4642-4bf4-aa51-46b9c0c7de14}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth">
|
||||
<UniqueIdentifier>{0513f185-3414-4c3f-a7ba-e5f61e3636d3}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b57ce297-c602-4055-ada3-8011c281b5fd}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Header Files">
|
||||
<UniqueIdentifier>{44d262f3-f72e-4339-9f2f-2577f0232df0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{78a31153-b77b-4820-a587-39b0a7c14875}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Source Files">
|
||||
<UniqueIdentifier>{4a266486-064d-4e5a-8131-c624c2149e1c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{aaf92947-b538-4cef-be49-cf5332dec37e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@ -189,6 +189,9 @@
|
||||
<ClInclude Include="include\Poco\Net\MulticastSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\PollSet.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="include\Poco\Net\RawSocket.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
@ -503,6 +506,9 @@
|
||||
<ClCompile Include="src\MulticastSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PollSet.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocket.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
@ -452,6 +452,8 @@
|
||||
RelativePath=".\include\Poco\Net\DialogSocket.h"/>
|
||||
<File
|
||||
RelativePath=".\include\Poco\Net\MulticastSocket.h"/>
|
||||
<File
|
||||
RelativePath=".\include\Poco\Net\PollSet.h"/>
|
||||
<File
|
||||
RelativePath=".\include\Poco\Net\RawSocket.h"/>
|
||||
<File
|
||||
@ -481,6 +483,8 @@
|
||||
RelativePath=".\src\DialogSocket.cpp"/>
|
||||
<File
|
||||
RelativePath=".\src\MulticastSocket.cpp"/>
|
||||
<File
|
||||
RelativePath=".\src\PollSet.cpp"/>
|
||||
<File
|
||||
RelativePath=".\src\RawSocket.cpp"/>
|
||||
<File
|
||||
|
86
Net/include/Poco/Net/PollSet.h
Normal file
86
Net/include/Poco/Net/PollSet.h
Normal 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
|
@ -31,7 +31,7 @@ namespace Net {
|
||||
|
||||
class Net_API SocketImpl: public Poco::RefCountedObject
|
||||
/// This class encapsulates the Berkeley sockets API.
|
||||
///
|
||||
///
|
||||
/// Subclasses implement specific socket types like
|
||||
/// stream or datagram sockets.
|
||||
///
|
||||
@ -56,9 +56,9 @@ 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
|
||||
/// Initializes the socket and establishes a connection to
|
||||
/// the TCP server at the given address.
|
||||
///
|
||||
/// Can also be used for UDP sockets. In this case, no
|
||||
@ -66,14 +66,14 @@ public:
|
||||
/// packets are restricted to the specified address.
|
||||
|
||||
virtual void connect(const SocketAddress& address, const Poco::Timespan& timeout);
|
||||
/// Initializes the socket, sets the socket timeout and
|
||||
/// Initializes the socket, sets the socket timeout and
|
||||
/// establishes a connection to the TCP server at the given address.
|
||||
|
||||
virtual void connectNB(const SocketAddress& address);
|
||||
/// Initializes the socket and establishes a connection to
|
||||
/// 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,24 +198,24 @@ 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
|
||||
/// Determines the status of the socket, using a
|
||||
/// call to select().
|
||||
///
|
||||
///
|
||||
/// The mode argument is constructed by combining the values
|
||||
/// of the SelectMode enumeration.
|
||||
///
|
||||
/// 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,64 +273,64 @@ 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
|
||||
/// Returns the value of the socket option
|
||||
/// specified by level and option.
|
||||
|
||||
void getOption(int level, int option, unsigned& value);
|
||||
/// Returns the value of the socket option
|
||||
/// Returns the value of the socket option
|
||||
/// specified by level and option.
|
||||
|
||||
void getOption(int level, int option, unsigned char& value);
|
||||
/// Returns the value of the socket option
|
||||
/// Returns the value of the socket option
|
||||
/// specified by level and option.
|
||||
|
||||
void getOption(int level, int option, Poco::Timespan& value);
|
||||
/// Returns the value of the socket option
|
||||
/// 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
|
||||
/// 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.
|
||||
|
||||
/// Returns the value of the socket 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;
|
||||
};
|
||||
|
||||
|
||||
|
518
Net/src/PollSet.cpp
Normal file
518
Net/src/PollSet.cpp
Normal file
@ -0,0 +1,518 @@
|
||||
//
|
||||
// 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
|
||||
//
|
||||
|
||||
|
||||
#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
|
@ -26,7 +26,8 @@ objects = \
|
||||
NTPClientTest NTPClientTestSuite \
|
||||
WebSocketTest WebSocketTestSuite \
|
||||
SyslogTest \
|
||||
OAuth10CredentialsTest OAuth20CredentialsTest OAuthTestSuite
|
||||
OAuth10CredentialsTest OAuth20CredentialsTest OAuthTestSuite \
|
||||
PollSetTest
|
||||
|
||||
target = testrunner
|
||||
target_version = 1
|
||||
|
@ -528,6 +528,8 @@
|
||||
RelativePath=".\src\MulticastEchoServer.h"/>
|
||||
<File
|
||||
RelativePath=".\src\MulticastSocketTest.h"/>
|
||||
<File
|
||||
RelativePath=".\src\PollSetTest.h"/>
|
||||
<File
|
||||
RelativePath=".\src\RawSocketTest.h"/>
|
||||
<File
|
||||
@ -553,6 +555,8 @@
|
||||
RelativePath=".\src\MulticastEchoServer.cpp"/>
|
||||
<File
|
||||
RelativePath=".\src\MulticastSocketTest.cpp"/>
|
||||
<File
|
||||
RelativePath=".\src\PollSetTest.cpp"/>
|
||||
<File
|
||||
RelativePath=".\src\RawSocketTest.cpp"/>
|
||||
<File
|
||||
|
@ -319,6 +319,7 @@
|
||||
<ClInclude Include="src\EchoServer.h"/>
|
||||
<ClInclude Include="src\MulticastEchoServer.h"/>
|
||||
<ClInclude Include="src\MulticastSocketTest.h"/>
|
||||
<ClInclude Include="src\PollSetTest.h"/>
|
||||
<ClInclude Include="src\RawSocketTest.h"/>
|
||||
<ClInclude Include="src\SocketsTestSuite.h"/>
|
||||
<ClInclude Include="src\SocketStreamTest.h"/>
|
||||
@ -382,6 +383,7 @@
|
||||
<ClCompile Include="src\EchoServer.cpp"/>
|
||||
<ClCompile Include="src\MulticastEchoServer.cpp"/>
|
||||
<ClCompile Include="src\MulticastSocketTest.cpp"/>
|
||||
<ClCompile Include="src\PollSetTest.cpp"/>
|
||||
<ClCompile Include="src\RawSocketTest.cpp"/>
|
||||
<ClCompile Include="src\SocketsTestSuite.cpp"/>
|
||||
<ClCompile Include="src\SocketStreamTest.cpp"/>
|
||||
|
@ -2,163 +2,163 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="NetCore">
|
||||
<UniqueIdentifier>{3b1867dc-388c-4962-b424-100d28f729b3}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d3c7b57a-d1f3-4889-9382-bec658bc5daa}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Header Files">
|
||||
<UniqueIdentifier>{2e4734b9-3277-4970-85ca-3df4f9509d09}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{056f274a-1239-4b44-82fc-0ffcd49e642f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Source Files">
|
||||
<UniqueIdentifier>{65da88e4-1422-4cbf-bfcb-5a9516ce282f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{298e867e-177c-4e2f-aa65-80eb3cd3f591}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite">
|
||||
<UniqueIdentifier>{d70040ba-49ae-477f-a5c4-e603eda21cce}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0ab340b7-9b3c-4b59-8fae-59119d706af0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite\Header Files">
|
||||
<UniqueIdentifier>{b8a612af-dd9b-458f-9f21-fb2267061267}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{55a07014-c256-4953-a508-f44b46303e61}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite\Source Files">
|
||||
<UniqueIdentifier>{9ac8526e-ec0a-4b69-9596-76ee0e813ceb}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8ac929cd-a89d-4cfb-aa35-461015f5c606}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Driver">
|
||||
<UniqueIdentifier>{b67227b8-40dd-4393-bb56-ba0d0650ce2f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8f5d5262-3dcf-4c72-b061-50c01cfdd768}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Driver\Source Files">
|
||||
<UniqueIdentifier>{9cb99f15-d7ea-4dc6-bc22-b38d6bcd2447}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{15de6a0d-d52d-4230-8e2d-f74271a55399}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets">
|
||||
<UniqueIdentifier>{31fdd8b9-ccc9-4a4a-97bc-613cc73b2839}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{4094034c-a7e7-4b21-a98d-add33688c2ad}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Header Files">
|
||||
<UniqueIdentifier>{027dba76-545d-4aac-9e7f-10ef25a7f649}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{559b4308-f8c3-426e-a255-98c098727ca4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Source Files">
|
||||
<UniqueIdentifier>{16469ea7-703b-4021-bb3a-74b2bfbb556e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1d4bcf19-f596-4064-a487-04ba6a0eaa34}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages">
|
||||
<UniqueIdentifier>{c70fe35d-a5a0-44b7-affd-2d1cc1d3f38c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{41a03035-3dc6-457f-b082-4c333829a225}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Header Files">
|
||||
<UniqueIdentifier>{dcc67a5f-b024-4382-8163-0888347c2299}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9157f206-f9de-4051-8a3b-c024a6169108}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Source Files">
|
||||
<UniqueIdentifier>{7becd069-c54c-4cd7-8797-beba7e05142a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8198a74e-75f1-43f0-aa47-099c5d1ebc0b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP">
|
||||
<UniqueIdentifier>{29ce4c5c-79bb-46c1-9ff2-c0f1279f213f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0886d1fd-d47d-4917-ac9f-60ec74b34dcc}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Header Files">
|
||||
<UniqueIdentifier>{b1201ce3-484b-4e27-98d2-dab3c8a306d1}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{343b8445-e588-4b0d-9c18-4287f7408c62}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Source Files">
|
||||
<UniqueIdentifier>{9b46fdf4-a64e-4b00-974e-247023f1aea9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d916be2a-f9ac-408b-8055-19b9f9a22db5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer">
|
||||
<UniqueIdentifier>{51f29fed-e9f9-427e-8697-b6348665f859}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{713381fc-f2b8-4aa4-9271-dafeb135342a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Header Files">
|
||||
<UniqueIdentifier>{63b77ca3-1974-48a2-affd-dded55872a78}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3a672732-bbfe-4dfb-8b5f-d64136d7e814}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Source Files">
|
||||
<UniqueIdentifier>{8fcc4932-7cbb-4d6f-a968-e036d6a4fc4d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{baffea01-ea6e-4097-858a-2f4bef0c8f38}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer">
|
||||
<UniqueIdentifier>{c51ed5cf-e583-4f53-af88-45b4f17577b1}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{19e1f907-cdb2-4767-ac5c-d8f2301bb859}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Header Files">
|
||||
<UniqueIdentifier>{d65736b9-6598-4f0e-8322-60821ed538e0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f974bdf1-d9aa-470c-8e41-ce4a589bb3d0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Source Files">
|
||||
<UniqueIdentifier>{2d376c80-425d-4425-803c-7cfab85b6584}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8ef1138c-f3db-4a1a-ade6-b534123c40b2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML">
|
||||
<UniqueIdentifier>{e01bfea3-aee6-4413-8689-efdf54f35617}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1cf85c47-b95a-417a-97fa-6a3387d1ab6b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Header Files">
|
||||
<UniqueIdentifier>{43022576-9aa8-4f5c-a877-a67ff244ebbc}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7b912209-a93b-471d-adf4-9d33c0e5a86d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Source Files">
|
||||
<UniqueIdentifier>{cd305ab6-c6fd-4403-8ab6-4e9ae9cdde2c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{75f80bda-9413-4549-9500-9a6fdd6bf25a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient">
|
||||
<UniqueIdentifier>{6bbe0981-6588-45ef-b2d5-f31f6d9a0ad4}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{39001ca3-9100-4241-a557-c5a35a61e682}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Header Files">
|
||||
<UniqueIdentifier>{b754788e-170e-45fc-9d15-18a9c5a67be2}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{712ccaa0-a3d0-4723-9a9b-e89c7d72ff3c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Source Files">
|
||||
<UniqueIdentifier>{18180d3b-f0ac-4dbc-bf94-b6455e228856}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8dc88a65-0bbf-4cf1-810c-c0272533975e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient">
|
||||
<UniqueIdentifier>{e22a8929-5c6a-4e60-8f88-53e21a32955c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{23540a1b-f46f-4f47-8014-a1c8f6e94812}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Header Files">
|
||||
<UniqueIdentifier>{aebfca23-3875-4aac-856e-11d9c731c732}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{fc44215c-a85a-4245-9377-29bbb5645c46}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Source Files">
|
||||
<UniqueIdentifier>{d62a8752-01d9-4859-8e9b-d8867d4ce54f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{97ccda12-1cf3-4fbf-9c9e-0b4bc05d865e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor">
|
||||
<UniqueIdentifier>{10b9c952-06cd-4598-93eb-590aedb0744c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5b9fb430-629d-44d4-b015-2099d617eaf0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Header Files">
|
||||
<UniqueIdentifier>{6b2508dc-d4ee-4678-b6fa-7d176c4085f0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d1c4abac-eb43-460f-ad6c-db8441c8bfae}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Source Files">
|
||||
<UniqueIdentifier>{ecc36e90-e784-470b-984b-a42cff4c6570}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{44d3b93c-6138-490b-91a4-a38e0f9e5ff6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail">
|
||||
<UniqueIdentifier>{671c08c1-5cdf-4ecf-b90c-e1c004d007ce}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d587148e-d356-4157-8ce8-bf3cc7209c4b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Header Files">
|
||||
<UniqueIdentifier>{09a4bfdb-72b1-48a6-8f3d-f9d1a015d56e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{da680ec2-4e97-4a41-9ef6-7ebbdc63f2eb}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Source Files">
|
||||
<UniqueIdentifier>{d4f3e960-3617-4a54-8fdb-40b5346c7b2b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{64409ec6-9b3b-4bf4-aec3-092681a1be11}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP">
|
||||
<UniqueIdentifier>{7d2c8496-e309-4cfb-a5b2-596da6a9c824}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ac100689-fa7b-4505-a048-372f0b4ce2f6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Header Files">
|
||||
<UniqueIdentifier>{36d570f4-f6fe-4233-8444-dce2073907b5}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e0f0d892-13a3-497e-b7de-86566fd15230}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Source Files">
|
||||
<UniqueIdentifier>{0dd1898f-f726-453a-b974-cb0c9e765c82}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{559012e6-528b-4b44-abf6-87d069211ab8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP">
|
||||
<UniqueIdentifier>{6f21ec8e-cee3-40b6-bd79-77526be65028}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{349388ff-4a26-4a55-b20b-2d69251b203f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Header Files">
|
||||
<UniqueIdentifier>{2e6236aa-f7ac-4059-a134-7378572b3232}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{6d8c7cef-fe7e-45b1-acd2-ae541e1f8f9d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Source Files">
|
||||
<UniqueIdentifier>{47b7833f-3598-4e40-a76e-d20b73bdef7d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a123a8bd-5f6e-40b7-949f-dfae52ee9721}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging">
|
||||
<UniqueIdentifier>{6246df50-c571-4c54-b0ef-74aae73b1fdf}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8e86cec9-4344-4aec-bef4-8ba7159e54b4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Header Files">
|
||||
<UniqueIdentifier>{76439ec6-84b4-4ce6-9aae-35d2c533b1f9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{651c31ba-dce8-4ab9-94a8-d73c16aa15bb}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Source Files">
|
||||
<UniqueIdentifier>{fc012dc7-e602-4fc7-851b-c415c3022d5b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{84598af7-47a4-44af-b04c-d95fc6d49d27}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket">
|
||||
<UniqueIdentifier>{cd481aec-08cb-49f5-b465-8c895217ce5b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b9fbb262-43e9-478c-88e5-d0514db88389}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Header Files">
|
||||
<UniqueIdentifier>{6204ce74-d619-4a38-9ec5-297237ec0596}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{18652318-a52e-4827-b48f-2aaff1a02413}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Source Files">
|
||||
<UniqueIdentifier>{b5f909c2-2135-43f2-b861-0647decc64bf}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5f1bab8e-c0bb-433c-939b-750717b2b1a3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth">
|
||||
<UniqueIdentifier>{b0c8d754-6a0e-47e3-adfb-b0e3724ea202}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{16684f79-052f-4da9-9ec5-06dba12f8e2a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Header Files">
|
||||
<UniqueIdentifier>{53876248-ba1b-49be-80c5-a84b395422c1}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8a70fe42-9212-4d64-ac7d-523247999ba3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Source Files">
|
||||
<UniqueIdentifier>{8133b9f4-8fb7-4ed1-b07d-019355f78c1b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9b23117a-cf10-4a0a-9d1b-ac5f3eb503f1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@ -198,6 +198,9 @@
|
||||
<ClInclude Include="src\MulticastSocketTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\PollSetTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\RawSocketTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
@ -383,6 +386,9 @@
|
||||
<ClCompile Include="src\MulticastSocketTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PollSetTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocketTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
@ -351,6 +351,7 @@
|
||||
<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"/>
|
||||
@ -413,6 +414,7 @@
|
||||
<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"/>
|
||||
|
@ -2,163 +2,163 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="NetCore">
|
||||
<UniqueIdentifier>{54ed1aab-e393-4ccd-9778-035feb782991}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{89737115-3469-4c26-973a-b2290561f27a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Header Files">
|
||||
<UniqueIdentifier>{95037cc5-6b01-4528-b77e-9cdd24168425}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0532d2fb-84ac-4f84-89e1-d106982f9f1c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Source Files">
|
||||
<UniqueIdentifier>{a654938d-7e50-465b-8c6f-7716f85788dd}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9c58782b-6095-4ecd-8503-3f243d34fb54}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite">
|
||||
<UniqueIdentifier>{910d48ec-8c3c-4c53-b350-3d0e35d2f764}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e21455c9-f046-42c3-a720-6363c4567a34}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite\Header Files">
|
||||
<UniqueIdentifier>{9eaebb11-8704-4837-a554-9175d196308c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8d23d1fa-8800-445b-8fd2-4af823317efa}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite\Source Files">
|
||||
<UniqueIdentifier>{780e9262-c996-42ca-af38-271156894902}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{00ef0677-42e2-4909-b853-82f305e417fc}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Driver">
|
||||
<UniqueIdentifier>{29e0f7d4-6b8b-45ad-9d11-ed2ea003e0e5}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8a3727db-d2b3-4969-8bdf-37ee83530238}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Driver\Source Files">
|
||||
<UniqueIdentifier>{682f9f0e-3e70-4c82-8b45-318f17866cfc}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3c610587-c5ad-418b-8ec0-59a70ae77335}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets">
|
||||
<UniqueIdentifier>{e4805201-de06-45e9-a7c4-53834ee063f1}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2714e72b-1e16-4f41-ab0c-00a7c04acbd9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Header Files">
|
||||
<UniqueIdentifier>{f5e6e585-024f-4f90-90d8-9587913ceb5f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{cbd1afdd-17fd-42ce-a4a2-b0d3786755a7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Source Files">
|
||||
<UniqueIdentifier>{484f859b-8027-4935-b608-bd618698d85b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{32353235-16e5-4cd0-87be-ee9812f8fe37}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages">
|
||||
<UniqueIdentifier>{a8e7177c-3354-4796-bd9d-4cd95abcecfc}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f5590437-bfd2-4d8b-9a73-ed77a102cc3c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Header Files">
|
||||
<UniqueIdentifier>{628a6321-d38c-4bcb-b4ae-99c124003a45}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{75418558-2173-4fc7-80d9-da07490cd83e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Source Files">
|
||||
<UniqueIdentifier>{0fb696b6-6987-4968-bada-0eace4c8ccfd}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e60ade17-7fce-4c2b-824a-997b8aa4abf0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP">
|
||||
<UniqueIdentifier>{e530065d-1896-40e7-9e2d-68dc808877e2}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3fa641ca-2a61-4023-a675-f0bd2d4309aa}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Header Files">
|
||||
<UniqueIdentifier>{3b473d75-e76e-4d0b-b017-d504e6e12250}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0c657d86-7625-4d34-a8ad-785ed963ce71}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Source Files">
|
||||
<UniqueIdentifier>{d672d4a4-8e25-4490-b2f5-0a2aa6ccc8dd}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2ffa26a7-ea44-4775-ad2c-f5b46915d336}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer">
|
||||
<UniqueIdentifier>{d5589198-25b8-4232-ae2e-96b2d56f05b4}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{74340899-93dc-4b32-834b-a44c7755da09}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Header Files">
|
||||
<UniqueIdentifier>{d5373d67-9382-4683-b3d8-f7f44091d5d0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{aabd1e61-bed9-4ee9-83f9-5b356403c1dc}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Source Files">
|
||||
<UniqueIdentifier>{3934f1e0-2b27-453a-b685-589082c078a3}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3a3c8e1e-d8c9-4daa-9d27-e9f42a7efd4b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer">
|
||||
<UniqueIdentifier>{7e6b93a9-6642-4216-a2a5-399d87fc706a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{cba3361b-def2-4a1e-aa49-b161e8848651}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Header Files">
|
||||
<UniqueIdentifier>{082bfd79-ad9b-476e-a377-7fb3d8d4fd26}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{33c507da-b48d-4187-8ab2-c6906757f1c2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Source Files">
|
||||
<UniqueIdentifier>{3441bc34-4691-4697-bf40-fabfd5985639}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{4545c5b3-3ddc-4f7d-8018-8fbfdd7a53dc}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML">
|
||||
<UniqueIdentifier>{6d0e102f-a786-422e-b07a-7712a90e66f0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8d4377d6-f866-4e86-b76e-d6f73112746e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Header Files">
|
||||
<UniqueIdentifier>{c506ff77-06e9-4ee3-89da-b0154e50814f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{48975197-eb97-4526-bebb-2685f195d100}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Source Files">
|
||||
<UniqueIdentifier>{aa1db272-3b94-4697-8b4d-3c652ba1b6ce}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{4dd8b0c6-aa4f-4954-9c95-b10041e7c0d1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient">
|
||||
<UniqueIdentifier>{431ebad8-6097-4ae6-9bf7-2b2c80a8580d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3d82ced5-5c13-410e-a901-ea0184de89ba}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Header Files">
|
||||
<UniqueIdentifier>{a0ddcf41-ef2d-4adc-83f1-0eefe4da2716}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5eb77c84-8ad3-4bd7-918f-39ff30542e37}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Source Files">
|
||||
<UniqueIdentifier>{662d829e-c300-42d0-977e-d1a5e645e02a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3d624953-bae0-462f-8e35-7b00f9efd95a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient">
|
||||
<UniqueIdentifier>{7a6b122e-9b41-415c-8256-020c077b8356}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5d2e6f5a-101c-4884-be68-11d41db6d761}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Header Files">
|
||||
<UniqueIdentifier>{3d39aeec-a535-44fc-9f52-d002b3f8b55a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{30d9adbb-052b-4ed8-ad49-2fe84fafa3c2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Source Files">
|
||||
<UniqueIdentifier>{1e88ef75-b7b2-4b98-bdfd-47caa6e461dd}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{4f6905c6-d9fa-4630-b7f9-d3a8be468cd1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor">
|
||||
<UniqueIdentifier>{2fc4aef0-8a7b-4c64-9292-21469bcf3bcd}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7769f6d4-1864-43f3-97e8-2fd18c523ca1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Header Files">
|
||||
<UniqueIdentifier>{dd87f61b-e5af-4ba3-be9e-2b1cda6b823b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1f0e7f6b-8402-4642-ade2-c560ebd57ded}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Source Files">
|
||||
<UniqueIdentifier>{d5687a10-0558-46e6-a814-78433bb62360}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{395b9341-285f-40f2-9296-f73ff0441812}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail">
|
||||
<UniqueIdentifier>{a985b6b7-5d87-4dbe-86a0-ef7d1c1f9706}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{de9779c5-cff7-4436-804b-44b65fe320ef}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Header Files">
|
||||
<UniqueIdentifier>{3d67cd12-8833-4321-97f6-811cd462e293}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7e785abd-ef0a-43b6-b02f-3e4f8a5b3587}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Source Files">
|
||||
<UniqueIdentifier>{62c6c3ba-4e5e-4fb6-bbb7-e8a91584d858}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9c9f77d7-bbc4-42dd-a0ba-47838bf5ce6c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP">
|
||||
<UniqueIdentifier>{c78ee20f-22a6-48ac-b545-b9156f7eae63}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b404521a-200b-4425-b1a3-67d28c1ebb62}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Header Files">
|
||||
<UniqueIdentifier>{004db812-cb2e-4260-9ded-ccfc45765378}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2fc0a4d1-cad8-4a1a-bc7c-7b77bb120c64}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Source Files">
|
||||
<UniqueIdentifier>{f9da6f89-6d6b-4057-8e28-23079661b4d1}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{638a373b-b300-4bf8-b1cb-5a3d577e6fe6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP">
|
||||
<UniqueIdentifier>{b0548cbb-3338-46ce-8ddc-a178c8bb935e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{db061edd-4e15-497e-8465-984847701a7b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Header Files">
|
||||
<UniqueIdentifier>{7de96ec1-0c45-4373-8eec-bf644476afe6}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ec7a9039-51d9-4fdc-be40-8bdb8ff77f62}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Source Files">
|
||||
<UniqueIdentifier>{d7f4e81e-98ed-48c5-8c82-cb27d5ec361f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1c91ff45-c283-43ca-9087-e428f32ab554}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging">
|
||||
<UniqueIdentifier>{a2f25ac5-1bc5-4062-b233-5819164684f9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{6bd0bd0f-5888-48ad-9ef9-2d68eb5cd21c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Header Files">
|
||||
<UniqueIdentifier>{04c48d80-cdf9-41fb-8479-864eff53e462}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1e62382f-2f43-4515-b14b-5decb041ec08}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Source Files">
|
||||
<UniqueIdentifier>{72848a87-e8a2-48f9-92a1-968f2e0a0ecc}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8eeec539-89bb-496c-9f4c-b38a931a985e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket">
|
||||
<UniqueIdentifier>{ab135e1d-c9f1-46c5-a0d6-1cfc8758cfb5}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{75bf717b-246c-40de-b078-9694af7ba188}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Header Files">
|
||||
<UniqueIdentifier>{84261851-1dfb-490e-a80a-8148012d126b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{02373c43-86cf-42b5-9a0d-a977fa4e8d15}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Source Files">
|
||||
<UniqueIdentifier>{c3a081c3-22a0-4519-b0ff-268bc5b2e079}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{4e19dfc6-7f07-4d09-b479-e10d1e4a491a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth">
|
||||
<UniqueIdentifier>{49308afc-b3f6-47d5-ba78-44795241742e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{240444ed-cd0b-4012-9e57-9f0a8e3a5dfe}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Header Files">
|
||||
<UniqueIdentifier>{8cfef2a5-9fea-4c2b-bc22-1fe6a9e5aa82}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b2dabf8b-b5e6-4f1e-a4bb-d180c2f9a11c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Source Files">
|
||||
<UniqueIdentifier>{f123291f-2523-44ce-a58a-dceb5aa28014}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3ec8dee4-91c9-4f72-b70c-bb2afee312c3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@ -198,6 +198,9 @@
|
||||
<ClInclude Include="src\MulticastSocketTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\PollSetTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\RawSocketTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
@ -383,6 +386,9 @@
|
||||
<ClCompile Include="src\MulticastSocketTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PollSetTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocketTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
@ -324,6 +324,7 @@
|
||||
<ClInclude Include="src\EchoServer.h"/>
|
||||
<ClInclude Include="src\MulticastEchoServer.h"/>
|
||||
<ClInclude Include="src\MulticastSocketTest.h"/>
|
||||
<ClInclude Include="src\PollSetTest.h"/>
|
||||
<ClInclude Include="src\RawSocketTest.h"/>
|
||||
<ClInclude Include="src\SocketsTestSuite.h"/>
|
||||
<ClInclude Include="src\SocketStreamTest.h"/>
|
||||
@ -387,6 +388,7 @@
|
||||
<ClCompile Include="src\EchoServer.cpp"/>
|
||||
<ClCompile Include="src\MulticastEchoServer.cpp"/>
|
||||
<ClCompile Include="src\MulticastSocketTest.cpp"/>
|
||||
<ClCompile Include="src\PollSetTest.cpp"/>
|
||||
<ClCompile Include="src\RawSocketTest.cpp"/>
|
||||
<ClCompile Include="src\SocketsTestSuite.cpp"/>
|
||||
<ClCompile Include="src\SocketStreamTest.cpp"/>
|
||||
|
@ -2,163 +2,163 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="NetCore">
|
||||
<UniqueIdentifier>{386487a8-6153-4cf7-9355-63e54c6af75c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{24d6e959-9753-442f-9baf-d7dd9d53eb7a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Header Files">
|
||||
<UniqueIdentifier>{c8926986-1978-459e-8e38-8e659d975868}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3ff8eefa-8061-4c14-9100-e85b327a474e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Source Files">
|
||||
<UniqueIdentifier>{e83a05eb-afd9-4d74-9d00-bcc4d5a945de}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e2aa6a05-4066-4c32-844c-f6da933b2875}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite">
|
||||
<UniqueIdentifier>{ce94d78c-81d0-4447-9e63-cd1daebcb4fb}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{eace0a98-958e-414f-984f-a4be87593306}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite\Header Files">
|
||||
<UniqueIdentifier>{b0e40056-3a5c-4dcb-a6e2-faa6209f4954}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{36731fce-c37c-4f0d-b2a4-de1d1e0a1380}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite\Source Files">
|
||||
<UniqueIdentifier>{547c67b4-e960-4d1f-b270-ca5ed6474871}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2fe8c171-a8a4-4d00-b7df-ecdcf25ec286}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Driver">
|
||||
<UniqueIdentifier>{fbe371e5-d461-4e27-bc48-51e503d9e8f1}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e7b44184-0a00-462e-bad4-7bebf1af2a65}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Driver\Source Files">
|
||||
<UniqueIdentifier>{faa24a3c-8f63-43d1-8eff-a60028036ffa}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e670e02c-5073-44cd-9811-455e09d2c236}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets">
|
||||
<UniqueIdentifier>{045ed3f5-d83f-4fd1-857b-151f5efd737e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{47d2208b-296f-406a-af6f-786f64ac4f30}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Header Files">
|
||||
<UniqueIdentifier>{7a499b35-6159-434b-b5a4-4fe9646edef2}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5709f1ad-6abe-494c-b1a2-4bca42e9bc07}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Source Files">
|
||||
<UniqueIdentifier>{c11bb535-c73d-4d11-967b-eb37901bda87}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0f99519f-9484-43ab-862e-d3f4bd9dc5e1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages">
|
||||
<UniqueIdentifier>{103de623-2412-4ea9-b535-156dcf2cf4bf}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1497e92d-01e1-47e3-8364-c24228f1ff00}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Header Files">
|
||||
<UniqueIdentifier>{0e71fab8-9b36-497d-a2a5-7fffd5e21e48}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{23043515-738e-4d46-9882-0f21b8bb35fc}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Source Files">
|
||||
<UniqueIdentifier>{a8760273-7101-44e5-bd71-9d1f81e2a775}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{22f87001-946f-4eff-bb96-4c1160c30dc7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP">
|
||||
<UniqueIdentifier>{d5a8b90b-dc3e-419b-992c-1e1830183c89}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{946a9386-6a95-4288-b287-aefa132dda61}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Header Files">
|
||||
<UniqueIdentifier>{d6cf1a06-b5c8-4c22-8868-5b9a6219e56e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8086ebd3-8d44-43fa-8604-d7a4f5d188f9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Source Files">
|
||||
<UniqueIdentifier>{8aef8a3c-ed43-4124-90b6-0cce7afffaac}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{873a38ce-a80c-4b6e-8ee4-dd9e9be6462b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer">
|
||||
<UniqueIdentifier>{af162d17-c803-42a8-a454-6146f6c5162e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a29d4ee8-988b-4b1e-8135-206cba898979}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Header Files">
|
||||
<UniqueIdentifier>{95e15739-146a-4a39-8f5a-33cf1b1223e1}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{54ab03c2-2cd4-4be6-8739-3508aeb688b5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Source Files">
|
||||
<UniqueIdentifier>{3cea4d71-0e5b-46d6-a67e-04f2c9372275}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ebd75d9f-cc68-422d-9a16-46e06fb7681a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer">
|
||||
<UniqueIdentifier>{7d3c23bf-76c6-4a6e-acb1-5c8f0ac70d65}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ee53ffd1-3c4a-4d69-8f6b-fb62b6b3b3e9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Header Files">
|
||||
<UniqueIdentifier>{dab194de-f132-4c47-8587-1eb1616361b0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{07b1fe84-3ba8-473b-95a2-5276516bcae5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Source Files">
|
||||
<UniqueIdentifier>{c959df55-6404-4ea8-b40e-e45a5f671f10}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d1e934a4-fb90-4dbd-b808-d522d48e908e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML">
|
||||
<UniqueIdentifier>{4be57bb5-523b-438d-a9c7-83f7b3d3a3a2}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e93d1624-46e0-4672-8094-ad6645a9d662}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Header Files">
|
||||
<UniqueIdentifier>{220b5efb-7e3f-4c5b-89d0-05c5bdbddc74}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{221db9b7-0058-4f95-b1c8-a1395e1bcaa3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Source Files">
|
||||
<UniqueIdentifier>{3fb52268-2a31-4b02-bcfc-9688de4a68b4}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2e94a41a-270b-4d1e-8077-41fd1437c22d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient">
|
||||
<UniqueIdentifier>{69907235-3794-4f82-8182-afbcb3302368}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{16f1c38a-feea-4109-a7ce-75a95eaabb3d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Header Files">
|
||||
<UniqueIdentifier>{7f394771-b789-48f5-b836-8bc93cf2458d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d615ae63-9182-4646-bcc9-81cf30887d01}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Source Files">
|
||||
<UniqueIdentifier>{62c8a8ed-3f6b-44d6-85d3-3bba79d1c205}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{fb6eed53-d01d-4871-9441-73dcce72d12e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient">
|
||||
<UniqueIdentifier>{4f7a3182-826e-4d3a-a293-8de274902a6e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{70ecab3e-6e98-4dab-82ec-74990f5b007d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Header Files">
|
||||
<UniqueIdentifier>{2174f82c-f016-41a4-906a-4b8c74dddc28}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{49b9f9bf-36be-45f4-878b-e960900c3710}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Source Files">
|
||||
<UniqueIdentifier>{4c391231-4d8d-42a1-8434-4694d4826783}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{44501a45-de86-4423-ae13-ea38ba69739b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor">
|
||||
<UniqueIdentifier>{fb1f1b7e-ca60-4071-8757-29f00c9eb295}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{40668a6e-edc2-4719-b63a-72cd5c1c6834}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Header Files">
|
||||
<UniqueIdentifier>{e30d96be-962e-4b28-8a79-25d639b59433}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{4c8eef16-d7c9-4436-a95a-3ab8721022d3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Source Files">
|
||||
<UniqueIdentifier>{17442825-ae0b-410b-8eae-50731b4a9800}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0f441889-eeeb-4fbc-b739-1821bdc8d922}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail">
|
||||
<UniqueIdentifier>{22eab704-de3b-4b44-8602-0909f3aa51dc}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{571ff5a7-4a15-4c8d-872a-a5c847287947}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Header Files">
|
||||
<UniqueIdentifier>{c44e0138-e2e1-4cbb-990f-7d62b889cf25}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{32b30088-fec5-4e93-b9e0-a20f9f6d3bdb}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Source Files">
|
||||
<UniqueIdentifier>{86f42403-6128-4e76-b92e-af94c82f4e32}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{55371853-bc7d-47ce-9334-1293e51872e9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP">
|
||||
<UniqueIdentifier>{9cc21a92-1390-4a54-841e-bb694bf794ee}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0f17c531-2a28-4b74-afef-fa92a3fee4f4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Header Files">
|
||||
<UniqueIdentifier>{080cffcb-c2cc-4225-baac-6bac79e5c80f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5e32b59a-5a10-4a50-baf1-a5bbe19a92d9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Source Files">
|
||||
<UniqueIdentifier>{cbb3f682-d1f7-4f45-a3ee-8eb9983f41e0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{6a02f783-cdf9-4dd4-a260-e49cb5980fac}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP">
|
||||
<UniqueIdentifier>{27487871-c6c4-4160-b3ff-07352a7a0fc9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{af302298-c3d9-4e42-87e9-11f9806221aa}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Header Files">
|
||||
<UniqueIdentifier>{665a44c4-d4aa-4954-9b6a-4d407b7b5d4d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{45797454-15b1-4e3f-8c70-1ebe6a3144a8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Source Files">
|
||||
<UniqueIdentifier>{98004c3b-c070-482c-8f53-6b9bd606fd49}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8c62d46b-b7cc-482f-870d-38bb3a53621a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging">
|
||||
<UniqueIdentifier>{4ba6b70f-0740-4550-9beb-0d774f5a8d5d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{414e2033-a4b6-4391-812b-a8d317b8fbd0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Header Files">
|
||||
<UniqueIdentifier>{462bae06-e5e6-4e88-bb39-511c10d3950f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b8c8f6e7-f832-42dd-98f0-2d7b3815bec1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Source Files">
|
||||
<UniqueIdentifier>{2581730a-7708-4d21-99cc-90d5c052a33d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ddf7dac1-fead-49df-9849-14169646db69}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket">
|
||||
<UniqueIdentifier>{dbb522db-cfcd-4b3a-a391-da5c3079c339}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0287a91c-27a5-41ea-992a-c857fb315028}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Header Files">
|
||||
<UniqueIdentifier>{3eabc2a4-8777-4e5e-b82f-9a8d1983a4fa}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{bd201dba-5155-4dc6-83ce-695a72dff780}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Source Files">
|
||||
<UniqueIdentifier>{c86642ef-f38f-4cd3-883b-4ae3cdbf6758}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{59bc23a0-fe83-4187-bccb-12c68e94d85b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth">
|
||||
<UniqueIdentifier>{c782caaf-6d46-44e0-81b0-94f6fcd4b737}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5c788902-12f2-476b-a7d7-8e54f4897b67}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Header Files">
|
||||
<UniqueIdentifier>{72b4da46-9306-4da0-a6db-7d1c427f94f9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{893e545c-2600-4e0b-a0a8-b01717623138}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Source Files">
|
||||
<UniqueIdentifier>{4ac9cd9f-b051-428c-85ed-e506ba730bdc}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{08c4447e-9f30-412a-9d2b-7e0fc6e75a47}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@ -198,6 +198,9 @@
|
||||
<ClInclude Include="src\MulticastSocketTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\PollSetTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\RawSocketTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
@ -383,6 +386,9 @@
|
||||
<ClCompile Include="src\MulticastSocketTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PollSetTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocketTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
@ -324,6 +324,7 @@
|
||||
<ClInclude Include="src\EchoServer.h"/>
|
||||
<ClInclude Include="src\MulticastEchoServer.h"/>
|
||||
<ClInclude Include="src\MulticastSocketTest.h"/>
|
||||
<ClInclude Include="src\PollSetTest.h"/>
|
||||
<ClInclude Include="src\RawSocketTest.h"/>
|
||||
<ClInclude Include="src\SocketsTestSuite.h"/>
|
||||
<ClInclude Include="src\SocketStreamTest.h"/>
|
||||
@ -387,6 +388,7 @@
|
||||
<ClCompile Include="src\EchoServer.cpp"/>
|
||||
<ClCompile Include="src\MulticastEchoServer.cpp"/>
|
||||
<ClCompile Include="src\MulticastSocketTest.cpp"/>
|
||||
<ClCompile Include="src\PollSetTest.cpp"/>
|
||||
<ClCompile Include="src\RawSocketTest.cpp"/>
|
||||
<ClCompile Include="src\SocketsTestSuite.cpp"/>
|
||||
<ClCompile Include="src\SocketStreamTest.cpp"/>
|
||||
|
@ -2,163 +2,163 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="NetCore">
|
||||
<UniqueIdentifier>{e6aad03a-bc56-44f5-8944-2fead0935ac2}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b5b86e3a-cc2b-45d9-9094-5217da67d54e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Header Files">
|
||||
<UniqueIdentifier>{a6c69e1d-6669-4948-8163-7f38814d8256}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{47af3eb3-4c0f-42a6-9a5d-681e6773dfbf}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Source Files">
|
||||
<UniqueIdentifier>{dd30b6ff-b34a-45b6-8c14-67189f7c67c1}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8e7a01cf-1e1a-487b-92a2-cb15f9d58c98}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite">
|
||||
<UniqueIdentifier>{d3f6e1b9-f998-41aa-b56c-8ba78c80ef57}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ad745b43-ac86-4c86-bc7f-7b4afeb99592}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite\Header Files">
|
||||
<UniqueIdentifier>{47e7384c-5bf3-476d-b1c4-f1c429477464}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{548bd624-cbfc-403d-97ef-42ddce4420eb}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite\Source Files">
|
||||
<UniqueIdentifier>{526fa304-d21b-4967-9a7b-c5c5f791eb6b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0d23d624-4029-4198-b236-b8bb49db17fe}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Driver">
|
||||
<UniqueIdentifier>{af813f2a-f7a2-46eb-a14d-b1aa6d62e4d3}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{899377ce-2462-4093-8dcf-5503d635d9a0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Driver\Source Files">
|
||||
<UniqueIdentifier>{f858cf1f-dbfb-4efc-bd36-90b6ada3cdb9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1971d83f-95f9-45b3-bc8b-ebf2ff1cb9f9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets">
|
||||
<UniqueIdentifier>{6981147b-f3fb-4925-961c-0a20366dc858}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e2993ef1-c8d8-40a0-9d62-ba0b0c6a50c0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Header Files">
|
||||
<UniqueIdentifier>{fe6c8deb-5554-4783-8481-f25bc227a070}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{09f9826d-8621-460c-9d79-9796cf01645b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Source Files">
|
||||
<UniqueIdentifier>{7691fe6c-6333-459a-ab18-000335986582}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b7e00a79-cf0d-4d63-a841-1d1ad2e53209}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages">
|
||||
<UniqueIdentifier>{e62352cd-0d6b-4861-b0f4-c29a2faea981}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d80af0c5-bf38-43c4-8d64-bea9e39acf4e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Header Files">
|
||||
<UniqueIdentifier>{eb811d5c-2cf7-41dc-b028-a55dbaf0f7bf}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3cb4792d-ecb5-471f-8da1-3462e55e812e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Source Files">
|
||||
<UniqueIdentifier>{261a2e8a-9169-4d45-a8dd-fba6777f02ad}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{686a2412-731f-40b0-a3e2-74b33382c901}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP">
|
||||
<UniqueIdentifier>{7791c1dc-d74b-49ac-a6b9-c60ea5a553d2}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{bcfb802d-baad-4380-97ab-4c11ba807cb1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Header Files">
|
||||
<UniqueIdentifier>{926c627e-1043-479a-b240-45dfced23683}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ae1b5127-32ba-4d62-b8a9-f05658b460ba}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Source Files">
|
||||
<UniqueIdentifier>{df35ecf6-26fd-4f82-b980-ca1d3df74aba}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{cf858a27-dd26-43df-ae67-b1be306834ab}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer">
|
||||
<UniqueIdentifier>{e730864b-5279-4b46-8140-b562dc200c93}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{dd7e89b3-fbbe-412a-a6f5-0c6e4966f165}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Header Files">
|
||||
<UniqueIdentifier>{5242df23-3eec-40e1-9af6-08e1b27d4302}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5abbc26e-5292-4b87-a66e-8780c4857a82}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Source Files">
|
||||
<UniqueIdentifier>{1e18c3df-b5bf-434c-8577-6bdfc3a18b6c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{daa045e6-c6c0-421f-9811-6fb841f33d43}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer">
|
||||
<UniqueIdentifier>{da7451d9-ac2a-4d80-846a-0fa4dd3de48d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d51ed08e-ab8e-48f2-b122-a2fdaefda20e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Header Files">
|
||||
<UniqueIdentifier>{90d80e25-6abf-4be9-a5f5-a0442f96203e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{65aa2304-1536-4a83-bbca-de2f6e471fcf}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Source Files">
|
||||
<UniqueIdentifier>{efd92462-ffb5-4ebb-8530-ead74dce37e4}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e4e5ea29-3314-47e4-b434-1217cfc43c32}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML">
|
||||
<UniqueIdentifier>{e76b68bf-e6cf-4efc-a38b-0733514e4fd2}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8c23ea11-44fe-4bbc-9b7d-b4a090b38156}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Header Files">
|
||||
<UniqueIdentifier>{6d3095f9-53e3-434a-85b5-79f47e8733b3}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{47b5a6a7-2c17-475a-8846-7169009c9c3b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Source Files">
|
||||
<UniqueIdentifier>{fee44a5b-21b6-4589-b632-42ff6c7cfa3b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ebe56eeb-d062-4371-a64b-e315915d6384}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient">
|
||||
<UniqueIdentifier>{33f64883-387f-4ab8-8d12-7e1ddcc67c7d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0029cfe9-3350-47e5-8704-338da776c2b6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Header Files">
|
||||
<UniqueIdentifier>{5d30a287-873b-4194-a608-062270ae6bc1}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2ace085b-7ef6-4fbf-9b06-45153bb62337}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Source Files">
|
||||
<UniqueIdentifier>{5a130bd9-4903-4f02-a506-ae8a8752c02d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1132ed72-29d4-4d7f-a661-c87e8a5f97fa}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient">
|
||||
<UniqueIdentifier>{44d92719-6b8f-4b08-bae0-cfa6528bb421}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a35bc656-2db4-47f5-ae87-e19fb92c19bf}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Header Files">
|
||||
<UniqueIdentifier>{7b893d44-e842-4ec4-921e-40cc22c6dcee}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{84cbb981-6632-4dfc-b388-906b8bbdf98b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Source Files">
|
||||
<UniqueIdentifier>{84c4ebe3-3a5a-4ce7-9b9b-bac6011ef53e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{dfdacca9-0167-47e2-8156-07ac21bf5eec}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor">
|
||||
<UniqueIdentifier>{016fefca-fc54-408c-98db-ae09618c71c9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{296902dc-6ac2-4ce6-85e0-ecdfeff19808}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Header Files">
|
||||
<UniqueIdentifier>{ee15d01a-5366-4c99-9c4c-598430effa1b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d516b765-daea-4f0a-b36f-85316bdac077}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Source Files">
|
||||
<UniqueIdentifier>{1cf10455-a7cf-43eb-8347-063751e41ba3}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{09bdb81c-6806-4b93-8179-bbdfba444c0f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail">
|
||||
<UniqueIdentifier>{32b06ead-2d33-42d8-b2a5-488d61b62447}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{fb02df76-95f3-4065-8614-d0b1716569f4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Header Files">
|
||||
<UniqueIdentifier>{2865452f-07b8-422e-8852-b6321d721358}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d262515e-2bb8-4200-98cd-2628fddcac95}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Source Files">
|
||||
<UniqueIdentifier>{24119791-8918-4424-b3ab-345bb2f9dcd9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3fb06bd1-fc74-4e6d-bb47-7b69168b02ec}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP">
|
||||
<UniqueIdentifier>{4e9e44a8-0620-4e59-ba02-81706e56a792}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b4779848-78a3-4f66-92ca-bd900a069c66}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Header Files">
|
||||
<UniqueIdentifier>{f3fad274-bf40-4985-ae59-28ae2ee07980}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{316ced9a-4c87-43b1-8a70-6a62009f4ce3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Source Files">
|
||||
<UniqueIdentifier>{55304426-4522-4f39-916e-2c2402e94271}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2d01666b-b2b5-4e0d-882b-d3f560960479}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP">
|
||||
<UniqueIdentifier>{838816fd-365b-485b-bcbf-0176c95d05a3}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{656b4ec9-2f8e-437d-a840-436cc3c8ac15}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Header Files">
|
||||
<UniqueIdentifier>{58e9c588-a79f-4633-a9c1-4f788090cb5e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{12921304-ed58-4a6b-9892-eee690e7f138}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Source Files">
|
||||
<UniqueIdentifier>{4e31987e-35e7-4cc1-b7b3-70df8a6e853b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3bd6f8c5-f716-4691-86f3-207a4485447c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging">
|
||||
<UniqueIdentifier>{b2fc5fb3-32d6-4613-a1c5-a170dfc8d1f9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f25dacdc-0379-4d42-aa75-c2af38ee70c9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Header Files">
|
||||
<UniqueIdentifier>{43482703-c1b8-4404-84ff-5806a7ca9093}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{637a5dad-4263-4185-9d20-c6d11061f2b5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Source Files">
|
||||
<UniqueIdentifier>{02f5677a-29db-4d5c-92b1-c39b7af29223}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{373cf3f5-3078-4e69-9ab0-bfd3c67fbbca}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket">
|
||||
<UniqueIdentifier>{7d6788c1-d3d6-4045-8738-57c3523479e1}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{90b779df-fc8c-41a9-923d-2a197fe9cfdd}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Header Files">
|
||||
<UniqueIdentifier>{94d81a50-2782-47f3-aaa0-761713697f37}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{80a7f6d1-2f53-4fc8-a5b8-6a5104e9cdd8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Source Files">
|
||||
<UniqueIdentifier>{40109ac1-0b05-47fe-9f9f-7a70d5611fa3}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{93fe5b5a-2b6d-4ab9-82de-c039eae3a8bc}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth">
|
||||
<UniqueIdentifier>{39100595-4a62-4155-820e-4413ca65b835}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1dcec06e-24c2-4e79-9b8c-408b012f640f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Header Files">
|
||||
<UniqueIdentifier>{c57119a0-50b6-4d3d-a997-dd0ce1e037fa}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{12d4707a-db5e-4e3d-b75e-e6a70fa4ff06}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Source Files">
|
||||
<UniqueIdentifier>{3f41dc72-ce98-4878-9c46-0690240a3f3b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a5a77d73-4998-412b-9e62-4f4d5e43f7c9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@ -198,6 +198,9 @@
|
||||
<ClInclude Include="src\MulticastSocketTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\PollSetTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\RawSocketTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
@ -383,6 +386,9 @@
|
||||
<ClCompile Include="src\MulticastSocketTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PollSetTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocketTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
@ -348,6 +348,7 @@
|
||||
<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"/>
|
||||
@ -411,6 +412,7 @@
|
||||
<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"/>
|
||||
|
@ -2,163 +2,163 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="NetCore">
|
||||
<UniqueIdentifier>{b6988bac-0846-4d9f-9c8f-61c26969f725}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{572ef848-85eb-4ec2-b411-dd3c69f60b7f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Header Files">
|
||||
<UniqueIdentifier>{6996c901-4c5e-4ba8-821b-3125090e8df4}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2d755b3c-a80e-460d-aa5f-ef84b53450d5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Source Files">
|
||||
<UniqueIdentifier>{d66c9a3c-f113-4aea-8e75-16cc856af333}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d8a8d254-f596-4f14-ad64-959cddac2cfe}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite">
|
||||
<UniqueIdentifier>{277e5690-a3c0-45ee-831c-56065cf2174a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{54017119-2d78-4e1a-ac25-68340c10137e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite\Header Files">
|
||||
<UniqueIdentifier>{e05ed1b2-2e25-424e-8eb2-cb134a604999}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{baff5799-4e20-4c23-bf08-993ad909754d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite\Source Files">
|
||||
<UniqueIdentifier>{b69a33f6-53d5-431a-85b9-b8309aabbe04}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9a6da98d-b2c5-4b2d-b82d-21a13f578c2f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Driver">
|
||||
<UniqueIdentifier>{ccc32200-e004-48c5-bdf4-1cd7fa8cbb6c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{84d16d7c-0031-4878-9766-aa57ff5d6858}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Driver\Source Files">
|
||||
<UniqueIdentifier>{38f83870-191c-4dd3-9c54-1210e2eb9519}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1f5c6d52-f559-41d4-b79b-aea487e2dd38}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets">
|
||||
<UniqueIdentifier>{78ea10d2-0766-481b-a4ae-857036ea0abc}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{659223bb-6a04-43d3-8e1b-e07785b88765}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Header Files">
|
||||
<UniqueIdentifier>{ce87c91c-103a-4de9-a660-5c149547c90f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f7886e92-7722-4796-b220-68bfd7efe527}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Source Files">
|
||||
<UniqueIdentifier>{24163ad9-dc46-4620-bb29-f37734215d45}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7e9415a5-eea3-425b-a475-c467bb9cd2b8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages">
|
||||
<UniqueIdentifier>{42f989cc-5a80-41fd-afc9-fae866f271ef}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{fad679ac-2626-49a6-b738-6d2518642300}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Header Files">
|
||||
<UniqueIdentifier>{e1a28a99-4c46-4db3-816d-fdd20946efe5}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5a4a8d66-e59d-40e4-b87d-db6f8bd06436}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Source Files">
|
||||
<UniqueIdentifier>{bde7183a-4642-4cae-aa7c-053089c8ee71}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{96c803e1-2a67-4356-b588-8092f2ad4a4a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP">
|
||||
<UniqueIdentifier>{c819d391-0a3d-47b5-abc7-2a08c9ce4374}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7a5caf0c-65a5-485e-a37f-779634b93db1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Header Files">
|
||||
<UniqueIdentifier>{335a5eea-7011-4902-8049-253ffa437453}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9f998b08-733e-48ef-8451-5d536b7eb3f4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Source Files">
|
||||
<UniqueIdentifier>{1de7709f-b75d-4d4f-84a4-2192f7dc3130}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a8f43893-e528-40e0-a118-60ebd43b5c95}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer">
|
||||
<UniqueIdentifier>{089412c6-0d5a-4740-9ea1-493c5898dd0d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{02d0b12e-89fc-4513-b955-45258497fc23}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Header Files">
|
||||
<UniqueIdentifier>{2ef593c2-b52d-469b-9166-048b1580a494}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b0d42815-a76a-4812-8448-ba4711cdc0c2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Source Files">
|
||||
<UniqueIdentifier>{e36bb74b-1644-40cb-9bfa-7c27adf4e37e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{565939c7-29f9-4a4d-a96b-1d545df05aab}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer">
|
||||
<UniqueIdentifier>{ec51ca9c-a226-433e-a555-3cfcfb9e7b8e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ca4bfbf5-9a7f-489c-85be-d1fc821d9d24}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Header Files">
|
||||
<UniqueIdentifier>{9cdbae14-47ee-4017-840b-06aa7773db40}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3cc00238-bf26-4440-95ad-72675658ddcb}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Source Files">
|
||||
<UniqueIdentifier>{c68f59bf-9582-461a-be4b-ee225dd3d709}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{62171d36-a602-4f43-a662-dbd608a62362}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML">
|
||||
<UniqueIdentifier>{045e8010-99c6-4884-af60-35ac99b8b64f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{34765b8c-1872-4859-bfc6-76818f79bc52}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Header Files">
|
||||
<UniqueIdentifier>{8decca03-9752-453e-8e4d-0ddc1c79cba0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{598cdc74-9d7d-46ba-a1d7-1bfd8f314a1c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Source Files">
|
||||
<UniqueIdentifier>{2033c7ff-6c9d-4f47-ab1c-d3897e46dded}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7dbd12ff-1ba5-498c-ae55-a049b040a766}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient">
|
||||
<UniqueIdentifier>{0dabfc70-f107-4b9f-9292-1243f18258d4}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c68d737a-a0f2-439b-a482-c53dfcf41116}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Header Files">
|
||||
<UniqueIdentifier>{bb1afed9-49ad-43f5-80c9-7eadd62aa32a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{92595dd9-68bb-4bef-8b21-277354f3c0e0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Source Files">
|
||||
<UniqueIdentifier>{b75d6853-3af3-4485-90a7-282ba7af0a4a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5f918cbb-2e42-4795-b387-c1f5c164a00b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient">
|
||||
<UniqueIdentifier>{46493f24-8d22-43f5-9076-29f5a75abce7}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{130a0ed4-ab19-4404-8ac3-38de44f9d8db}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Header Files">
|
||||
<UniqueIdentifier>{a449e4fc-ab4e-4e13-b2dc-4f46300130dd}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{126a9ea1-00f5-40e5-85a6-cb194f3e6183}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Source Files">
|
||||
<UniqueIdentifier>{b08a950f-20b5-4c09-b608-ad6467d05304}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7b358d3d-4470-47d1-aa84-107a2771ac83}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor">
|
||||
<UniqueIdentifier>{029faa34-6f21-40f9-9e2f-385a13a1761a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{bdb9111d-dc85-4da7-94e1-5527fdc44f90}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Header Files">
|
||||
<UniqueIdentifier>{3690c148-0882-4b78-b77f-e4fb3ca09cdd}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{55907e89-0923-414d-9433-fc241eca8f06}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Source Files">
|
||||
<UniqueIdentifier>{5e123a69-73b3-4423-b34a-06a83deae130}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{63aedb5c-e28b-4f31-a2d0-091aca9b3a6b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail">
|
||||
<UniqueIdentifier>{8079cc32-36f6-44a9-8563-2f82e5b2f946}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{44792bac-7022-4bb7-be3f-8e2a256ba75c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Header Files">
|
||||
<UniqueIdentifier>{86851715-e562-45d1-ad33-b64a8f953b31}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{cd6487b7-1b93-4458-8f5d-5a3de04207b8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Source Files">
|
||||
<UniqueIdentifier>{4733f36f-253a-4e7c-87ec-17e5b5c8bf8f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3f939475-68ba-4ec2-acdc-5a60a39ed8b1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP">
|
||||
<UniqueIdentifier>{fe1d74e0-2938-4258-8a64-e2da84e08c41}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{21487d6f-d325-4bb6-8c02-e44acb6540f0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Header Files">
|
||||
<UniqueIdentifier>{6b1aa5b4-f9c0-4b3e-bd1f-56bef604635e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{85822d6f-50d5-4dbf-9622-777fbfab4b7d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Source Files">
|
||||
<UniqueIdentifier>{e7de318d-bb87-4335-b923-6d6679029af8}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{78538583-498c-4a6f-940c-503c696a0058}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP">
|
||||
<UniqueIdentifier>{2007aa2c-3b03-4042-af24-d47656eff3b0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ae6b8b8a-9465-4919-95f4-14b12a42b224}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Header Files">
|
||||
<UniqueIdentifier>{1038636c-ede7-4c0b-9670-1eb1d668b8a8}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7beb24d3-a8bf-45ed-a54d-690666207ee6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Source Files">
|
||||
<UniqueIdentifier>{2865bfb7-826f-426b-a465-2628df3d63bd}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{23a9e661-7f02-4a2b-865e-c4648e8013e9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging">
|
||||
<UniqueIdentifier>{7abc1d63-8bed-4b02-a8fc-658d5feedf57}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9e26c672-28ff-4b5f-adaf-9053e7ecc00e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Header Files">
|
||||
<UniqueIdentifier>{da4548f7-a8e7-46dc-a645-c825687befcf}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{85ec68e2-f441-4736-b412-4838d3a6fa57}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Source Files">
|
||||
<UniqueIdentifier>{4bc566cb-d1a6-4984-af43-4bc203c811eb}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d5a1779d-c818-4f1a-8e05-03b02499eac4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket">
|
||||
<UniqueIdentifier>{2b592d85-edff-442a-bc2a-f52effe2dd3d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{59d2bd23-eb2f-4508-882f-4edf167f980a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Header Files">
|
||||
<UniqueIdentifier>{2c54dbd1-13ea-4dda-8618-334173bcdd29}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{21e993a8-8fb7-4988-86d0-11d3641c6cd8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Source Files">
|
||||
<UniqueIdentifier>{7be4bc23-2ab2-45ea-aa31-c18b94518778}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{6206d22a-dd02-4898-9340-c0a146601485}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth">
|
||||
<UniqueIdentifier>{afc7b4e9-777d-43d4-b3fd-7738a3526409}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{dddcdcbd-b249-42fa-84d0-5de73f207cfb}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Header Files">
|
||||
<UniqueIdentifier>{a35ae97c-7d26-40ed-b509-5e59090bc0f6}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8b924b99-e288-44d8-be0a-f1713ed58f2d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Source Files">
|
||||
<UniqueIdentifier>{9f780c4d-ca76-46ea-ac20-6168523aa94a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{52b422a9-3f86-4405-8be0-a673a337adda}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@ -198,6 +198,9 @@
|
||||
<ClInclude Include="src\MulticastSocketTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\PollSetTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\RawSocketTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
@ -383,6 +386,9 @@
|
||||
<ClCompile Include="src\MulticastSocketTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PollSetTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocketTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
@ -85,7 +85,7 @@
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros"/>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.23107.0</_ProjectFileVersion>
|
||||
<_ProjectFileVersion>14.0.25420.1</_ProjectFileVersion>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">TestSuited</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">TestSuited</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">TestSuited</TargetName>
|
||||
@ -348,6 +348,7 @@
|
||||
<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"/>
|
||||
@ -411,6 +412,7 @@
|
||||
<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"/>
|
||||
|
@ -2,163 +2,163 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="NetCore">
|
||||
<UniqueIdentifier>{10a53125-3b91-46a2-9c12-c03a4e668af0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5bac9a4f-eae5-42ad-aa54-9c13981537ed}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Header Files">
|
||||
<UniqueIdentifier>{df732e18-f1d2-476c-96e5-e341bb8c950d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ccb7ad69-d992-486c-9b04-8eca2dcb722c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Source Files">
|
||||
<UniqueIdentifier>{be524841-b197-4aac-b59b-ed32548247f2}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b848bbbb-fec8-421b-9a1f-b44d7304dfe2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite">
|
||||
<UniqueIdentifier>{808d63e6-29ca-48f1-a508-c091f5aabaf0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3177e82a-b44d-4065-961a-e26ff1696481}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite\Header Files">
|
||||
<UniqueIdentifier>{c62b7331-85f1-48f6-a283-f35f6be126bb}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{bdfe9c90-8a8e-4fbd-98da-e825e8dcf57f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite\Source Files">
|
||||
<UniqueIdentifier>{74def5b4-3c9a-4cb2-a790-6fe875ddf47a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1f01d43d-ed43-46d1-9a88-6d54eeed4b45}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Driver">
|
||||
<UniqueIdentifier>{198ad1f7-e8cf-4a09-9873-60fd70222994}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{59a17d6d-bb1b-4c6f-ae6d-3cb55bc57ff8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Driver\Source Files">
|
||||
<UniqueIdentifier>{01dd2b7e-0dd9-42d4-94b1-8031c6001a68}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1249944c-f019-4458-8952-42caa756d35b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets">
|
||||
<UniqueIdentifier>{533e832c-057b-45b3-af5f-000015eda594}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9020aa83-0b74-4b4a-a5c8-0799db689c73}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Header Files">
|
||||
<UniqueIdentifier>{b536d8de-45ce-449a-8583-1f15cc7d4b42}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ae1b2d64-b4d3-4654-b19e-cd72b8136caa}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Source Files">
|
||||
<UniqueIdentifier>{4f274ebb-3501-439d-9d9d-3645e3212f21}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f9cb4590-dff7-4c78-8150-633a8ddb8fa9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages">
|
||||
<UniqueIdentifier>{6a2fbc33-efea-4a80-bdaa-7121d0ce072e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{856a9622-0c6d-44e5-851d-e8bfff1aa028}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Header Files">
|
||||
<UniqueIdentifier>{9d3ecfce-f74b-453f-a7fb-362a5172b4e7}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{dd71be9e-362b-4e7f-bde9-486c1adbfa29}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Source Files">
|
||||
<UniqueIdentifier>{a8c7c471-b3ca-4aab-9972-623841c66ee2}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{09f0dd92-2664-43af-828d-48929aa67196}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP">
|
||||
<UniqueIdentifier>{b8b7bf0e-5968-48a4-a28d-9866b22d67f0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{06edef3c-3efd-4921-ab9c-4944ae1bb3f6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Header Files">
|
||||
<UniqueIdentifier>{35fb6f45-4b04-447d-a56f-ebd5176760ce}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7f3c4247-1693-424b-834a-a962f265a3d5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Source Files">
|
||||
<UniqueIdentifier>{ea0474ac-1586-4e56-b64a-48672f1208df}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f405a95a-04d9-4f9f-a613-4051f46725fa}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer">
|
||||
<UniqueIdentifier>{25ee68d3-e10a-458b-88ba-f5887617d21a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{37d2fa99-af92-4837-85f3-6b3084b3e9c7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Header Files">
|
||||
<UniqueIdentifier>{61fa0671-3329-4b2e-a9dd-1a2168758583}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1ec456ed-017e-43f8-b32e-f01208176529}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Source Files">
|
||||
<UniqueIdentifier>{00f8c4ed-b3a4-4d6d-9ac8-b86706ccefdd}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{89c45b35-b28a-446b-873f-af6c4970f30f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer">
|
||||
<UniqueIdentifier>{2aa8fbab-609a-4df0-b376-fb84186d8c9d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0abd30e1-c35a-447e-b3b1-f617d486341b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Header Files">
|
||||
<UniqueIdentifier>{d633484f-b656-44b1-920d-adc532eb1220}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{22554921-bb25-4f1e-9cf0-ca54d679e09a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Source Files">
|
||||
<UniqueIdentifier>{f780bef8-03d0-4cc0-942e-b1a415ad0ffc}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9567c8b9-d2e9-4539-9442-68ce5f33b61b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML">
|
||||
<UniqueIdentifier>{56c31e27-e3c4-456d-9aa9-385d0b498d28}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{42de0233-33b5-47aa-917b-c443c4d23a0e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Header Files">
|
||||
<UniqueIdentifier>{0533994b-64f4-400f-ae51-ee79d005d85a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2f9eb881-304e-4b37-afdb-803184c02996}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Source Files">
|
||||
<UniqueIdentifier>{d2099f07-9476-4f9a-a670-491cb96a1c63}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{da0dbcd6-910f-4afe-a43c-d3f73d588f8f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient">
|
||||
<UniqueIdentifier>{18f8e85a-5efe-4ff9-a18f-40f32974ca07}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b61477db-29e0-40a0-afb6-2170f547ac0d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Header Files">
|
||||
<UniqueIdentifier>{77e4738b-9e1f-4610-8c04-80e077110c02}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b616ee6c-fe00-45a7-b44c-bd8801e2798d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Source Files">
|
||||
<UniqueIdentifier>{9400f06a-92fa-47cb-a61f-3c6ffd176166}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{669d4e42-5a1f-4c08-8a04-e6849710558c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient">
|
||||
<UniqueIdentifier>{7ee769c2-4cb5-4c24-8bd0-1a1146c5ab7c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{96847999-4642-4bc4-abbe-e2f6b2e6f3ee}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Header Files">
|
||||
<UniqueIdentifier>{ecef2370-add1-4819-9767-28b8d5be7162}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{35426749-03ef-409e-b381-5aa06b771f58}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Source Files">
|
||||
<UniqueIdentifier>{c6d25443-4f93-4508-9958-6657dd34bb86}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c33ade81-c6fa-464d-b906-88777bc79079}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor">
|
||||
<UniqueIdentifier>{05588d55-dffa-4212-b575-d37bf952c419}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2ef3c449-e188-449c-8fbc-92ddf79a29b1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Header Files">
|
||||
<UniqueIdentifier>{c86a1ff6-91df-4327-960e-2f611b4e1fa0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b0785546-0d83-40e0-9132-404b4241c8c2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Source Files">
|
||||
<UniqueIdentifier>{d47e9304-2f15-4bfc-ad67-496e013a247d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f973ee99-5d79-4a4f-89e7-5ea1a50cac73}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail">
|
||||
<UniqueIdentifier>{d46abf8f-1b47-451e-942e-3162bc382766}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{af2ebb41-ebff-47aa-b842-24102fc584fb}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Header Files">
|
||||
<UniqueIdentifier>{aa3e0f9d-505d-4db8-a6b1-31f3c24e3e49}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c1770b83-3ea0-4f84-aceb-0f2d850a342e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Source Files">
|
||||
<UniqueIdentifier>{64b26401-3a3a-4347-9923-f19553b2394f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2d56548f-37cf-41b6-950e-2ce234cce7e1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP">
|
||||
<UniqueIdentifier>{3dc23100-db08-4fd0-b444-97429544d7f0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{296b9350-ed6a-4af9-abd3-cb8073778cd4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Header Files">
|
||||
<UniqueIdentifier>{7233365a-4630-496e-a984-81e605be0fd0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8f5e5a24-0bcb-4dea-85e8-50dbf8473abb}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Source Files">
|
||||
<UniqueIdentifier>{1e07366e-718e-44ab-baf7-cb0a22060966}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f1398ad9-1fe6-4cce-bfaf-3a8ef76c640a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP">
|
||||
<UniqueIdentifier>{d4be188e-c029-4db9-9291-34fafb667273}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{6313ef90-1584-47a4-aed0-c57935197624}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Header Files">
|
||||
<UniqueIdentifier>{907085c4-c4a1-4e8a-842d-c8b2e459fed9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9b5da470-c2fa-45c4-a171-26283d94afc0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Source Files">
|
||||
<UniqueIdentifier>{92e34f1c-b8fc-434d-a376-78fbbc17198c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ac429219-4649-4290-bdef-81d3b1d4f6fc}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging">
|
||||
<UniqueIdentifier>{ac617284-3d36-4c39-9453-e97ddf908f63}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{52a612fe-3648-49f7-9aee-ecc63b82337c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Header Files">
|
||||
<UniqueIdentifier>{57442f63-17cb-40e4-8c3c-dbf1cef18918}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{70c3e00a-00d8-4ef4-bddd-9c6ba473f8fd}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Source Files">
|
||||
<UniqueIdentifier>{3dcf4ac8-ee12-412e-b31d-edbcc8217ab2}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9824cdb2-a911-4d23-bdc4-8785b6e2ed33}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket">
|
||||
<UniqueIdentifier>{c7424d70-c692-4679-ba48-110bffcb69cb}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{6aead5a5-5882-4200-9a34-bd566daa3f0d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Header Files">
|
||||
<UniqueIdentifier>{251cceaa-ce8d-4b7c-894a-3377463c4e42}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5486bf27-3baf-4a04-991c-3f271874bcd7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Source Files">
|
||||
<UniqueIdentifier>{6e20cf50-b70b-46d6-af6e-48585305d913}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d8085c4e-b48d-458e-bdd5-a11e9257adf3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth">
|
||||
<UniqueIdentifier>{b079125b-ce2f-4cab-9f81-b1aa426de2ff}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e346fac5-a7b5-4fb7-8879-03281aafeb5e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Header Files">
|
||||
<UniqueIdentifier>{d4a025b7-64f0-4645-9452-3c3db13a1110}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7fcb8f57-98ea-42e8-83e2-36ef140944df}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Source Files">
|
||||
<UniqueIdentifier>{aa79c3ed-ca09-4010-bc57-4468d12da90e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5a634346-25d2-4ad1-bc5f-851f3848306a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@ -198,6 +198,9 @@
|
||||
<ClInclude Include="src\MulticastSocketTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\PollSetTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\RawSocketTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
@ -383,6 +386,9 @@
|
||||
<ClCompile Include="src\MulticastSocketTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PollSetTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocketTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
@ -85,7 +85,7 @@
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros"/>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.23107.0</_ProjectFileVersion>
|
||||
<_ProjectFileVersion>15.0.26228.4</_ProjectFileVersion>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">TestSuited</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">TestSuited</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">TestSuited</TargetName>
|
||||
@ -348,6 +348,7 @@
|
||||
<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"/>
|
||||
@ -411,6 +412,7 @@
|
||||
<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"/>
|
||||
|
@ -2,163 +2,163 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="NetCore">
|
||||
<UniqueIdentifier>{10a53125-3b91-46a2-9c12-c03a4e668af0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{56331ebe-919b-4a27-8d13-a1766cb8c658}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Header Files">
|
||||
<UniqueIdentifier>{df732e18-f1d2-476c-96e5-e341bb8c950d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a8812823-0019-4f1d-ba78-ac535d8df0de}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Source Files">
|
||||
<UniqueIdentifier>{be524841-b197-4aac-b59b-ed32548247f2}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{fe673e2a-7065-4e15-9396-b9623a63a0be}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite">
|
||||
<UniqueIdentifier>{808d63e6-29ca-48f1-a508-c091f5aabaf0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{29fe39f9-41b3-42c3-8365-21b6af11f6cf}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite\Header Files">
|
||||
<UniqueIdentifier>{c62b7331-85f1-48f6-a283-f35f6be126bb}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7abe3d16-9854-420a-8aa9-30d4dfcfee38}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite\Source Files">
|
||||
<UniqueIdentifier>{74def5b4-3c9a-4cb2-a790-6fe875ddf47a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{4d111a62-d656-4576-876b-55670835d1c0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Driver">
|
||||
<UniqueIdentifier>{198ad1f7-e8cf-4a09-9873-60fd70222994}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{88fb63d0-d322-41a0-8647-18d307da69ed}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Driver\Source Files">
|
||||
<UniqueIdentifier>{01dd2b7e-0dd9-42d4-94b1-8031c6001a68}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{36d12c78-9b06-4838-a292-98fb553f7632}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets">
|
||||
<UniqueIdentifier>{533e832c-057b-45b3-af5f-000015eda594}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c8544d1d-f3a3-4fd5-9174-d27404e81620}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Header Files">
|
||||
<UniqueIdentifier>{b536d8de-45ce-449a-8583-1f15cc7d4b42}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3f108502-3507-4e40-894f-9f477e16e439}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Source Files">
|
||||
<UniqueIdentifier>{4f274ebb-3501-439d-9d9d-3645e3212f21}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f2e1f1a9-9e5d-4bee-a8ab-1f4466e9ec14}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages">
|
||||
<UniqueIdentifier>{6a2fbc33-efea-4a80-bdaa-7121d0ce072e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{54bbd48a-e6cf-4f1f-a1ea-c39466aa556a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Header Files">
|
||||
<UniqueIdentifier>{9d3ecfce-f74b-453f-a7fb-362a5172b4e7}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{643e0042-ec9a-4f98-8ff8-f81f4c9346b4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Source Files">
|
||||
<UniqueIdentifier>{a8c7c471-b3ca-4aab-9972-623841c66ee2}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{dcc6b16f-38cf-405d-9337-a506515a039a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP">
|
||||
<UniqueIdentifier>{b8b7bf0e-5968-48a4-a28d-9866b22d67f0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d4dbf694-30bc-414c-94e4-80bd778b63e1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Header Files">
|
||||
<UniqueIdentifier>{35fb6f45-4b04-447d-a56f-ebd5176760ce}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3d4b327a-d06b-47dc-ac5d-9de6052c71d7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Source Files">
|
||||
<UniqueIdentifier>{ea0474ac-1586-4e56-b64a-48672f1208df}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f1a85cc3-9dfd-4564-b9f3-1f8b9b83f792}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer">
|
||||
<UniqueIdentifier>{25ee68d3-e10a-458b-88ba-f5887617d21a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b0054a9f-69f5-4f5d-9200-ca26acbcb610}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Header Files">
|
||||
<UniqueIdentifier>{61fa0671-3329-4b2e-a9dd-1a2168758583}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b86affb5-5f3f-4401-94b1-a1413a448b1d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Source Files">
|
||||
<UniqueIdentifier>{00f8c4ed-b3a4-4d6d-9ac8-b86706ccefdd}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c94c2c38-c2b0-459c-b3db-edc2c224dde4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer">
|
||||
<UniqueIdentifier>{2aa8fbab-609a-4df0-b376-fb84186d8c9d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2b814b5e-c03d-4090-b01a-adc7c00dc9e0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Header Files">
|
||||
<UniqueIdentifier>{d633484f-b656-44b1-920d-adc532eb1220}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{462a9400-5a9e-41f1-9576-34ac7534c058}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Source Files">
|
||||
<UniqueIdentifier>{f780bef8-03d0-4cc0-942e-b1a415ad0ffc}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{18eadc77-b575-4799-a8ac-ab8be3fa2c4b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML">
|
||||
<UniqueIdentifier>{56c31e27-e3c4-456d-9aa9-385d0b498d28}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9dfd19f8-756e-4cea-b937-c330c9fb3482}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Header Files">
|
||||
<UniqueIdentifier>{0533994b-64f4-400f-ae51-ee79d005d85a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ed8a4357-47ab-4743-971f-13e64a7076b2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Source Files">
|
||||
<UniqueIdentifier>{d2099f07-9476-4f9a-a670-491cb96a1c63}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{73216007-e9a7-4cc2-9c07-060cc6c0f8cf}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient">
|
||||
<UniqueIdentifier>{18f8e85a-5efe-4ff9-a18f-40f32974ca07}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c615f920-b768-4fef-932e-451e52316d7a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Header Files">
|
||||
<UniqueIdentifier>{77e4738b-9e1f-4610-8c04-80e077110c02}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{cb2a0f57-62a2-43c3-b0fe-9677e988518b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Source Files">
|
||||
<UniqueIdentifier>{9400f06a-92fa-47cb-a61f-3c6ffd176166}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{23d33469-75a3-40cb-a720-1cff7d8e8b18}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient">
|
||||
<UniqueIdentifier>{7ee769c2-4cb5-4c24-8bd0-1a1146c5ab7c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d5bed21e-e710-447b-8f34-f2c183f4d78a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Header Files">
|
||||
<UniqueIdentifier>{ecef2370-add1-4819-9767-28b8d5be7162}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{588e7ede-845e-4c20-8b82-483d90eaacc8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Source Files">
|
||||
<UniqueIdentifier>{c6d25443-4f93-4508-9958-6657dd34bb86}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3ea49d34-4d02-4042-8284-f3b4c7cbd212}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor">
|
||||
<UniqueIdentifier>{05588d55-dffa-4212-b575-d37bf952c419}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{708032bd-7c9f-4c52-9806-23e385d7267f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Header Files">
|
||||
<UniqueIdentifier>{c86a1ff6-91df-4327-960e-2f611b4e1fa0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{bee22907-da5d-4441-844b-81e750fc2ec8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Source Files">
|
||||
<UniqueIdentifier>{d47e9304-2f15-4bfc-ad67-496e013a247d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{92e4c073-b246-4dfe-aa29-a363da2b5f30}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail">
|
||||
<UniqueIdentifier>{d46abf8f-1b47-451e-942e-3162bc382766}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b4e20c7e-f1d2-45ba-99fe-ae8e6524d829}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Header Files">
|
||||
<UniqueIdentifier>{aa3e0f9d-505d-4db8-a6b1-31f3c24e3e49}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{16c7fe52-d8ad-4d66-8e89-8fc5db9c0bf0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Source Files">
|
||||
<UniqueIdentifier>{64b26401-3a3a-4347-9923-f19553b2394f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3bef6879-516b-4e18-9dff-821e0ebc41fd}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP">
|
||||
<UniqueIdentifier>{3dc23100-db08-4fd0-b444-97429544d7f0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a6e084ae-25d5-444a-ba78-1b0d117d92b3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Header Files">
|
||||
<UniqueIdentifier>{7233365a-4630-496e-a984-81e605be0fd0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{28f5f084-bfe8-4f6b-90ce-64df40cac00a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Source Files">
|
||||
<UniqueIdentifier>{1e07366e-718e-44ab-baf7-cb0a22060966}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{325d0957-f3f7-444f-8989-cd93703260dc}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP">
|
||||
<UniqueIdentifier>{d4be188e-c029-4db9-9291-34fafb667273}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b9e332d6-bfe6-4efa-97eb-6f26c8256a09}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Header Files">
|
||||
<UniqueIdentifier>{907085c4-c4a1-4e8a-842d-c8b2e459fed9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{efb15c5a-b509-4001-9557-c4a1ed5c44cb}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Source Files">
|
||||
<UniqueIdentifier>{92e34f1c-b8fc-434d-a376-78fbbc17198c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a85ddcd8-5fac-429b-b100-c99098699992}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging">
|
||||
<UniqueIdentifier>{ac617284-3d36-4c39-9453-e97ddf908f63}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{644c6fdc-017b-4bff-b57a-ee1c8fb9cd88}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Header Files">
|
||||
<UniqueIdentifier>{57442f63-17cb-40e4-8c3c-dbf1cef18918}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e89d3197-70a6-49a4-9a69-7285ea00ca6a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Source Files">
|
||||
<UniqueIdentifier>{3dcf4ac8-ee12-412e-b31d-edbcc8217ab2}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3154cc0e-2c17-4911-be21-0dfc6119b054}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket">
|
||||
<UniqueIdentifier>{c7424d70-c692-4679-ba48-110bffcb69cb}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{dec9b02f-5869-4022-84a7-c8ebaa2c8d06}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Header Files">
|
||||
<UniqueIdentifier>{251cceaa-ce8d-4b7c-894a-3377463c4e42}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2f022969-3b53-405f-8afc-060697248971}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Source Files">
|
||||
<UniqueIdentifier>{6e20cf50-b70b-46d6-af6e-48585305d913}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{947a7696-2bab-4448-b7bd-fe7bd421e54d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth">
|
||||
<UniqueIdentifier>{b079125b-ce2f-4cab-9f81-b1aa426de2ff}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ee3808ac-83a2-4732-8bb7-3d1ce3767f19}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Header Files">
|
||||
<UniqueIdentifier>{d4a025b7-64f0-4645-9452-3c3db13a1110}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{57112f17-94c8-4221-8ce7-42c3eede8c5b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Source Files">
|
||||
<UniqueIdentifier>{aa79c3ed-ca09-4010-bc57-4468d12da90e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{80106c6b-2b4f-4280-900c-7ba8ae104daf}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@ -198,6 +198,9 @@
|
||||
<ClInclude Include="src\MulticastSocketTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\PollSetTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\RawSocketTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
@ -383,6 +386,9 @@
|
||||
<ClCompile Include="src\MulticastSocketTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PollSetTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocketTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
@ -509,6 +509,8 @@
|
||||
RelativePath=".\src\MulticastEchoServer.h"/>
|
||||
<File
|
||||
RelativePath=".\src\MulticastSocketTest.h"/>
|
||||
<File
|
||||
RelativePath=".\src\PollSetTest.h"/>
|
||||
<File
|
||||
RelativePath=".\src\RawSocketTest.h"/>
|
||||
<File
|
||||
@ -534,6 +536,8 @@
|
||||
RelativePath=".\src\MulticastEchoServer.cpp"/>
|
||||
<File
|
||||
RelativePath=".\src\MulticastSocketTest.cpp"/>
|
||||
<File
|
||||
RelativePath=".\src\PollSetTest.cpp"/>
|
||||
<File
|
||||
RelativePath=".\src\RawSocketTest.cpp"/>
|
||||
<File
|
||||
|
@ -324,6 +324,7 @@
|
||||
<ClInclude Include="src\EchoServer.h"/>
|
||||
<ClInclude Include="src\MulticastEchoServer.h"/>
|
||||
<ClInclude Include="src\MulticastSocketTest.h"/>
|
||||
<ClInclude Include="src\PollSetTest.h"/>
|
||||
<ClInclude Include="src\RawSocketTest.h"/>
|
||||
<ClInclude Include="src\SocketsTestSuite.h"/>
|
||||
<ClInclude Include="src\SocketStreamTest.h"/>
|
||||
@ -387,6 +388,7 @@
|
||||
<ClCompile Include="src\EchoServer.cpp"/>
|
||||
<ClCompile Include="src\MulticastEchoServer.cpp"/>
|
||||
<ClCompile Include="src\MulticastSocketTest.cpp"/>
|
||||
<ClCompile Include="src\PollSetTest.cpp"/>
|
||||
<ClCompile Include="src\RawSocketTest.cpp"/>
|
||||
<ClCompile Include="src\SocketsTestSuite.cpp"/>
|
||||
<ClCompile Include="src\SocketStreamTest.cpp"/>
|
||||
|
@ -2,163 +2,163 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="NetCore">
|
||||
<UniqueIdentifier>{b58e8df9-1847-4cb1-9eee-555cc0f1dc6b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2ddb55ea-7ba6-4173-97b5-9f5d891eaad7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Header Files">
|
||||
<UniqueIdentifier>{cc16d41d-f1f8-40cd-9006-5f71437fda12}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5e98646b-9f36-499d-91bc-2776904f24a0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Source Files">
|
||||
<UniqueIdentifier>{2e1dcacc-c2dc-4f17-b052-2c53bc5fc894}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a404c627-38ed-40dc-89a7-d572def80c88}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite">
|
||||
<UniqueIdentifier>{e1961b63-39df-45ff-b117-4cf310f0fc92}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{db510f55-94a3-4bfb-934f-49c47760ed6f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite\Header Files">
|
||||
<UniqueIdentifier>{0c3fa836-28fb-4849-8bd7-896bf7387881}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f280c273-8be9-4e6b-b6f2-7622651d4d23}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite\Source Files">
|
||||
<UniqueIdentifier>{e79a0fe9-fd8f-4d72-ad41-bdc59f348e66}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{fb7d2147-155c-4aba-a8ab-32cac596b8b1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Driver">
|
||||
<UniqueIdentifier>{8f847108-2f62-450b-bae8-ab7652cc39c1}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f4ed88fd-4961-4910-babb-4c4cc16d891f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Driver\Source Files">
|
||||
<UniqueIdentifier>{db18bf1b-fa9c-4ec6-80ca-4a0133c8cc34}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{06aaf0e8-198a-4438-b786-7a8c6847574b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets">
|
||||
<UniqueIdentifier>{c012ad93-6fb5-45b7-ae61-46848568667a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{60a0dbc8-9313-488d-b868-7e0a3963d74f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Header Files">
|
||||
<UniqueIdentifier>{418205f1-3b36-4fbd-9e04-d72deb45f978}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{978013bf-8ffa-44f8-8f5e-b00c30ecfeb6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Source Files">
|
||||
<UniqueIdentifier>{111f12e2-d7f4-424e-a029-c6ce8f26d807}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{60c36ed7-02b6-47b5-b66b-c209f2699c54}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages">
|
||||
<UniqueIdentifier>{b3e8882c-2f85-4f8a-8dd8-a2bfdcafb855}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8bed68ff-a115-4b4b-a52f-41055a7fb8b5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Header Files">
|
||||
<UniqueIdentifier>{787bd1ed-33df-457c-a32b-5bd2456e8797}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d40a285d-f43d-4988-97b6-c9e1d812e2f1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Source Files">
|
||||
<UniqueIdentifier>{f2c50e9a-edfb-4aca-a611-a55819d9c8c9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{cae70d40-af57-48b7-8f83-7413399eafc0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP">
|
||||
<UniqueIdentifier>{758bdcee-121c-464e-8511-cea258dec0e9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{bcd33841-61c9-4034-8788-664d3b652ac7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Header Files">
|
||||
<UniqueIdentifier>{4cbdeadd-1b5e-4f4e-a614-c0eefb08038f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f46f35ac-86f4-42b1-8015-5387a1325ee9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Source Files">
|
||||
<UniqueIdentifier>{b49cf201-d0e1-45b7-b0bb-836e908ca267}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9baf440a-bb48-4191-8b8f-6a3f7dc62ba8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer">
|
||||
<UniqueIdentifier>{df9c6389-1868-4f09-8dff-ea98bb8949ac}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{457103f3-4d6c-4fbd-a8da-c6ac83ebac7e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Header Files">
|
||||
<UniqueIdentifier>{6731ff30-1c95-463a-98f7-9e7d3acd680e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{4d9fe37d-d636-4571-9ecf-e24528dedff4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Source Files">
|
||||
<UniqueIdentifier>{a2b0cb4d-af1a-4799-ba7a-5ba9c58d2029}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1ef152e1-4a4d-4451-ae22-31de451b13a1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer">
|
||||
<UniqueIdentifier>{fc497636-7aec-40f4-832d-de44a2609441}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{72bccb1d-5567-44e4-b14f-fb065c461775}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Header Files">
|
||||
<UniqueIdentifier>{c415753e-75ea-4a3b-b5c7-fddc9a08f1a3}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d97829e8-9a07-4e29-9240-444f043c3aca}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Source Files">
|
||||
<UniqueIdentifier>{8a0bd179-fbfc-4ac6-9bb9-f21e283b02dc}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{257f3608-9146-47f3-9dcc-6123c3574327}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML">
|
||||
<UniqueIdentifier>{1e644f78-c491-443a-be2f-a8cf94f59f80}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8d2c5759-47e3-42a6-8932-90738b5d82b4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Header Files">
|
||||
<UniqueIdentifier>{a5e20a31-ec2f-4e10-b55e-facf8285aca5}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1262a9e5-b30a-464a-82cd-33893e5295bd}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Source Files">
|
||||
<UniqueIdentifier>{6c36f789-4eb5-4df3-ae87-8f842826103a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0c73b19a-d296-4ad8-b95f-05e80e914c06}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient">
|
||||
<UniqueIdentifier>{4d1e4e35-01c1-478f-bf03-7f851f98b939}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{42223b21-8f57-442f-afdf-dd94bd9eadf2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Header Files">
|
||||
<UniqueIdentifier>{ac3e4c08-1d47-4991-ab09-4246fa8bf0ff}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a8046ad2-8ad8-48ad-b1d8-b69b840117f3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Source Files">
|
||||
<UniqueIdentifier>{dc7f368b-4b65-4bb4-8147-bc9907ed36c5}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{cea689d4-3a10-47c8-9d20-2ecb30553967}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient">
|
||||
<UniqueIdentifier>{a87f7b49-3185-4c69-8bd8-4d6b1ad84728}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{719af03a-b896-4ca3-b79f-5361b5b82371}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Header Files">
|
||||
<UniqueIdentifier>{b3a4d220-e681-431f-ac4f-c06c1b764e21}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0bb30319-4599-4810-98ae-6bbee78b7a19}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Source Files">
|
||||
<UniqueIdentifier>{81899ecd-0094-445d-a594-3298368c8e67}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{25b29e2b-8bd9-4dcc-97df-8216036499b2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor">
|
||||
<UniqueIdentifier>{d11dd586-4558-4b84-9361-ba2fbfd91ed6}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{25ecd1d0-931f-4319-b4f7-93be5baf1c8c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Header Files">
|
||||
<UniqueIdentifier>{cf6e9299-e3e1-451b-bd7a-0d521ab1c1a6}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{4ead442c-c10a-4df9-8a87-02e35c6e8648}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Source Files">
|
||||
<UniqueIdentifier>{7289c730-e352-4783-8164-323b75bb283c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{eff7643a-89ad-4989-b36d-863ea6207a86}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail">
|
||||
<UniqueIdentifier>{fd9a7c46-7a80-4534-908a-ef024c768b45}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{73f589e3-e82f-421f-9693-31c310c5786e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Header Files">
|
||||
<UniqueIdentifier>{c378e465-d505-44a0-885d-47f58a5b8d6e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b79ee160-3740-4eea-a412-c7a1ed133bed}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Source Files">
|
||||
<UniqueIdentifier>{7815e2b5-a040-4a8d-ba42-5a5a99624047}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{92d17ecf-9cf1-49c7-828e-31fe820b0821}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP">
|
||||
<UniqueIdentifier>{24847cae-3cdd-4bc7-a20f-5b03ece9593c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5a0d53f8-9bd1-4fcb-9742-3be7464b0048}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Header Files">
|
||||
<UniqueIdentifier>{2b29a7b1-94ff-44cd-8809-914f4311475d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{80c50dc3-05a0-49e8-bc3d-cb07c77bcf35}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Source Files">
|
||||
<UniqueIdentifier>{604370a9-bced-4970-8e42-146f8393d9a4}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f7bfdfb7-820e-4cab-b5fc-3ace33dc4beb}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP">
|
||||
<UniqueIdentifier>{454eef02-5837-40a7-809c-d480f081776a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{dcdeac79-13de-4f6f-83af-a7fd010171b5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Header Files">
|
||||
<UniqueIdentifier>{625be554-59f7-474a-9944-54298148fb09}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e4b97a40-15d8-4f84-8b43-9064aba6e2ff}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Source Files">
|
||||
<UniqueIdentifier>{f82bd61c-c507-498f-b676-566fa708b3f2}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{68e15f10-9dba-44ba-898e-40c380002bc0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging">
|
||||
<UniqueIdentifier>{45936a12-454a-4e96-b01a-89783d6fea2b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{23b68aa9-c501-4c2c-b64d-36a6daafcae0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Header Files">
|
||||
<UniqueIdentifier>{043c6c68-afef-4bc0-adac-850793e3192f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9c0e15cf-a1c3-4e86-9421-44b58feda9c2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Source Files">
|
||||
<UniqueIdentifier>{74e8e62d-698f-4eaa-b1a6-97b5b7721dd5}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{08bb17d0-4c7d-41aa-8301-990def0ef26b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket">
|
||||
<UniqueIdentifier>{6af07483-31cd-4b5c-b2b3-3209cf5141a1}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b411c18d-d989-49fd-bd72-c6b539d1e427}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Header Files">
|
||||
<UniqueIdentifier>{6d583da0-daa4-49e3-ba1b-4ff6479cc590}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{fd27e207-56c5-4286-a282-49f1826d812d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Source Files">
|
||||
<UniqueIdentifier>{70550bf1-3b3f-4647-a8f4-521be991700b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c064ce6b-18ad-4075-b3c1-78874b20e8ec}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth">
|
||||
<UniqueIdentifier>{32adb3db-4ca6-47be-9571-7b5a4f9765c9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ce671538-4c56-47d9-99f9-b3d4ba7ee8a9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Header Files">
|
||||
<UniqueIdentifier>{a0f631a6-1e70-4a31-84d3-c7c2037dfa35}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{461304b1-0b48-42ee-baf5-96bb9410045b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Source Files">
|
||||
<UniqueIdentifier>{b5deb2a3-a14c-40f1-b4a7-6fb9d31a8ad1}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8382cced-3a79-4fb7-a12f-b56998dce5dd}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@ -198,6 +198,9 @@
|
||||
<ClInclude Include="src\MulticastSocketTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\PollSetTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\RawSocketTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
@ -383,6 +386,9 @@
|
||||
<ClCompile Include="src\MulticastSocketTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PollSetTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocketTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
@ -324,6 +324,7 @@
|
||||
<ClInclude Include="src\EchoServer.h"/>
|
||||
<ClInclude Include="src\MulticastEchoServer.h"/>
|
||||
<ClInclude Include="src\MulticastSocketTest.h"/>
|
||||
<ClInclude Include="src\PollSetTest.h"/>
|
||||
<ClInclude Include="src\RawSocketTest.h"/>
|
||||
<ClInclude Include="src\SocketsTestSuite.h"/>
|
||||
<ClInclude Include="src\SocketStreamTest.h"/>
|
||||
@ -387,6 +388,7 @@
|
||||
<ClCompile Include="src\EchoServer.cpp"/>
|
||||
<ClCompile Include="src\MulticastEchoServer.cpp"/>
|
||||
<ClCompile Include="src\MulticastSocketTest.cpp"/>
|
||||
<ClCompile Include="src\PollSetTest.cpp"/>
|
||||
<ClCompile Include="src\RawSocketTest.cpp"/>
|
||||
<ClCompile Include="src\SocketsTestSuite.cpp"/>
|
||||
<ClCompile Include="src\SocketStreamTest.cpp"/>
|
||||
|
@ -2,163 +2,163 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="NetCore">
|
||||
<UniqueIdentifier>{9de43012-0a2e-431e-8e9d-867991ef1fd6}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{cf67c0fd-e196-4a36-8cfa-82bd34bcb1e4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Header Files">
|
||||
<UniqueIdentifier>{dcaf222a-3331-4a74-820a-d42f8a23116e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9078949e-fa76-4478-af98-5f49fa8dc41d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Source Files">
|
||||
<UniqueIdentifier>{467c7ad0-cedc-4516-9250-af69c6e038ef}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{4a3ba2e9-df3a-4a32-afdf-e3849fba726a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite">
|
||||
<UniqueIdentifier>{c3c4d284-2ff9-4484-990a-7a751414b553}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d348bc89-46c7-4e2d-9cb1-8bc8468dcb8e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite\Header Files">
|
||||
<UniqueIdentifier>{7ef05c26-50ea-48c1-81e3-ea0981e54fd6}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d848e505-0ea0-4ca2-8e78-8b9c9246be80}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite\Source Files">
|
||||
<UniqueIdentifier>{aac7d8d7-b880-4210-a72c-f0533141d668}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{84686654-3500-458a-90e6-26d63bfde789}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Driver">
|
||||
<UniqueIdentifier>{8a851033-3587-4356-a1a3-99bb57336281}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2d97952b-efb3-40fd-8734-d52f8b1e685c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Driver\Source Files">
|
||||
<UniqueIdentifier>{d8aa8f55-cdc2-4811-8c65-29660e776a24}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{89b0b81a-3501-4a8a-8d8c-ef326ed4fee4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets">
|
||||
<UniqueIdentifier>{f4da0513-8a98-4b45-a03c-d1021e153918}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1cf5be47-945f-49f6-a7e8-0687e55545fa}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Header Files">
|
||||
<UniqueIdentifier>{b17c7775-25a5-4a0b-879b-3631a23fa80d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ac27c907-bb38-403c-a734-1d901aa46372}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Source Files">
|
||||
<UniqueIdentifier>{5d4887d8-d255-470c-9a6b-1e34dc9118e7}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{116b0fef-5a73-41df-8ae8-c18103d3d3c6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages">
|
||||
<UniqueIdentifier>{9c3272c6-0b82-49ba-93a3-c35ebb85eee6}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{440ecaae-fef2-49f7-9560-0b53a9da280b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Header Files">
|
||||
<UniqueIdentifier>{fcc62ab4-cf6e-4d5e-aeb0-c33b3abffb22}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d77ddb29-4c28-426c-891f-3890a3ba2c6a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Source Files">
|
||||
<UniqueIdentifier>{d02d7e34-3418-4605-ace0-4f74804981ac}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{95b23ebd-86a9-4f3b-b46b-8e6b291969ca}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP">
|
||||
<UniqueIdentifier>{9d68825c-e701-4460-b43d-753e7e279909}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{08802ca0-ac2c-47f1-a9db-8af7caf6324d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Header Files">
|
||||
<UniqueIdentifier>{08ee0515-b85d-433c-b5d6-8f4c32b727f6}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0d18cb57-4fe6-494e-bcc2-e406bc70bce6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Source Files">
|
||||
<UniqueIdentifier>{4da4eafd-11d2-4f20-9839-b25972c042e5}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5764073e-c19a-4b3b-a972-d9e1e408ec7c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer">
|
||||
<UniqueIdentifier>{16155b1b-2f48-4b6b-a3e9-67696d059a39}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{147b5a9c-4801-405a-b84e-67ca9470373a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Header Files">
|
||||
<UniqueIdentifier>{1724fd97-1c0f-4b5d-a7be-e3a2233a8574}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e85894cc-77b4-492a-85fa-dd1994840130}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Source Files">
|
||||
<UniqueIdentifier>{dabe547f-1f49-488c-9138-e32c8dbee7e8}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9ae9d25e-3362-44d4-8c4c-4dfee823be11}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer">
|
||||
<UniqueIdentifier>{17db1e16-a677-4194-8e96-ddda1f0f8128}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{701ad658-c587-4299-a4a0-a186ae0c7755}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Header Files">
|
||||
<UniqueIdentifier>{2f16d603-bf8a-4309-9841-5dacd1c97957}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{61368b52-0be6-4c97-861b-fc364db23487}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Source Files">
|
||||
<UniqueIdentifier>{21a0b153-bdbd-4a42-a369-ffa8911d331a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ea9abfe5-302a-4617-84fc-3cfc657f61f4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML">
|
||||
<UniqueIdentifier>{c15e8ad6-dd6a-43dc-b572-403dc4127d65}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e6ad14f3-c64f-49a9-b621-5c680a3ff0b7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Header Files">
|
||||
<UniqueIdentifier>{8f294aed-e42f-4f74-9d40-2fd536e047bb}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8c81803a-6650-4eea-85be-41ea79f018fa}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Source Files">
|
||||
<UniqueIdentifier>{6c6ca417-5f8a-4c71-8c74-662c9dbc8193}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{043e3f0b-5e80-4d32-b45f-7c6cad55d5db}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient">
|
||||
<UniqueIdentifier>{c56ebef4-21fe-4d91-b3d9-932afa920919}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{640a85ef-2165-4760-9a1a-de1e99857a93}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Header Files">
|
||||
<UniqueIdentifier>{ccfe48a8-f471-4829-8945-dad6850ddb2b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ba1e9c19-a907-44bc-8390-b679a70b5b60}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Source Files">
|
||||
<UniqueIdentifier>{0767feb6-4706-4585-838d-7007922fd313}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{6818ffbd-a55e-44a4-98fe-fb7971f51e31}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient">
|
||||
<UniqueIdentifier>{188d6fbe-8e7c-4ebd-a2a2-d2d27ac75286}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{4ff9c01c-a960-4161-b675-b86e5180bc6e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Header Files">
|
||||
<UniqueIdentifier>{5b757ccf-badf-49d0-99d9-2b2741e06800}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7a233d54-8c77-4280-a42f-c0c7094e564c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Source Files">
|
||||
<UniqueIdentifier>{9eb50122-b230-4025-a2ff-c69cc8e09482}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7e521fbf-f000-4485-826b-57e1ce26e171}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor">
|
||||
<UniqueIdentifier>{fd2ac43e-2dff-4067-a6d5-8e83b159d19b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{6a82907c-5d9e-4615-a872-921d2e690d68}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Header Files">
|
||||
<UniqueIdentifier>{df0ab2ba-deea-4e64-8a7b-1c16a2cdb81c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{447bc33a-dd73-4acc-bb26-7daf14b66e7b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Source Files">
|
||||
<UniqueIdentifier>{88739083-2d78-4cdb-8f2a-457422516ca4}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d548099a-a0d8-470c-9ecc-d9a596ebeca1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail">
|
||||
<UniqueIdentifier>{81c18633-ada3-413b-9975-cce8f140f1bb}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b5350c72-c393-46a9-a1e0-7a50a18df3d2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Header Files">
|
||||
<UniqueIdentifier>{602bc76a-5526-428c-bf33-324ed991fa5d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{fa9cdbda-3455-4f38-b3df-d1a99acddb75}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Source Files">
|
||||
<UniqueIdentifier>{33f75198-a5f9-4274-909b-fb4f420db18c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a378bd52-aecf-4257-b944-9d6bfdaa2b59}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP">
|
||||
<UniqueIdentifier>{8031a573-632a-43bd-af78-46b6f06e9b83}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2a0554a3-1767-49f8-8b10-da8b82156da7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Header Files">
|
||||
<UniqueIdentifier>{b09600c5-f695-4290-b8e2-7efc244f92ae}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ccda2aef-cbef-479a-9dc5-417bbf13a155}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Source Files">
|
||||
<UniqueIdentifier>{e1593da7-9689-4423-a93c-ba40253eb2be}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{16b98dc8-64ba-495e-a09b-08370ab6fae2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP">
|
||||
<UniqueIdentifier>{3d67e6db-7e63-4882-b29e-6591cc0a3ad5}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d182548a-aa54-446a-a346-617a62bf8ca6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Header Files">
|
||||
<UniqueIdentifier>{ab75d4e6-4080-45c3-a6c6-080501766551}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e9167f48-4992-48c4-b815-9f3811dc4010}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Source Files">
|
||||
<UniqueIdentifier>{b5a44a12-4c12-4a6e-865f-fc240fd8e59f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{09898033-c6db-495c-a5ed-7834c3599af6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging">
|
||||
<UniqueIdentifier>{b88ed89d-287c-4d82-a4f7-245f2ff83d68}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2e6d6e8a-3c88-40c3-91a5-7e123e3d20ea}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Header Files">
|
||||
<UniqueIdentifier>{d9122e3b-b834-49c3-b77e-f0e077c8beb2}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2bc8cbb7-d343-439d-8f24-6f608bf42b91}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Source Files">
|
||||
<UniqueIdentifier>{6aadc769-917b-4531-9f18-0db777375019}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1887b42f-8eb5-4b4e-9aa8-325cddf1fb1f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket">
|
||||
<UniqueIdentifier>{e7f4ff33-22c4-44cd-8201-c49848854ae1}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{528b5b72-5bb5-4749-aa2c-b3cc4da0a2e9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Header Files">
|
||||
<UniqueIdentifier>{0d639f49-b0cd-4867-b4e5-12de905e3fe5}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3c7ceded-dd39-437c-9cae-c47fcdfff236}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Source Files">
|
||||
<UniqueIdentifier>{ce65cb82-2f84-4d38-9140-34b0d9a1b821}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1412379b-42bf-43a8-8d8c-d8f972440573}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth">
|
||||
<UniqueIdentifier>{b8ef3766-ddeb-4dd4-8d75-6637d03f3450}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{03e021ff-37fa-44dd-bd67-8e69f05964f3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Header Files">
|
||||
<UniqueIdentifier>{14cdc4dc-5c52-49e8-94bb-93de7354ddae}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0e3d5c93-bc7c-44de-9e77-2137ac2d87c1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Source Files">
|
||||
<UniqueIdentifier>{dbab1a90-ef91-4aba-bc3f-5c79a1a9137a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a7ed4012-427d-4b01-8506-dfff9443c635}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@ -198,6 +198,9 @@
|
||||
<ClInclude Include="src\MulticastSocketTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\PollSetTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\RawSocketTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
@ -383,6 +386,9 @@
|
||||
<ClCompile Include="src\MulticastSocketTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PollSetTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocketTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
@ -348,6 +348,7 @@
|
||||
<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"/>
|
||||
@ -411,6 +412,7 @@
|
||||
<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"/>
|
||||
|
@ -2,163 +2,163 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="NetCore">
|
||||
<UniqueIdentifier>{70f8c84f-d93c-4df2-8164-bfe33cd36284}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{bfc303ea-dd63-4b0f-981a-27fabf20b8b6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Header Files">
|
||||
<UniqueIdentifier>{724bef02-c528-4985-b556-0066167631ff}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b5f126f5-9cb7-4f3d-bbab-ca2bec7b04b4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Source Files">
|
||||
<UniqueIdentifier>{86612bec-96ab-41c4-9a62-b6caf01806d7}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{055876c4-d2b6-45bd-9745-28b3dcbd8460}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite">
|
||||
<UniqueIdentifier>{586e3110-d1e6-4cf4-94a8-143a4681112b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{6dbd0515-3c66-45c2-bd94-5b8e56c67da6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite\Header Files">
|
||||
<UniqueIdentifier>{9f06ae3e-937a-49ff-87d6-aa60af865a49}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e839e4b8-055f-4390-bada-84b7c8c73507}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite\Source Files">
|
||||
<UniqueIdentifier>{8bf8abc4-ed30-40f8-bdc7-ee244333c2a0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e488e6e5-0bd9-4121-8146-d8c264aecd57}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Driver">
|
||||
<UniqueIdentifier>{de6c35fb-188e-4eb9-8c06-485db435d6d4}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{00b03732-e1f7-4fc1-afb0-942c4eb72034}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Driver\Source Files">
|
||||
<UniqueIdentifier>{650823ca-9849-4251-aff2-bd2bc1d35245}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9aa0335b-a344-4c48-bc63-978293ede0f4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets">
|
||||
<UniqueIdentifier>{76820c64-eecb-4135-a8b7-b8f16480363f}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{76f6eb1c-01a4-438a-918a-8b908b0e1635}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Header Files">
|
||||
<UniqueIdentifier>{5d21b954-beee-4e52-8d1f-5f2b7a2bf3e6}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{69eabc23-0f9d-4ff1-983a-53ef6ac571ff}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Source Files">
|
||||
<UniqueIdentifier>{7fda16d0-ecd8-44e3-934f-176cddaa2f5a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5a7b778c-3c75-4c6e-a0ae-4068e5e537ae}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages">
|
||||
<UniqueIdentifier>{8f0f4682-a50f-4ce9-8d85-ee0dded697c0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{963e4d6a-afac-4e2f-af1f-0150e28657b2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Header Files">
|
||||
<UniqueIdentifier>{77afa50d-b455-43ca-bf35-9bd352bb2532}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{060c9d9e-3c2e-4b4f-9e40-64719a499089}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Source Files">
|
||||
<UniqueIdentifier>{a04e70a7-3a3d-48e3-a936-e0d8d7b29eaf}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b3edf3b5-5966-47fd-9ae4-13abf5dcf99f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP">
|
||||
<UniqueIdentifier>{45f222b7-b342-47fb-b7b3-de319a6deecf}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{110e6eb7-30bd-4196-bf4e-8e77916bdc8f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Header Files">
|
||||
<UniqueIdentifier>{e393707b-5a46-4767-a560-00f6c175bbe8}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d801e52f-06e0-456a-9f71-4754baf6e510}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Source Files">
|
||||
<UniqueIdentifier>{25887c00-0df1-438d-aa45-b3c9bb1bfeba}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5169e70d-7f77-45d3-8462-56b5ac8b46b1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer">
|
||||
<UniqueIdentifier>{fd00172e-35d6-45bb-943d-48934e7ad757}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{aa9cdff3-5939-4dad-a729-96d4b9ea1d29}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Header Files">
|
||||
<UniqueIdentifier>{525a8095-efdd-4a35-b969-abe22ba8803a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{dc9e1125-735f-470f-a75c-00252fa3af07}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Source Files">
|
||||
<UniqueIdentifier>{d475c106-490a-4e02-9e1f-7470b9787190}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{299d15d8-21af-417f-9da4-4bcf2324241e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer">
|
||||
<UniqueIdentifier>{4f1ab3f6-5e35-420c-aac1-d909ca2cb3c4}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{44d02b30-9146-4614-8abc-d28fa7638955}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Header Files">
|
||||
<UniqueIdentifier>{26edf7d1-f3b1-4b89-ab8a-9516d37fea7d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c5f39873-9741-430b-b09f-f3fc08023e16}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Source Files">
|
||||
<UniqueIdentifier>{ce7f78e0-aef6-4f1c-a393-ece387fee057}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{507f9811-dd4a-42fe-9df3-bb903c5f3e78}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML">
|
||||
<UniqueIdentifier>{a652b185-3ffa-4ee5-8961-06d73fad009a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a7a867ce-b9ba-4b35-9004-b137a9f0e49b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Header Files">
|
||||
<UniqueIdentifier>{f8d60461-0d8c-415b-a077-20e799c30092}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f8e7d671-2f5d-44c2-946b-f3927b3cbaec}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Source Files">
|
||||
<UniqueIdentifier>{a3c456ac-d750-4077-bc9f-a8a348307d77}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{6ac3e587-6493-41e5-846d-39792be5c4e3}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient">
|
||||
<UniqueIdentifier>{2080f1ad-7c2e-46bb-8b1c-26dabf1bfa89}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{379dcf85-49a7-488a-85c6-5db005baa4c0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Header Files">
|
||||
<UniqueIdentifier>{d6d5ec47-f1b9-42aa-ae6e-25f5f159368c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{edd02c4f-20e5-4962-b864-2bff83599697}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Source Files">
|
||||
<UniqueIdentifier>{ad3c1694-c426-4711-9492-f08b2c097806}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{573eaa77-d594-4531-9379-f577adf04dc1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient">
|
||||
<UniqueIdentifier>{636e37c7-e2ae-4a9b-9472-9c4b350d11df}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5c78bc6d-dcc8-465c-8dde-1aa09bf9f55f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Header Files">
|
||||
<UniqueIdentifier>{186eccae-a6e6-4f95-9543-418621e46206}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a828790b-5aff-4a2e-976f-85ed15c26fdd}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Source Files">
|
||||
<UniqueIdentifier>{a7017f44-3473-48de-87f5-2ac578e8f930}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{27abb066-2526-49a9-b995-d2b625b5a82f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor">
|
||||
<UniqueIdentifier>{b4325409-ce1d-4e76-a87d-63db7c4007ab}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{941ce33a-a797-4be5-a35b-4ded43efa0d2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Header Files">
|
||||
<UniqueIdentifier>{74a6b005-507d-46b7-9fb4-b509a075a46e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{203ab752-d255-4641-b87a-238649751a29}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Source Files">
|
||||
<UniqueIdentifier>{4982c5cc-262d-46b5-a669-3a5cc4a8f26e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{386b5e82-c8ff-4050-8c3a-6414986e501e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail">
|
||||
<UniqueIdentifier>{00753d4c-9248-43fb-a940-5fb7d72e8837}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{6451e86a-829c-4e42-96d4-ebea57c2c51e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Header Files">
|
||||
<UniqueIdentifier>{9711273e-df92-44d5-9310-bdfbf5dc3a84}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{712283e3-af87-465d-a02d-b32c908c43f7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Source Files">
|
||||
<UniqueIdentifier>{0277e632-f989-4b1b-bde9-43f94b70db6c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b422d537-191a-4b76-9f88-e48030117f9d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP">
|
||||
<UniqueIdentifier>{6364ba4e-004e-437e-8f0a-d51678f9dc58}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d5a56352-be24-4844-8a68-e9a9aff8dc35}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Header Files">
|
||||
<UniqueIdentifier>{f873a356-e5b2-4d23-9bb4-6ab697574ca7}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7182f4a0-7137-42cd-b971-ce4d11e2ea67}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Source Files">
|
||||
<UniqueIdentifier>{ebba8f94-a6d8-45d2-a56f-904c1c5020ec}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b18ac133-89fd-4395-883b-7bdaebdc83ae}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP">
|
||||
<UniqueIdentifier>{68793544-a7bc-4ccb-9a60-d8c9b4843468}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b9f8ac92-2b4b-4b90-a6bb-456584a1e5bc}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Header Files">
|
||||
<UniqueIdentifier>{2c0f9390-3743-4a7c-9107-7608a39f0dcb}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{0252eb83-2d21-4e81-8847-552315e45ded}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Source Files">
|
||||
<UniqueIdentifier>{ef1d44a3-d731-48ef-94b3-f62a481736ce}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{77818a0c-7d02-4b08-bdf2-79fbbe0cd044}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging">
|
||||
<UniqueIdentifier>{44391a8d-5c1a-4b48-ae0f-b18a49a541f0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{cf6f43ff-b3fc-4a71-8e92-16d6850a1b64}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Header Files">
|
||||
<UniqueIdentifier>{83a431ac-a7e9-47b7-8d2e-d5435a8cad64}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d1ac8c05-1951-4636-b538-51b495d4ac7b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Source Files">
|
||||
<UniqueIdentifier>{7bfda056-3d93-44fe-b3e9-592d6f876ad3}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3aeceef7-ca51-496b-abef-ebf5692b6e44}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket">
|
||||
<UniqueIdentifier>{9f9cddd3-e69d-48fd-af0e-96f71ab3e57a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5831457b-a7ef-4173-8ebb-71f319db4ef2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Header Files">
|
||||
<UniqueIdentifier>{dba4af87-113c-469c-8ed9-f514317a05ed}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e029914d-8078-4793-893c-dbd5f9633fad}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Source Files">
|
||||
<UniqueIdentifier>{8923a480-f35b-4e2f-9951-7ef95fb06c38}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1bb8c8ea-cb89-4b34-9d19-e52b380701b2}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth">
|
||||
<UniqueIdentifier>{e19c8529-9fa3-47a8-ba37-cb0032f421d6}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1fb0e151-773a-439f-a7df-16688b61c427}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Header Files">
|
||||
<UniqueIdentifier>{e0ac3e84-6a8b-402d-8ce9-34606d4ac017}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{bddc42cd-ddef-4db1-9938-74e046bcba50}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Source Files">
|
||||
<UniqueIdentifier>{f250d653-284d-4b34-99de-3fb1a2748ee8}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{6c330fea-c9d7-4fc9-997c-d3610c8d4aff}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@ -198,6 +198,9 @@
|
||||
<ClInclude Include="src\MulticastSocketTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\PollSetTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\RawSocketTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
@ -383,6 +386,9 @@
|
||||
<ClCompile Include="src\MulticastSocketTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PollSetTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocketTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
@ -85,7 +85,7 @@
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros"/>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.23107.0</_ProjectFileVersion>
|
||||
<_ProjectFileVersion>14.0.25420.1</_ProjectFileVersion>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">TestSuited</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">TestSuited</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">TestSuited</TargetName>
|
||||
@ -348,6 +348,7 @@
|
||||
<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"/>
|
||||
@ -411,6 +412,7 @@
|
||||
<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"/>
|
||||
|
@ -2,163 +2,163 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="NetCore">
|
||||
<UniqueIdentifier>{1b6e5410-bc65-4e24-9ae8-b517390cd753}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ac52c0c5-e31f-4779-9ed0-1737648378bd}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Header Files">
|
||||
<UniqueIdentifier>{534a976a-539f-4f4a-8813-9e5480f49626}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{82bc8ef3-5644-42ef-a1da-6b92b522c268}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Source Files">
|
||||
<UniqueIdentifier>{5c50d8fd-a6fe-4927-8554-f0d6c04f90dc}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a60635b4-d1f9-4bd5-b84f-e2c5c323ce7c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite">
|
||||
<UniqueIdentifier>{24c9c091-08f6-4830-8620-f40aa4179f33}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{18b8f520-7c7b-44cf-be77-2f584ad1e30f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite\Header Files">
|
||||
<UniqueIdentifier>{1e83d303-b1ed-42e9-8d9a-01daab17423c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{13e71230-7762-465f-ba91-63ea996db5b7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite\Source Files">
|
||||
<UniqueIdentifier>{8c60718b-a934-4b86-be8d-2afba85647a8}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ad4581ad-3fc4-4e02-9206-f9c0dd1ae399}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Driver">
|
||||
<UniqueIdentifier>{1c674f9d-c797-4e5d-99be-051c36823fe9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{10687bc1-3c1f-4a22-9395-3a9ec46c5335}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Driver\Source Files">
|
||||
<UniqueIdentifier>{c00b9e81-e196-4df7-994d-f09f86a280e7}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{87f95850-ddb7-46ae-b9da-16a43cbdbbee}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets">
|
||||
<UniqueIdentifier>{dc503230-1fa5-4676-8bd8-a91720c9b3ea}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{675bdefa-8af0-45e3-b66d-8c06478ae0e5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Header Files">
|
||||
<UniqueIdentifier>{d4aea211-1660-4527-ad52-de4a2bc80d7b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e15be70f-c50d-4657-9825-daf2be2cc26a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Source Files">
|
||||
<UniqueIdentifier>{bc80bd52-e918-4408-a479-f7aaa8891739}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{87b8e0e0-8602-4646-9aba-2441b861c33d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages">
|
||||
<UniqueIdentifier>{5a437d15-c25a-42a2-bb60-14649691687c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{440ab137-4c13-4b46-96b7-56b6be55867e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Header Files">
|
||||
<UniqueIdentifier>{70e4d714-bffb-4eed-875d-0697d631e570}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2f3a8fcf-dc5a-4a97-8308-8b941a39a8b9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Source Files">
|
||||
<UniqueIdentifier>{af0640c5-3879-42a4-ba38-c5d03191d25e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f7dfdf04-3307-4d7b-960a-f4cf9c8bc8e0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP">
|
||||
<UniqueIdentifier>{0b5aea0f-a1eb-460a-914c-15d96b8b5e85}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a53bb926-f5ae-4f76-8698-dc5962b5e82a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Header Files">
|
||||
<UniqueIdentifier>{180870e5-606d-4ce4-81dc-605e2b76608e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f7eb82f6-c99e-4fde-bfb9-9a42214c842e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Source Files">
|
||||
<UniqueIdentifier>{ae494bde-05d7-4431-b2d7-e95f44f6c1e0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{4a133053-9e4c-4a0a-ba65-20261ec4ec98}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer">
|
||||
<UniqueIdentifier>{4b2501aa-6c62-42eb-9583-1a831420bf33}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7da2337e-2e2d-4e93-a444-64c15db12556}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Header Files">
|
||||
<UniqueIdentifier>{707fae85-2ab9-4afa-bd26-4fb969d25b40}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{078b170c-4060-4748-b657-fcf0a3016872}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Source Files">
|
||||
<UniqueIdentifier>{4ee929dd-7d53-4fd8-96c2-e14a56e06df2}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{bc3b5f58-7176-4e3f-8064-409d52a07858}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer">
|
||||
<UniqueIdentifier>{3bfc2ad4-5083-4bef-acbc-ea672f6771b6}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8ccf7efd-6e32-4b2f-b69d-c4d6cefb360a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Header Files">
|
||||
<UniqueIdentifier>{6d1bf979-c479-4b8b-8ce5-8748c967ac91}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{db2e9a0e-497e-413f-94d2-89b6f2d0c7c4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Source Files">
|
||||
<UniqueIdentifier>{8f2df435-c536-43c1-9f00-ef177ad665fd}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{bf80ce7b-d2f5-48e8-bbad-0430a59e596b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML">
|
||||
<UniqueIdentifier>{fb99b77e-ddd7-41c7-895b-5a06feddec36}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{a054aad6-f7ef-483c-91fd-89be1929dc25}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Header Files">
|
||||
<UniqueIdentifier>{3997e6f9-0d7b-434a-8c59-6720f3d1791a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ec801486-84e2-4876-a331-fc53cc988391}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Source Files">
|
||||
<UniqueIdentifier>{6a06c898-efab-43b9-abd4-2d32deb49e2a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{84b7bd6c-8969-40c4-891a-115b3d24f978}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient">
|
||||
<UniqueIdentifier>{bfa04b59-1081-4e04-a10f-8b5851b109f9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{41721127-ac6b-4166-96b0-ecfbc00c32f9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Header Files">
|
||||
<UniqueIdentifier>{0c81b473-c43e-4bcc-8544-fcdd4bce6f76}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e01bb9af-9ba5-4b8f-aaf6-70cb79010ce9}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Source Files">
|
||||
<UniqueIdentifier>{5e7d1742-0fd0-4fb1-97e8-8932af6a80eb}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b6eeb0e5-32ca-4cc6-9ae3-6c61eca26ad1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient">
|
||||
<UniqueIdentifier>{159b00bb-d7b8-42e3-a37e-e0df1cd1c934}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{728ea662-11ee-4e56-b4ec-082918982a7d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Header Files">
|
||||
<UniqueIdentifier>{67517134-f5a6-4836-974c-4d1689702751}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{015a17ab-c132-4d9f-a739-7505a16bf588}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Source Files">
|
||||
<UniqueIdentifier>{c6805702-02e8-4778-bda5-7eaaca1a14bb}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{51cf9dbf-8e6a-4d48-8f92-52a25938744b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor">
|
||||
<UniqueIdentifier>{6d519587-b07e-4f9b-b83b-c4e1c959fab4}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e5dd6c0b-5c70-4362-b3e7-8b691ff18641}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Header Files">
|
||||
<UniqueIdentifier>{10f79acf-02bc-4d7c-81af-f6ea6298cba9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{441a9393-ef8d-4cd0-88cd-46e0899fddfb}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Source Files">
|
||||
<UniqueIdentifier>{13d42a1c-4d74-4075-81d2-04e0e1acb3bb}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{4aa17be2-c938-4b20-972a-b65ea5eda572}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail">
|
||||
<UniqueIdentifier>{91f4eebe-7148-40b3-a922-ed0c0e834da0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1b28a613-ede6-4b8f-a219-ea2e70923e30}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Header Files">
|
||||
<UniqueIdentifier>{47a70181-b5a6-4ecb-a15e-e58bd2955d36}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c8b988bd-3fcd-46ae-b3d4-d9b8f6364c81}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Source Files">
|
||||
<UniqueIdentifier>{8273b400-afdd-490e-aab8-dff94a3d8d54}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{97973d2b-6f1a-4a8e-b2a7-b3bfe72acbfd}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP">
|
||||
<UniqueIdentifier>{f4156c5f-4341-492c-b409-3ad39a3b2c2d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{016b85b5-9260-4c5f-ba28-3ad56a2ba094}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Header Files">
|
||||
<UniqueIdentifier>{a2599709-e6cf-4b5d-98e1-edc7923848b5}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{38efbdff-085a-4f34-bec2-67dea926af66}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Source Files">
|
||||
<UniqueIdentifier>{34083a60-ce2a-4923-bcd2-124c103b90da}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e496644e-efe1-4f0c-96de-fc9d8ad8abbd}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP">
|
||||
<UniqueIdentifier>{d0f638ae-37b4-475e-8809-6c9ef9460389}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{aa3de79c-da0d-4ec9-b820-52c927652dca}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Header Files">
|
||||
<UniqueIdentifier>{993531e6-3860-4f3a-af6e-1a60a9c41763}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b793e38d-ead9-46b5-a563-f9512380d0fd}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Source Files">
|
||||
<UniqueIdentifier>{bcea8c1f-a800-4a6a-9749-23ba2f6b7e0b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{12772b3c-6b19-45fb-84c3-392a45ddfeda}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging">
|
||||
<UniqueIdentifier>{d3a3a34b-4d00-4cfd-b7cd-848d8cc11f3d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{04dd1bdd-d641-4149-a679-6659a48526a8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Header Files">
|
||||
<UniqueIdentifier>{0579b2ae-2e07-4260-a8b3-0d67570ace51}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{6b954d46-9880-43b4-a5c2-7be7ef37bd76}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Source Files">
|
||||
<UniqueIdentifier>{ec6c1d0c-d93b-4967-916d-7938d12f7fd3}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d303c317-b14d-492f-bfa5-1b60c99236d5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket">
|
||||
<UniqueIdentifier>{a955ffba-663b-4886-9c5c-bfe7b0fa1bd0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{36752a44-1220-402b-8880-ae60632d097e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Header Files">
|
||||
<UniqueIdentifier>{5f043311-014e-476b-a96c-543e6a28486b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{518a27bb-6400-4e0a-b2b8-b0646a4aba91}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Source Files">
|
||||
<UniqueIdentifier>{5c1f9a12-4bb0-48b8-9792-bb56c3a4c958}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{126021ec-f971-4e86-80a0-bbec026e51a8}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth">
|
||||
<UniqueIdentifier>{a23638fb-b833-4b00-b153-0d8f6952db74}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{fc4ebd71-3b25-41c5-9f8c-327fbd87aabe}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Header Files">
|
||||
<UniqueIdentifier>{da530f16-8aba-4e36-8b1b-12147c9c8d3d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{bcb3913c-453a-4000-8cf2-fe1413c99912}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Source Files">
|
||||
<UniqueIdentifier>{14791d14-3098-4567-8cd2-85156ae934a1}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{09f79798-e36a-44d7-9f72-c6c9aa885bef}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@ -198,6 +198,9 @@
|
||||
<ClInclude Include="src\MulticastSocketTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\PollSetTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\RawSocketTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
@ -383,6 +386,9 @@
|
||||
<ClCompile Include="src\MulticastSocketTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PollSetTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocketTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
@ -85,7 +85,7 @@
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros"/>
|
||||
<PropertyGroup>
|
||||
<_ProjectFileVersion>14.0.23107.0</_ProjectFileVersion>
|
||||
<_ProjectFileVersion>15.0.26228.4</_ProjectFileVersion>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">TestSuited</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">TestSuited</TargetName>
|
||||
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">TestSuited</TargetName>
|
||||
@ -348,6 +348,7 @@
|
||||
<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"/>
|
||||
@ -411,6 +412,7 @@
|
||||
<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"/>
|
||||
|
@ -2,163 +2,163 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="NetCore">
|
||||
<UniqueIdentifier>{1b6e5410-bc65-4e24-9ae8-b517390cd753}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8d491a0b-6ed3-4760-8f7f-2c687aa59870}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Header Files">
|
||||
<UniqueIdentifier>{534a976a-539f-4f4a-8813-9e5480f49626}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c925fe2a-fb53-465b-9e59-6e6961fd5881}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NetCore\Source Files">
|
||||
<UniqueIdentifier>{5c50d8fd-a6fe-4927-8554-f0d6c04f90dc}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3e977282-90ba-493a-a6ca-bac179ae89e0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite">
|
||||
<UniqueIdentifier>{24c9c091-08f6-4830-8620-f40aa4179f33}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{cf03d0ff-3ca8-46ee-af40-6beb7c278938}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite\Header Files">
|
||||
<UniqueIdentifier>{1e83d303-b1ed-42e9-8d9a-01daab17423c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{76b5d52e-9a26-49ec-a926-0ee1bc94cc26}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Suite\Source Files">
|
||||
<UniqueIdentifier>{8c60718b-a934-4b86-be8d-2afba85647a8}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c5cced28-54ad-4cae-91f8-f7276c8f6aad}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Driver">
|
||||
<UniqueIdentifier>{1c674f9d-c797-4e5d-99be-051c36823fe9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c0dfc3eb-0ea6-4b13-a61b-d5a333bf90f7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="_Driver\Source Files">
|
||||
<UniqueIdentifier>{c00b9e81-e196-4df7-994d-f09f86a280e7}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{8827e2b7-fc01-4d09-80a0-bb976355f042}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets">
|
||||
<UniqueIdentifier>{dc503230-1fa5-4676-8bd8-a91720c9b3ea}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d3c1e39c-a0de-4494-b24f-61e335b94ce5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Header Files">
|
||||
<UniqueIdentifier>{d4aea211-1660-4527-ad52-de4a2bc80d7b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e83e1da0-3196-4475-9e89-dfd737023435}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Sockets\Source Files">
|
||||
<UniqueIdentifier>{bc80bd52-e918-4408-a479-f7aaa8891739}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3e8cb0d9-b9f8-4aad-a454-3437031d2484}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages">
|
||||
<UniqueIdentifier>{5a437d15-c25a-42a2-bb60-14649691687c}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{045ce331-e7e8-46df-b16d-3559a855b77a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Header Files">
|
||||
<UniqueIdentifier>{70e4d714-bffb-4eed-875d-0697d631e570}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9ce9a4d8-d8eb-4b69-9449-28d5f11981fa}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Messages\Source Files">
|
||||
<UniqueIdentifier>{af0640c5-3879-42a4-ba38-c5d03191d25e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{e4ad3238-2851-4e77-959c-3ca492e199ef}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP">
|
||||
<UniqueIdentifier>{0b5aea0f-a1eb-460a-914c-15d96b8b5e85}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{be739d51-b24f-4a02-ae63-8153f431ff1d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Header Files">
|
||||
<UniqueIdentifier>{180870e5-606d-4ce4-81dc-605e2b76608e}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{348e1ee1-078b-4d36-9dcc-da4e1161df5f}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTP\Source Files">
|
||||
<UniqueIdentifier>{ae494bde-05d7-4431-b2d7-e95f44f6c1e0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{6737f742-9ecd-4c57-a9e9-bcd16caa56f4}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer">
|
||||
<UniqueIdentifier>{4b2501aa-6c62-42eb-9583-1a831420bf33}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{38922d7f-d3ce-4311-ba17-e6e91e2cff94}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Header Files">
|
||||
<UniqueIdentifier>{707fae85-2ab9-4afa-bd26-4fb969d25b40}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ed3914ba-7fa0-498f-9be2-bef64dde754c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="TCPServer\Source Files">
|
||||
<UniqueIdentifier>{4ee929dd-7d53-4fd8-96c2-e14a56e06df2}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{c7b2b577-5cba-43bb-a33b-29ddcd189243}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer">
|
||||
<UniqueIdentifier>{3bfc2ad4-5083-4bef-acbc-ea672f6771b6}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3a90c78a-82cf-4894-9560-4c6a293c2cb0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Header Files">
|
||||
<UniqueIdentifier>{6d1bf979-c479-4b8b-8ce5-8748c967ac91}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{aaf41261-4e6b-460f-8d08-2459df96d1dc}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPServer\Source Files">
|
||||
<UniqueIdentifier>{8f2df435-c536-43c1-9f00-ef177ad665fd}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{4522b208-3db5-419a-8dbd-81e73df8fe51}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML">
|
||||
<UniqueIdentifier>{fb99b77e-ddd7-41c7-895b-5a06feddec36}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{71ba25dc-f43c-4278-b206-50b79ef62363}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Header Files">
|
||||
<UniqueIdentifier>{3997e6f9-0d7b-434a-8c59-6720f3d1791a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{71546365-8cd2-4ffe-a413-ba85643b310a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTML\Source Files">
|
||||
<UniqueIdentifier>{6a06c898-efab-43b9-abd4-2d32deb49e2a}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{66b723b3-8f22-4be4-b4ec-536066fe931c}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient">
|
||||
<UniqueIdentifier>{bfa04b59-1081-4e04-a10f-8b5851b109f9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{dee2eb63-0074-4625-96be-d1af5ff77f89}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Header Files">
|
||||
<UniqueIdentifier>{0c81b473-c43e-4bcc-8544-fcdd4bce6f76}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9c92ba0b-9cb5-4bed-a092-23e81ba3e5ae}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="HTTPClient\Source Files">
|
||||
<UniqueIdentifier>{5e7d1742-0fd0-4fb1-97e8-8932af6a80eb}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{7e5ad534-1629-4402-8520-8f4e31902d35}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient">
|
||||
<UniqueIdentifier>{159b00bb-d7b8-42e3-a37e-e0df1cd1c934}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{da3ff454-2540-4d8c-8456-01fce1e54216}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Header Files">
|
||||
<UniqueIdentifier>{67517134-f5a6-4836-974c-4d1689702751}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{b3d2794c-16dd-4a4b-9ec8-f99304183fa0}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="FTPClient\Source Files">
|
||||
<UniqueIdentifier>{c6805702-02e8-4778-bda5-7eaaca1a14bb}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ac01980b-d930-4cb5-aa88-3c146c76b5ae}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor">
|
||||
<UniqueIdentifier>{6d519587-b07e-4f9b-b83b-c4e1c959fab4}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{3e0cc842-2076-4334-a5f8-1253443eb3dd}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Header Files">
|
||||
<UniqueIdentifier>{10f79acf-02bc-4d7c-81af-f6ea6298cba9}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{829a479b-7946-4a97-a798-2fa2c9c114c5}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Reactor\Source Files">
|
||||
<UniqueIdentifier>{13d42a1c-4d74-4075-81d2-04e0e1acb3bb}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1c55d0f1-2d3a-48c0-9c92-faf8a4c58f5a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail">
|
||||
<UniqueIdentifier>{91f4eebe-7148-40b3-a922-ed0c0e834da0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{1e0423cb-ce6a-4497-9117-595ea46fd91a}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Header Files">
|
||||
<UniqueIdentifier>{47a70181-b5a6-4ecb-a15e-e58bd2955d36}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{d16caf25-ba78-40b4-81f1-b70e10e2277e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Mail\Source Files">
|
||||
<UniqueIdentifier>{8273b400-afdd-490e-aab8-dff94a3d8d54}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f4550c8a-06d2-4f72-a593-c79ff7e88ce1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP">
|
||||
<UniqueIdentifier>{f4156c5f-4341-492c-b409-3ad39a3b2c2d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{042d1db0-cf8c-4166-af26-795b1b52fdce}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Header Files">
|
||||
<UniqueIdentifier>{a2599709-e6cf-4b5d-98e1-edc7923848b5}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5e7db445-cb7e-41a6-9489-c50d0374739b}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="ICMP\Source Files">
|
||||
<UniqueIdentifier>{34083a60-ce2a-4923-bcd2-124c103b90da}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{bef36dd8-b2ef-4045-84b9-ada5f18d3f6e}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP">
|
||||
<UniqueIdentifier>{d0f638ae-37b4-475e-8809-6c9ef9460389}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{2e5b1734-1b0c-4c4f-bd20-ad9d4ec46a98}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Header Files">
|
||||
<UniqueIdentifier>{993531e6-3860-4f3a-af6e-1a60a9c41763}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{18392958-55f7-4d6f-86ea-6bb7ce702732}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="NTP\Source Files">
|
||||
<UniqueIdentifier>{bcea8c1f-a800-4a6a-9749-23ba2f6b7e0b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{47771f0d-f974-43bd-8c67-d10e79dc43a7}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging">
|
||||
<UniqueIdentifier>{d3a3a34b-4d00-4cfd-b7cd-848d8cc11f3d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{64370d91-74d6-47fe-bb6b-6023428c8f8d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Header Files">
|
||||
<UniqueIdentifier>{0579b2ae-2e07-4260-a8b3-0d67570ace51}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{ee453635-8edc-4cae-b722-d286531e00fb}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="Logging\Source Files">
|
||||
<UniqueIdentifier>{ec6c1d0c-d93b-4967-916d-7938d12f7fd3}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{71daacf7-8cd3-4f45-bb8f-b48bc5329077}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket">
|
||||
<UniqueIdentifier>{a955ffba-663b-4886-9c5c-bfe7b0fa1bd0}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{5350bf82-3416-493d-9edd-debd908855e6}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Header Files">
|
||||
<UniqueIdentifier>{5f043311-014e-476b-a96c-543e6a28486b}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{62509698-1e9d-4c2f-bd9d-8936051d19e1}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="WebSocket\Source Files">
|
||||
<UniqueIdentifier>{5c1f9a12-4bb0-48b8-9792-bb56c3a4c958}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{92979ad2-4f7d-4ffa-9fd1-b2b0bc6425cd}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth">
|
||||
<UniqueIdentifier>{a23638fb-b833-4b00-b153-0d8f6952db74}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{4f49cbee-bdda-4b23-aff4-5a9166d25c2d}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Header Files">
|
||||
<UniqueIdentifier>{da530f16-8aba-4e36-8b1b-12147c9c8d3d}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{9fad6d74-1176-4b69-b934-79b4e4b12205}</UniqueIdentifier>
|
||||
</Filter>
|
||||
<Filter Include="OAuth\Source Files">
|
||||
<UniqueIdentifier>{14791d14-3098-4567-8cd2-85156ae934a1}</UniqueIdentifier>
|
||||
<UniqueIdentifier>{f8edd851-2bd3-499e-845d-5cfc448c4973}</UniqueIdentifier>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
@ -198,6 +198,9 @@
|
||||
<ClInclude Include="src\MulticastSocketTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\PollSetTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="src\RawSocketTest.h">
|
||||
<Filter>Sockets\Header Files</Filter>
|
||||
</ClInclude>
|
||||
@ -383,6 +386,9 @@
|
||||
<ClCompile Include="src\MulticastSocketTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\PollSetTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="src\RawSocketTest.cpp">
|
||||
<Filter>Sockets\Source Files</Filter>
|
||||
</ClCompile>
|
||||
|
@ -509,6 +509,8 @@
|
||||
RelativePath=".\src\MulticastEchoServer.h"/>
|
||||
<File
|
||||
RelativePath=".\src\MulticastSocketTest.h"/>
|
||||
<File
|
||||
RelativePath=".\src\PollSetTest.h"/>
|
||||
<File
|
||||
RelativePath=".\src\RawSocketTest.h"/>
|
||||
<File
|
||||
@ -534,6 +536,8 @@
|
||||
RelativePath=".\src\MulticastEchoServer.cpp"/>
|
||||
<File
|
||||
RelativePath=".\src\MulticastSocketTest.cpp"/>
|
||||
<File
|
||||
RelativePath=".\src\PollSetTest.cpp"/>
|
||||
<File
|
||||
RelativePath=".\src\RawSocketTest.cpp"/>
|
||||
<File
|
||||
|
135
Net/testsuite/src/PollSetTest.cpp
Normal file
135
Net/testsuite/src/PollSetTest.cpp
Normal 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 "CppUnit/TestCaller.h"
|
||||
#include "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;
|
||||
}
|
36
Net/testsuite/src/PollSetTest.h
Normal file
36
Net/testsuite/src/PollSetTest.h
Normal 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 "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
|
@ -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;
|
||||
}
|
||||
|
@ -32,7 +32,7 @@ class Zip_API AutoDetectStreamBuf: public Poco::BufferedStreamBuf
|
||||
/// Data Descriptor signature.
|
||||
{
|
||||
public:
|
||||
AutoDetectStreamBuf(std::istream& in, const std::string& prefix, const std::string& postfix, bool reposition, Poco::UInt32 start);
|
||||
AutoDetectStreamBuf(std::istream& in, const std::string& prefix, const std::string& postfix, bool reposition, Poco::UInt32 start, bool needsZip64);
|
||||
/// Creates the AutoDetectStream.
|
||||
|
||||
~AutoDetectStreamBuf();
|
||||
@ -55,7 +55,8 @@ private:
|
||||
std::string _postfix;
|
||||
bool _reposition;
|
||||
Poco::UInt32 _start;
|
||||
std::streamsize _length;
|
||||
bool _needsZip64;
|
||||
Poco::UInt64 _length;
|
||||
};
|
||||
|
||||
|
||||
@ -66,7 +67,7 @@ class Zip_API AutoDetectIOS: public virtual std::ios
|
||||
/// order of the stream buffer and base classes.
|
||||
{
|
||||
public:
|
||||
AutoDetectIOS(std::istream& istr, const std::string& prefix, const std::string& postfix, bool reposition, Poco::UInt32 start);
|
||||
AutoDetectIOS(std::istream& istr, const std::string& prefix, const std::string& postfix, bool reposition, Poco::UInt32 start, bool needsZip64);
|
||||
/// Creates the basic stream and connects it
|
||||
/// to the given input stream.
|
||||
|
||||
@ -86,7 +87,7 @@ class Zip_API AutoDetectInputStream: public AutoDetectIOS, public std::istream
|
||||
/// Data Descriptor signature.
|
||||
{
|
||||
public:
|
||||
AutoDetectInputStream(std::istream& istr, const std::string& prefix = std::string(), const std::string& postfix = std::string(), bool reposition = false, Poco::UInt32 start = 0);
|
||||
AutoDetectInputStream(std::istream& istr, const std::string& prefix = std::string(), const std::string& postfix = std::string(), bool reposition = false, Poco::UInt32 start = 0, bool needsZip64 = false);
|
||||
/// Creates the AutoDetectInputStream and connects it to the underlying stream.
|
||||
|
||||
~AutoDetectInputStream();
|
||||
|
@ -36,9 +36,11 @@ class Zip_API Compress
|
||||
public:
|
||||
Poco::FIFOEvent<const ZipLocalFileHeader> EDone;
|
||||
|
||||
Compress(std::ostream& out, bool seekableOut);
|
||||
Compress(std::ostream& out, bool seekableOut, bool forceZip64 = false);
|
||||
/// seekableOut determines how we write the zip, setting it to true is recommended for local files (smaller zip file),
|
||||
/// if you are compressing directly to a network, you MUST set it to false
|
||||
/// If forceZip64 is set true then the file header is allocated with zip64 extension so that it can be updated after the file data is written
|
||||
/// if seekableOut is true in case the compressed or uncompressed size exceeds 32 bits.
|
||||
|
||||
~Compress();
|
||||
|
||||
@ -104,14 +106,16 @@ private:
|
||||
/// copys an already compressed ZipEntry from in
|
||||
|
||||
private:
|
||||
std::set<std::string> _storeExtensions;
|
||||
std::ostream& _out;
|
||||
bool _seekableOut;
|
||||
ZipArchive::FileHeaders _files;
|
||||
ZipArchive::FileInfos _infos;
|
||||
ZipArchive::DirectoryInfos _dirs;
|
||||
Poco::UInt32 _offset;
|
||||
std::string _comment;
|
||||
std::set<std::string> _storeExtensions;
|
||||
std::ostream& _out;
|
||||
bool _seekableOut;
|
||||
bool _forceZip64;
|
||||
ZipArchive::FileHeaders _files;
|
||||
ZipArchive::FileInfos _infos;
|
||||
ZipArchive::DirectoryInfos _dirs;
|
||||
ZipArchive::DirectoryInfos64 _dirs64;
|
||||
Poco::UInt64 _offset;
|
||||
std::string _comment;
|
||||
|
||||
friend class Keep;
|
||||
friend class Rename;
|
||||
@ -121,6 +125,8 @@ private:
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
|
||||
|
||||
inline void Compress::setZipComment(const std::string& comment)
|
||||
{
|
||||
_comment = comment;
|
||||
|
@ -28,7 +28,7 @@
|
||||
// from a DLL simpler. All files within this DLL are compiled with the Zip_EXPORTS
|
||||
// symbol defined on the command line. this symbol should not be defined on any project
|
||||
// that uses this DLL. This way any other project whose source files include this file see
|
||||
// Zip_API functions as being imported from a DLL, wheras this DLL sees symbols
|
||||
// Zip_API functions as being imported from a DLL, whereas this DLL sees symbols
|
||||
// defined with this macro as being exported.
|
||||
//
|
||||
#if defined(_WIN32) && defined(POCO_DLL)
|
||||
|
@ -41,6 +41,7 @@ public:
|
||||
typedef std::map<std::string, ZipLocalFileHeader> FileHeaders;
|
||||
typedef std::map<std::string, ZipFileInfo> FileInfos;
|
||||
typedef std::map<Poco::UInt16, ZipArchiveInfo> DirectoryInfos;
|
||||
typedef std::map<Poco::UInt32, ZipArchiveInfo64> DirectoryInfos64;
|
||||
|
||||
ZipArchive(std::istream& in);
|
||||
/// Creates the ZipArchive from a file. Note that the in stream will be in state failed after the constructor is finished
|
||||
@ -66,7 +67,7 @@ public:
|
||||
private:
|
||||
void parse(std::istream& in, ParseCallback& pc);
|
||||
|
||||
ZipArchive(const FileHeaders& entries, const FileInfos& infos, const DirectoryInfos& dirs );
|
||||
ZipArchive(const FileHeaders& entries, const FileInfos& infos, const DirectoryInfos& dirs, const DirectoryInfos64& dirs64 );
|
||||
|
||||
private:
|
||||
FileHeaders _entries;
|
||||
@ -75,6 +76,8 @@ private:
|
||||
/// Info generated by parsing the directory block of the zip file
|
||||
DirectoryInfos _disks;
|
||||
/// Stores directory info for all found disks
|
||||
DirectoryInfos64 _disks64;
|
||||
/// Stores directory info for all found disks
|
||||
|
||||
static const std::string EMPTY_COMMENT;
|
||||
|
||||
|
@ -68,15 +68,19 @@ public:
|
||||
/// Sets the optional Zip comment.
|
||||
|
||||
void setNumberOfEntries(Poco::UInt16 val);
|
||||
/// Returns the number of entries on this disk
|
||||
/// Sets the number of entries on this disk
|
||||
|
||||
void setTotalNumberOfEntries(Poco::UInt16 val);
|
||||
/// Returns the total number of entries on all disks
|
||||
/// Sets the total number of entries on all disks
|
||||
|
||||
void setCentralDirectorySize(Poco::UInt32 val);
|
||||
/// Returns the size of the central directory in bytes
|
||||
/// Sets the size of the central directory in bytes
|
||||
|
||||
void setHeaderOffset(Poco::UInt32 val);
|
||||
void setCentralDirectoryOffset(Poco::UInt32 val);
|
||||
/// Sets the offset of the central directory from beginning of first disk
|
||||
|
||||
void setHeaderOffset(std::streamoff val);
|
||||
/// Sets the offset of the header in relation to the begin of this disk
|
||||
|
||||
std::string createHeader() const;
|
||||
/// Creates a header
|
||||
@ -113,6 +117,122 @@ private:
|
||||
};
|
||||
|
||||
|
||||
class Zip_API ZipArchiveInfo64
|
||||
/// A ZipArchiveInfo64 stores central directory info
|
||||
{
|
||||
public:
|
||||
static const char HEADER[ZipCommon::HEADER_SIZE];
|
||||
static const char LOCATOR_HEADER[ZipCommon::HEADER_SIZE];
|
||||
|
||||
ZipArchiveInfo64();
|
||||
/// Default constructor, everything set to zero or empty
|
||||
|
||||
ZipArchiveInfo64(std::istream& in, bool assumeHeaderRead);
|
||||
/// Creates the ZipArchiveInfo64 by parsing the input stream.
|
||||
/// If assumeHeaderRead is true we assume that the first 4 bytes were already read outside.
|
||||
|
||||
~ZipArchiveInfo64();
|
||||
/// Destroys the ZipArchiveInfo64.
|
||||
|
||||
void getVersionMadeBy(int& major, int& minor);
|
||||
/// The ZIP version used to create the file
|
||||
|
||||
void getRequiredVersion(int& major, int& minor);
|
||||
/// The minimum version required to extract the data
|
||||
|
||||
Poco::UInt32 getDiskNumber() const;
|
||||
/// Get the number of the disk where this header can be found
|
||||
|
||||
Poco::UInt32 getFirstDiskForDirectoryHeader() const;
|
||||
/// Returns the number of the disk that contains the start of the directory header
|
||||
|
||||
Poco::UInt64 getNumberOfEntries() const;
|
||||
/// Returns the number of entries on this disk
|
||||
|
||||
Poco::UInt64 getTotalNumberOfEntries() const;
|
||||
/// Returns the total number of entries on all disks
|
||||
|
||||
Poco::UInt64 getCentralDirectorySize() const;
|
||||
/// Returns the size of the central directory in bytes
|
||||
|
||||
std::streamoff getCentralDirectoryOffset() const;
|
||||
/// Returns the offset of the central directory from beginning of first disk
|
||||
|
||||
std::streamoff getHeaderOffset() const;
|
||||
/// Returns the offset of the header in relation to the begin of this disk
|
||||
|
||||
void setNumberOfEntries(Poco::UInt64 val);
|
||||
/// Sets the number of entries on this disk
|
||||
|
||||
void setTotalNumberOfEntries(Poco::UInt64 val);
|
||||
/// Sets the total number of entries on all disks
|
||||
|
||||
void setCentralDirectorySize(Poco::UInt64 val);
|
||||
/// Set the size of the central directory in bytes
|
||||
|
||||
void setCentralDirectoryOffset(Poco::UInt64 val);
|
||||
/// Returns the offset of the central directory from beginning of first disk
|
||||
|
||||
void setHeaderOffset(std::streamoff val);
|
||||
/// Sets the offset of the header in relation to the begin of this disk
|
||||
|
||||
void setTotalNumberOfDisks(Poco::UInt32 val);
|
||||
/// Sets the offset of the central directory from beginning of first disk
|
||||
|
||||
std::string createHeader() const;
|
||||
/// Creates a header
|
||||
|
||||
private:
|
||||
void parse(std::istream& inp, bool assumeHeaderRead);
|
||||
void setRequiredVersion(int major, int minor);
|
||||
|
||||
private:
|
||||
enum
|
||||
{
|
||||
HEADER_POS = 0,
|
||||
RECORDSIZE_POS = HEADER_POS + ZipCommon::HEADER_SIZE,
|
||||
RECORDSIZE_SIZE = 8,
|
||||
VERSIONMADEBY_POS = RECORDSIZE_POS + RECORDSIZE_SIZE,
|
||||
VERSIONMADEBY_SIZE = 2,
|
||||
VERSION_NEEDED_POS = VERSIONMADEBY_POS + VERSIONMADEBY_SIZE,
|
||||
VERSION_NEEDED_SIZE = 2,
|
||||
NUMBEROFTHISDISK_POS = VERSION_NEEDED_POS + VERSION_NEEDED_SIZE,
|
||||
NUMBEROFTHISDISK_SIZE = 4,
|
||||
NUMBEROFCENTRALDIRDISK_POS = NUMBEROFTHISDISK_POS + NUMBEROFTHISDISK_SIZE,
|
||||
NUMBEROFCENTRALDIRDISK_SIZE = 4,
|
||||
NUMENTRIESTHISDISK_POS = NUMBEROFCENTRALDIRDISK_POS + NUMBEROFCENTRALDIRDISK_SIZE,
|
||||
NUMENTRIESTHISDISK_SIZE = 8,
|
||||
TOTALNUMENTRIES_POS = NUMENTRIESTHISDISK_POS + NUMENTRIESTHISDISK_SIZE,
|
||||
TOTALNUMENTRIES_SIZE = 8,
|
||||
CENTRALDIRSIZE_POS = TOTALNUMENTRIES_POS + TOTALNUMENTRIES_SIZE,
|
||||
CENTRALDIRSIZE_SIZE = 8,
|
||||
CENTRALDIRSTARTOFFSET_POS = CENTRALDIRSIZE_POS + CENTRALDIRSIZE_SIZE,
|
||||
CENTRALDIRSTARTOFFSET_SIZE = 8,
|
||||
FULL_HEADER_SIZE = 56,
|
||||
|
||||
LOCATOR_HEADER_POS = 0,
|
||||
NUMBEROFENDOFCENTRALDIRDISK_POS = LOCATOR_HEADER_POS + ZipCommon::HEADER_SIZE,
|
||||
NUMBEROFENDOFCENTRALDIRDISK_SIZE = 4,
|
||||
ENDOFCENTRALDIROFFSET_POS = NUMBEROFENDOFCENTRALDIRDISK_POS + NUMBEROFENDOFCENTRALDIRDISK_SIZE,
|
||||
ENDOFCENTRALDIROFFSET_SIZE = 8,
|
||||
TOTALNUMBEROFENDDISKS_POS = ENDOFCENTRALDIROFFSET_POS + ENDOFCENTRALDIROFFSET_SIZE,
|
||||
TOTALNUMBEROFENDDISKS_SIZE = 4,
|
||||
|
||||
FULL_LOCATOR_SIZE = 20
|
||||
};
|
||||
|
||||
char _rawInfo[FULL_HEADER_SIZE];
|
||||
std::string _extraField;
|
||||
char _locInfo[FULL_LOCATOR_SIZE];
|
||||
std::streamoff _startPos;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
|
||||
|
||||
inline Poco::UInt16 ZipArchiveInfo::getDiskNumber() const
|
||||
{
|
||||
return ZipUtil::get16BitValue(_rawInfo, NUMBEROFTHISDISK_POS);
|
||||
@ -179,11 +299,105 @@ inline void ZipArchiveInfo::setCentralDirectorySize(Poco::UInt32 val)
|
||||
}
|
||||
|
||||
|
||||
inline void ZipArchiveInfo::setHeaderOffset(Poco::UInt32 val)
|
||||
inline void ZipArchiveInfo::setCentralDirectoryOffset(Poco::UInt32 val)
|
||||
{
|
||||
ZipUtil::set32BitValue(val, _rawInfo, CENTRALDIRSTARTOFFSET_POS);
|
||||
}
|
||||
|
||||
inline void ZipArchiveInfo::setHeaderOffset(std::streamoff val)
|
||||
{
|
||||
_startPos = val;
|
||||
}
|
||||
|
||||
|
||||
inline Poco::UInt32 ZipArchiveInfo64::getDiskNumber() const
|
||||
{
|
||||
return ZipUtil::get32BitValue(_rawInfo, NUMBEROFTHISDISK_POS);
|
||||
}
|
||||
|
||||
|
||||
inline Poco::UInt32 ZipArchiveInfo64::getFirstDiskForDirectoryHeader() const
|
||||
{
|
||||
return ZipUtil::get32BitValue(_rawInfo, NUMBEROFCENTRALDIRDISK_POS);
|
||||
}
|
||||
|
||||
|
||||
inline Poco::UInt64 ZipArchiveInfo64::getNumberOfEntries() const
|
||||
{
|
||||
return ZipUtil::get64BitValue(_rawInfo, NUMENTRIESTHISDISK_POS);
|
||||
}
|
||||
|
||||
|
||||
inline Poco::UInt64 ZipArchiveInfo64::getTotalNumberOfEntries() const
|
||||
{
|
||||
return ZipUtil::get64BitValue(_rawInfo, TOTALNUMENTRIES_POS);
|
||||
}
|
||||
|
||||
|
||||
inline Poco::UInt64 ZipArchiveInfo64::getCentralDirectorySize() const
|
||||
{
|
||||
return ZipUtil::get64BitValue(_rawInfo, CENTRALDIRSIZE_POS);
|
||||
}
|
||||
|
||||
|
||||
inline std::streamoff ZipArchiveInfo64::getCentralDirectoryOffset() const
|
||||
{
|
||||
return _startPos;
|
||||
}
|
||||
|
||||
|
||||
inline std::streamoff ZipArchiveInfo64::getHeaderOffset() const
|
||||
{
|
||||
return _startPos;
|
||||
}
|
||||
|
||||
|
||||
inline void ZipArchiveInfo64::setRequiredVersion(int major, int minor)
|
||||
{
|
||||
poco_assert (minor < 10);
|
||||
poco_assert (major < 24);
|
||||
Poco::UInt8 val = static_cast<unsigned char>(major)*10+static_cast<unsigned char>(minor);
|
||||
_rawInfo[VERSIONMADEBY_POS] = static_cast<char>(val);
|
||||
_rawInfo[VERSION_NEEDED_POS] = static_cast<char>(val);
|
||||
}
|
||||
|
||||
|
||||
inline void ZipArchiveInfo64::setNumberOfEntries(Poco::UInt64 val)
|
||||
{
|
||||
ZipUtil::set64BitValue(val, _rawInfo, NUMENTRIESTHISDISK_POS);
|
||||
}
|
||||
|
||||
|
||||
inline void ZipArchiveInfo64::setTotalNumberOfEntries(Poco::UInt64 val)
|
||||
{
|
||||
ZipUtil::set64BitValue(val, _rawInfo, TOTALNUMENTRIES_POS);
|
||||
}
|
||||
|
||||
|
||||
inline void ZipArchiveInfo64::setCentralDirectorySize(Poco::UInt64 val)
|
||||
{
|
||||
ZipUtil::set64BitValue(val, _rawInfo, CENTRALDIRSIZE_POS);
|
||||
}
|
||||
|
||||
|
||||
inline void ZipArchiveInfo64::setCentralDirectoryOffset(Poco::UInt64 val)
|
||||
{
|
||||
ZipUtil::set64BitValue(val, _rawInfo, CENTRALDIRSTARTOFFSET_POS);
|
||||
}
|
||||
|
||||
|
||||
inline void ZipArchiveInfo64::setHeaderOffset(std::streamoff val)
|
||||
{
|
||||
_startPos = val;
|
||||
ZipUtil::set64BitValue(val, _locInfo, ENDOFCENTRALDIROFFSET_POS);
|
||||
}
|
||||
|
||||
|
||||
inline void ZipArchiveInfo64::setTotalNumberOfDisks(Poco::UInt32 val)
|
||||
{
|
||||
ZipUtil::set32BitValue(val, _locInfo, TOTALNUMBEROFENDDISKS_POS);
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Zip
|
||||
|
||||
|
@ -34,6 +34,10 @@ public:
|
||||
HEADER_SIZE = 4
|
||||
};
|
||||
|
||||
static const Poco::UInt16 ZIP64_EXTRA_ID = 0x1; // Extra data id tag for Zip64 data (in extension for ZipLocalFileHeader and ZipFileInfo)
|
||||
static const Poco::UInt16 ZIP64_MAGIC_SHORT = 0xFFFF;
|
||||
static const Poco::UInt32 ZIP64_MAGIC = 0xFFFFFFFF;
|
||||
|
||||
enum CompressionMethod
|
||||
{
|
||||
CM_STORE = 0,
|
||||
|
@ -78,6 +78,62 @@ private:
|
||||
};
|
||||
|
||||
|
||||
class Zip_API ZipDataInfo64
|
||||
/// A ZipDataInfo64 stores a Zip data descriptor for a Zip64 file
|
||||
{
|
||||
public:
|
||||
static const char HEADER[ZipCommon::HEADER_SIZE];
|
||||
|
||||
ZipDataInfo64();
|
||||
/// Creates a header with all fields (except the header field) set to 0
|
||||
|
||||
ZipDataInfo64(std::istream& in, bool assumeHeaderRead);
|
||||
/// Creates the ZipDataInfo64.
|
||||
|
||||
~ZipDataInfo64();
|
||||
/// Destroys the ZipDataInfo64.
|
||||
|
||||
bool isValid() const;
|
||||
|
||||
Poco::UInt32 getCRC32() const;
|
||||
|
||||
void setCRC32(Poco::UInt32 crc);
|
||||
|
||||
Poco::UInt64 getCompressedSize() const;
|
||||
|
||||
void setCompressedSize(Poco::UInt64 size);
|
||||
|
||||
Poco::UInt64 getUncompressedSize() const;
|
||||
|
||||
void setUncompressedSize(Poco::UInt64 size);
|
||||
|
||||
static Poco::UInt32 getFullHeaderSize();
|
||||
|
||||
const char* getRawHeader() const;
|
||||
|
||||
private:
|
||||
enum
|
||||
{
|
||||
HEADER_POS = 0,
|
||||
CRC32_POS = HEADER_POS + ZipCommon::HEADER_SIZE,
|
||||
CRC32_SIZE = 4,
|
||||
COMPRESSED_POS = CRC32_POS + CRC32_SIZE,
|
||||
COMPRESSED_SIZE = 8,
|
||||
UNCOMPRESSED_POS = COMPRESSED_POS + COMPRESSED_SIZE,
|
||||
UNCOMPRESSED_SIZE = 8,
|
||||
FULLHEADER_SIZE = UNCOMPRESSED_POS + UNCOMPRESSED_SIZE
|
||||
};
|
||||
|
||||
char _rawInfo[FULLHEADER_SIZE];
|
||||
bool _valid;
|
||||
};
|
||||
|
||||
|
||||
//
|
||||
// inlines
|
||||
//
|
||||
|
||||
|
||||
inline const char* ZipDataInfo::getRawHeader() const
|
||||
{
|
||||
return _rawInfo;
|
||||
@ -132,6 +188,60 @@ inline Poco::UInt32 ZipDataInfo::getFullHeaderSize()
|
||||
}
|
||||
|
||||
|
||||
inline const char* ZipDataInfo64::getRawHeader() const
|
||||
{
|
||||
return _rawInfo;
|
||||
}
|
||||
|
||||
|
||||
inline bool ZipDataInfo64::isValid() const
|
||||
{
|
||||
return _valid;
|
||||
}
|
||||
|
||||
|
||||
inline Poco::UInt32 ZipDataInfo64::getCRC32() const
|
||||
{
|
||||
return ZipUtil::get32BitValue(_rawInfo, CRC32_POS);
|
||||
}
|
||||
|
||||
|
||||
inline void ZipDataInfo64::setCRC32(Poco::UInt32 crc)
|
||||
{
|
||||
return ZipUtil::set32BitValue(crc, _rawInfo, CRC32_POS);
|
||||
}
|
||||
|
||||
|
||||
inline Poco::UInt64 ZipDataInfo64::getCompressedSize() const
|
||||
{
|
||||
return ZipUtil::get64BitValue(_rawInfo, COMPRESSED_POS);
|
||||
}
|
||||
|
||||
|
||||
inline void ZipDataInfo64::setCompressedSize(Poco::UInt64 size)
|
||||
{
|
||||
return ZipUtil::set64BitValue(size, _rawInfo, COMPRESSED_POS);
|
||||
}
|
||||
|
||||
|
||||
inline Poco::UInt64 ZipDataInfo64::getUncompressedSize() const
|
||||
{
|
||||
return ZipUtil::get64BitValue(_rawInfo, UNCOMPRESSED_POS);
|
||||
}
|
||||
|
||||
|
||||
inline void ZipDataInfo64::setUncompressedSize(Poco::UInt64 size)
|
||||
{
|
||||
return ZipUtil::set64BitValue(size, _rawInfo, UNCOMPRESSED_POS);
|
||||
}
|
||||
|
||||
|
||||
inline Poco::UInt32 ZipDataInfo64::getFullHeaderSize()
|
||||
{
|
||||
return FULLHEADER_SIZE;
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Zip
|
||||
|
||||
|
||||
|
@ -46,9 +46,6 @@ public:
|
||||
~ZipFileInfo();
|
||||
/// Destroys the ZipFileInfo.
|
||||
|
||||
Poco::UInt32 getRelativeOffsetOfLocalHeader() const;
|
||||
/// Where on the disk starts the localheader. Combined with the disk number gives the exact location of the header
|
||||
|
||||
ZipCommon::CompressionMethod getCompressionMethod() const;
|
||||
|
||||
bool isEncrypted() const;
|
||||
@ -60,9 +57,12 @@ public:
|
||||
Poco::UInt32 getHeaderSize() const;
|
||||
/// Returns the total size of the header including filename + other additional fields
|
||||
|
||||
Poco::UInt32 getCompressedSize() const;
|
||||
Poco::UInt64 getCompressedSize() const;
|
||||
|
||||
Poco::UInt32 getUncompressedSize() const;
|
||||
Poco::UInt64 getUncompressedSize() const;
|
||||
|
||||
Poco::UInt64 getOffset() const;
|
||||
/// Where on the disk starts the localheader. Combined with the disk number gives the exact location of the header
|
||||
|
||||
const std::string& getFileName() const;
|
||||
|
||||
@ -92,14 +92,19 @@ public:
|
||||
|
||||
std::string createHeader() const;
|
||||
|
||||
void setOffset(Poco::UInt32 val);
|
||||
void setOffset(Poco::UInt64 val);
|
||||
|
||||
bool needsZip64() const;
|
||||
|
||||
void setZip64Data();
|
||||
|
||||
private:
|
||||
|
||||
void setCRC(Poco::UInt32 val);
|
||||
|
||||
void setCompressedSize(Poco::UInt32 val);
|
||||
void setCompressedSize(Poco::UInt64 val);
|
||||
|
||||
void setUncompressedSize(Poco::UInt32 val);
|
||||
void setUncompressedSize(Poco::UInt64 val);
|
||||
|
||||
void setCompressionMethod(ZipCommon::CompressionMethod cm);
|
||||
|
||||
@ -129,6 +134,8 @@ private:
|
||||
|
||||
Poco::UInt32 getUncompressedSizeFromHeader() const;
|
||||
|
||||
Poco::UInt32 getOffsetFromHeader() const;
|
||||
|
||||
Poco::UInt16 getFileNameLength() const;
|
||||
|
||||
Poco::UInt16 getExtraFieldLength() const;
|
||||
@ -175,7 +182,17 @@ private:
|
||||
EXTERNALFILE_ATTR_SIZE = 4,
|
||||
RELATIVEOFFSETLOCALHEADER_POS = EXTERNALFILE_ATTR_POS + EXTERNALFILE_ATTR_SIZE,
|
||||
RELATIVEOFFSETLOCALHEADER_SIZE = 4,
|
||||
FULLHEADER_SIZE = 46
|
||||
FULLHEADER_SIZE = 46,
|
||||
|
||||
EXTRA_DATA_TAG_SIZE = 2,
|
||||
EXTRA_DATA_TAG_POS = 0,
|
||||
EXTRA_DATA_SIZE_SIZE = 2,
|
||||
EXTRA_DATA_SIZE_POS = EXTRA_DATA_TAG_POS + EXTRA_DATA_TAG_SIZE,
|
||||
EXTRA_DATA_POS = EXTRA_DATA_SIZE_POS + EXTRA_DATA_SIZE_SIZE,
|
||||
EXTRA_DATA_UNCOMPRESSED_SIZE_SIZE = 8,
|
||||
EXTRA_DATA_COMPRESSED_SIZE_SIZE = 8,
|
||||
EXTRA_DATA_OFFSET_SIZE = 8,
|
||||
FULLEXTRA_DATA_SIZE = 28
|
||||
};
|
||||
|
||||
enum
|
||||
@ -186,8 +203,9 @@ private:
|
||||
|
||||
char _rawInfo[FULLHEADER_SIZE];
|
||||
Poco::UInt32 _crc32;
|
||||
Poco::UInt32 _compressedSize;
|
||||
Poco::UInt32 _uncompressedSize;
|
||||
Poco::UInt64 _compressedSize;
|
||||
Poco::UInt64 _uncompressedSize;
|
||||
Poco::UInt64 _localHeaderOffset;
|
||||
std::string _fileName;
|
||||
Poco::DateTime _lastModifiedAt;
|
||||
std::string _extraField;
|
||||
@ -195,12 +213,6 @@ private:
|
||||
};
|
||||
|
||||
|
||||
inline Poco::UInt32 ZipFileInfo::getRelativeOffsetOfLocalHeader() const
|
||||
{
|
||||
return ZipUtil::get32BitValue(_rawInfo, RELATIVEOFFSETLOCALHEADER_POS);
|
||||
}
|
||||
|
||||
|
||||
inline Poco::UInt32 ZipFileInfo::getCRCFromHeader() const
|
||||
{
|
||||
return ZipUtil::get32BitValue(_rawInfo, CRC32_POS);
|
||||
@ -218,6 +230,11 @@ inline Poco::UInt32 ZipFileInfo::getUncompressedSizeFromHeader() const
|
||||
return ZipUtil::get32BitValue(_rawInfo, UNCOMPRESSED_SIZE_POS);
|
||||
}
|
||||
|
||||
inline Poco::UInt32 ZipFileInfo::getOffsetFromHeader() const
|
||||
{
|
||||
return ZipUtil::get32BitValue(_rawInfo, RELATIVEOFFSETLOCALHEADER_POS);
|
||||
}
|
||||
|
||||
|
||||
inline void ZipFileInfo::parseDateTime()
|
||||
{
|
||||
@ -244,19 +261,25 @@ inline const Poco::DateTime& ZipFileInfo::lastModifiedAt() const
|
||||
}
|
||||
|
||||
|
||||
inline Poco::UInt64 ZipFileInfo::getOffset() const
|
||||
{
|
||||
return _localHeaderOffset;
|
||||
}
|
||||
|
||||
|
||||
inline Poco::UInt32 ZipFileInfo::getCRC() const
|
||||
{
|
||||
return _crc32;
|
||||
}
|
||||
|
||||
|
||||
inline Poco::UInt32 ZipFileInfo::getCompressedSize() const
|
||||
inline Poco::UInt64 ZipFileInfo::getCompressedSize() const
|
||||
{
|
||||
return _compressedSize;
|
||||
}
|
||||
|
||||
|
||||
inline Poco::UInt32 ZipFileInfo::getUncompressedSize() const
|
||||
inline Poco::UInt64 ZipFileInfo::getUncompressedSize() const
|
||||
{
|
||||
return _uncompressedSize;
|
||||
}
|
||||
@ -361,6 +384,39 @@ inline Poco::UInt32 ZipFileInfo::getHeaderSize() const
|
||||
}
|
||||
|
||||
|
||||
inline bool ZipFileInfo::needsZip64() const
|
||||
{
|
||||
return _localHeaderOffset >= ZipCommon::ZIP64_MAGIC || _compressedSize >= ZipCommon::ZIP64_MAGIC || _uncompressedSize >= ZipCommon::ZIP64_MAGIC;
|
||||
}
|
||||
|
||||
|
||||
inline void ZipFileInfo::setZip64Data()
|
||||
{
|
||||
if (needsZip64())
|
||||
{
|
||||
setRequiredVersion(4, 5);
|
||||
char data[FULLEXTRA_DATA_SIZE];
|
||||
ZipUtil::set16BitValue(ZipCommon::ZIP64_EXTRA_ID, data, EXTRA_DATA_TAG_POS);
|
||||
Poco::UInt16 pos = EXTRA_DATA_POS;
|
||||
if (_uncompressedSize >= ZipCommon::ZIP64_MAGIC)
|
||||
{
|
||||
ZipUtil::set64BitValue(_uncompressedSize, data, pos); pos += 8;
|
||||
}
|
||||
if (_compressedSize >= ZipCommon::ZIP64_MAGIC)
|
||||
{
|
||||
ZipUtil::set64BitValue(_compressedSize, data, pos); pos += 8;
|
||||
}
|
||||
if (_localHeaderOffset >= ZipCommon::ZIP64_MAGIC)
|
||||
{
|
||||
ZipUtil::set64BitValue(_localHeaderOffset, data, pos); pos += 8;
|
||||
}
|
||||
ZipUtil::set16BitValue(pos - EXTRA_DATA_POS, data, EXTRA_DATA_SIZE_POS);
|
||||
_extraField = std::string(data, pos);
|
||||
ZipUtil::set16BitValue(pos, _rawInfo, EXTRAFIELD_LENGTH_POS);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
inline void ZipFileInfo::setCRC(Poco::UInt32 val)
|
||||
{
|
||||
_crc32 = val;
|
||||
@ -368,23 +424,24 @@ inline void ZipFileInfo::setCRC(Poco::UInt32 val)
|
||||
}
|
||||
|
||||
|
||||
inline void ZipFileInfo::setOffset(Poco::UInt32 val)
|
||||
inline void ZipFileInfo::setOffset(Poco::UInt64 val)
|
||||
{
|
||||
ZipUtil::set32BitValue(val, _rawInfo, RELATIVEOFFSETLOCALHEADER_POS);
|
||||
_localHeaderOffset = val;
|
||||
ZipUtil::set32BitValue(val >= ZipCommon::ZIP64_MAGIC ? ZipCommon::ZIP64_MAGIC : static_cast<Poco::UInt32>(val), _rawInfo, RELATIVEOFFSETLOCALHEADER_POS);
|
||||
}
|
||||
|
||||
|
||||
inline void ZipFileInfo::setCompressedSize(Poco::UInt32 val)
|
||||
inline void ZipFileInfo::setCompressedSize(Poco::UInt64 val)
|
||||
{
|
||||
_compressedSize = val;
|
||||
ZipUtil::set32BitValue(val, _rawInfo, COMPRESSED_SIZE_POS);
|
||||
ZipUtil::set32BitValue(val >= ZipCommon::ZIP64_MAGIC ? ZipCommon::ZIP64_MAGIC : static_cast<Poco::UInt32>(val), _rawInfo, COMPRESSED_SIZE_POS);
|
||||
}
|
||||
|
||||
|
||||
inline void ZipFileInfo::setUncompressedSize(Poco::UInt32 val)
|
||||
inline void ZipFileInfo::setUncompressedSize(Poco::UInt64 val)
|
||||
{
|
||||
_uncompressedSize = val;
|
||||
ZipUtil::set32BitValue(val, _rawInfo, UNCOMPRESSED_SIZE_POS);
|
||||
ZipUtil::set32BitValue(val >= ZipCommon::ZIP64_MAGIC ? ZipCommon::ZIP64_MAGIC : static_cast<Poco::UInt32>(val), _rawInfo, UNCOMPRESSED_SIZE_POS);
|
||||
}
|
||||
|
||||
|
||||
@ -421,7 +478,7 @@ inline void ZipFileInfo::setRequiredVersion(int major, int minor)
|
||||
{
|
||||
poco_assert (minor < 10);
|
||||
poco_assert (major < 24);
|
||||
Poco::UInt8 val = static_cast<Poco::UInt8>(major)*10 + static_cast<Poco::UInt8>(minor);
|
||||
Poco::UInt8 val = static_cast<unsigned char>(major)*10+static_cast<unsigned char>(minor);
|
||||
_rawInfo[VERSIONMADEBY_POS] = static_cast<char>(val);
|
||||
_rawInfo[VERSION_NEEDED_POS] = static_cast<char>(val);
|
||||
}
|
||||
|
@ -39,9 +39,10 @@ class Zip_API ZipLocalFileHeader
|
||||
public:
|
||||
static const char HEADER[ZipCommon::HEADER_SIZE];
|
||||
|
||||
ZipLocalFileHeader(const Poco::Path& fileName, const Poco::DateTime& lastModifiedAt, ZipCommon::CompressionMethod cm, ZipCommon::CompressionLevel cl);
|
||||
ZipLocalFileHeader(const Poco::Path& fileName, const Poco::DateTime& lastModifiedAt, ZipCommon::CompressionMethod cm, ZipCommon::CompressionLevel cl, bool forceZip64 = false);
|
||||
/// Creates a zip file header from an absoluteFile. fileName is the name of the file in the zip, outputIsSeekable determines if we write
|
||||
/// CRC and file sizes to the LocalFileHeader or after data compression into a ZipDataInfo
|
||||
/// If forceZip64 is set true then the file header is allocated with zip64 extension.
|
||||
|
||||
ZipLocalFileHeader(std::istream& inp, bool assumeHeaderRead, ParseCallback& callback);
|
||||
/// Creates the ZipLocalFileHeader by parsing the input stream.
|
||||
@ -88,15 +89,15 @@ public:
|
||||
|
||||
Poco::UInt32 getCRC() const;
|
||||
|
||||
Poco::UInt32 getCompressedSize() const;
|
||||
Poco::UInt64 getCompressedSize() const;
|
||||
|
||||
Poco::UInt32 getUncompressedSize() const;
|
||||
Poco::UInt64 getUncompressedSize() const;
|
||||
|
||||
void setCRC(Poco::UInt32 val);
|
||||
|
||||
void setCompressedSize(Poco::UInt32 val);
|
||||
void setCompressedSize(Poco::UInt64 val);
|
||||
|
||||
void setUncompressedSize(Poco::UInt32 val);
|
||||
void setUncompressedSize(Poco::UInt64 val);
|
||||
|
||||
const std::string& getFileName() const;
|
||||
|
||||
@ -116,6 +117,10 @@ public:
|
||||
|
||||
void setFileName(const std::string& fileName, bool isDirectory);
|
||||
|
||||
bool needsZip64() const;
|
||||
|
||||
void setZip64Data();
|
||||
|
||||
std::string createHeader() const;
|
||||
/// Creates a header
|
||||
|
||||
@ -168,17 +173,27 @@ private:
|
||||
LASTMODEFILEDATE_POS = LASTMODEFILETIME_POS + LASTMODEFILETIME_SIZE,
|
||||
CRC32_SIZE = 4,
|
||||
CRC32_POS = LASTMODEFILEDATE_POS + LASTMODEFILEDATE_SIZE,
|
||||
COMPRESSEDSIZE_SIZE = 4,
|
||||
COMPRESSEDSIZE_POS = CRC32_POS + CRC32_SIZE,
|
||||
UNCOMPRESSEDSIZE_SIZE = 4,
|
||||
UNCOMPRESSEDSIZE_POS = COMPRESSEDSIZE_POS + COMPRESSEDSIZE_SIZE,
|
||||
FILELENGTH_SIZE = 2,
|
||||
FILELENGTH_POS = UNCOMPRESSEDSIZE_POS + UNCOMPRESSEDSIZE_SIZE,
|
||||
EXTRAFIELD_LENGTH = 2,
|
||||
EXTRAFIELD_POS = FILELENGTH_POS + FILELENGTH_SIZE,
|
||||
FULLHEADER_SIZE = 30
|
||||
COMPRESSED_SIZE_SIZE = 4,
|
||||
COMPRESSED_SIZE_POS = CRC32_POS + CRC32_SIZE,
|
||||
UNCOMPRESSED_SIZE_SIZE = 4,
|
||||
UNCOMPRESSED_SIZE_POS = COMPRESSED_SIZE_POS + COMPRESSED_SIZE_SIZE,
|
||||
FILE_LENGTH_SIZE = 2,
|
||||
FILE_LENGTH_POS = UNCOMPRESSED_SIZE_POS + UNCOMPRESSED_SIZE_SIZE,
|
||||
EXTRA_FIELD_LENGTH = 2,
|
||||
EXTRA_FIELD_POS = FILE_LENGTH_POS + FILE_LENGTH_SIZE,
|
||||
FULLHEADER_SIZE = 30,
|
||||
|
||||
EXTRA_DATA_TAG_SIZE = 2,
|
||||
EXTRA_DATA_TAG_POS = 0,
|
||||
EXTRA_DATA_SIZE_SIZE = 2,
|
||||
EXTRA_DATA_SIZE_POS = EXTRA_DATA_TAG_POS + EXTRA_DATA_TAG_SIZE,
|
||||
EXTRA_DATA_POS = EXTRA_DATA_SIZE_POS + EXTRA_DATA_SIZE_SIZE,
|
||||
EXTRA_DATA_UNCOMPRESSED_SIZE_SIZE = 8,
|
||||
EXTRA_DATA_COMPRESSED_SIZE_SIZE = 8,
|
||||
FULLEXTRA_DATA_SIZE = 20
|
||||
};
|
||||
|
||||
bool _forceZip64;
|
||||
char _rawHeader[FULLHEADER_SIZE];
|
||||
std::streamoff _startPos;
|
||||
std::streamoff _endPos;
|
||||
@ -186,8 +201,8 @@ private:
|
||||
Poco::DateTime _lastModifiedAt;
|
||||
std::string _extraField;
|
||||
Poco::UInt32 _crc32;
|
||||
Poco::UInt32 _compressedSize;
|
||||
Poco::UInt32 _uncompressedSize;
|
||||
Poco::UInt64 _compressedSize;
|
||||
Poco::UInt64 _uncompressedSize;
|
||||
|
||||
friend class ZipStreamBuf;
|
||||
};
|
||||
@ -195,13 +210,13 @@ private:
|
||||
|
||||
inline void ZipLocalFileHeader::setFileNameLength(Poco::UInt16 size)
|
||||
{
|
||||
ZipUtil::set16BitValue(size, _rawHeader, FILELENGTH_POS);
|
||||
ZipUtil::set16BitValue(size, _rawHeader, FILE_LENGTH_POS);
|
||||
}
|
||||
|
||||
|
||||
inline void ZipLocalFileHeader::setExtraFieldSize(Poco::UInt16 size)
|
||||
{
|
||||
ZipUtil::set16BitValue(size, _rawHeader, EXTRAFIELD_POS);
|
||||
ZipUtil::set16BitValue(size, _rawHeader, EXTRA_FIELD_POS);
|
||||
}
|
||||
|
||||
|
||||
@ -236,6 +251,28 @@ inline void ZipLocalFileHeader::getRequiredVersion(int& major, int& minor)
|
||||
}
|
||||
|
||||
|
||||
inline bool ZipLocalFileHeader::needsZip64() const
|
||||
{
|
||||
return _forceZip64 || _startPos >= ZipCommon::ZIP64_MAGIC || _compressedSize >= ZipCommon::ZIP64_MAGIC || _uncompressedSize >= ZipCommon::ZIP64_MAGIC;
|
||||
}
|
||||
|
||||
|
||||
inline void ZipLocalFileHeader::setZip64Data()
|
||||
{
|
||||
setRequiredVersion(4, 5);
|
||||
char data[FULLEXTRA_DATA_SIZE];
|
||||
ZipUtil::set16BitValue(ZipCommon::ZIP64_EXTRA_ID, data, EXTRA_DATA_TAG_POS);
|
||||
Poco::UInt16 pos = EXTRA_DATA_POS;
|
||||
ZipUtil::set64BitValue(_uncompressedSize, data, pos); pos += 8;
|
||||
ZipUtil::set32BitValue(ZipCommon::ZIP64_MAGIC, _rawHeader, UNCOMPRESSED_SIZE_POS);
|
||||
ZipUtil::set64BitValue(_compressedSize, data, pos); pos += 8;
|
||||
ZipUtil::set32BitValue(ZipCommon::ZIP64_MAGIC, _rawHeader, COMPRESSED_SIZE_POS);
|
||||
ZipUtil::set16BitValue(pos - EXTRA_DATA_POS, data, EXTRA_DATA_SIZE_POS);
|
||||
_extraField = std::string(data, pos);
|
||||
ZipUtil::set16BitValue(pos, _rawHeader, EXTRA_FIELD_POS);
|
||||
}
|
||||
|
||||
|
||||
inline void ZipLocalFileHeader::setRequiredVersion(int major, int minor)
|
||||
{
|
||||
poco_assert (minor < 10);
|
||||
@ -243,15 +280,16 @@ inline void ZipLocalFileHeader::setRequiredVersion(int major, int minor)
|
||||
_rawHeader[VERSION_POS] = static_cast<char>(static_cast<unsigned char>(major)*10+static_cast<unsigned char>(minor));
|
||||
}
|
||||
|
||||
|
||||
inline Poco::UInt16 ZipLocalFileHeader::getFileNameLength() const
|
||||
{
|
||||
return ZipUtil::get16BitValue(_rawHeader, FILELENGTH_POS);
|
||||
return ZipUtil::get16BitValue(_rawHeader, FILE_LENGTH_POS);
|
||||
}
|
||||
|
||||
|
||||
inline Poco::UInt16 ZipLocalFileHeader::getExtraFieldLength() const
|
||||
{
|
||||
return ZipUtil::get16BitValue(_rawHeader, EXTRAFIELD_POS);
|
||||
return ZipUtil::get16BitValue(_rawHeader, EXTRA_FIELD_POS);
|
||||
}
|
||||
|
||||
|
||||
@ -360,13 +398,13 @@ inline Poco::UInt32 ZipLocalFileHeader::getCRC() const
|
||||
}
|
||||
|
||||
|
||||
inline Poco::UInt32 ZipLocalFileHeader::getCompressedSize() const
|
||||
inline Poco::UInt64 ZipLocalFileHeader::getCompressedSize() const
|
||||
{
|
||||
return _compressedSize;
|
||||
}
|
||||
|
||||
|
||||
inline Poco::UInt32 ZipLocalFileHeader::getUncompressedSize() const
|
||||
inline Poco::UInt64 ZipLocalFileHeader::getUncompressedSize() const
|
||||
{
|
||||
return _uncompressedSize;
|
||||
}
|
||||
@ -379,17 +417,17 @@ inline void ZipLocalFileHeader::setCRC(Poco::UInt32 val)
|
||||
}
|
||||
|
||||
|
||||
inline void ZipLocalFileHeader::setCompressedSize(Poco::UInt32 val)
|
||||
inline void ZipLocalFileHeader::setCompressedSize(Poco::UInt64 val)
|
||||
{
|
||||
_compressedSize = val;
|
||||
ZipUtil::set32BitValue(val, _rawHeader, COMPRESSEDSIZE_POS);
|
||||
ZipUtil::set32BitValue(val >= ZipCommon::ZIP64_MAGIC ? ZipCommon::ZIP64_MAGIC : static_cast<Poco::UInt32>(val), _rawHeader, COMPRESSED_SIZE_POS);
|
||||
}
|
||||
|
||||
|
||||
inline void ZipLocalFileHeader::setUncompressedSize(Poco::UInt32 val)
|
||||
inline void ZipLocalFileHeader::setUncompressedSize(Poco::UInt64 val)
|
||||
{
|
||||
_uncompressedSize = val;
|
||||
ZipUtil::set32BitValue(val, _rawHeader, UNCOMPRESSEDSIZE_POS);
|
||||
ZipUtil::set32BitValue(val >= ZipCommon::ZIP64_MAGIC ? ZipCommon::ZIP64_MAGIC : static_cast<Poco::UInt32>(val), _rawHeader, UNCOMPRESSED_SIZE_POS);
|
||||
}
|
||||
|
||||
|
||||
@ -401,13 +439,13 @@ inline Poco::UInt32 ZipLocalFileHeader::getCRCFromHeader() const
|
||||
|
||||
inline Poco::UInt32 ZipLocalFileHeader::getCompressedSizeFromHeader() const
|
||||
{
|
||||
return ZipUtil::get32BitValue(_rawHeader, COMPRESSEDSIZE_POS);
|
||||
return ZipUtil::get32BitValue(_rawHeader, COMPRESSED_SIZE_POS);
|
||||
}
|
||||
|
||||
|
||||
inline Poco::UInt32 ZipLocalFileHeader::getUncompressedSizeFromHeader() const
|
||||
{
|
||||
return ZipUtil::get32BitValue(_rawHeader, UNCOMPRESSEDSIZE_POS);
|
||||
return ZipUtil::get32BitValue(_rawHeader, UNCOMPRESSED_SIZE_POS);
|
||||
}
|
||||
|
||||
|
||||
|
@ -48,7 +48,7 @@ public:
|
||||
virtual ~ZipStreamBuf();
|
||||
/// Destroys the ZipStreamBuf.
|
||||
|
||||
void close();
|
||||
void close(Poco::UInt64& extraDataSize);
|
||||
/// Informs a writing outputstream that writing is done for this stream
|
||||
|
||||
bool crcValid() const;
|
||||
@ -77,7 +77,7 @@ private:
|
||||
Poco::UInt32 _expectedCrc32;
|
||||
bool _checkCRC;
|
||||
/// Note: we do not check crc if we decompress a streaming zip file and the crc is stored in the directory header
|
||||
Poco::UInt32 _bytesWritten;
|
||||
Poco::UInt64 _bytesWritten;
|
||||
ZipLocalFileHeader* _pHeader;
|
||||
};
|
||||
|
||||
@ -138,7 +138,7 @@ public:
|
||||
~ZipOutputStream();
|
||||
/// Destroys the ZipOutputStream.
|
||||
|
||||
void close();
|
||||
void close(Poco::UInt64& extraDataSize);
|
||||
/// Must be called for ZipOutputStreams!
|
||||
};
|
||||
|
||||
|
@ -29,7 +29,7 @@ namespace Poco {
|
||||
namespace Zip {
|
||||
|
||||
|
||||
class ZipUtil
|
||||
class Zip_API ZipUtil
|
||||
/// A utility class used for parsing header information inside of zip files
|
||||
{
|
||||
public:
|
||||
@ -37,10 +37,14 @@ public:
|
||||
|
||||
static Poco::UInt32 get32BitValue(const char* pVal, const Poco::UInt32 pos);
|
||||
|
||||
static Poco::UInt64 get64BitValue(const char* pVal, const Poco::UInt32 pos);
|
||||
|
||||
static void set16BitValue(const Poco::UInt16 val, char* pVal, const Poco::UInt32 pos);
|
||||
|
||||
static void set32BitValue(const Poco::UInt32 val, char* pVal, const Poco::UInt32 pos);
|
||||
|
||||
static void set64BitValue(const Poco::UInt64 val, char* pVal, const Poco::UInt32 pos);
|
||||
|
||||
static Poco::DateTime parseDateTime(const char* pVal, const Poco::UInt32 timePos, const Poco::UInt32 datePos);
|
||||
|
||||
static void setDateTime(const Poco::DateTime& dt, char* pVal, const Poco::UInt32 timePos, const Poco::UInt32 datePos);
|
||||
@ -76,6 +80,14 @@ inline Poco::UInt32 ZipUtil::get32BitValue(const char* pVal, const Poco::UInt32
|
||||
}
|
||||
|
||||
|
||||
inline Poco::UInt64 ZipUtil::get64BitValue(const char* pVal, const Poco::UInt32 pos)
|
||||
{
|
||||
Poco::UInt64 val = ZipUtil::get32BitValue(pVal, pos+4);
|
||||
val = (val << 32) | ZipUtil::get32BitValue(pVal, pos);
|
||||
return val;
|
||||
}
|
||||
|
||||
|
||||
inline void ZipUtil::set16BitValue(const Poco::UInt16 val, char* pVal, const Poco::UInt32 pos)
|
||||
{
|
||||
pVal[pos] = static_cast<char>(val);
|
||||
@ -92,6 +104,19 @@ inline void ZipUtil::set32BitValue(const Poco::UInt32 val, char* pVal, const Poc
|
||||
}
|
||||
|
||||
|
||||
inline void ZipUtil::set64BitValue(const Poco::UInt64 val, char* pVal, const Poco::UInt32 pos)
|
||||
{
|
||||
pVal[pos] = static_cast<char>(val);
|
||||
pVal[pos+1] = static_cast<char>(val>>8);
|
||||
pVal[pos+2] = static_cast<char>(val>>16);
|
||||
pVal[pos+3] = static_cast<char>(val>>24);
|
||||
pVal[pos+4] = static_cast<char>(val>>32);
|
||||
pVal[pos+5] = static_cast<char>(val>>40);
|
||||
pVal[pos+6] = static_cast<char>(val>>48);
|
||||
pVal[pos+7] = static_cast<char>(val>>56);
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Zip
|
||||
|
||||
|
||||
|
@ -25,7 +25,7 @@ namespace Poco {
|
||||
namespace Zip {
|
||||
|
||||
|
||||
AutoDetectStreamBuf::AutoDetectStreamBuf(std::istream& in, const std::string& pre, const std::string& post, bool reposition, Poco::UInt32 start):
|
||||
AutoDetectStreamBuf::AutoDetectStreamBuf(std::istream& in, const std::string& pre, const std::string& post, bool reposition, Poco::UInt32 start, bool needsZip64):
|
||||
Poco::BufferedStreamBuf(STREAM_BUFFER_SIZE, std::ios::in),
|
||||
_pIstr(&in),
|
||||
_eofDetected(false),
|
||||
@ -34,6 +34,7 @@ AutoDetectStreamBuf::AutoDetectStreamBuf(std::istream& in, const std::string& pr
|
||||
_postfix(post),
|
||||
_reposition(reposition),
|
||||
_start(start),
|
||||
_needsZip64(needsZip64),
|
||||
_length(0)
|
||||
{
|
||||
}
|
||||
@ -61,7 +62,7 @@ int AutoDetectStreamBuf::readFromDevice(char* buffer, std::streamsize length)
|
||||
std::streamsize n = (_prefix.size() > length) ? length : static_cast<std::streamsize>(_prefix.size());
|
||||
std::memcpy(buffer, _prefix.data(), n);
|
||||
_prefix.erase(0, n);
|
||||
return n;
|
||||
return static_cast<int>(n);
|
||||
}
|
||||
|
||||
if (_eofDetected)
|
||||
@ -71,7 +72,7 @@ int AutoDetectStreamBuf::readFromDevice(char* buffer, std::streamsize length)
|
||||
std::streamsize n = (_postfix.size() > length) ? length : static_cast<std::streamsize>(_postfix.size());
|
||||
std::memcpy(buffer, _postfix.data(), n);
|
||||
_postfix.erase(0, n);
|
||||
return n;
|
||||
return static_cast<int>(n);
|
||||
}
|
||||
else return -1;
|
||||
}
|
||||
@ -81,7 +82,7 @@ int AutoDetectStreamBuf::readFromDevice(char* buffer, std::streamsize length)
|
||||
std::streamsize offset = 0;
|
||||
static std::istream::int_type eof = std::istream::traits_type::eof();
|
||||
while (_pIstr->good() && !_pIstr->eof() && (offset + 4) < length)
|
||||
{
|
||||
{
|
||||
std::istream::int_type c = _pIstr->get();
|
||||
if (c != eof)
|
||||
{
|
||||
@ -112,37 +113,64 @@ int AutoDetectStreamBuf::readFromDevice(char* buffer, std::streamsize length)
|
||||
{
|
||||
if (ZipDataInfo::HEADER[3] == c)
|
||||
{
|
||||
ZipDataInfo dataInfo(*_pIstr, true);
|
||||
if (!_pIstr->good()) throw Poco::IOException("Failed to read data descriptor");
|
||||
|
||||
if (dataInfo.getCompressedSize() == _length + offset)
|
||||
std::streamsize dataInfoSize = 0;
|
||||
if (_needsZip64)
|
||||
{
|
||||
_pIstr->seekg(-static_cast<int>(dataInfo.getFullHeaderSize()), std::ios::cur);
|
||||
if (!_pIstr->good()) throw Poco::IOException("Failed to seek on input stream");
|
||||
ZipDataInfo64 dataInfo(*_pIstr, true);
|
||||
if (!_pIstr->good()) throw Poco::IOException("Failed to read data descriptor");
|
||||
|
||||
_eofDetected = true;
|
||||
_length += offset;
|
||||
|
||||
if (offset == 0 && !_postfix.empty())
|
||||
dataInfoSize = dataInfo.getFullHeaderSize();
|
||||
if (dataInfo.getCompressedSize() == _length + offset)
|
||||
{
|
||||
offset = (_postfix.size() > length) ? length : static_cast<std::streamsize>(_postfix.size());
|
||||
std::memcpy(buffer, _postfix.data(), offset);
|
||||
_postfix.erase(0, offset);
|
||||
}
|
||||
_pIstr->seekg(-static_cast<int>(dataInfoSize), std::ios::cur);
|
||||
if (!_pIstr->good()) throw Poco::IOException("Failed to seek on input stream");
|
||||
|
||||
_eofDetected = true;
|
||||
_length += offset;
|
||||
|
||||
return offset;
|
||||
if (offset == 0 && !_postfix.empty())
|
||||
{
|
||||
offset = (_postfix.size() > length) ? length : static_cast<std::streamsize>(_postfix.size());
|
||||
std::memcpy(buffer, _postfix.data(), offset);
|
||||
_postfix.erase(0, offset);
|
||||
}
|
||||
|
||||
return static_cast<int>(offset);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_pIstr->seekg(-static_cast<int>(dataInfo.getFullHeaderSize() - 4), std::ios::cur);
|
||||
if (!_pIstr->good()) throw Poco::IOException("Failed to seek on input stream");
|
||||
ZipDataInfo dataInfo(*_pIstr, true);
|
||||
if (!_pIstr->good()) throw Poco::IOException("Failed to read data descriptor");
|
||||
|
||||
buffer[offset++] = ZipDataInfo::HEADER[0];
|
||||
buffer[offset++] = ZipDataInfo::HEADER[1];
|
||||
buffer[offset++] = ZipDataInfo::HEADER[2];
|
||||
buffer[offset++] = ZipDataInfo::HEADER[3];
|
||||
_matchCnt = 0;
|
||||
dataInfoSize = dataInfo.getFullHeaderSize();
|
||||
if (dataInfo.getCompressedSize() == _length + offset)
|
||||
{
|
||||
_pIstr->seekg(-static_cast<int>(dataInfoSize), std::ios::cur);
|
||||
if (!_pIstr->good()) throw Poco::IOException("Failed to seek on input stream");
|
||||
|
||||
_eofDetected = true;
|
||||
_length += offset;
|
||||
|
||||
if (offset == 0 && !_postfix.empty())
|
||||
{
|
||||
offset = (_postfix.size() > length) ? length : static_cast<std::streamsize>(_postfix.size());
|
||||
std::memcpy(buffer, _postfix.data(), offset);
|
||||
_postfix.erase(0, offset);
|
||||
}
|
||||
|
||||
return static_cast<int>(offset);
|
||||
}
|
||||
}
|
||||
|
||||
_pIstr->seekg(-static_cast<int>(dataInfoSize - 4), std::ios::cur);
|
||||
if (!_pIstr->good()) throw Poco::IOException("Failed to seek on input stream");
|
||||
|
||||
buffer[offset++] = ZipDataInfo::HEADER[0];
|
||||
buffer[offset++] = ZipDataInfo::HEADER[1];
|
||||
buffer[offset++] = ZipDataInfo::HEADER[2];
|
||||
buffer[offset++] = ZipDataInfo::HEADER[3];
|
||||
_matchCnt = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -150,14 +178,14 @@ int AutoDetectStreamBuf::readFromDevice(char* buffer, std::streamsize length)
|
||||
buffer[offset++] = ZipDataInfo::HEADER[1];
|
||||
buffer[offset++] = ZipDataInfo::HEADER[2];
|
||||
buffer[offset++] = c;
|
||||
_matchCnt = 0;
|
||||
_matchCnt = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_length += offset;
|
||||
return offset;
|
||||
return static_cast<int>(offset);
|
||||
|
||||
}
|
||||
|
||||
@ -168,8 +196,8 @@ int AutoDetectStreamBuf::writeToDevice(const char* buffer, std::streamsize lengt
|
||||
}
|
||||
|
||||
|
||||
AutoDetectIOS::AutoDetectIOS(std::istream& istr, const std::string& pre, const std::string& post, bool reposition, Poco::UInt32 start):
|
||||
_buf(istr, pre, post, reposition, start)
|
||||
AutoDetectIOS::AutoDetectIOS(std::istream& istr, const std::string& pre, const std::string& post, bool reposition, Poco::UInt32 start, bool needsZip64):
|
||||
_buf(istr, pre, post, reposition, start, needsZip64)
|
||||
{
|
||||
poco_ios_init(&_buf);
|
||||
}
|
||||
@ -186,8 +214,8 @@ AutoDetectStreamBuf* AutoDetectIOS::rdbuf()
|
||||
}
|
||||
|
||||
|
||||
AutoDetectInputStream::AutoDetectInputStream(std::istream& istr, const std::string& pre, const std::string& post, bool reposition, Poco::UInt32 start):
|
||||
AutoDetectIOS(istr, pre, post, reposition, start),
|
||||
AutoDetectInputStream::AutoDetectInputStream(std::istream& istr, const std::string& pre, const std::string& post, bool reposition, Poco::UInt32 start, bool needsZip64):
|
||||
AutoDetectIOS(istr, pre, post, reposition, start, needsZip64),
|
||||
std::istream(&_buf)
|
||||
{
|
||||
}
|
||||
|
@ -3,12 +3,12 @@
|
||||
//
|
||||
// Library: Zip
|
||||
// Package: Zip
|
||||
// Module: Compress
|
||||
// Module: Compress
|
||||
//
|
||||
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
@ -28,9 +28,10 @@ namespace Poco {
|
||||
namespace Zip {
|
||||
|
||||
|
||||
Compress::Compress(std::ostream& out, bool seekableOut):
|
||||
Compress::Compress(std::ostream& out, bool seekableOut, bool forceZip64):
|
||||
_out(out),
|
||||
_seekableOut(seekableOut),
|
||||
_forceZip64(forceZip64),
|
||||
_files(),
|
||||
_infos(),
|
||||
_dirs(),
|
||||
@ -66,8 +67,6 @@ void Compress::addEntry(std::istream& in, const Poco::DateTime& lastModifiedAt,
|
||||
|
||||
std::string fn = ZipUtil::validZipEntryFileName(fileName);
|
||||
|
||||
if (_files.size() >= 65535)
|
||||
throw ZipException("Maximum number of entries for a ZIP file reached: 65535");
|
||||
if (!in.good())
|
||||
throw ZipException("Invalid input stream");
|
||||
|
||||
@ -83,7 +82,7 @@ void Compress::addEntry(std::istream& in, const Poco::DateTime& lastModifiedAt,
|
||||
}
|
||||
|
||||
std::streamoff localHeaderOffset = _offset;
|
||||
ZipLocalFileHeader hdr(fileName, lastModifiedAt, cm, cl);
|
||||
ZipLocalFileHeader hdr(fileName, lastModifiedAt, cm, cl, _forceZip64);
|
||||
hdr.setStartPos(localHeaderOffset);
|
||||
|
||||
ZipOutputStream zipOut(_out, hdr, _seekableOut);
|
||||
@ -92,15 +91,15 @@ void Compress::addEntry(std::istream& in, const Poco::DateTime& lastModifiedAt,
|
||||
zipOut.put(static_cast<char>(firstChar));
|
||||
Poco::StreamCopier::copyStream(in, zipOut);
|
||||
}
|
||||
zipOut.close();
|
||||
hdr.setStartPos(localHeaderOffset); // reset again now that compressed Size is known
|
||||
Poco::UInt64 extraDataSize;
|
||||
zipOut.close(extraDataSize);
|
||||
_offset = hdr.getEndPos();
|
||||
if (hdr.searchCRCAndSizesAfterData())
|
||||
_offset += ZipDataInfo::getFullHeaderSize();
|
||||
_offset += extraDataSize;
|
||||
_files.insert(std::make_pair(fileName.toString(Poco::Path::PATH_UNIX), hdr));
|
||||
if (!_out) throw Poco::IOException("Bad output stream");
|
||||
ZipFileInfo nfo(hdr);
|
||||
nfo.setOffset(localHeaderOffset);
|
||||
nfo.setZip64Data();
|
||||
_infos.insert(std::make_pair(fileName.toString(Poco::Path::PATH_UNIX), nfo));
|
||||
EDone.notify(this, hdr);
|
||||
}
|
||||
@ -108,30 +107,30 @@ void Compress::addEntry(std::istream& in, const Poco::DateTime& lastModifiedAt,
|
||||
|
||||
void Compress::addFileRaw(std::istream& in, const ZipLocalFileHeader& h, const Poco::Path& fileName)
|
||||
{
|
||||
if (!in.good())
|
||||
throw ZipException("Invalid input stream");
|
||||
|
||||
std::string fn = ZipUtil::validZipEntryFileName(fileName);
|
||||
//bypass the header of the input stream and point to the first byte of the data payload
|
||||
in.seekg(h.getDataStartPos(), std::ios_base::beg);
|
||||
if (!in.good()) throw Poco::IOException("Failed to seek on input stream");
|
||||
|
||||
if (_files.size() >= 65535)
|
||||
throw ZipException("Maximum number of entries for a ZIP file reached: 65535");
|
||||
if (!in.good())
|
||||
throw ZipException("Invalid input stream");
|
||||
|
||||
std::streamoff localHeaderOffset = _offset;
|
||||
ZipLocalFileHeader hdr(h);
|
||||
hdr.setFileName(fn, h.isDirectory());
|
||||
hdr.setStartPos(localHeaderOffset);
|
||||
if (hdr.needsZip64())
|
||||
hdr.setZip64Data();
|
||||
//bypass zipoutputstream
|
||||
//write the header directly
|
||||
std::string header = hdr.createHeader();
|
||||
_out.write(header.c_str(), static_cast<std::streamsize>(header.size()));
|
||||
// now fwd the payload to _out in chunks of size CHUNKSIZE
|
||||
Poco::UInt32 totalSize = hdr.getCompressedSize();
|
||||
Poco::UInt64 totalSize = hdr.getCompressedSize();
|
||||
if (totalSize > 0)
|
||||
{
|
||||
Poco::Buffer<char> buffer(COMPRESS_CHUNK_SIZE);
|
||||
Poco::UInt32 remaining = totalSize;
|
||||
Poco::UInt64 remaining = totalSize;
|
||||
while (remaining > 0)
|
||||
{
|
||||
if (remaining > COMPRESS_CHUNK_SIZE)
|
||||
@ -152,20 +151,39 @@ void Compress::addFileRaw(std::istream& in, const ZipLocalFileHeader& h, const P
|
||||
}
|
||||
}
|
||||
}
|
||||
hdr.setStartPos(localHeaderOffset); // This resets EndPos now that compressed Size is known
|
||||
_offset = hdr.getEndPos();
|
||||
//write optional block afterwards
|
||||
if (hdr.searchCRCAndSizesAfterData())
|
||||
{
|
||||
ZipDataInfo info(in, false);
|
||||
_out.write(info.getRawHeader(), static_cast<std::streamsize>(info.getFullHeaderSize()));
|
||||
if (hdr.needsZip64())
|
||||
{
|
||||
ZipDataInfo64 info(in, false);
|
||||
_out.write(info.getRawHeader(), static_cast<std::streamsize>(info.getFullHeaderSize()));
|
||||
_offset += ZipDataInfo::getFullHeaderSize();
|
||||
}
|
||||
else
|
||||
{
|
||||
ZipDataInfo info(in, false);
|
||||
_out.write(info.getRawHeader(), static_cast<std::streamsize>(info.getFullHeaderSize()));
|
||||
_offset += ZipDataInfo::getFullHeaderSize();
|
||||
}
|
||||
}
|
||||
hdr.setStartPos(localHeaderOffset); // reset again now that compressed Size is known
|
||||
_offset = hdr.getEndPos();
|
||||
if (hdr.searchCRCAndSizesAfterData())
|
||||
_offset += ZipDataInfo::getFullHeaderSize();
|
||||
else
|
||||
{
|
||||
if (hdr.hasExtraField()) // Update sizes in header extension.
|
||||
hdr.setZip64Data();
|
||||
_out.seekp(hdr.getStartPos(), std::ios_base::beg);
|
||||
std::string header = hdr.createHeader();
|
||||
_out.write(header.c_str(), static_cast<std::streamsize>(header.size()));
|
||||
_out.seekp(0, std::ios_base::end);
|
||||
}
|
||||
|
||||
_files.insert(std::make_pair(fileName.toString(Poco::Path::PATH_UNIX), hdr));
|
||||
if (!_out) throw Poco::IOException("Bad output stream");
|
||||
ZipFileInfo nfo(hdr);
|
||||
nfo.setOffset(localHeaderOffset);
|
||||
nfo.setZip64Data();
|
||||
_infos.insert(std::make_pair(fileName.toString(Poco::Path::PATH_UNIX), nfo));
|
||||
EDone.notify(this, hdr);
|
||||
}
|
||||
@ -205,8 +223,6 @@ void Compress::addDirectory(const Poco::Path& entryName, const Poco::DateTime& l
|
||||
std::string fileStr = entryName.toString(Poco::Path::PATH_UNIX);
|
||||
if (_files.find(fileStr) != _files.end())
|
||||
return; // ignore duplicate add
|
||||
if (_files.size() >= 65535)
|
||||
throw ZipException("Maximum number of entries for a ZIP file reached: 65535");
|
||||
if (fileStr == "/")
|
||||
throw ZipException("Illegal entry name /");
|
||||
if (fileStr.empty())
|
||||
@ -225,15 +241,17 @@ void Compress::addDirectory(const Poco::Path& entryName, const Poco::DateTime& l
|
||||
ZipLocalFileHeader hdr(entryName, lastModifiedAt, cm, cl);
|
||||
hdr.setStartPos(localHeaderOffset);
|
||||
ZipOutputStream zipOut(_out, hdr, _seekableOut);
|
||||
zipOut.close();
|
||||
Poco::UInt64 extraDataSize;
|
||||
zipOut.close(extraDataSize);
|
||||
hdr.setStartPos(localHeaderOffset); // reset again now that compressed Size is known
|
||||
_offset = hdr.getEndPos();
|
||||
if (hdr.searchCRCAndSizesAfterData())
|
||||
_offset += ZipDataInfo::getFullHeaderSize();
|
||||
_offset += extraDataSize;
|
||||
_files.insert(std::make_pair(entryName.toString(Poco::Path::PATH_UNIX), hdr));
|
||||
if (!_out) throw Poco::IOException("Bad output stream");
|
||||
ZipFileInfo nfo(hdr);
|
||||
nfo.setOffset(localHeaderOffset);
|
||||
nfo.setZip64Data();
|
||||
_infos.insert(std::make_pair(entryName.toString(Poco::Path::PATH_UNIX), nfo));
|
||||
EDone.notify(this, hdr);
|
||||
}
|
||||
@ -293,33 +311,58 @@ void Compress::addRecursive(const Poco::Path& entry, ZipCommon::CompressionMetho
|
||||
|
||||
ZipArchive Compress::close()
|
||||
{
|
||||
if (!_dirs.empty())
|
||||
return ZipArchive(_files, _infos, _dirs);
|
||||
if (!_dirs.empty() || ! _dirs64.empty())
|
||||
return ZipArchive(_files, _infos, _dirs, _dirs64);
|
||||
|
||||
poco_assert (_infos.size() == _files.size());
|
||||
poco_assert (_files.size() < 65536);
|
||||
Poco::UInt32 centralDirStart = _offset;
|
||||
Poco::UInt32 centralDirSize = 0;
|
||||
Poco::UInt64 centralDirSize64 = 0;
|
||||
Poco::UInt64 centralDirStart64 = _offset;
|
||||
// write all infos
|
||||
ZipArchive::FileInfos::const_iterator it = _infos.begin();
|
||||
ZipArchive::FileInfos::const_iterator itEnd = _infos.end();
|
||||
bool needZip64 = _forceZip64;
|
||||
needZip64 = needZip64 || _files.size() >= ZipCommon::ZIP64_MAGIC_SHORT || centralDirStart64 >= ZipCommon::ZIP64_MAGIC;
|
||||
for (; it != itEnd; ++it)
|
||||
{
|
||||
const ZipFileInfo& nfo = it->second;
|
||||
needZip64 = needZip64 || nfo.needsZip64();
|
||||
|
||||
std::string info(nfo.createHeader());
|
||||
_out.write(info.c_str(), static_cast<std::streamsize>(info.size()));
|
||||
Poco::UInt32 entrySize = static_cast<Poco::UInt32>(info.size());
|
||||
centralDirSize += entrySize;
|
||||
centralDirSize64 += entrySize;
|
||||
_offset += entrySize;
|
||||
}
|
||||
if (!_out) throw Poco::IOException("Bad output stream");
|
||||
|
||||
Poco::UInt16 numEntries = static_cast<Poco::UInt16>(_infos.size());
|
||||
Poco::UInt64 numEntries64 = _infos.size();
|
||||
needZip64 = needZip64 || _offset >= ZipCommon::ZIP64_MAGIC;
|
||||
if (needZip64)
|
||||
{
|
||||
ZipArchiveInfo64 central;
|
||||
central.setCentralDirectorySize(centralDirSize64);
|
||||
central.setCentralDirectoryOffset(centralDirStart64);
|
||||
central.setNumberOfEntries(numEntries64);
|
||||
central.setTotalNumberOfEntries(numEntries64);
|
||||
central.setHeaderOffset(_offset);
|
||||
central.setTotalNumberOfDisks(1);
|
||||
std::string centr(central.createHeader());
|
||||
_out.write(centr.c_str(), static_cast<std::streamsize>(centr.size()));
|
||||
_out.flush();
|
||||
_offset += centr.size();
|
||||
_dirs64.insert(std::make_pair(0, central));
|
||||
}
|
||||
|
||||
Poco::UInt16 numEntries = numEntries64 >= ZipCommon::ZIP64_MAGIC_SHORT ? ZipCommon::ZIP64_MAGIC_SHORT : static_cast<Poco::UInt16>(numEntries64);
|
||||
Poco::UInt32 centralDirStart = centralDirStart64 >= ZipCommon::ZIP64_MAGIC ? ZipCommon::ZIP64_MAGIC : static_cast<Poco::UInt32>(centralDirStart64);
|
||||
Poco::UInt32 centralDirSize = centralDirSize64 >= ZipCommon::ZIP64_MAGIC ? ZipCommon::ZIP64_MAGIC : static_cast<Poco::UInt32>(centralDirSize64);
|
||||
Poco::UInt32 offset = _offset >= ZipCommon::ZIP64_MAGIC ? ZipCommon::ZIP64_MAGIC : static_cast<Poco::UInt32>(_offset);
|
||||
ZipArchiveInfo central;
|
||||
central.setCentralDirectorySize(centralDirSize);
|
||||
central.setCentralDirectoryOffset(centralDirStart);
|
||||
central.setNumberOfEntries(numEntries);
|
||||
central.setTotalNumberOfEntries(numEntries);
|
||||
central.setHeaderOffset(centralDirStart);
|
||||
central.setHeaderOffset(offset);
|
||||
if (!_comment.empty() && _comment.size() <= 65535)
|
||||
{
|
||||
central.setZipComment(_comment);
|
||||
@ -327,8 +370,9 @@ ZipArchive Compress::close()
|
||||
std::string centr(central.createHeader());
|
||||
_out.write(centr.c_str(), static_cast<std::streamsize>(centr.size()));
|
||||
_out.flush();
|
||||
_offset += centr.size();
|
||||
_dirs.insert(std::make_pair(0, central));
|
||||
return ZipArchive(_files, _infos, _dirs);
|
||||
return ZipArchive(_files, _infos, _dirs, _dirs64);
|
||||
}
|
||||
|
||||
|
||||
|
@ -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();
|
||||
|
@ -74,7 +74,7 @@ int PartialStreamBuf::readFromDevice(char* buffer, std::streamsize length)
|
||||
std::streamsize tmp = (_prefix.size() > length)? length: static_cast<std::streamsize>(_prefix.size());
|
||||
std::memcpy(buffer, _prefix.c_str(), tmp);
|
||||
_prefix = _prefix.substr(tmp);
|
||||
return tmp;
|
||||
return static_cast<int>(tmp);
|
||||
}
|
||||
|
||||
if (_numBytes == 0)
|
||||
@ -84,7 +84,7 @@ int PartialStreamBuf::readFromDevice(char* buffer, std::streamsize length)
|
||||
std::streamsize tmp = (_postfix.size() > length)? length: static_cast<std::streamsize>(_postfix.size());
|
||||
std::memcpy(buffer, _postfix.c_str(), tmp);
|
||||
_postfix = _postfix.substr(tmp);
|
||||
return tmp;
|
||||
return static_cast<int>(tmp);
|
||||
}
|
||||
else
|
||||
return -1;
|
||||
@ -99,7 +99,7 @@ int PartialStreamBuf::readFromDevice(char* buffer, std::streamsize length)
|
||||
_pIstr->read(buffer, length);
|
||||
std::streamsize bytesRead = _pIstr->gcount();
|
||||
_numBytes -= bytesRead;
|
||||
return bytesRead;
|
||||
return static_cast<int>(bytesRead);
|
||||
|
||||
}
|
||||
|
||||
@ -121,7 +121,7 @@ int PartialStreamBuf::writeToDevice(const char* buffer, std::streamsize length)
|
||||
{
|
||||
_ignoreStart -= length;
|
||||
// fake return values
|
||||
return length;
|
||||
return static_cast<int>(length);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -136,10 +136,10 @@ int PartialStreamBuf::writeToDevice(const char* buffer, std::streamsize length)
|
||||
cnt += static_cast<std::streamsize>(_ignoreStart);
|
||||
_ignoreStart = 0;
|
||||
poco_assert (cnt < length);
|
||||
_bufferOffset = length - cnt;
|
||||
_bufferOffset = static_cast<Poco::UInt32>(length - cnt);
|
||||
std::memcpy(_buffer.begin(), buffer + cnt, _bufferOffset);
|
||||
|
||||
return length;
|
||||
return static_cast<int>(length);
|
||||
}
|
||||
}
|
||||
if (_buffer.size() > 0)
|
||||
@ -148,7 +148,8 @@ int PartialStreamBuf::writeToDevice(const char* buffer, std::streamsize length)
|
||||
// thus first fill the buffer with the last n bytes of the msg
|
||||
|
||||
// how much of the already cached data do we need to write?
|
||||
Poco::Int32 cache = _bufferOffset + length - _buffer.size();
|
||||
Poco::Int32 cache = static_cast<Poco::Int32>(_bufferOffset +
|
||||
static_cast<Poco::Int32>(length) - static_cast<Poco::Int32>(_buffer.size()));
|
||||
if (cache > 0)
|
||||
{
|
||||
if (cache > _bufferOffset)
|
||||
@ -184,7 +185,7 @@ int PartialStreamBuf::writeToDevice(const char* buffer, std::streamsize length)
|
||||
}
|
||||
|
||||
if (_pOstr->good())
|
||||
return length;
|
||||
return static_cast<int>(length);
|
||||
|
||||
throw Poco::IOException("Failed to write to output stream");
|
||||
}
|
||||
@ -192,7 +193,7 @@ int PartialStreamBuf::writeToDevice(const char* buffer, std::streamsize length)
|
||||
|
||||
void PartialStreamBuf::close()
|
||||
{
|
||||
// DONT write data from _buffer!
|
||||
// DON'T write data from _buffer!
|
||||
}
|
||||
|
||||
|
||||
@ -219,8 +220,8 @@ PartialStreamBuf* PartialIOS::rdbuf()
|
||||
}
|
||||
|
||||
|
||||
PartialInputStream::PartialInputStream(std::istream& istr, std::ios::pos_type start, std::ios::pos_type end, bool initStream, const std::string& pre, const std::string& post):
|
||||
PartialIOS(istr, start, end, pre, post, initStream),
|
||||
PartialInputStream::PartialInputStream(std::istream& istr, std::ios::pos_type start, std::ios::pos_type end, bool initStream, const std::string& pre, const std::string& post):
|
||||
PartialIOS(istr, start, end, pre, post, initStream),
|
||||
std::istream(&_buf)
|
||||
{
|
||||
}
|
||||
@ -232,7 +233,7 @@ PartialInputStream::~PartialInputStream()
|
||||
|
||||
|
||||
PartialOutputStream::PartialOutputStream(std::ostream& ostr, std::size_t start, std::size_t end, bool initStream):
|
||||
PartialIOS(ostr, start, end, initStream),
|
||||
PartialIOS(ostr, start, end, initStream),
|
||||
std::ostream(&_buf)
|
||||
{
|
||||
}
|
||||
|
@ -3,12 +3,12 @@
|
||||
//
|
||||
// Library: Zip
|
||||
// Package: Zip
|
||||
// Module: ZipArchive
|
||||
// Module: ZipArchive
|
||||
//
|
||||
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
@ -28,7 +28,8 @@ const std::string ZipArchive::EMPTY_COMMENT;
|
||||
ZipArchive::ZipArchive(std::istream& in):
|
||||
_entries(),
|
||||
_infos(),
|
||||
_disks()
|
||||
_disks(),
|
||||
_disks64()
|
||||
{
|
||||
poco_assert_dbg (in);
|
||||
SkipCallback skip;
|
||||
@ -36,10 +37,11 @@ ZipArchive::ZipArchive(std::istream& in):
|
||||
}
|
||||
|
||||
|
||||
ZipArchive::ZipArchive(const FileHeaders& entries, const FileInfos& infos, const DirectoryInfos& dirs):
|
||||
ZipArchive::ZipArchive(const FileHeaders& entries, const FileInfos& infos, const DirectoryInfos& dirs, const DirectoryInfos64& dirs64):
|
||||
_entries(entries),
|
||||
_infos(infos),
|
||||
_disks(dirs)
|
||||
_disks(dirs),
|
||||
_disks64(dirs64)
|
||||
{
|
||||
}
|
||||
|
||||
@ -47,7 +49,8 @@ ZipArchive::ZipArchive(const FileHeaders& entries, const FileInfos& infos, const
|
||||
ZipArchive::ZipArchive(std::istream& in, ParseCallback& pc):
|
||||
_entries(),
|
||||
_infos(),
|
||||
_disks()
|
||||
_disks(),
|
||||
_disks64()
|
||||
{
|
||||
poco_assert_dbg (in);
|
||||
parse(in, pc);
|
||||
@ -79,7 +82,7 @@ void ZipArchive::parse(std::istream& in, ParseCallback& pc)
|
||||
FileHeaders::iterator it = _entries.find(info.getFileName());
|
||||
if (it != _entries.end())
|
||||
{
|
||||
it->second.setStartPos(info.getRelativeOffsetOfLocalHeader());
|
||||
it->second.setStartPos(info.getOffset());
|
||||
}
|
||||
poco_assert (_infos.insert(std::make_pair(info.getFileName(), info)).second);
|
||||
}
|
||||
@ -88,9 +91,14 @@ void ZipArchive::parse(std::istream& in, ParseCallback& pc)
|
||||
ZipArchiveInfo nfo(in, true);
|
||||
poco_assert (_disks.insert(std::make_pair(nfo.getDiskNumber(), nfo)).second);
|
||||
}
|
||||
else if (std::memcmp(header, ZipArchiveInfo64::HEADER, ZipCommon::HEADER_SIZE) == 0)
|
||||
{
|
||||
ZipArchiveInfo64 nfo(in, true);
|
||||
poco_assert (_disks64.insert(std::make_pair(nfo.getDiskNumber(), nfo)).second);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (_disks.empty())
|
||||
if (_disks.empty() && _disks64.empty())
|
||||
throw Poco::IllegalStateException("Illegal header in zip file");
|
||||
else
|
||||
throw Poco::IllegalStateException("Garbage after directory header");
|
||||
@ -104,9 +112,17 @@ const std::string& ZipArchive::getZipComment() const
|
||||
// It seems that only the "first" disk is populated (look at Compress::close()), so getting the first ZipArchiveInfo
|
||||
DirectoryInfos::const_iterator it = _disks.begin();
|
||||
if (it != _disks.end())
|
||||
{
|
||||
return it->second.getZipComment();
|
||||
}
|
||||
else
|
||||
return EMPTY_COMMENT;
|
||||
{
|
||||
DirectoryInfos64::const_iterator it64 = _disks64.begin();
|
||||
if (it64 != _disks64.end())
|
||||
return it->second.getZipComment();
|
||||
else
|
||||
return EMPTY_COMMENT;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -36,6 +36,7 @@ ZipArchiveInfo::ZipArchiveInfo(std::istream& in, bool assumeHeaderRead):
|
||||
parse(in, assumeHeaderRead);
|
||||
}
|
||||
|
||||
|
||||
ZipArchiveInfo::ZipArchiveInfo():
|
||||
_rawInfo(),
|
||||
_startPos(0),
|
||||
@ -100,4 +101,90 @@ void ZipArchiveInfo::setZipComment(const std::string& comment)
|
||||
}
|
||||
|
||||
|
||||
const char ZipArchiveInfo64::HEADER[ZipCommon::HEADER_SIZE] = {'\x50', '\x4b', '\x06', '\x06'};
|
||||
const char ZipArchiveInfo64::LOCATOR_HEADER[ZipCommon::HEADER_SIZE] = {'\x50', '\x4b', '\x06', '\x07'};
|
||||
|
||||
|
||||
ZipArchiveInfo64::ZipArchiveInfo64(std::istream& in, bool assumeHeaderRead):
|
||||
_rawInfo(),
|
||||
_startPos(in.tellg())
|
||||
{
|
||||
if (assumeHeaderRead)
|
||||
_startPos -= ZipCommon::HEADER_SIZE;
|
||||
parse(in, assumeHeaderRead);
|
||||
}
|
||||
|
||||
|
||||
ZipArchiveInfo64::ZipArchiveInfo64():
|
||||
_rawInfo(),
|
||||
_startPos(0)
|
||||
{
|
||||
std::memset(_rawInfo, 0, FULL_HEADER_SIZE);
|
||||
std::memcpy(_rawInfo, HEADER, ZipCommon::HEADER_SIZE);
|
||||
ZipUtil::set64BitValue(FULL_HEADER_SIZE - (RECORDSIZE_POS + RECORDSIZE_SIZE), _rawInfo, RECORDSIZE_POS);
|
||||
std::memset(_locInfo, 0, FULL_LOCATOR_SIZE);
|
||||
std::memcpy(_locInfo, LOCATOR_HEADER, ZipCommon::HEADER_SIZE);
|
||||
setRequiredVersion(4, 5);
|
||||
}
|
||||
|
||||
|
||||
ZipArchiveInfo64::~ZipArchiveInfo64()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
void ZipArchiveInfo64::parse(std::istream& inp, bool assumeHeaderRead)
|
||||
{
|
||||
if (!assumeHeaderRead)
|
||||
{
|
||||
inp.read(_rawInfo, ZipCommon::HEADER_SIZE);
|
||||
if (inp.gcount() != ZipCommon::HEADER_SIZE)
|
||||
throw Poco::IOException("Failed to read archive info header");
|
||||
if (std::memcmp(_rawInfo, HEADER, ZipCommon::HEADER_SIZE) != 0)
|
||||
throw Poco::DataFormatException("Bad archive info header");
|
||||
}
|
||||
else
|
||||
{
|
||||
std::memcpy(_rawInfo, HEADER, ZipCommon::HEADER_SIZE);
|
||||
}
|
||||
|
||||
std::memset(_rawInfo + ZipCommon::HEADER_SIZE, 0, FULL_HEADER_SIZE - ZipCommon::HEADER_SIZE);
|
||||
|
||||
// read the rest of the header
|
||||
Poco::UInt64 offset = RECORDSIZE_POS;
|
||||
inp.read(_rawInfo + ZipCommon::HEADER_SIZE, RECORDSIZE_SIZE);
|
||||
offset += RECORDSIZE_SIZE;
|
||||
Poco::UInt64 len = ZipUtil::get64BitValue(_rawInfo, RECORDSIZE_POS);
|
||||
if (len <= FULL_HEADER_SIZE - offset)
|
||||
{
|
||||
inp.read(_rawInfo + offset, len);
|
||||
ZipUtil::set64BitValue(FULL_HEADER_SIZE - offset, _rawInfo, RECORDSIZE_POS);
|
||||
}
|
||||
else
|
||||
{
|
||||
inp.read(_rawInfo + offset, FULL_HEADER_SIZE - offset);
|
||||
len -= (FULL_HEADER_SIZE - offset);
|
||||
Poco::Buffer<char> xtra(len);
|
||||
inp.read(xtra.begin(), len);
|
||||
_extraField = std::string(xtra.begin(), len);
|
||||
ZipUtil::set64BitValue(FULL_HEADER_SIZE + len - offset, _rawInfo, RECORDSIZE_POS);
|
||||
}
|
||||
inp.read(_locInfo, FULL_LOCATOR_SIZE);
|
||||
if (inp.gcount() != FULL_LOCATOR_SIZE)
|
||||
throw Poco::IOException("Failed to read locator");
|
||||
if (std::memcmp(_locInfo, LOCATOR_HEADER, ZipCommon::HEADER_SIZE) != 0)
|
||||
throw Poco::DataFormatException("Bad locator header");
|
||||
|
||||
}
|
||||
|
||||
|
||||
std::string ZipArchiveInfo64::createHeader() const
|
||||
{
|
||||
std::string result(_rawInfo, FULL_HEADER_SIZE);
|
||||
result.append(_extraField);
|
||||
result.append(_locInfo, FULL_LOCATOR_SIZE);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Zip
|
||||
|
@ -13,6 +13,7 @@
|
||||
|
||||
|
||||
#include "Poco/Zip/ZipCommon.h"
|
||||
#include "Poco/Path.h"
|
||||
|
||||
|
||||
namespace Poco {
|
||||
@ -21,16 +22,33 @@ namespace Zip {
|
||||
|
||||
bool ZipCommon::isValidPath(const std::string& path)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (Path(path, Path::PATH_UNIX).isAbsolute() || Path(path, Path::PATH_WINDOWS).isAbsolute())
|
||||
return false;
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
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;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -62,4 +62,45 @@ ZipDataInfo::~ZipDataInfo()
|
||||
}
|
||||
|
||||
|
||||
const char ZipDataInfo64::HEADER[ZipCommon::HEADER_SIZE] = {'\x50', '\x4b', '\x07', '\x08'};
|
||||
|
||||
|
||||
ZipDataInfo64::ZipDataInfo64():
|
||||
_rawInfo(),
|
||||
_valid(true)
|
||||
{
|
||||
std::memcpy(_rawInfo, HEADER, ZipCommon::HEADER_SIZE);
|
||||
std::memset(_rawInfo+ZipCommon::HEADER_SIZE, 0, FULLHEADER_SIZE - ZipCommon::HEADER_SIZE);
|
||||
_valid = true;
|
||||
}
|
||||
|
||||
|
||||
ZipDataInfo64::ZipDataInfo64(std::istream& in, bool assumeHeaderRead):
|
||||
_rawInfo(),
|
||||
_valid(false)
|
||||
{
|
||||
if (assumeHeaderRead)
|
||||
{
|
||||
std::memcpy(_rawInfo, HEADER, ZipCommon::HEADER_SIZE);
|
||||
}
|
||||
else
|
||||
{
|
||||
in.read(_rawInfo, ZipCommon::HEADER_SIZE);
|
||||
if (in.gcount() != ZipCommon::HEADER_SIZE)
|
||||
throw Poco::IOException("Failed to read data info header");
|
||||
if (std::memcmp(_rawInfo, HEADER, ZipCommon::HEADER_SIZE) != 0)
|
||||
throw Poco::DataFormatException("Bad data info header");
|
||||
}
|
||||
|
||||
// now copy the rest of the header
|
||||
in.read(_rawInfo+ZipCommon::HEADER_SIZE, FULLHEADER_SIZE - ZipCommon::HEADER_SIZE);
|
||||
_valid = (!in.eof() && in.good());
|
||||
}
|
||||
|
||||
|
||||
ZipDataInfo64::~ZipDataInfo64()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
} } // namespace Poco::Zip
|
||||
|
@ -31,6 +31,7 @@ ZipFileInfo::ZipFileInfo(const ZipLocalFileHeader& header):
|
||||
_crc32(0),
|
||||
_compressedSize(0),
|
||||
_uncompressedSize(0),
|
||||
_localHeaderOffset(0),
|
||||
_fileName(),
|
||||
_lastModifiedAt(),
|
||||
_extraField()
|
||||
@ -63,6 +64,7 @@ ZipFileInfo::ZipFileInfo(std::istream& in, bool assumeHeaderRead):
|
||||
_crc32(0),
|
||||
_compressedSize(0),
|
||||
_uncompressedSize(0),
|
||||
_localHeaderOffset(0),
|
||||
_fileName(),
|
||||
_lastModifiedAt(),
|
||||
_extraField()
|
||||
@ -98,6 +100,7 @@ void ZipFileInfo::parse(std::istream& inp, bool assumeHeaderRead)
|
||||
_crc32 = getCRCFromHeader();
|
||||
_compressedSize = getCompressedSizeFromHeader();
|
||||
_uncompressedSize = getUncompressedSizeFromHeader();
|
||||
_localHeaderOffset = getOffsetFromHeader();
|
||||
parseDateTime();
|
||||
Poco::UInt16 len = getFileNameLength();
|
||||
if (len > 0)
|
||||
@ -114,6 +117,40 @@ void ZipFileInfo::parse(std::istream& inp, bool assumeHeaderRead)
|
||||
Poco::Buffer<char> xtra(len);
|
||||
inp.read(xtra.begin(), len);
|
||||
_extraField = std::string(xtra.begin(), len);
|
||||
char* ptr = xtra.begin();
|
||||
while (ptr <= xtra.begin() + len - 4)
|
||||
{
|
||||
Poco::UInt16 id = ZipUtil::get16BitValue(ptr, 0);
|
||||
ptr += 2;
|
||||
Poco::UInt16 size = ZipUtil::get16BitValue(ptr, 0);
|
||||
ptr += 2;
|
||||
if (id == ZipCommon::ZIP64_EXTRA_ID)
|
||||
{
|
||||
poco_assert(size >= 8);
|
||||
if (getUncompressedSizeFromHeader() == ZipCommon::ZIP64_MAGIC)
|
||||
{
|
||||
setUncompressedSize(ZipUtil::get64BitValue(ptr, 0));
|
||||
size -= 8;
|
||||
ptr += 8;
|
||||
}
|
||||
if (size >= 8 && getCompressedSizeFromHeader() == ZipCommon::ZIP64_MAGIC)
|
||||
{
|
||||
setCompressedSize(ZipUtil::get64BitValue(ptr, 0));
|
||||
size -= 8;
|
||||
ptr += 8;
|
||||
}
|
||||
if (size >= 8 && getOffsetFromHeader() == ZipCommon::ZIP64_MAGIC)
|
||||
{
|
||||
setOffset(ZipUtil::get64BitValue(ptr, 0));
|
||||
size -= 8;
|
||||
ptr += 8;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ptr += size;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
len = getFileCommentLength();
|
||||
|
@ -8,7 +8,7 @@
|
||||
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
@ -28,66 +28,81 @@ namespace Zip {
|
||||
const char ZipLocalFileHeader::HEADER[ZipCommon::HEADER_SIZE] = {'\x50', '\x4b', '\x03', '\x04'};
|
||||
|
||||
|
||||
ZipLocalFileHeader::ZipLocalFileHeader(const Poco::Path& fileName,
|
||||
const Poco::DateTime& lastModifiedAt,
|
||||
ZipCommon::CompressionMethod cm,
|
||||
ZipCommon::CompressionLevel cl):
|
||||
_rawHeader(),
|
||||
_startPos(-1),
|
||||
_endPos(-1),
|
||||
_fileName(),
|
||||
_lastModifiedAt(),
|
||||
_extraField(),
|
||||
_crc32(0),
|
||||
_compressedSize(0),
|
||||
_uncompressedSize(0)
|
||||
ZipLocalFileHeader::ZipLocalFileHeader(const Poco::Path& fileName,
|
||||
const Poco::DateTime& lastModifiedAt,
|
||||
ZipCommon::CompressionMethod cm,
|
||||
ZipCommon::CompressionLevel cl,
|
||||
bool forceZip64):
|
||||
_forceZip64(forceZip64),
|
||||
_rawHeader(),
|
||||
_startPos(-1),
|
||||
_endPos(-1),
|
||||
_fileName(),
|
||||
_lastModifiedAt(),
|
||||
_extraField(),
|
||||
_crc32(0),
|
||||
_compressedSize(0),
|
||||
_uncompressedSize(0)
|
||||
{
|
||||
std::memcpy(_rawHeader, HEADER, ZipCommon::HEADER_SIZE);
|
||||
std::memset(_rawHeader+ZipCommon::HEADER_SIZE, 0, FULLHEADER_SIZE - ZipCommon::HEADER_SIZE);
|
||||
setHostSystem(ZipCommon::HS_FAT);
|
||||
setEncryption(false);
|
||||
setExtraFieldSize(0);
|
||||
setLastModifiedAt(lastModifiedAt);
|
||||
init(fileName, cm, cl);
|
||||
std::memcpy(_rawHeader, HEADER, ZipCommon::HEADER_SIZE);
|
||||
std::memset(_rawHeader+ZipCommon::HEADER_SIZE, 0, FULLHEADER_SIZE - ZipCommon::HEADER_SIZE);
|
||||
setHostSystem(ZipCommon::HS_FAT);
|
||||
setEncryption(false);
|
||||
setExtraFieldSize(0);
|
||||
setLastModifiedAt(lastModifiedAt);
|
||||
init(fileName, cm, cl);
|
||||
}
|
||||
|
||||
|
||||
ZipLocalFileHeader::ZipLocalFileHeader(std::istream& inp, bool assumeHeaderRead, ParseCallback& callback):
|
||||
_rawHeader(),
|
||||
_startPos(inp.tellg()),
|
||||
_endPos(-1),
|
||||
_fileName(),
|
||||
_lastModifiedAt(),
|
||||
_extraField(),
|
||||
_crc32(0),
|
||||
_compressedSize(0),
|
||||
_uncompressedSize(0)
|
||||
_forceZip64(false),
|
||||
_rawHeader(),
|
||||
_startPos(inp.tellg()),
|
||||
_endPos(-1),
|
||||
_fileName(),
|
||||
_lastModifiedAt(),
|
||||
_extraField(),
|
||||
_crc32(0),
|
||||
_compressedSize(0),
|
||||
_uncompressedSize(0)
|
||||
{
|
||||
poco_assert_dbg( (EXTRAFIELD_POS+EXTRAFIELD_LENGTH) == FULLHEADER_SIZE);
|
||||
poco_assert_dbg( (EXTRA_FIELD_POS+EXTRA_FIELD_LENGTH) == FULLHEADER_SIZE);
|
||||
|
||||
if (assumeHeaderRead)
|
||||
_startPos -= ZipCommon::HEADER_SIZE;
|
||||
if (assumeHeaderRead)
|
||||
_startPos -= ZipCommon::HEADER_SIZE;
|
||||
|
||||
parse(inp, assumeHeaderRead);
|
||||
parse(inp, assumeHeaderRead);
|
||||
|
||||
bool ok = callback.handleZipEntry(inp, *this);
|
||||
bool ok = callback.handleZipEntry(inp, *this);
|
||||
|
||||
if (ok)
|
||||
{
|
||||
if (searchCRCAndSizesAfterData())
|
||||
{
|
||||
ZipDataInfo nfo(inp, false);
|
||||
setCRC(nfo.getCRC32());
|
||||
setCompressedSize(nfo.getCompressedSize());
|
||||
setUncompressedSize(nfo.getUncompressedSize());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
poco_assert_dbg(!searchCRCAndSizesAfterData());
|
||||
ZipUtil::sync(inp);
|
||||
}
|
||||
_endPos = _startPos + getHeaderSize() + _compressedSize; // exclude the data block!
|
||||
if (ok)
|
||||
{
|
||||
if (searchCRCAndSizesAfterData())
|
||||
{
|
||||
char header[ZipCommon::HEADER_SIZE]={'\x00', '\x00', '\x00', '\x00'};
|
||||
inp.read(header, ZipCommon::HEADER_SIZE);
|
||||
if (_forceZip64)
|
||||
{
|
||||
ZipDataInfo64 nfo(inp, true);
|
||||
setCRC(nfo.getCRC32());
|
||||
setCompressedSize(nfo.getCompressedSize());
|
||||
setUncompressedSize(nfo.getUncompressedSize());
|
||||
}
|
||||
else
|
||||
{
|
||||
ZipDataInfo nfo(inp, true);
|
||||
setCRC(nfo.getCRC32());
|
||||
setCompressedSize(nfo.getCompressedSize());
|
||||
setUncompressedSize(nfo.getUncompressedSize());
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
poco_assert_dbg(!searchCRCAndSizesAfterData());
|
||||
ZipUtil::sync(inp);
|
||||
}
|
||||
_endPos = _startPos + getHeaderSize() + _compressedSize; // exclude the data block!
|
||||
}
|
||||
|
||||
|
||||
@ -98,49 +113,79 @@ ZipLocalFileHeader::~ZipLocalFileHeader()
|
||||
|
||||
void ZipLocalFileHeader::parse(std::istream& inp, bool assumeHeaderRead)
|
||||
{
|
||||
if (!assumeHeaderRead)
|
||||
{
|
||||
inp.read(_rawHeader, ZipCommon::HEADER_SIZE);
|
||||
if (!assumeHeaderRead)
|
||||
{
|
||||
inp.read(_rawHeader, ZipCommon::HEADER_SIZE);
|
||||
if (inp.gcount() != ZipCommon::HEADER_SIZE)
|
||||
throw Poco::IOException("Failed to read local file header");
|
||||
if (std::memcmp(_rawHeader, HEADER, ZipCommon::HEADER_SIZE) != 0)
|
||||
throw Poco::DataFormatException("Bad local file header");
|
||||
}
|
||||
else
|
||||
{
|
||||
std::memcpy(_rawHeader, HEADER, ZipCommon::HEADER_SIZE);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
std::memcpy(_rawHeader, HEADER, ZipCommon::HEADER_SIZE);
|
||||
}
|
||||
|
||||
// read the rest of the header
|
||||
inp.read(_rawHeader + ZipCommon::HEADER_SIZE, FULLHEADER_SIZE - ZipCommon::HEADER_SIZE);
|
||||
if (!(_rawHeader[VERSION_POS + 1]>= ZipCommon::HS_FAT && _rawHeader[VERSION_POS + 1] < ZipCommon::HS_UNUSED))
|
||||
throw Poco::DataFormatException("Bad local file header", "invalid version");
|
||||
if (ZipUtil::get16BitValue(_rawHeader, COMPR_METHOD_POS) >= ZipCommon::CM_UNUSED)
|
||||
throw Poco::DataFormatException("Bad local file header", "invalid compression method");
|
||||
parseDateTime();
|
||||
Poco::UInt16 len = getFileNameLength();
|
||||
if (len > 0)
|
||||
{
|
||||
Poco::Buffer<char> buf(len);
|
||||
inp.read(buf.begin(), len);
|
||||
_fileName = std::string(buf.begin(), len);
|
||||
// read the rest of the header
|
||||
inp.read(_rawHeader + ZipCommon::HEADER_SIZE, FULLHEADER_SIZE - ZipCommon::HEADER_SIZE);
|
||||
poco_assert (_rawHeader[VERSION_POS + 1]>= ZipCommon::HS_FAT && _rawHeader[VERSION_POS + 1] < ZipCommon::HS_UNUSED);
|
||||
poco_assert (getMajorVersionNumber() <= 4); // Allow for Zip64 version 4.5
|
||||
poco_assert (ZipUtil::get16BitValue(_rawHeader, COMPR_METHOD_POS) < ZipCommon::CM_UNUSED);
|
||||
parseDateTime();
|
||||
Poco::UInt16 len = getFileNameLength();
|
||||
if (len > 0)
|
||||
{
|
||||
Poco::Buffer<char> buf(len);
|
||||
inp.read(buf.begin(), len);
|
||||
_fileName = std::string(buf.begin(), len);
|
||||
}
|
||||
if (hasExtraField())
|
||||
{
|
||||
len = getExtraFieldLength();
|
||||
if (len > 0)
|
||||
{
|
||||
|
||||
if (!searchCRCAndSizesAfterData())
|
||||
{
|
||||
_crc32 = getCRCFromHeader();
|
||||
_compressedSize = getCompressedSizeFromHeader();
|
||||
_uncompressedSize = getUncompressedSizeFromHeader();
|
||||
}
|
||||
|
||||
if (hasExtraField())
|
||||
{
|
||||
len = getExtraFieldLength();
|
||||
if (len > 0)
|
||||
{
|
||||
Poco::Buffer<char> xtra(len);
|
||||
inp.read(xtra.begin(), len);
|
||||
_extraField = std::string(xtra.begin(), len);
|
||||
}
|
||||
}
|
||||
if (!searchCRCAndSizesAfterData())
|
||||
{
|
||||
_crc32 = getCRCFromHeader();
|
||||
_compressedSize = getCompressedSizeFromHeader();
|
||||
_uncompressedSize = getUncompressedSizeFromHeader();
|
||||
}
|
||||
char* ptr = xtra.begin();
|
||||
while (ptr <= xtra.begin() + len - 4)
|
||||
{
|
||||
Poco::UInt16 id = ZipUtil::get16BitValue(ptr, 0);
|
||||
ptr += 2;
|
||||
Poco::UInt16 size = ZipUtil::get16BitValue(ptr, 0);
|
||||
ptr += 2;
|
||||
if (id == ZipCommon::ZIP64_EXTRA_ID)
|
||||
{
|
||||
_forceZip64 = true;
|
||||
poco_assert(size >= 8);
|
||||
if (getUncompressedSizeFromHeader() == ZipCommon::ZIP64_MAGIC)
|
||||
{
|
||||
setUncompressedSize(ZipUtil::get64BitValue(ptr, 0));
|
||||
size -= 8;
|
||||
ptr += 8;
|
||||
}
|
||||
if (size >= 8 && getCompressedSizeFromHeader() == ZipCommon::ZIP64_MAGIC)
|
||||
{
|
||||
setCompressedSize(ZipUtil::get64BitValue(ptr, 0));
|
||||
size -= 8;
|
||||
ptr += 8;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ptr += size;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -157,61 +202,61 @@ bool ZipLocalFileHeader::searchCRCAndSizesAfterData() const
|
||||
|
||||
void ZipLocalFileHeader::setFileName(const std::string& fileName, bool isDirectory)
|
||||
{
|
||||
poco_assert (!fileName.empty());
|
||||
Poco::Path aPath(fileName);
|
||||
poco_assert (!fileName.empty());
|
||||
Poco::Path aPath(fileName);
|
||||
|
||||
if (isDirectory)
|
||||
{
|
||||
aPath.makeDirectory();
|
||||
setCRC(0);
|
||||
setCompressedSize(0);
|
||||
setUncompressedSize(0);
|
||||
setCompressionMethod(ZipCommon::CM_STORE);
|
||||
setCompressionLevel(ZipCommon::CL_NORMAL);
|
||||
}
|
||||
else
|
||||
{
|
||||
aPath.makeFile();
|
||||
}
|
||||
_fileName = aPath.toString(Poco::Path::PATH_UNIX);
|
||||
if (_fileName[0] == '/')
|
||||
_fileName = _fileName.substr(1);
|
||||
if (isDirectory)
|
||||
{
|
||||
poco_assert_dbg (_fileName[_fileName.size()-1] == '/');
|
||||
}
|
||||
setFileNameLength(static_cast<Poco::UInt16>(_fileName.size()));
|
||||
if (isDirectory)
|
||||
{
|
||||
aPath.makeDirectory();
|
||||
setCRC(0);
|
||||
setCompressedSize(0);
|
||||
setUncompressedSize(0);
|
||||
setCompressionMethod(ZipCommon::CM_STORE);
|
||||
setCompressionLevel(ZipCommon::CL_NORMAL);
|
||||
}
|
||||
else
|
||||
{
|
||||
aPath.makeFile();
|
||||
}
|
||||
_fileName = aPath.toString(Poco::Path::PATH_UNIX);
|
||||
if (_fileName[0] == '/')
|
||||
_fileName = _fileName.substr(1);
|
||||
if (isDirectory)
|
||||
{
|
||||
poco_assert_dbg (_fileName[_fileName.size()-1] == '/');
|
||||
}
|
||||
setFileNameLength(static_cast<Poco::UInt16>(_fileName.size()));
|
||||
}
|
||||
|
||||
|
||||
void ZipLocalFileHeader::init( const Poco::Path& fName,
|
||||
ZipCommon::CompressionMethod cm,
|
||||
ZipCommon::CompressionLevel cl)
|
||||
void ZipLocalFileHeader::init(const Poco::Path& fName, ZipCommon::CompressionMethod cm, ZipCommon::CompressionLevel cl)
|
||||
{
|
||||
poco_assert (_fileName.empty());
|
||||
setSearchCRCAndSizesAfterData(false);
|
||||
Poco::Path fileName(fName);
|
||||
fileName.setDevice(""); // clear device!
|
||||
setFileName(fileName.toString(Poco::Path::PATH_UNIX), fileName.isDirectory());
|
||||
setRequiredVersion(2, 0);
|
||||
if (fileName.isFile())
|
||||
{
|
||||
setCompressionMethod(cm);
|
||||
setCompressionLevel(cl);
|
||||
}
|
||||
else
|
||||
setCompressionMethod(ZipCommon::CM_STORE);
|
||||
|
||||
poco_assert (_fileName.empty());
|
||||
setSearchCRCAndSizesAfterData(false);
|
||||
Poco::Path fileName(fName);
|
||||
fileName.setDevice(""); // clear device!
|
||||
setFileName(fileName.toString(Poco::Path::PATH_UNIX), fileName.isDirectory());
|
||||
setRequiredVersion(2, 0);
|
||||
if (fileName.isFile())
|
||||
{
|
||||
setCompressionMethod(cm);
|
||||
setCompressionLevel(cl);
|
||||
}
|
||||
else
|
||||
setCompressionMethod(ZipCommon::CM_STORE);
|
||||
if (_forceZip64)
|
||||
setZip64Data();
|
||||
|
||||
_rawHeader[GENERAL_PURPOSE_POS+1] |= 0x08; // Set "language encoding flag" to indicate that filenames and paths are in UTF-8.
|
||||
}
|
||||
|
||||
|
||||
std::string ZipLocalFileHeader::createHeader() const
|
||||
{
|
||||
std::string result(_rawHeader, FULLHEADER_SIZE);
|
||||
result.append(_fileName);
|
||||
result.append(_extraField);
|
||||
return result;
|
||||
std::string result(_rawHeader, FULLHEADER_SIZE);
|
||||
result.append(_fileName);
|
||||
result.append(_extraField);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
@ -61,7 +61,7 @@ ZipStreamBuf::ZipStreamBuf(std::istream& istr, const ZipLocalFileHeader& fileEnt
|
||||
std::string crc(4, ' ');
|
||||
if (fileEntry.searchCRCAndSizesAfterData())
|
||||
{
|
||||
_ptrHelper = new AutoDetectInputStream(istr, init, crc, reposition, start);
|
||||
_ptrHelper = new AutoDetectInputStream(istr, init, crc, reposition, static_cast<Poco::UInt32>(start), fileEntry.needsZip64());
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -73,7 +73,7 @@ ZipStreamBuf::ZipStreamBuf(std::istream& istr, const ZipLocalFileHeader& fileEnt
|
||||
{
|
||||
if (fileEntry.searchCRCAndSizesAfterData())
|
||||
{
|
||||
_ptrBuf = new AutoDetectInputStream(istr, "", "", reposition, start);
|
||||
_ptrBuf = new AutoDetectInputStream(istr, "", "", reposition, static_cast<Poco::UInt32>(start), fileEntry.needsZip64());
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -122,7 +122,7 @@ ZipStreamBuf::ZipStreamBuf(std::ostream& ostr, ZipLocalFileHeader& fileEntry, bo
|
||||
else if (fileEntry.getCompressionLevel() == ZipCommon::CL_MAXIMUM)
|
||||
level = Z_BEST_COMPRESSION;
|
||||
// ignore the zlib init string which is of size 2 and also ignore the 4 byte adler32 value at the end of the stream!
|
||||
_ptrOHelper = new PartialOutputStream(*_pOstr, 2, 4, false);
|
||||
_ptrOHelper = new PartialOutputStream(*_pOstr, 2, 4, false);
|
||||
_ptrOBuf = new Poco::DeflatingOutputStream(*_ptrOHelper, DeflatingStreamBuf::STREAM_ZLIB, level);
|
||||
}
|
||||
else if (fileEntry.getCompressionMethod() == ZipCommon::CM_STORE)
|
||||
@ -133,6 +133,8 @@ ZipStreamBuf::ZipStreamBuf(std::ostream& ostr, ZipLocalFileHeader& fileEntry, bo
|
||||
else throw Poco::NotImplementedException("Unsupported compression method");
|
||||
|
||||
// now write the header to the ostr!
|
||||
if (fileEntry.needsZip64())
|
||||
fileEntry.setZip64Data();
|
||||
std::string header = fileEntry.createHeader();
|
||||
ostr.write(header.c_str(), static_cast<std::streamsize>(header.size()));
|
||||
}
|
||||
@ -153,7 +155,7 @@ int ZipStreamBuf::readFromDevice(char* buffer, std::streamsize length)
|
||||
{
|
||||
if (!_ptrBuf) return 0; // directory entry
|
||||
_ptrBuf->read(buffer, length);
|
||||
int cnt = _ptrBuf->gcount();
|
||||
int cnt = static_cast<int>(_ptrBuf->gcount());
|
||||
if (cnt > 0)
|
||||
{
|
||||
_crc32.update(buffer, cnt);
|
||||
@ -190,13 +192,14 @@ int ZipStreamBuf::writeToDevice(const char* buffer, std::streamsize length)
|
||||
return 0;
|
||||
_bytesWritten += length;
|
||||
_ptrOBuf->write(buffer, length);
|
||||
_crc32.update(buffer, length);
|
||||
return length;
|
||||
_crc32.update(buffer, static_cast<unsigned int>(length));
|
||||
return static_cast<int>(length);
|
||||
}
|
||||
|
||||
|
||||
void ZipStreamBuf::close()
|
||||
void ZipStreamBuf::close(Poco::UInt64& extraDataSize)
|
||||
{
|
||||
extraDataSize = 0;
|
||||
if (_ptrOBuf && _pHeader)
|
||||
{
|
||||
_ptrOBuf->flush();
|
||||
@ -209,15 +212,15 @@ void ZipStreamBuf::close()
|
||||
_ptrOHelper->close();
|
||||
}
|
||||
_ptrOBuf = 0;
|
||||
poco_assert (*_pOstr);
|
||||
if (!*_pOstr) throw Poco::IOException("Bad output stream");
|
||||
|
||||
// write an extra datablock if required
|
||||
// or fix the crc entries
|
||||
|
||||
poco_check_ptr(_pHeader);
|
||||
_pHeader->setCRC(_crc32.checksum());
|
||||
_pHeader->setUncompressedSize(_bytesWritten);
|
||||
_pHeader->setCompressedSize(_ptrOHelper->bytesWritten());
|
||||
if (_bytesWritten == 0)
|
||||
if (_bytesWritten == 0)
|
||||
{
|
||||
poco_assert (_ptrOHelper->bytesWritten() == 0);
|
||||
// Empty files must use CM_STORE, otherwise unzipping will fail
|
||||
@ -228,20 +231,36 @@ void ZipStreamBuf::close()
|
||||
|
||||
if (_pHeader->searchCRCAndSizesAfterData())
|
||||
{
|
||||
ZipDataInfo info;
|
||||
info.setCRC32(_crc32.checksum());
|
||||
info.setUncompressedSize(_bytesWritten);
|
||||
info.setCompressedSize(static_cast<Poco::UInt32>(_ptrOHelper->bytesWritten()));
|
||||
_pOstr->write(info.getRawHeader(), static_cast<std::streamsize>(info.getFullHeaderSize()));
|
||||
if (_pHeader->needsZip64())
|
||||
{
|
||||
ZipDataInfo64 info;
|
||||
info.setCRC32(_crc32.checksum());
|
||||
info.setUncompressedSize(_bytesWritten);
|
||||
info.setCompressedSize(_ptrOHelper->bytesWritten());
|
||||
extraDataSize = info.getFullHeaderSize();
|
||||
_pOstr->write(info.getRawHeader(), static_cast<std::streamsize>(extraDataSize));
|
||||
}
|
||||
else
|
||||
{
|
||||
ZipDataInfo info;
|
||||
info.setCRC32(_crc32.checksum());
|
||||
info.setUncompressedSize(static_cast<Poco::UInt32>(_bytesWritten));
|
||||
info.setCompressedSize(static_cast<Poco::UInt32>(_ptrOHelper->bytesWritten()));
|
||||
extraDataSize = info.getFullHeaderSize();
|
||||
_pOstr->write(info.getRawHeader(), static_cast<std::streamsize>(extraDataSize));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
_pOstr->seekp(_pHeader->getStartPos(), std::ios_base::beg);
|
||||
poco_assert (*_pOstr);
|
||||
if (!*_pOstr) throw Poco::IOException("Bad output stream");
|
||||
|
||||
if (_pHeader->hasExtraField()) // Update sizes in header extension.
|
||||
_pHeader->setZip64Data();
|
||||
std::string header = _pHeader->createHeader();
|
||||
_pOstr->write(header.c_str(), static_cast<std::streamsize>(header.size()));
|
||||
_pOstr->seekp(0, std::ios_base::end);
|
||||
poco_assert (*_pOstr);
|
||||
if (!*_pOstr) throw Poco::IOException("Bad output stream");
|
||||
}
|
||||
_pHeader = 0;
|
||||
}
|
||||
@ -304,10 +323,10 @@ ZipOutputStream::~ZipOutputStream()
|
||||
}
|
||||
|
||||
|
||||
void ZipOutputStream::close()
|
||||
void ZipOutputStream::close(Poco::UInt64& extraDataSize)
|
||||
{
|
||||
flush();
|
||||
_buf.close();
|
||||
_buf.close(extraDataSize);
|
||||
}
|
||||
|
||||
|
||||
|
BIN
Zip/testsuite/data/vuln.zip
Normal file
BIN
Zip/testsuite/data/vuln.zip
Normal file
Binary file not shown.
@ -1 +0,0 @@
|
||||
just some test data
|
@ -4,19 +4,22 @@
|
||||
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
#include "CompressTest.h"
|
||||
#include "ZipTest.h"
|
||||
#include "Poco/Buffer.h"
|
||||
#include "Poco/Zip/Compress.h"
|
||||
#include "Poco/Zip/ZipManipulator.h"
|
||||
#include "Poco/File.h"
|
||||
#include "Poco/FileStream.h"
|
||||
#include "CppUnit/TestCaller.h"
|
||||
#include "CppUnit/TestSuite.h"
|
||||
#include <fstream>
|
||||
#include <iostream>
|
||||
#undef min
|
||||
#include <algorithm>
|
||||
|
||||
|
||||
using namespace Poco::Zip;
|
||||
@ -34,8 +37,8 @@ CompressTest::~CompressTest()
|
||||
|
||||
void CompressTest::testSingleFile()
|
||||
{
|
||||
std::ofstream out("appinf.zip", std::ios::binary);
|
||||
Poco::Path theFile(ZipTest::getTestFile("test.zip"));
|
||||
Poco::FileOutputStream out(Poco::Path::temp() + "appinf.zip");
|
||||
Poco::Path theFile(ZipTest::getTestFile("data", "test.zip"));
|
||||
Compress c(out, true);
|
||||
c.addFile(theFile, theFile.getFileName());
|
||||
ZipArchive a(c.close());
|
||||
@ -44,10 +47,9 @@ void CompressTest::testSingleFile()
|
||||
|
||||
void CompressTest::testDirectory()
|
||||
{
|
||||
std::ofstream out("pocobin.zip", std::ios::binary);
|
||||
Poco::FileOutputStream out(Poco::Path::temp() + "pocobin.zip");
|
||||
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/");
|
||||
@ -63,21 +65,22 @@ 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);
|
||||
Poco::Path theFile(ZipTest::getTestFile("test.zip"));
|
||||
Poco::FileOutputStream out(Poco::Path::temp() + "appinf.zip");
|
||||
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("test.zip"));
|
||||
zm.addFile("doc/othertest.zip", ZipTest::getTestFile("data", "test.zip"));
|
||||
ZipArchive archive=zm.commit();
|
||||
assert (archive.findHeader("doc/othertest.zip") != archive.headerEnd());
|
||||
}
|
||||
@ -86,15 +89,15 @@ void CompressTest::testManipulator()
|
||||
void CompressTest::testManipulatorDel()
|
||||
{
|
||||
{
|
||||
std::ofstream out("appinf.zip", std::ios::binary);
|
||||
Poco::Path theFile(ZipTest::getTestFile("test.zip"));
|
||||
Poco::FileOutputStream out(Poco::Path::temp() + "appinf.zip");
|
||||
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.zip"));
|
||||
zm.addFile("doc/data.zip", ZipTest::getTestFile("data", "data.zip"));
|
||||
ZipArchive archive=zm.commit();
|
||||
assert (archive.findHeader("test.zip") == archive.headerEnd());
|
||||
assert (archive.findHeader("doc/data.zip") != archive.headerEnd());
|
||||
@ -104,15 +107,15 @@ void CompressTest::testManipulatorDel()
|
||||
void CompressTest::testManipulatorReplace()
|
||||
{
|
||||
{
|
||||
std::ofstream out("appinf.zip", std::ios::binary);
|
||||
Poco::Path theFile(ZipTest::getTestFile("test.zip"));
|
||||
Poco::FileOutputStream out(Poco::Path::temp() + "appinf.zip");
|
||||
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);
|
||||
zm.replaceFile("test.zip", ZipTest::getTestFile("doc.zip"));
|
||||
|
||||
ZipManipulator zm(Poco::Path::temp() + "appinf.zip", true);
|
||||
zm.replaceFile("test.zip", ZipTest::getTestFile("data", "doc.zip"));
|
||||
|
||||
ZipArchive archive=zm.commit();
|
||||
assert (archive.findHeader("test.zip") != archive.headerEnd());
|
||||
assert (archive.findHeader("doc.zip") == archive.headerEnd());
|
||||
@ -122,8 +125,8 @@ void CompressTest::testManipulatorReplace()
|
||||
void CompressTest::testSetZipComment()
|
||||
{
|
||||
std::string comment("Testing...123...");
|
||||
std::ofstream out("comment.zip", std::ios::binary);
|
||||
Poco::Path theFile(ZipTest::getTestFile("test.zip"));
|
||||
Poco::FileOutputStream out(Poco::Path::temp() + "comment.zip");
|
||||
Poco::Path theFile(ZipTest::getTestFile("data", "test.zip"));
|
||||
Compress c(out, true);
|
||||
c.addFile(theFile, theFile.getFileName());
|
||||
c.setZipComment(comment);
|
||||
@ -132,6 +135,65 @@ void CompressTest::testSetZipComment()
|
||||
}
|
||||
|
||||
|
||||
void CompressTest::createDataFile(const std::string& path, Poco::UInt64 size)
|
||||
{
|
||||
Poco::FileOutputStream out(path.c_str(), std::ios::trunc);
|
||||
assert( ! out.fail() );
|
||||
Poco::Buffer<char> buffer(MB);
|
||||
for(int i = 0; size != 0; i++) {
|
||||
std::memset(buffer.begin(), i, buffer.size());
|
||||
Poco::UInt64 bytesToWrite = std::min(size, static_cast<Poco::UInt64>(buffer.size()));
|
||||
out.write(buffer.begin(), bytesToWrite);
|
||||
assert( ! out.fail() );
|
||||
size -= bytesToWrite;
|
||||
}
|
||||
out.flush();
|
||||
assert( ! out.fail() );
|
||||
out.close();
|
||||
assert( ! out.fail() );
|
||||
}
|
||||
|
||||
|
||||
void CompressTest::testZip64()
|
||||
{
|
||||
typedef std::map<std::string, Poco::UInt64> FileMap;
|
||||
std::cout << std::endl;
|
||||
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(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);
|
||||
}
|
||||
Poco::FileOutputStream out(Poco::Path::temp() + "zip64.zip", std::ios::trunc);
|
||||
Compress c(out, true, true);
|
||||
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(FileMap::const_iterator it = files.begin(); it != files.end(); it++)
|
||||
{
|
||||
const std::string& path = it->first;
|
||||
Poco::UInt64 size = it->second;
|
||||
ZipArchive::FileHeaders::const_iterator it2 = a.findHeader(path);
|
||||
assert (it2 != a.headerEnd());
|
||||
const Poco::Zip::ZipLocalFileHeader& file = it2->second;
|
||||
assert(file.getUncompressedSize() == size);
|
||||
assert(file.getCompressedSize() == size);
|
||||
}
|
||||
for (FileMap::const_iterator it = files.begin(); it != files.end(); it++)
|
||||
{
|
||||
Poco::File(it->first).remove();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void CompressTest::setUp()
|
||||
{
|
||||
}
|
||||
@ -152,6 +214,7 @@ CppUnit::Test* CompressTest::suite()
|
||||
CppUnit_addTest(pSuite, CompressTest, testManipulatorDel);
|
||||
CppUnit_addTest(pSuite, CompressTest, testManipulatorReplace);
|
||||
CppUnit_addTest(pSuite, CompressTest, testSetZipComment);
|
||||
CppUnit_addTest(pSuite, CompressTest, testZip64);
|
||||
|
||||
return pSuite;
|
||||
}
|
||||
|
@ -31,6 +31,11 @@ public:
|
||||
void testManipulatorReplace();
|
||||
void testSetZipComment();
|
||||
|
||||
static const Poco::UInt64 KB = 1024;
|
||||
static const Poco::UInt64 MB = 1024*KB;
|
||||
void createDataFile(const std::string& path, Poco::UInt64 size);
|
||||
void testZip64();
|
||||
|
||||
void setUp();
|
||||
void tearDown();
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
@ -17,13 +17,17 @@
|
||||
#include "Poco/Zip/ZipCommon.h"
|
||||
#include "Poco/StreamCopier.h"
|
||||
#include "Poco/File.h"
|
||||
#include "Poco/FileStream.h"
|
||||
#include "Poco/URI.h"
|
||||
#include "Poco/Path.h"
|
||||
#include "Poco/Delegate.h"
|
||||
#include "Poco/StreamCopier.h"
|
||||
#include "Poco/Environment.h"
|
||||
#include "CppUnit/TestCaller.h"
|
||||
#include "CppUnit/TestSuite.h"
|
||||
#include <fstream>
|
||||
#undef min
|
||||
#include <algorithm>
|
||||
#include <iostream>
|
||||
#include <sstream>
|
||||
|
||||
|
||||
@ -42,30 +46,30 @@ ZipTest::~ZipTest()
|
||||
|
||||
void ZipTest::testSkipSingleFile()
|
||||
{
|
||||
std::string testFile = getTestFile("test.zip");
|
||||
std::ifstream inp(testFile.c_str(), std::ios::binary);
|
||||
std::string testFile = getTestFile("data", "test.zip");
|
||||
Poco::FileInputStream inp(testFile);
|
||||
assert (inp.good());
|
||||
SkipCallback skip;
|
||||
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::UInt32 cS = hdr.getCompressedSize();
|
||||
Poco::UInt32 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();
|
||||
}
|
||||
|
||||
|
||||
void ZipTest::testDecompressSingleFile()
|
||||
{
|
||||
std::string testFile = getTestFile("test.zip");
|
||||
std::ifstream inp(testFile.c_str(), std::ios::binary);
|
||||
std::string testFile = getTestFile("data", "test.zip");
|
||||
Poco::FileInputStream inp(testFile);
|
||||
assert (inp.good());
|
||||
ZipArchive arch(inp);
|
||||
ZipArchive::FileHeaders::const_iterator it = arch.findHeader("testfile.txt");
|
||||
@ -77,12 +81,27 @@ void ZipTest::testDecompressSingleFile()
|
||||
}
|
||||
|
||||
|
||||
void ZipTest::testDecompressSingleFileInDir()
|
||||
{
|
||||
std::string testFile = getTestFile("data","test.zip");
|
||||
Poco::FileInputStream inp(testFile);
|
||||
assert (inp.good());
|
||||
ZipArchive arch(inp);
|
||||
ZipArchive::FileHeaders::const_iterator it = arch.findHeader("testdir/testfile.txt");
|
||||
assert (it != arch.headerEnd());
|
||||
ZipInputStream zipin (inp, it->second);
|
||||
std::ostringstream out(std::ios::binary);
|
||||
Poco::StreamCopier::copyStream(zipin, out);
|
||||
assert(!out.str().empty());
|
||||
}
|
||||
|
||||
|
||||
void ZipTest::testCrcAndSizeAfterData()
|
||||
{
|
||||
std::string testFile = getTestFile("data.zip");
|
||||
std::ifstream inp(testFile.c_str(), std::ios::binary);
|
||||
std::string testFile = getTestFile("data", "data.zip");
|
||||
Poco::FileInputStream inp(testFile);
|
||||
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);
|
||||
@ -93,8 +112,8 @@ void ZipTest::testCrcAndSizeAfterData()
|
||||
|
||||
void ZipTest::testCrcAndSizeAfterDataWithArchive()
|
||||
{
|
||||
std::string testFile = getTestFile("data.zip");
|
||||
std::ifstream inp(testFile.c_str(), std::ios::binary);
|
||||
std::string testFile = getTestFile("data", "data.zip");
|
||||
Poco::FileInputStream inp(testFile);
|
||||
assert (inp.good());
|
||||
Poco::Zip::ZipArchive zip(inp);
|
||||
inp.clear();
|
||||
@ -106,40 +125,44 @@ void ZipTest::testCrcAndSizeAfterDataWithArchive()
|
||||
Poco::Path path(it->second.getFileName());
|
||||
if (path.isFile())
|
||||
{
|
||||
std::ofstream os("test.dat");
|
||||
Poco::FileOutputStream os(Poco::Path::temp() + "test.dat");
|
||||
Poco::StreamCopier::copyStream(zipis,os);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
std::string ZipTest::getTestFile(const std::string& testFile)
|
||||
std::string ZipTest::getTestFile(const std::string& directory, const std::string& file)
|
||||
{
|
||||
Poco::Path root;
|
||||
root.makeAbsolute();
|
||||
Poco::Path result;
|
||||
while (!Poco::Path::find(root.toString(), "data", result))
|
||||
std::ostringstream ostr;
|
||||
ostr << directory << '/' << file;
|
||||
std::string validDir(ostr.str());
|
||||
Poco::Path pathPattern(validDir);
|
||||
if (Poco::File(pathPattern).exists())
|
||||
{
|
||||
root.makeParent();
|
||||
if (root.toString().empty() || root.toString() == "/")
|
||||
throw Poco::FileNotFoundException("Didn't find data subdir");
|
||||
return validDir;
|
||||
}
|
||||
result.makeDirectory();
|
||||
result.setFileName(testFile);
|
||||
Poco::File aFile(result.toString());
|
||||
if (!aFile.exists() || (aFile.exists() && !aFile.isFile()))
|
||||
throw Poco::FileNotFoundException("Didn't find " + testFile);
|
||||
|
||||
return result.toString();
|
||||
|
||||
ostr.str("");
|
||||
ostr << "/Zip/testsuite/" << directory << '/' << file;
|
||||
validDir = Poco::Environment::get("POCO_BASE") + ostr.str();
|
||||
pathPattern = validDir;
|
||||
|
||||
if (!Poco::File(pathPattern).exists())
|
||||
{
|
||||
std::cout << "Can't find " << validDir << std::endl;
|
||||
throw Poco::NotFoundException("cannot locate directory containing valid Zip test files");
|
||||
}
|
||||
return validDir;
|
||||
}
|
||||
|
||||
|
||||
void ZipTest::testDecompress()
|
||||
{
|
||||
std::string testFile = getTestFile("test.zip");
|
||||
std::ifstream inp(testFile.c_str(), std::ios::binary);
|
||||
std::string testFile = getTestFile("data", "test.zip");
|
||||
Poco::FileInputStream inp(testFile);
|
||||
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);
|
||||
@ -150,10 +173,10 @@ void ZipTest::testDecompress()
|
||||
|
||||
void ZipTest::testDecompressFlat()
|
||||
{
|
||||
std::string testFile = getTestFile("test.zip");
|
||||
std::ifstream inp(testFile.c_str(), std::ios::binary);
|
||||
std::string testFile = getTestFile("data", "test.zip");
|
||||
Poco::FileInputStream inp(testFile);
|
||||
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);
|
||||
@ -162,6 +185,116 @@ void ZipTest::testDecompressFlat()
|
||||
}
|
||||
|
||||
|
||||
void ZipTest::testDecompressVuln()
|
||||
{
|
||||
std::string testFile = getTestFile("data", "vuln.zip");
|
||||
Poco::FileInputStream inp(testFile);
|
||||
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");
|
||||
Poco::FileInputStream inp(testFile);
|
||||
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);
|
||||
assert (_errCnt == 0);
|
||||
assert (!dec.mapping().empty());
|
||||
}
|
||||
|
||||
|
||||
void ZipTest::verifyDataFile(const std::string& path, Poco::UInt64 size)
|
||||
{
|
||||
Poco::FileInputStream in(path);
|
||||
assert( ! in.fail() );
|
||||
Poco::Buffer<char> buffer1(MB);
|
||||
Poco::Buffer<char> buffer2(MB);
|
||||
for (int i = 0; size != 0; i++)
|
||||
{
|
||||
std::memset(buffer1.begin(), i, buffer1.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);
|
||||
size -= bytesToRead;
|
||||
}
|
||||
char c;
|
||||
in.read(&c, 1);
|
||||
assert ( in.eof() );
|
||||
}
|
||||
|
||||
|
||||
void ZipTest::testDecompressZip64()
|
||||
{
|
||||
std::map<std::string, Poco::UInt64> files;
|
||||
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++)
|
||||
{
|
||||
Poco::File file(it->first);
|
||||
if(file.exists())
|
||||
file.remove();
|
||||
}
|
||||
Poco::FileInputStream in(Poco::Path::temp() + "zip64.zip");
|
||||
Decompress c(in, Poco::Path::temp());
|
||||
c.decompressAllFiles();
|
||||
for(std::map<std::string, Poco::UInt64>::const_iterator it = files.begin(); it != files.end(); it++)
|
||||
{
|
||||
verifyDataFile(it->first, it->second);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
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;
|
||||
@ -185,9 +318,15 @@ CppUnit::Test* ZipTest::suite()
|
||||
|
||||
CppUnit_addTest(pSuite, ZipTest, testSkipSingleFile);
|
||||
CppUnit_addTest(pSuite, ZipTest, testDecompressSingleFile);
|
||||
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;
|
||||
}
|
||||
|
@ -6,7 +6,7 @@
|
||||
// Copyright (c) 2007, Applied Informatics Software Engineering GmbH.
|
||||
// and Contributors.
|
||||
//
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
// SPDX-License-Identifier: BSL-1.0
|
||||
//
|
||||
|
||||
|
||||
@ -27,18 +27,26 @@ public:
|
||||
|
||||
void testSkipSingleFile();
|
||||
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();
|
||||
|
||||
static CppUnit::Test* suite();
|
||||
|
||||
static std::string getTestFile(const std::string& testFile);
|
||||
static std::string getTestFile(const std::string& directory, const std::string& type);
|
||||
|
||||
private:
|
||||
void onDecompressError(const void* pSender, std::pair<const Poco::Zip::ZipLocalFileHeader, const std::string>& info);
|
||||
|
@ -18,9 +18,9 @@ CppUnit::Test* ZipTestSuite::suite()
|
||||
{
|
||||
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("ZipTestSuite");
|
||||
|
||||
pSuite->addTest(CompressTest::suite());
|
||||
pSuite->addTest(ZipTest::suite());
|
||||
pSuite->addTest(PartialStreamTest::suite());
|
||||
pSuite->addTest(CompressTest::suite());
|
||||
|
||||
return pSuite;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user