Bug 265228

Summary: Only one question should be asked to accept a SSL certificate
Product: [Frameworks and Libraries] kio Reporter: Rolf Eike Beer <kde>
Component: generalAssignee: Dawit Alemayehu <adawit>
Status: RESOLVED FIXED    
Severity: normal CC: adawit
Priority: NOR    
Version: 4.9-Git   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In: 4.11

Description Rolf Eike Beer 2011-02-02 20:49:36 UTC
Version:           unspecified (using KDE 4.6.0) 
OS:                Linux

If multiple connections (say multiple HTTP requests) encounter the same unverified SSL certificate everyone asks the user to accept it. So if many connections are opened at the same time the user may get like 5 or 6 questions to accept the same SSL certificate. The choice made by the first of these questions doesn't make the other dialogs go away. Ideally only one dialog would be shown and all others will just pick up the result.

Reproducible: Always

Steps to Reproduce:
I currently can't find the URL this happened to me, it was something at openSUSE. Sorry. But I see it also if e.g. Kontact tries to synchronize 2 IMAP accounts on the same server with an unverified SSL certificate at the same time.
Comment 1 Dawit Alemayehu 2012-03-14 20:37:33 UTC
I am in the process of attempting to address this long standing issue. However, I need a test site that causes multiple messageboxes to be shown to test my fix. Do you happen to have an example site. I had one, but I forgot the URL before I could bookmark it.
Comment 2 Dawit Alemayehu 2013-07-13 13:30:10 UTC
Git commit 47fd9e7f1cbd5865328544a6c4fd2a2e76dc4caa by Dawit Alemayehu.
Committed on 11/07/2013 at 07:43.
Pushed by adawit into branch 'KDE/4.11'.

Do not show multiple dialogs when KIO sends error messsages or confirmation requests.
This fix resolves one of the oldest known issues in KIO.
Related: bug 154100
REVIEW: 111335
FIXED-IN: 4.11

M  +1    -0    kio/CMakeLists.txt
M  +16   -0    kio/kio/job.cpp
M  +14   -0    kio/kio/job_p.h
M  +90   -0    kio/kio/jobuidelegate.cpp
M  +44   -0    kio/kio/jobuidelegate.h
M  +0    -10   kio/kio/scheduler.cpp
M  +56   -118  kio/kio/slaveinterface.cpp
M  +12   -2    kio/kio/slaveinterface.h
M  +0    -3    kio/kio/slaveinterface_p.h
A  +106  -0    kio/kio/usernotificationhandler.cpp     [License: LGPL (v2)]
A  +73   -0    kio/kio/usernotificationhandler_p.h     [License: LGPL (v2)]

http://commits.kde.org/kdelibs/47fd9e7f1cbd5865328544a6c4fd2a2e76dc4caa