Skip to content

Commit

Permalink
ported 1.4.4 branch changes (needs build checks and test runs!)
Browse files Browse the repository at this point in the history
  • Loading branch information
aleks-f committed May 19, 2012
1 parent e5e3a57 commit 9b952a2
Show file tree
Hide file tree
Showing 62 changed files with 1,361 additions and 135 deletions.
19 changes: 18 additions & 1 deletion CHANGELOG
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,24 @@ Release 1.4.4 (2012-04-??)
handshake is enabled and the first attempt to complete the handshake fails
- Poco::DateTimeParser::tryParse() without format specifier now correctly parses ISO8601
date/times with fractional seconds.

- Poco::Process::launch() now has additional overloads allowing to specify an initial
directory and/or environment.
- Poco::Net::FTPClientSession: timeout was not applied to data connection, only to
control connection.
- Fixed potential IPv6 issue with socket constructors if IPv6 SocketAddress is given
(contributed by ??????? ????????? <[email protected]>).
- Added an additional (optional) parameter to Poco::Thread::setOSPriority() allowing to
specify a scheduling policy. Currently this is only used on POSIX platforms and allows
specifying SCHED_OTHER (default), SCHED_FIFO or SCHED_RR, as well as other
platform-specific policy values.
- Added Poco::Crypto::DigestEngine class providing a Poco::DigestEngine interface to
the digest algorithms provided by OpenSSL.
- Fixed some potential compiler warnings in Crypto library
- In some cases, when an SSL exception was unexpectedly closed, a generic Poco::IOException
was thrown. This was fixed to throw a SSLConnectionUnexpectedlyClosedException instead.
- Added Poco::ObjectPool class template.
- Poco::Net::HTTPServer has a new stopAll() method allowing stopping/aborting of all
currently active client connections.

