W3C home > Mailing lists > Public > www-lib@w3.org > July to September 2000

Set of miscellaneous patches for libwww.

From: Gertjan van Wingerde <gertjan.van.wingerde@cmg.nl>
Date: Mon, 31 Jul 2000 12:09:30 +0200
Message-ID: <11A760648FE3D211BE5200A0C9F2A194703BE0@NL-ENS-MAIL01>
To: jose.kahan@w3.org, www-lib@w3.org
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>> 



Received on Monday, 31 July 2000 06:16:50 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 23 April 2007 18:18:37 GMT