Overview
Features
Download
Documentation
Community
Add-Ons & Services
The POCO C++ Libraries Blog

Archive: August, 2007

POCO 1.3.1 is Available!

Filed under: News by guenter at 20:35

Finally (I know some of you have been waiting patiently) I am happy to announce the general availability of POCO 1.3.1. This release fixes the known bugs from 1.3.0. There are no new features in this release.

Changes:
Foundation, XML, Net, Util:
- DynamicAny fixes for char conversions
- fixed SF# 1733362: Strange timeout handling in SocketImpl::poll and Socket::select
- fixed SF patch# 1728912: crash in POCO on Solaris
- fixed SF# 1732138: Bug in WinRegistryConfiguration::getString
- fixed SF# 1730790: Reference counting breaks NetworkInterface::list()
- fixed SF# 1720733: Poco::SignalHandler bug
- fixed SF# 1718724: Poco::StreamCopier::copyStream loops forever
- fixed SF# 1718437: HashMap bug
- changed LinearHashTable iterator implementation. less templates -> good thing.
- fixed SF# 1733964: DynamicAny compile error
- UUIDGenerator: fixed infinite loop with non ethernet interfaces
- updated expat to 2.0.1
- fixed SF# 1730566: HTTP server throws exception
- Glob supports symbolic links (additional flag to control behavior)
- fixed a problem with non blocking connect in NetSSL_OpenSSL
(see here)
- fixed a problem with SSL renegotiation in NetSSL_OpenSSL (thanks to Sanjay Chouksey for the fix)
- fixed SF# 1714753: NetSSL_OpenSSL: HTTPS connections fail with wildcard certs
- HTTPClientSession: set Host header only if it’s not already set (proposed by EHL)
- NetworkInterface (Windows): Loopback interface now has correct netmask;
interfaces that do not have an IP address assigned are no longer reported.
- Fixes for VC++ W4 warnings from EHL
- SharedMemory: first constructor has an additional “server” parameter
Setting to true does not unlink the shared memory region when the SharedMemory object is destroyed. (Alessandro Oliveira Ungaro)
- fixed SF# 1768231: MemoryPool constructor

Data:
- fixed SF# 1739989: Data::RecordSet::operator = () (in 1.3 branch)
- fixed SF# 1747525: SQLite, Transactions and Session Pooling (in 1.3 branch)
- upgraded to SQLite 3.4.1

The SVN repository, as well as the reference documentation on this site will be updated tomorrow.

PocoSSH – open issues

Filed under: Uncategorized by peter at 16:29

There are two issues with the PocoSSH library:

  • The SSHSchannelStream doesn’t allow to query if data is waiting to be read. The SSHChannelStreamBuf class has a private method bool data() but it isn’t working. I’m not sure if it’s an error with sshlib or with my implementation. The lack of this method makes using the SSHSchannelInputStream class rather cumbersome, so could anyone give this a try, and look over my code?
  • sftp is not supported. Should ideally extend from Poco::Net::FTPClientSession. Volunteers?
  • Thx
    Peter

    PocoZip+PocoSSH – now available on Sourceforge

    Filed under: News by peter at 16:21

    With the release of Poco 1.3.1, we decided to add some little extra: the PocoZip library is now available public, as is PocoSSH.
    PocoZip allows you to easily compress/decompress Zip files, decompression works even on the fly, e.g. while data is downloaded from the network.
    See the testsuite and the attached code examples to get an idea on how to use the library.
    I hope you like the library and if someone decides to add support for more compression/decompression options (e.g. deflate64), we’ll gladly accept that offer ;-)

    PocoSSH is pretty much done, except the ftps support.

    Note that the library is not part of the standard download but has to be retrieved via SVN from the sandbox directory.

    Some code examples:

    std::ofstream out("pocobin.zip", std::ios::binary);
    Poco::Path aDir("p:\\poco\\Foundation\\include");
    aDir.makeDirectory();
    Compress c(out, true);
    c.addRecursive(theFile, ZipCommon::CL_MAXIMUM, false, aDir);
    // c.close() returns a ZipArchive that contains info about the Zip file
    ZipArchive archive = c.close();

    And for decompression:

    std::ifstream inp("test.zip", std::ios::binary);
    Decompress dec(inp, Poco::Path()); // decode to current dir
    dec.decompressAllFiles();

    1.3.1 is Coming!

    Filed under: News by guenter at 10:58

    1.3.1 is almost done – I just need to do a few more tests. Expect it to be ready for download on Monday or Tuesday.