Release 1.4.3p1 (2012-01-23)
============================
Expand Down
13 changes: 13 additions & 0 deletions Crypto/Crypto_CE_VS90.vcproj
Original file line number Diff line number Diff line change
Expand Up @@ -518,6 +518,19 @@
RelativePath=".\src\OpenSSLInitializer.cpp"/>
</Filter>
</Filter>
<Filter
Name="Digest">
<Filter
Name="Header Files">
<File
RelativePath=".\include\Poco\Crypto\DigestEngine.h"/>
</Filter>
<Filter
Name="Source Files">
<File
RelativePath=".\src\DigestEngine.cpp"/>
</Filter>
</Filter>
<File
RelativePath="..\DLLVersion.rc">
<FileConfiguration
Expand Down
13 changes: 13 additions & 0 deletions Crypto/Crypto_VS71.vcproj
Original file line number Diff line number Diff line change
Expand Up @@ -450,6 +450,19 @@
RelativePath=".\src\OpenSSLInitializer.cpp"/>
</Filter>
</Filter>
<Filter
Name="Digest">
<Filter
Name="Header Files">
<File
RelativePath=".\include\Poco\Crypto\DigestEngine.h"/>
</Filter>
<Filter
Name="Source Files">
<File
RelativePath=".\src\DigestEngine.cpp"/>
</Filter>
</Filter>
<File
RelativePath="..\DLLVersion.rc">
<FileConfiguration
Expand Down
13 changes: 13 additions & 0 deletions Crypto/Crypto_VS80.vcproj
Original file line number Diff line number Diff line change
Expand Up @@ -471,6 +471,19 @@
RelativePath=".\src\OpenSSLInitializer.cpp"/>
</Filter>
</Filter>
<Filter
Name="Digest">
<Filter
Name="Header Files">
<File
RelativePath=".\include\Poco\Crypto\DigestEngine.h"/>
</Filter>
<Filter
Name="Source Files">
<File
RelativePath=".\src\DigestEngine.cpp"/>
</Filter>
</Filter>
<File
RelativePath="..\DLLVersion.rc">
<FileConfiguration
Expand Down
13 changes: 13 additions & 0 deletions Crypto/Crypto_VS90.vcproj
Original file line number Diff line number Diff line change
Expand Up @@ -470,6 +470,19 @@
RelativePath=".\src\OpenSSLInitializer.cpp"/>
</Filter>
</Filter>
<Filter
Name="Digest">
<Filter
Name="Header Files">
<File
RelativePath=".\include\Poco\Crypto\DigestEngine.h"/>
</Filter>
<Filter
Name="Source Files">
<File
RelativePath=".\src\DigestEngine.cpp"/>
</Filter>
</Filter>
<File
RelativePath="..\DLLVersion.rc">
<FileConfiguration
Expand Down
2 changes: 2 additions & 0 deletions Crypto/Crypto_vs100.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,7 @@
<ClInclude Include="include\Poco\Crypto\X509Certificate.h" />
<ClInclude Include="include\Poco\Crypto\Crypto.h" />
<ClInclude Include="include\Poco\Crypto\OpenSSLInitializer.h" />
<ClInclude Include="include\Poco\Crypto\DigestEngine.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\Cipher.cpp" />
Expand All @@ -296,6 +297,7 @@
<ClCompile Include="src\RSAKeyImpl.cpp" />
<ClCompile Include="src\X509Certificate.cpp" />
<ClCompile Include="src\OpenSSLInitializer.cpp" />
<ClCompile Include="src\DigestEngine.cpp" />
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\DLLVersion.rc">
Expand Down
39 changes: 27 additions & 12 deletions Crypto/Crypto_vs100.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -2,40 +2,49 @@
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Cipher">
<UniqueIdentifier>{47659d2b-1931-4b5c-a24e-1c710c742c4a}</UniqueIdentifier>
<UniqueIdentifier>{817dcc42-c43d-448f-b6f4-682c7b9eebce}</UniqueIdentifier>
</Filter>
<Filter Include="Cipher\Header Files">
<UniqueIdentifier>{0f1eef3f-f362-4856-abb6-d66fb7dafd00}</UniqueIdentifier>
<UniqueIdentifier>{b9acfa88-5b37-438b-b02a-a0305d660abb}</UniqueIdentifier>
</Filter>
<Filter Include="Cipher\Source Files">
<UniqueIdentifier>{16c5db31-64d0-415a-840b-bead16c5b4ed}</UniqueIdentifier>
<UniqueIdentifier>{9a337c49-202e-44c6-96b5-544b0c568f31}</UniqueIdentifier>
</Filter>
<Filter Include="RSA">
<UniqueIdentifier>{f55ef5a1-fb9a-443a-9efa-ab2e272f8a5e}</UniqueIdentifier>
<UniqueIdentifier>{92a5c4bb-ff46-465d-98e9-de53992f84f3}</UniqueIdentifier>
</Filter>
<Filter Include="RSA\Header Files">
<UniqueIdentifier>{6a4da578-c88b-4d4b-9f2c-bd2ee4fa2b7a}</UniqueIdentifier>
<UniqueIdentifier>{a1fbc3f1-3626-46ba-afb2-04a076dc20e9}</UniqueIdentifier>
</Filter>
<Filter Include="RSA\Source Files">
<UniqueIdentifier>{16bf940b-4b9d-4443-8941-a0af3f2d8f8f}</UniqueIdentifier>
<UniqueIdentifier>{a54fb963-33ef-4bdb-96ef-3008e5922b60}</UniqueIdentifier>
</Filter>
<Filter Include="Certificate">
<UniqueIdentifier>{5301224c-5bed-44a9-9314-ca863aaf4fd8}</UniqueIdentifier>
<UniqueIdentifier>{9b4b7e92-fcb9-42e6-979b-239432f7f7d5}</UniqueIdentifier>
</Filter>
<Filter Include="Certificate\Header Files">
<UniqueIdentifier>{8184d9c6-ad90-4dd5-8091-1358ca4243c4}</UniqueIdentifier>
<UniqueIdentifier>{5ffce66b-4bf8-4a66-b499-e28c798bb193}</UniqueIdentifier>
</Filter>
<Filter Include="Certificate\Source Files">
<UniqueIdentifier>{25d75536-89a8-4888-b661-92983aa3d989}</UniqueIdentifier>
<UniqueIdentifier>{e898392c-d0f3-40b5-88ce-8c39659ce83f}</UniqueIdentifier>
</Filter>
<Filter Include="CryptoCore">
<UniqueIdentifier>{21724220-39cd-4bd3-acbe-faa155cb88e1}</UniqueIdentifier>
<UniqueIdentifier>{4cc14755-2ecd-4ebe-9f8d-916b11107ccb}</UniqueIdentifier>
</Filter>
<Filter Include="CryptoCore\Header Files">
<UniqueIdentifier>{891e2105-aa8f-43d8-b00e-f797fc044836}</UniqueIdentifier>
<UniqueIdentifier>{d1a13755-0bbe-47bc-9235-7e85250fa75b}</UniqueIdentifier>
</Filter>
<Filter Include="CryptoCore\Source Files">
<UniqueIdentifier>{f1c93b38-00a2-4073-8750-171298a95e18}</UniqueIdentifier>
<UniqueIdentifier>{49706855-ad39-4ff3-a3ef-ecc99c59c7d2}</UniqueIdentifier>
</Filter>
<Filter Include="Digest">
<UniqueIdentifier>{25c9d0f5-3a6e-454e-a72e-77557cd02ad1}</UniqueIdentifier>
</Filter>
<Filter Include="Digest\Header Files">
<UniqueIdentifier>{e939a817-2082-4c93-bd5d-6771b0706aa8}</UniqueIdentifier>
</Filter>
<Filter Include="Digest\Source Files">
<UniqueIdentifier>{7dea865f-63e2-4135-b1d4-1113148896b3}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
Expand Down Expand Up @@ -81,6 +90,9 @@
<ClInclude Include="include\Poco\Crypto\OpenSSLInitializer.h">
<Filter>CryptoCore\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Crypto\DigestEngine.h">
<Filter>Digest\Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\Cipher.cpp">
Expand Down Expand Up @@ -122,6 +134,9 @@
<ClCompile Include="src\OpenSSLInitializer.cpp">
<Filter>CryptoCore\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\DigestEngine.cpp">
<Filter>Digest\Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\DLLVersion.rc" />
Expand Down
2 changes: 2 additions & 0 deletions Crypto/Crypto_x64_vs100.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -279,6 +279,7 @@
<ClInclude Include="include\Poco\Crypto\X509Certificate.h"/>
<ClInclude Include="include\Poco\Crypto\Crypto.h"/>
<ClInclude Include="include\Poco\Crypto\OpenSSLInitializer.h"/>
<ClInclude Include="include\Poco\Crypto\DigestEngine.h"/>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\Cipher.cpp"/>
Expand All @@ -294,6 +295,7 @@
<ClCompile Include="src\RSAKeyImpl.cpp"/>
<ClCompile Include="src\X509Certificate.cpp"/>
<ClCompile Include="src\OpenSSLInitializer.cpp"/>
<ClCompile Include="src\DigestEngine.cpp"/>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\DLLVersion.rc">
Expand Down
39 changes: 27 additions & 12 deletions Crypto/Crypto_x64_vs100.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -2,40 +2,49 @@
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Cipher">
<UniqueIdentifier>{b173f1fe-9277-4bb7-a29a-784223cbb1bf}</UniqueIdentifier>
<UniqueIdentifier>{0547bb78-91a3-42a6-98d7-eee4062fc96d}</UniqueIdentifier>
</Filter>
<Filter Include="Cipher\Header Files">
<UniqueIdentifier>{ad6edcfa-4842-4331-86e4-00e16e105548}</UniqueIdentifier>
<UniqueIdentifier>{6ee6b22f-ccff-4894-a138-aead4aa517e7}</UniqueIdentifier>
</Filter>
<Filter Include="Cipher\Source Files">
<UniqueIdentifier>{05a9d2ec-4e64-45db-bfe0-4b5786e88a11}</UniqueIdentifier>
<UniqueIdentifier>{73645c11-6227-4871-94e3-d77dd3f24291}</UniqueIdentifier>
</Filter>
<Filter Include="RSA">
<UniqueIdentifier>{88627b10-aeee-42c1-87c4-0ebfa2e0a79a}</UniqueIdentifier>
<UniqueIdentifier>{ac1d2c15-a701-44b8-a5d0-53270a9b49fb}</UniqueIdentifier>
</Filter>
<Filter Include="RSA\Header Files">
<UniqueIdentifier>{ea6b402c-457a-4daf-b077-be45f2acd17f}</UniqueIdentifier>
<UniqueIdentifier>{7d984e13-4192-4041-bdb1-728de0684d30}</UniqueIdentifier>
</Filter>
<Filter Include="RSA\Source Files">
<UniqueIdentifier>{fa65ca2d-a23e-4b8e-b922-9f0866057010}</UniqueIdentifier>
<UniqueIdentifier>{a9be19c9-3057-48eb-a21f-a9591307ea36}</UniqueIdentifier>
</Filter>
<Filter Include="Certificate">
<UniqueIdentifier>{c7a98e6b-b117-4abc-92c0-da57006d8404}</UniqueIdentifier>
<UniqueIdentifier>{53333def-b74f-4969-b6eb-cf158a31e5d4}</UniqueIdentifier>
</Filter>
<Filter Include="Certificate\Header Files">
<UniqueIdentifier>{2eb81bba-5786-4827-861c-79b9ce5282d1}</UniqueIdentifier>
<UniqueIdentifier>{1c36d55a-2e79-4a52-83bb-df0ee7b973d5}</UniqueIdentifier>
</Filter>
<Filter Include="Certificate\Source Files">
<UniqueIdentifier>{6809f384-8941-4b8f-837c-688c36e13184}</UniqueIdentifier>
<UniqueIdentifier>{fd3b9e34-05c4-4754-b481-185dfe34e547}</UniqueIdentifier>
</Filter>
<Filter Include="CryptoCore">
<UniqueIdentifier>{68b4002c-3b8d-4807-a97e-8e8b886f7705}</UniqueIdentifier>
<UniqueIdentifier>{1e012891-c009-45bb-aa3a-76abae9b9235}</UniqueIdentifier>
</Filter>
<Filter Include="CryptoCore\Header Files">
<UniqueIdentifier>{bb20da77-b634-4616-8448-4fcfd1b3b150}</UniqueIdentifier>
<UniqueIdentifier>{97b573b3-41fe-489f-b74e-a29f3ca2cd1b}</UniqueIdentifier>
</Filter>
<Filter Include="CryptoCore\Source Files">
<UniqueIdentifier>{5737fdf4-ee47-4378-8cd3-812512176c75}</UniqueIdentifier>
<UniqueIdentifier>{e8ea85fa-b22d-4850-a9a2-6c8390f6169d}</UniqueIdentifier>
</Filter>
<Filter Include="Digest">
<UniqueIdentifier>{673a5ceb-4d21-4e09-b77f-4070077ac56d}</UniqueIdentifier>
</Filter>
<Filter Include="Digest\Header Files">
<UniqueIdentifier>{ef4c04a0-8f67-4a3c-9a63-ceafdd5fa6e1}</UniqueIdentifier>
</Filter>
<Filter Include="Digest\Source Files">
<UniqueIdentifier>{ab15490c-a15c-4d2b-b499-e292a6fc4502}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
Expand Down Expand Up @@ -81,6 +90,9 @@
<ClInclude Include="include\Poco\Crypto\OpenSSLInitializer.h">
<Filter>CryptoCore\Header Files</Filter>
</ClInclude>
<ClInclude Include="include\Poco\Crypto\DigestEngine.h">
<Filter>Digest\Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\Cipher.cpp">
Expand Down Expand Up @@ -122,6 +134,9 @@
<ClCompile Include="src\OpenSSLInitializer.cpp">
<Filter>CryptoCore\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\DigestEngine.cpp">
<Filter>Digest\Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="..\DLLVersion.rc" />
Expand Down
13 changes: 13 additions & 0 deletions Crypto/Crypto_x64_vs90.vcproj
Original file line number Diff line number Diff line change
Expand Up @@ -475,6 +475,19 @@
RelativePath=".\src\OpenSSLInitializer.cpp"/>
</Filter>
</Filter>
<Filter
Name="Digest">
<Filter
Name="Header Files">
<File
RelativePath=".\include\Poco\Crypto\DigestEngine.h"/>
</Filter>
<Filter
Name="Source Files">
<File
RelativePath=".\src\DigestEngine.cpp"/>
</Filter>
</Filter>
<File
RelativePath="..\DLLVersion.rc">
<FileConfiguration
Expand Down
4 changes: 2 additions & 2 deletions Crypto/Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#
# Makefile
#
# $Id: //poco/1.4/Crypto/Makefile#1 $
# $Id: //poco/1.4/Crypto/Makefile#2 $
#
# Makefile for Poco Crypto
#
Expand All @@ -11,7 +11,7 @@ include $(POCO_BASE)/build/rules/global
SYSLIBS += -lssl -lcrypto

