Don't set up on_ssl_errors slot without SSL.

This commit is contained in:
Florian Bruhin 2015-01-26 13:23:41 +01:00
parent 7169d02609
commit 4c87287f4e

View File

@ -152,33 +152,34 @@ class NetworkManager(QNetworkAccessManager):
request.deleteLater() request.deleteLater()
self.shutting_down.emit() self.shutting_down.emit()
@pyqtSlot('QNetworkReply*', 'QList<QSslError>') if SSL_AVAILABLE:
def on_ssl_errors(self, reply, errors): @pyqtSlot('QNetworkReply*', 'QList<QSslError>')
"""Decide if SSL errors should be ignored or not. def on_ssl_errors(self, reply, errors):
"""Decide if SSL errors should be ignored or not.
This slot is called on SSL/TLS errors by the self.sslErrors signal. This slot is called on SSL/TLS errors by the self.sslErrors signal.
Args: Args:
reply: The QNetworkReply that is encountering the errors. reply: The QNetworkReply that is encountering the errors.
errors: A list of errors. errors: A list of errors.
""" """
ssl_strict = config.get('network', 'ssl-strict') ssl_strict = config.get('network', 'ssl-strict')
if ssl_strict == 'ask': if ssl_strict == 'ask':
err_string = '\n'.join('- ' + err.errorString() for err in errors) err_string = '\n'.join('- ' + err.errorString() for err in
answer = self._ask('SSL errors - continue?\n{}'.format(err_string), errors)
mode=usertypes.PromptMode.yesno, answer = self._ask('SSL errors - continue?\n{}'.format(
owner=reply) err_string), mode=usertypes.PromptMode.yesno, owner=reply)
if answer: if answer:
reply.ignoreSslErrors()
elif ssl_strict:
pass
else:
for err in errors:
# FIXME we might want to use warn here (non-fatal error)
# https://github.com/The-Compiler/qutebrowser/issues/114
message.error(self._win_id,
'SSL error: {}'.format(err.errorString()))
reply.ignoreSslErrors() reply.ignoreSslErrors()
elif ssl_strict:
pass
else:
for err in errors:
# FIXME we might want to use warn here (non-fatal error)
# https://github.com/The-Compiler/qutebrowser/issues/114
message.error(self._win_id,
'SSL error: {}'.format(err.errorString()))
reply.ignoreSslErrors()
@pyqtSlot('QNetworkReply', 'QAuthenticator') @pyqtSlot('QNetworkReply', 'QAuthenticator')
def on_authentication_required(self, reply, authenticator): def on_authentication_required(self, reply, authenticator):