src/common/connection.py | 50 +++++++++++++++++++++++++++--------------------- 1 file changed, 28 insertions(+), 22 deletions(-) diff --git a/src/common/connection.py b/src/common/connection.py index 8240652..6d3037a 100644 --- a/src/common/connection.py +++ b/src/common/connection.py @@ -1309,25 +1309,28 @@ class Connection(CommonConnection, ConnectionHandlers): hostname = gajim.config.get_per('accounts', self.name, 'hostname') self.connection = con try: - errnum = con.Connection.ssl_errnum + errnum = [con.Connection.ssl_errnum] except AttributeError: - errnum = -1 # we don't have an errnum - if errnum > 0 and str(errnum) not in gajim.config.get_per('accounts', - self.name, 'ignore_ssl_errors').split(): - text = _('The authenticity of the %s certificate could be invalid.' - ) % hostname - if errnum in ssl_error: - text += _('\nSSL Error: %s') % ssl_error[errnum] - else: - text += _('\nUnknown SSL error: %d') % errnum - gajim.nec.push_incoming_event(SSLErrorEvent(None, conn=self, - error_text=text, error_num=errnum, - cert=con.Connection.ssl_cert_pem, - fingerprint=con.Connection.ssl_fingerprint_sha1, - certificate=con.Connection.ssl_certificate)) - return True + errnum = [] # we don't have an errnum + i = 0 + for er in errnum: + if er > 0 and str(er) not in gajim.config.get_per('accounts', + self.name, 'ignore_ssl_errors').split(): + text = _('The authenticity of the %s certificate could be ' + 'invalid.') % hostname + if er in ssl_error: + text += _('\nSSL Error: %s') % ssl_error[er] + else: + text += _('\nUnknown SSL error: %d') % er + gajim.nec.push_incoming_event(SSLErrorEvent(None, conn=self, + error_text=text, error_num=er, + cert=con.Connection.ssl_cert_pem[i], + fingerprint=con.Connection.ssl_fingerprint_sha1[i], + certificate=con.Connection.ssl_certificate[i])) + return True + i += 1 if hasattr(con.Connection, 'ssl_fingerprint_sha1'): saved_fingerprint = gajim.config.get_per('accounts', self.name, 'ssl_fingerprint_sha1') if saved_fingerprint: # Check sha1 fingerprint