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


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 
- 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() 
  create broadcast ( and wildcard ( addresses.
- fixed SF# 2916154: Poco::Net::IPAddress::isLoopback() only works for
- added build configuration for iPhone Simulator
- GNU Make based build system provides new variables: POCO_HOST_BINDIR, 
- 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 
  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 
- 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 
  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 
- Environment::nodeId() no longer throws if no hardware ethernet address can be 
  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
- 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.
(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 
  If OpenSSL has been configured and built with FIPS support, then FIPS support 
  be enabled by calling Poco::Crypto::OpenSSLInitializer::enableFIPSMode(true); 
  by setting the fips property in the OpenSSL configuration to true (see 
  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 
- 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 
  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 
- 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 
  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 
  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 
  in a thread pool created by a dynamically loaded library might still be 
  when the plugin's shared library was unloaded, resulting in Bad Things 
  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 
  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::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 
  (linking with static runtime libraries). The existing configurations 
  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 
  now build libraries with suffixes md[d], while the libraries built by the 
  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::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 \
cvs -z3 rdiff -u -r1.4 -r1.5 wip/poco/PLIST wip/poco/distinfo

To view a diff of this commit:

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:
pkgsrc-wip-cvs mailing list

Home | Main Index | Thread Index | Old Index