objects = Cipher CipherFactory CipherImpl CipherKey CipherKeyImpl CryptoStream CryptoTransform \
RSACipherImpl RSAKey RSAKeyImpl RSADigestEngine \
RSACipherImpl RSAKey RSAKeyImpl RSADigestEngine DigestEngine \
X509Certificate OpenSSLInitializer

target = PocoCrypto
Expand Down
6 changes: 3 additions & 3 deletions Crypto/include/Poco/Crypto/CipherKeyImpl.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//
// CipherKeyImpl.h
//
// $Id: //poco/1.4/Crypto/include/Poco/Crypto/CipherKeyImpl.h#2 $
// $Id: //poco/1.4/Crypto/include/Poco/Crypto/CipherKeyImpl.h#3 $
//
// Library: Crypto
// Package: Cipher
Expand Down Expand Up @@ -162,7 +162,7 @@ inline const CipherKeyImpl::ByteVec& CipherKeyImpl::getKey() const

inline void CipherKeyImpl::setKey(const ByteVec& key)
{
poco_assert(key.size() == keySize());
poco_assert(key.size() == static_cast<ByteVec::size_type>(keySize()));
_key = key;
}

Expand All @@ -175,7 +175,7 @@ inline const CipherKeyImpl::ByteVec& CipherKeyImpl::getIV() const

