pkgsrc-WIP-cvs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: wip/poco
Module name: wip
Committed by: schnoebe
Date: Wed Dec 22 05:07:15 UTC 2010
Modified Files:
wip/poco: Makefile.common PLIST distinfo
wip/poco-data: PLIST
wip/poco-data-mysql: PLIST
wip/poco-data-sqlite: PLIST
wip/poco/patches: patch-ad patch-ag
Log Message:
Update to Poco 1.4.0
Changelog:
This is the changelog file for the POCO C++ Libraries.
Release 1.4.0 (2010-12-14)
==========================
- SSLManager: documentation fixes, code cleanup
- SSLManager: renamed PrivateKeyPassPhrase event to PrivateKeyPassphraseRequired
- added HTTPServerRequestImpl::socket() to get access to the underlying socket
- added Socket::secure() to find out whether a given socket supports SSL/TLS
- added SecureStreamSocket::havePeerCertificate()
- NetSSL: added support for turning off extended certificate validation
(hostname matching)
- fixed SF# 2941228: ICMPClient::ping() issues on Mac OS X
- fixed SF# 2941231: ICMPEventArgs out of bounds array access
- added PageCompiler sample
- added missing newline at end of xmlparse.c
- Poco::Glob can now be used with an empty pattern which will match nothing
(patch from Kim Graesman)
- added support for HTTP proxy authentication (Basic authentication only)
- fixed SF# 2958959: XMLWriter must encode CR, LF and TAB in attribute values
as character entities.
- HTMLForm now supports PUT requests as well (see
<http://pocoproject.org/forum/viewtopic.php?f=12&t=2163&p=3930#p3930>)
- fixed SF# #2970521: FileOutputStream and file permissions.
(also fixed in File class)
- removed an unused (and wrong) default parameter from EventImpl constructor
for WIN32.
- added full support for session caching to NetSSL_OpenSSL
- fixed SF# 2984454: Poco::Util::Timer::scheduleAtFixedRate() works incorrectly
- fixed a bug in Poco::Util::Timer that could lead to high CPU load if
the system clock is moved forward.
- added system.nodeId to SystemConfiguration
- added a note to Poco::Util::ServerApplication documentation regarding
creation of threads
- added Poco::Net::IPAddress::broadcast() and Poco::Net::IPAddress::wildcard()
to
create broadcast (255.255.255.255) and wildcard (0.0.0.0) addresses.
- fixed SF# 2916154: Poco::Net::IPAddress::isLoopback() only works for
127.0.0.1.
- added build configuration for iPhone Simulator
- GNU Make based build system provides new variables: POCO_HOST_BINDIR,
POCO_HOST_BINPATH,
POCO_HOST_LIBDIR, POCO_HOST_LIBPATH and POCO_TARGET_* equivalents.
- Application::initialize() and Application::uninitialize() will now be called
from within run().
This solves various issues with uninitialize() not being called, or being
called inappropriately
from the Application destructor.
Please note that this change will break applications that use the Application
class,
but only call init() and not run().
- added /startup option to specify startup mode for Windows services (automatic
or manual)
- fixed SF# 2967354: SecureSocketImpl shutdown/close problem
- fixed SF# 3006340: LinearHashTable grows even if key already exists
- fixed a particularly nasty Windows error handling issue that manifested
itself on WinCE:
WSAGetLastError() would be called after a std::string was created. The string
creation could result
in a heap operation which called a Windows API to allocate memory. This would
reset the
GetLastError() error code. Since WSAGetLastError() is just an alias for
GetLastError(), the actual
error code from the socket operation would be lost.
- upgraded SQLite to 3.7.3
- added --header-prefix option to PageCompiler
- fixed SF# 3003875: SQLite data binding is broken
- fixed SF# 2993988: Issue with multiple calls to open()/close() on File*Stream
- fixed SF# 2990256: HTMLForm and file uploads
- fixed SF# 2969227: DateTimeParser bug
- fixed SF# 2966698: Socket connect with timeout issue
- fixed SF# 2981041: Bind NULL to a query (patch supplied)
- fixed SF# 2961419: UTF8Encoding::convert() doesn't work properly in DEBUG mode
- fixed SF# 2957068: Timeout value not picked up by proxy in HTTPSClientSession
- fixed NetSSL_OpenSSL test runner for Poco::Util::Application class changes
- Poco::AbstractEvent, Poco::AbstractCache and related classes now accept a
Mutex class as additional template argument.
Poco::NullMutex can be used if no synchronization is desired.
- Added Poco::AbstractEvent::empty() to check whether an event has registered
delegates.
- Poco::URI now correctly handles IPv6 addresses.
- Added Poco::Nullable class template.
- Added Poco::NullMutex, a no-op mutex to be used as template argument for
template classes
taking a mutex policy argument.
- Poco::XML::XMLWriter: fixed a namespace handling issue that occured with
startPrefixMapping() and endPrefixMapping()
- Poco::Net::Context now allows for loading certificates and private keys from
Poco::Crypto::X509Certificate objects
and Poco::Crypto::RSAKey objects.
- Poco::Crypto::RSAKey no longer uses temporary files for stream operations.
Memory buffers are used instead.
- fixed SF# 2957865: added Poco::UUID::tryParse()
- All Zip classes now use Poco::File[Input|Output]Stream instead of
std::[i|o]fstream.
UTF-8 filenames will now be handled correctly on Windows.
- fixed SF# 2902029: zlib flush support (Z_SYNC_FLUSH)
- added Poco::TextBufferIterator class
- fixed SF# 2977249: Use epoll instead select under Linux
Socket::select() and Socket::poll() will use epoll under Linux if the Net
library is compiled
with -DPOCO_HAVE_FD_EPOLL. This is the default for the Linux build
configuration (but not for
the various build configurations targeting embedded Linux platforms).
- fixed SF# 2941664: Memory leak in DeflatingStream with zero-length streams
(also fixed some other potential,
but unlikely, memory leaks)
- fixed SF# 2946457: added RejectCertificateHandler
- fixed SF# 2946621: Poco::Path bug with POCO_WIN32_UTF8
- fixed SF# 2929805: Environment::nodeId() does not work if no eth0 device
exists
- Environment::nodeId() no longer throws if no hardware ethernet address can be
determined.
It returns an all-zero address instead.
- Added additional classification functions to Poco::Unicode class; made
classification functions inline.
- added Ascii class for ASCII character classification.
Methods of the Ascii class are now used instead of the
standard library functions (std::isspace(), etc.) due to
possible inconsistent results or assertions when the
standard library functions are used with character codes
outside the ASCII range.
- Poco::Net::MailMessage: fixed a bug in StringPartHandler that resulted in
incorrect handling of non-ASCII data if
char is signed.
- Improved Poco::Net::SMTPClientSession compatibility with various mail servers
when using AUTH_LOGIN authentication.
- Added CRAM-SHA1 support to Poco::Net::SMTPClientSession
- Poco::Net::SMTPClientSession now also supports login with AUTH PLAIN.
- Added Poco::Net::SecureSMTPClientSession class, supporting STARTTLS for
secure SMTP connections.
- fixed an issue with SharedMemory on POSIX systems, where a shared memory
region would be deleted
despite the server flag set to true (see
http://pocoproject.org/forum/viewtopic.php?f=12&t=3494).
- PageCompiler: added a new page context directive, to allow passing custom
context objects to the
request handler.
- fixed StreamSocketImpl::sendBytes() for non-blocking sockets
- added Poco::Net::DialogSocket::receiveRawBytes(), which should be used
instead of receiveBytes() due to internal
buffering by DialogSocket.
- DOMParser: FEATURE_WHITESPACE has been renamed to FEATURE_FILTER_WHITESPACE
(which now matches the underlying URI)
and is now handled correctly (previously we did the exact reverse thing)
- added Poco::Util::AbstractConfiguration::remove() to remove a configuration
property; added removeRaw() implementations
to all implementations (contributions by Daniel Hobi and Alexey Shults).
- fixed NetSSL_OpenSSL compilation error on Windows with OpenSSL 1.0
- Added optional FIPS mode support to NetSSL_OpenSSL (contributed by Lior
Okman).
If OpenSSL has been configured and built with FIPS support, then FIPS support
can
be enabled by calling Poco::Crypto::OpenSSLInitializer::enableFIPSMode(true);
or
by setting the fips property in the OpenSSL configuration to true (see
Poco::Net::SSLManager
for details).
- fixed SF# 3031530: Ping and possible no timeout
- added Poco::Net::SocketReactor::onBusy(), called whenever at least one
notification will
be dispatched.
- fixed SF# 3034863: Compiler warning in net/IPAddress.h with poco 1.3.2
- added support for CRAM-SHA1 authentication to SMTPClientSession
- Poco::format(): arguments can now be addressed by their index, e.g. %[2]d
- Poco::Util::Timer::cancel() now accepts an optional boolean argument.
If true is passed, cancel() waits until the task queue has been purged.
Otherwise, it returns immediately and works asynchronously, as before.
- Poco::Net::HTTPServerResponse::redirect() now accepts an optional additional
argument to specify the HTTP status code for the redirection.
- fixed a warning (BinaryReader.cpp) and error (ThreadLocal.cpp) in Foundation
when compiling with Visual Studio 2010
- fixed a wrong exception in Poco::Net::POP3ClientSession
- Poco::Net::FTPClientSession and Poco::Net::SMTPClientSession now set the
error code in exceptions they throw
- fixed a potential race condition with terminating a Windows service based on
Poco::Util::ServerApplication
- fixed a bug in global build configuration file: explicitly setting
POCO_CONFIG did not work on Solaris platforms,
as it was always overridden by the automatically determined configuration.
- Added support for MinGW cross builds on Linux.
- Changed location of statically linked build products in the gmake-based build
system.
Statically linked executables are now in bin/$(OSNAME)/$(OSARCH)/static and
no longer
have the _s suffix
- The POCO_VERSION macro now is in its own header file, "Poco/Version.h". It is
no longer
available through "Poco/Foundation.h".
- added Poco::Net::HTTPCookie::escape() and Poco::Net::HTTPCookie::unescape().
- fixed SF# 3021173: Thread (POSIX) returns uninitialised value for OS priority
- fixed SF# 3040870: ThreadPool has no function to get assigned name
- fixed SF# 3044303: Can't use own config file on Solaris & OSARCH_64BITS
ignored
- fixed SF# 2943896: AsyncChannel::log blocks
- fixed a bug in Poco::Util::WinRegistryKey::getInt():
The size variable passed to RegQueryValueExW() should be initialized to the
size
of the output buffer.
- Added rudimentary support for compiling with Clang 2.0 (Xcode 4) on Mac OS X.
- New build configurations for Mac OS X: Darwin32 and Darwin64 for explicit
32-bit and 64-bit builds. Note that the default Darwin build configuration
will build 64-bit on Snow Leopard and 32-bit on Leopard, but will always place
build products in Darwin/i386. The new Darwin32 and Darwin64 configurations
will use the correct directories.
- fixed SF# 3051598: Bug in URL encoding
- Poco::ThreadPool::stopAll() (and thus also the destructor) will now wait for
each
pooled thread to terminate before returning. This fixes an issue with creating
and orderly shutting down a thread pool in a plugin. Previously, a pooled
thread
in a thread pool created by a dynamically loaded library might still be
running
when the plugin's shared library was unloaded, resulting in Bad Things
happening.
This can now no longer happen. As a downside, a pooled thread that fails to
finish will block stopAll() and the destructor forever.
- NetSSL_OpenSSL: for a SecureStreamSocket, available() now returns the number
of bytes that
are pending in the SSL buffer (SSL_pending()), not the actual socket buffer.
- Added Poco::Net::HTTPClientSession::secure() to check for a secure connection.
- Poco::Net::HTTPRequest::setHost() now does not include the port number in the
Host header
if it's either 80 or 443.
- log messages can now optionally include source file path and line number
- Poco::PatternFormatter can format source file path and line number (%U, %u)
- logging macros (poco_information(), etc.) now use __LINE__ and __FILE__
- new logging macros that incorporate Poco::format():
poco_information_f1(logger, format, arg) with up to 4 arguments
- added Poco::Net::HTTPSession::attachSessionData() and
Poco::Net::HTTPSession::sessionData()
to attach arbitrary data to a HTTP session.
- added additional constructors to zlib stream classes that allow passing
a windowBits parameter to the underlying zlib library.
- fixed a potential error handling issue in Poco::Net::SecureSocketImpl.
- fixed SF# 3110272: RSACipherImpl bug.
- fixed SF# 3081677: ConfigurationView's getRaw not retrieving xml attributes.
- added basic support for Canonical XML and better pretty-printing support to
Poco::XML::XMLWriter.
- Poco::Util::AbstractConfiguration now supports events fired when changing or
removing properties.
- XML: added support for finding DOM nodes by XPath-like
expressions. Only a very minimal subset of XPath is supported.
See Poco::XML::Element::getNodeByPath(), Poco::XML::Element::getNodeByPathNS()
and the same methods in Poco::XML::Document.
- Poco::Timer: If the callback takes longer to execute than the
timer interval, the callback function will not be called until the next
proper interval. The number of skipped invocations since the last
invocation will be recorded and can be obtained by the callback
by calling skipped().
- Poco::BinaryReader and Poco::BinaryWriter now support reading and
writing std::vectors of the supported basic types. Also, strings
can now be written in a different encoding (a Poco::TextEncoding
can be optionally passed to the constructor).
- Poco::UUID::nil() and Poco::UUID::isNil() have been renamed to
Poco::UUID::null() and Poco::UUID::isNull(), respectively, to avoid
issues with Objective-C++ projects on Mac OS X and iOS where nil is
a system-provided macro.
- Crypto bugfixes: RSACipherImpl now pads every block of data, not just the
last (or last two).
- Improved Crypto testsuite by adding new tests
- Added new Visual Studio project configurations: debug_static_mt and
release_static_mt
(linking with static runtime libraries). The existing configurations
debug_static
and release_static have been renamed to debug_static_md and
release_static_md, respectively.
The suffixes of the static libraries have also changed. The static_md
configurations
now build libraries with suffixes md[d], while the libraries built by the
static_mt
configurations have mt[d] suffixes.
- Added Visual Studio project files for 64-bit builds.
- Added Visual Studio 2010 project files.
- Removed the use of local static objects in various methods due to
their construction not being threadsafe (and thus leading to
potential race conditions) on Windows/Visual C++.
- Fixed some warning on 64-bit Windows builds.
- The name of the Data connector libraries have changed. They are now
named PocoDataMySQL, PocoDataODBC and PocoDataSQLite.
- fixed SF# 3125498: Linux NetworkInterface::list() doesn't return IPv6 IPs
- fixed SF# 3125457: IPv6 IPAddress tests are wrong
- Added initialization functions for the NetSSL_OpenSSL and Crypto libraries.
These should be called instead of relying on automatic initialization,
implemented with static initializer objects, as this won't work with
statically linked executables (where the linker won't include the
static initializer object).
The functions are Poco::Crypto::initializeCrypto(),
Poco::Crypto::uninitializeCrypto(),
Poco::Net::initializeSSL() and Poco::Net::uninitializeSSL().
Applications using Crypto and/or NetSSL should call these methods
appropriately at
program startup and shutdown.
Note: In release 1.3.6, similar functions have been added to the Net library.
To generate a diff of this commit:
cvs -z3 rdiff -u -r1.1.1.1 -r1.2 wip/poco/patches/patch-ad
cvs -z3 rdiff -u -r1.2 -r1.3 wip/poco-data-mysql/PLIST \
wip/poco-data-sqlite/PLIST wip/poco-data/PLIST wip/poco/Makefile.common \
wip/poco/patches/patch-ag
cvs -z3 rdiff -u -r1.4 -r1.5 wip/poco/PLIST wip/poco/distinfo
To view a diff of this commit:
http://pkgsrc-wip.cvs.sourceforge.net/pkgsrc-wip/wip/poco/patches/patch-ad?r1=1.1.1.1&r2=1.2
http://pkgsrc-wip.cvs.sourceforge.net/pkgsrc-wip/wip/poco-data-mysql/PLIST?r1=1.2&r2=1.3
http://pkgsrc-wip.cvs.sourceforge.net/pkgsrc-wip/wip/poco-data-sqlite/PLIST?r1=1.2&r2=1.3
http://pkgsrc-wip.cvs.sourceforge.net/pkgsrc-wip/wip/poco-data/PLIST?r1=1.2&r2=1.3
http://pkgsrc-wip.cvs.sourceforge.net/pkgsrc-wip/wip/poco/Makefile.common?r1=1.2&r2=1.3
http://pkgsrc-wip.cvs.sourceforge.net/pkgsrc-wip/wip/poco/patches/patch-ag?r1=1.2&r2=1.3
http://pkgsrc-wip.cvs.sourceforge.net/pkgsrc-wip/wip/poco/PLIST?r1=1.4&r2=1.5
http://pkgsrc-wip.cvs.sourceforge.net/pkgsrc-wip/wip/poco/distinfo?r1=1.4&r2=1.5
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
------------------------------------------------------------------------------
Forrester recently released a report on the Return on Investment (ROI) of
Google Apps. They found a 300% ROI, 38%-56% cost savings, and break-even
within 7 months. Over 3 million businesses have gone Google with Google Apps:
an online email calendar, and document program that's accessible from your
browser. Read the Forrester report: http://p.sf.net/sfu/googleapps-sfnew
_______________________________________________
pkgsrc-wip-cvs mailing list
pkgsrc-wip-cvs%lists.sourceforge.net@localhost
https://lists.sourceforge.net/lists/listinfo/pkgsrc-wip-cvs
Home |
Main Index |
Thread Index |
Old Index