A merry christmas to everyone from the POCO team at Applied Informatics!
Since all of you have been so nice this year, we have a special present for you: the NetSSL library providing SSL/TLS support for Net (based on OpenSSL), which up to now was only available as part of a commercial service level agreement, is now free and under the Boost license.
You can get it from the Subversion trunk, or download it as part of release 1.2.7-ssl.
You’ll need a recent release of OpenSSL to compile NetSSL. For Windows users, we recommend the installer from Shining Light Productions. Linux and Mac OS X users can use the preinstalled OpenSSL version. Also, please see the build instructions in NetSSL_OpenSSL/doc/howtobuild.txt.
The user guide can be found here.
SSL/TLS support was one of the most requested features in POCO, so we hope you’ll like it!
So, finally, I have delivered. Something. Don’t get me wrong, the thing runs, but there’s more to do before a release. There’s a TODO list here. Briefly, here are the issues:
- I am not sure what exactly to do with Attributes and they are all over the original Java API, so I have improvised (including a Servlet::Object class :-> ). I would really like to hear some solid proposals/ideas on what to do with this portion.
- ResourceBundle implementation
- getResourceAsStream() is not implemented yet
- PocoServer HttpRequest/Response work but are not completed
I would appreciate feedback on the work, so here is the forum topic for it.
P.S. Paschal, I hope this makes you happy
Inspired by Christmas spirit and Paschal’s threat to go Java, I have actually forced myself to put in some work into servlet container today and align it with the Poco (I still had ancient namespace macros in code). I hope to have SF project and code out some time next week. I’m still undecided on the name – here’s the forum posting, so feel free to throw in your $.02.
POCO 1.2.7 is available.*
This is mostly a bugfix release fixing all bugs and inconveniences reported on Sourceforge and elsewhere.
- Poco::File: fixed root directory handling
- fixed UUIDGenerator documentation
- clarified Application::setUnixOptions() documentation
- fixed SF# 1597022: Signed/unsigned warning in StringTokenizer::operator
- fixed SF# 1598601: Message::op= leaks
- fixed SF# 1605960: PatternFormatter crashes on custom property
- fixed SF# 1605950: Memory leak in Logger sample code
- fixed SF# 1591635: Copy Paste Error in sample code
- fixed SF# 1591512: SMTPClientSession response stream
- fixed SF #1592776: LayeredConfiguration: getRaw should enumerate in reverse order
- SF Patch # 1599848 ] VS 2005 Util build fails
- Logger::dump() now uses std::size_t instead of int for buffer size
- LayeredConfiguration now supports a priority value for each configuration. Also, it’s possible to specify for each configuration added whether it should be writeable.
- ServerApplication: cd to root directory only if running as a daemon
- added Message::swap()
- improvements to build system:
global Makefile has correct dependencies for samples
on Windows, samples build after libraries are ready
configure supports –no-wstring and –no-fpenvironment flags
build system supports POCO_FLAGS environment variable for compiler flags
* in case you’re wondering what happened to 1.2.6: this was an internal release
‘Guilty as charged’ is the verdict. I owe an apology to the audience for selling vapourware. I got stuck with Data, RecordSet, ODBC connector & co, so the servlet engine got pushed on the back burner for the ump-th time. But I’m getting ready to give it a shot and push it out the door (just don’t hold me accountable for saying this
Anyway, back to PocoData, what I was trying to achieve is to be able to do something like this:
Statement stmt = (session << "SELECT * FROM aTable", now);//note no 'into()' provided
for(RecordSet::Iterator it = stmt.recordSet().begin(); it != stmt.recordSet().end(); ++it)
int i1 = AnyCast<int>((*it)["fld1"]));
float f2 = AnyCast<float>((*it)["fld2"]));
Now, all this is nice and well, but I still must know the type I'm extracting, so not much is achieved. If I could do this:
int i = (*it)["fld"].toInt();
int i = toInt((*it)["fld"]);
That would be something, right? Provided I'm not concerned with performance, of course.
On how to do the above, the jury is still out. And I'm blogging about it hoping to hear some comments and ideas (code is in SVN).
Wes Peters has created and will be maintaining the FreeBSD Port of POCO. Thank you, Wes!
Now that we have a FreeBSD Port, but still no Linux packages: any volunteers who want to maintain RPMs or dpkgs for POCO? Your help is appreciated!
just a quick note to keep you informed what’s going on in the Poco World and what will be included in the next Poco beta:
- A feature that quite some people asked for are static builds. And thanks to Paschal we have that now (for VS7.1, I’m currently doing VS8.0)
- I spent a lot of time recently with cross compiling. Especially cross compiling in CYGWIN for embedded Linux. I’m glad to say: it works. See here for instructions.
This will probably not be part of the next release but it gives me a headache: Cross compiling for Windows CE
Most things compile fine in Visual Studio 2005 with Microsofts cross compiler but as usual, if Microsoft says, it works, well, it doesn’t. For example, locales support in their STL doesn’t exist and the current STLPort beta refuses to compile. So I’m calling for help: does anybody have a binary STLport version that was cross compiled with VS2005 for ARM?