KSSL session reuse bugs
Stefan Rompf
srompf at isg.de
Thu Nov 13 17:39:20 GMT 2003
Hi,
first my apologies that I took two and a half weeks to produce these patches,
I've been out of time lately.
I've done the following changes, patches are attached.
1. client side SSL session cache for kssl, consisting of a class
KSSLCSessionCache with static methods only. It caches sessions addressed by
URL per application. The header file should not be installed to make this
class kdelibs private.
2. support in SimpleJob to set ssl_session_id, and in TransferJob, ListJob and
StatJob to receive it. We've discussed the complicated implementation because
of binary compatiblity.
3. last but not least: If SimpleJob handles SSL sessions, the code in
KHTMLPart can be removed.
Advantages of this approach over the implementation in KHTMLPart:
-All KDE applications use SSL sessions transparently, current implementation
worked for HTML pages only, but did not include images that were part of the
page.
-It stores more than one session, very useful if you have tabs/frames to
different SSL servers
I must admit that there are some rough edges left:
-Once the cache is filled for the first time, it will be queried for non-SSL-
URLs, too, because SimpleJob::start() does not know how the connection will
be created. I've done some tests with negative caching, but they seem to
pollute the cache too much. IMHO it's ok like that.
-may there should be a timeout
-the HTTP io-slave handles redirections very transparent, code is needed to
discard a session when following the redirection. This is on my todo list,
and current implementation suffers from it, too
Anyway, the at least TransferJob is stable in everyday's use, so I post my
patches to review for 3.2.
Stefan
--
"doesn't work" is not a magic word to explain everything.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: khtml.diff
Type: text/x-diff
Size: 5538 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20031113/b5b5a6f4/attachment.diff>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: kio.diff
Type: text/x-diff
Size: 3993 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20031113/b5b5a6f4/attachment-0001.diff>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ksslcsessioncache.cc
Type: text/x-c++src
Size: 3241 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20031113/b5b5a6f4/attachment.cc>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ksslcsessioncache.h
Type: text/x-chdr
Size: 1501 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20031113/b5b5a6f4/attachment.h>
More information about the kde-core-devel
mailing list