Merge lp:~dobey/ubuntu-sso-client/ssl-force-load into lp:ubuntu-sso-client

Proposed by dobey
Status: Merged
Approved by: dobey
Approved revision: 1035
Merged at revision: 1035
Proposed branch: lp:~dobey/ubuntu-sso-client/ssl-force-load
Merge into: lp:ubuntu-sso-client
Diff against target: 47 lines (+14/-1)
2 files modified
ubuntu_sso/utils/webclient/qtnetwork.py (+3/-0)
ubuntu_sso/utils/webclient/tests/test_qtnetwork.py (+11/-1)
To merge this branch: bzr merge lp:~dobey/ubuntu-sso-client/ssl-force-load
Reviewer Review Type Date Requested Status
Alejandro J. Cura (community) Approve
Mike McCracken (community) Approve
Review via email: mp+192407@code.launchpad.net

Commit message

Force loading of the system certificates in Qt, to avoid breaking certificate
checks on non-Ubuntu URLs.

To post a comment you must log in.
Revision history for this message
Mike McCracken (mikemc) wrote :

Works for me on ubuntu saucy and still works for me on OS X.

review: Approve
Revision history for this message
Alejandro J. Cura (alecu) wrote :

Tested irl on my saucy box, and the captcha issue is fixed.

review: Approve
Revision history for this message
Ubuntu One Auto Pilot (otto-pilot) wrote :
Download full text (61.1 KiB)

The attempt to merge lp:~dobey/ubuntu-sso-client/ssl-force-load into lp:ubuntu-sso-client failed. Below is the output from the failed tests.

*** Running QT test suite for ubuntu_sso ***
running build
Compiled data/qt/setup_account.ui into ubuntu_sso/qt/ui/setup_account_ui.py
Compiled data/qt/forgotten_password.ui into ubuntu_sso/qt/ui/forgotten_password_ui.py
Compiled data/qt/success_message.ui into ubuntu_sso/qt/ui/success_message_ui.py
Compiled data/qt/error_message.ui into ubuntu_sso/qt/ui/error_message_ui.py
Compiled data/qt/current_user_sign_in.ui into ubuntu_sso/qt/ui/current_user_sign_in_ui.py
Compiled data/qt/proxy_credentials_dialog.ui into ubuntu_sso/qt/ui/proxy_credentials_dialog_ui.py
Compiled data/qt/network_detection.ui into ubuntu_sso/qt/ui/network_detection_ui.py
Compiled data/qt/ssl_dialog.ui into ubuntu_sso/qt/ui/ssl_dialog_ui.py
compiled data/qt/resources.qrc into ubuntu_sso/qt/ui/resources_rc.py
Compiled data/qt/loadingoverlay.ui into ubuntu_sso/qt/ui/loadingoverlay_ui.py
Compiled data/qt/email_verification.ui into ubuntu_sso/qt/ui/email_verification_ui.py
Compiled data/qt/reset_password.ui into ubuntu_sso/qt/ui/reset_password_ui.py
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/ubuntu_sso
copying ubuntu_sso/constants.py -> build/lib.linux-x86_64-2.7/ubuntu_sso
copying ubuntu_sso/logger.py -> build/lib.linux-x86_64-2.7/ubuntu_sso
copying ubuntu_sso/__init__.py -> build/lib.linux-x86_64-2.7/ubuntu_sso
copying ubuntu_sso/account.py -> build/lib.linux-x86_64-2.7/ubuntu_sso
copying ubuntu_sso/credentials.py -> build/lib.linux-x86_64-2.7/ubuntu_sso
creating build/lib.linux-x86_64-2.7/ubuntu_sso/tests
copying ubuntu_sso/tests/linux.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/tests
copying ubuntu_sso/tests/test_credentials.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/tests
copying ubuntu_sso/tests/test_account.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/tests
copying ubuntu_sso/tests/__init__.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/tests
creating build/lib.linux-x86_64-2.7/ubuntu_sso/keyring
copying ubuntu_sso/keyring/linux.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/keyring
copying ubuntu_sso/keyring/pykeyring.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/keyring
copying ubuntu_sso/keyring/__init__.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/keyring
creating build/lib.linux-x86_64-2.7/ubuntu_sso/keyring/tests
copying ubuntu_sso/keyring/tests/test_linux.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/keyring/tests
copying ubuntu_sso/keyring/tests/test_pykeyring.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/keyring/tests
copying ubuntu_sso/keyring/tests/test_common.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/keyring/tests
copying ubuntu_sso/keyring/tests/__init__.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/keyring/tests
creating build/lib.linux-x86_64-2.7/ubuntu_sso/main
copying ubuntu_sso/main/linux.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/main
copying ubuntu_sso/main/windows.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/main
copying ubuntu_sso/main/qt.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/main
copying ubuntu_sso/main/glib.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/main...

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'ubuntu_sso/utils/webclient/qtnetwork.py'
--- ubuntu_sso/utils/webclient/qtnetwork.py 2013-05-08 18:38:36 +0000
+++ ubuntu_sso/utils/webclient/qtnetwork.py 2013-10-23 21:42:57 +0000
@@ -50,6 +50,7 @@
50 QNetworkRequest,50 QNetworkRequest,
51 QSslCertificate,51 QSslCertificate,
52 QSslConfiguration,52 QSslConfiguration,
53 QSslSocket,
53)54)
54from twisted.internet import defer55from twisted.internet import defer
5556
@@ -106,6 +107,8 @@
106 self.proxy_retry = False107 self.proxy_retry = False
107 self.setup_proxy()108 self.setup_proxy()
108109
110 # Force Qt to load the system certificates
111 QSslSocket.setDefaultCaCertificates(QSslSocket.systemCaCertificates())
109 # Apply our local certificates as the SSL configuration to be used112 # Apply our local certificates as the SSL configuration to be used
110 # for all QNetworkRequest calls.113 # for all QNetworkRequest calls.
111 self.ssl_config = QSslConfiguration.defaultConfiguration()114 self.ssl_config = QSslConfiguration.defaultConfiguration()
112115
=== modified file 'ubuntu_sso/utils/webclient/tests/test_qtnetwork.py'
--- ubuntu_sso/utils/webclient/tests/test_qtnetwork.py 2013-05-08 18:38:36 +0000
+++ ubuntu_sso/utils/webclient/tests/test_qtnetwork.py 2013-10-23 21:42:57 +0000
@@ -28,7 +28,10 @@
28# files in the program, then also delete it here.28# files in the program, then also delete it here.
29"""Specific tests for the qt implementation."""29"""Specific tests for the qt implementation."""
3030
31from PyQt4.QtNetwork import QSslError31from PyQt4.QtNetwork import (
32 QSslConfiguration,
33 QSslError,
34)
32from twisted.internet import defer35from twisted.internet import defer
33from ubuntuone.devtools.testcases import TestCase36from ubuntuone.devtools.testcases import TestCase
3437
@@ -139,3 +142,10 @@
139 errors = [QSslError()]142 errors = [QSslError()]
140 client._handle_ssl_errors(reply, errors)143 client._handle_ssl_errors(reply, errors)
141 self.assertTrue(type(result[0]), unicode)144 self.assertTrue(type(result[0]), unicode)
145
146 def test_nonempty_cert_list(self):
147 """Test the Qt CA list has more than our included certs."""
148 qtnetwork.WebClient()
149 ssl_config = QSslConfiguration.defaultConfiguration()
150 ca_certs = ssl_config.caCertificates()
151 self.assertTrue(len(ca_certs) > 3)

Subscribers

People subscribed via source and target branches