KSSL session reuse bugs
George Staikos
staikos at kde.org
Tue Oct 21 08:57:24 BST 2003
On Monday 20 October 2003 17:16, Stefan Rompf wrote:
> I've tracked down a number of bugs with SSL session reuse in KDE. I
> don't present a complete fixes right now as I see need for additional
> discussion.
Great!! Thanks for reviewing this..
> a) Session reusage doesn't take client certificates into account
>
> This one is quite hard to reproduce as konqueror is very conservative in
> reusing sessions. It needs a html document that consist of two frames.
> One frame must contain a link to reload the other frame.
>
> While reviewing TCPSlaveBase::doSSLHandShake() I found that openssl
> requires setting up the client certificate even if the session can be
> reused. So the code is a little "over-optimized" ;-) The following
> change helps:
I'm not surprised. :-) Client certificates still don't work right in
general anyways. I just don't have the time or motivation to fix it yet.
> -KSSLCertificateHome is optimized to cache certificates so that
> certificatePrompt() runs faster. May be quite intrusive as KDE3.2 alpha
> is out, but I'd prefer this
That's the only solution IMHO. We have to support this in KSSLD.
> b) When session reusage fails and a new session is created by class
> KSSL, it won't be saved.
Ouch, can you file a bug report against this one please? I can try to fix
it over the next week or two. Alternatively if you want to work on and
commit fixes to these things, feel free to.
> c) Session reusage in konqueror is too conservative
>
> According to SSL literature (*) one SSL session can be used by multiple
> connections in parallel and therefore be adressed by "server:port".
> Different to that, konqueror uses new sessions in most cases, but on the
> good side this makes a) so hard to trigger ;-)
>
> I think we should associate SSL sessions application-wide by
> "server:port". From the technical side, KDE-wide should be possible,
> too, but I wouldn't recommend that for security reasons.
Does the book explicitly say if you have a session for server:port, you can
use it for all other concurrent or subsequent connections to server:port?
> d) Last but not least...
>
> ...there is a small dangling pointer bug at the end of
> certificatePrompt(). Fixing that should not raise too much discussion.
Argh stupid me. ;) Fixed...
There is one other bug. I notice crashes if the user switches from SSLv2
to or from SSLv3 in the middle of a session. Not too critical IMHO but worth
fixing one day.
--
George Staikos
KDE Developer http://www.kde.org/
Staikos Computing Services Inc. http://www.staikos.net/
More information about the kde-core-devel
mailing list