inline void CipherKeyImpl::setIV(const ByteVec& iv)
{
poco_assert(iv.size() == ivSize());
poco_assert(iv.size() == static_cast<ByteVec::size_type>(ivSize()));
_iv = iv;
}

Expand Down
8 changes: 7 additions & 1 deletion Crypto/include/Poco/Crypto/CryptoTransform.h
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
//
// CryptoTransform.h
//
// $Id: //poco/1.4/Crypto/include/Poco/Crypto/CryptoTransform.h#1 $
// $Id: //poco/1.4/Crypto/include/Poco/Crypto/CryptoTransform.h#2 $
//
// Library: Crypto
// Package: Cipher
Expand Down Expand Up @@ -66,6 +66,12 @@ class Crypto_API CryptoTransform
virtual std::size_t blockSize() const = 0;
/// Returns the block size for this CryptoTransform.

virtual int setPadding(int padding);
/// Enables or disables padding. By default encryption operations are padded using standard block
/// padding and the padding is checked and removed when decrypting. If the padding parameter is zero then
/// no padding is performed, the total amount of data encrypted or decrypted must then be a multiple of
/// the block size or an error will occur.

virtual std::streamsize transform(
const unsigned char* input,
std::streamsize inputLength,
Expand Down
Loading

0 comments on commit 9b952a2

Please sign in to comment.