- From: Gertjan van Wingerde <gertjan.van.wingerde@cmg.nl>
- Date: Mon, 31 Jul 2000 12:09:30 +0200
- To: jose.kahan@w3.org, www-lib@w3.org
- Message-ID: <11A760648FE3D211BE5200A0C9F2A194703BE0@NL-ENS-MAIL01>
Hi Jose & all other libwww-hackers, I have a set of patches to libwww and libwww-ssl attached for inclusion in the upcoming 5.3.0 release. These patches fix the following problems in libwww: 1. Correctly find the location of OpenSSL when it's default installed in /usr/local/... (the change to configure.in). 2. Fix a problem in the default event loop. It didn't detect the end of the event loop if a timer handler ended the loop. Fix is to check after the timer handlers have run whether the event loop has to be stopped (the change to HTEvtLst.c). 3. Fix a crash of libwww in the case where a user registered the same stream for the output stream and the debug stream. Fix is to specifically check for this case (the change to HTReqMan.c). 4. Fix a problem in the HTTP POST request handling when a persistent connection has been closed. When this happened libwww correctly detected the closed connection, but when the request is retried the body of the message is not sent anymore, resulting in a deadlock between libwww and the HTTP server. The solution was to set the lock flag in the http_info structure when the HTTP connection is cleaned. No doing this resulted in not setting the one-shot timer to send the body of the request (the change to HTTP.c). 5. Port the libwww-ssl code to OpenSSL 0.9.5 and beyond. In order to do this, the random generator of OpenSSL had to be initialised on platforms that do not support /dev/random, like Compaq True64 Unix. This is done in the default way, and means that the user of the libwww-ssl library needs to have a .rnd file in his/her home-directory (the first change to HTSSL.c). 6. Fix a potential crash in libwww-ssl in the unusual case that a SSL context has been destroyed already, but the _HTSSL context has not been destroyed yet (the other changes to HTSSL.c). 7. Allow libwww-ssl to do more than 1 request over a persistent SSL connection. This was caused by a call to HTHost_setCloseNotification from within HTSSLReader_free and HTSSLWriter_free. This is a fix that has been posted to the libwww mailing list a long time ago (the changes to HTSSLReader.c and HTSSLWriter.c). 8. Fix a crash of libwww in the case a persistent connection has been closed by the remote web server, and we try to do a request to that web server. This was caused by not freeing a _HTSSL context when the library detected the end of the connection (the second change to HTSSLWriter.c). All these changes are running without any side-effects on my system (especially the fixes to libwww-ssl are running smoothly for some months now). With regards, Gertjan van Wingerde. <<libwww.diffs>>
Attachments
- application/octet-stream attachment: libwww.diffs
Received on Monday, 31 July 2000 06:16:50 UTC