ask GPG passphrases one by one for each account. fix #3644
This commit is contained in:
parent
f95df09441
commit
ec91275255
11
src/gajim.py
11
src/gajim.py
|
@ -1410,14 +1410,19 @@ class Interface:
|
||||||
gajim.connections[account].gpg_passphrase(self.gpg_passphrase[keyid])
|
gajim.connections[account].gpg_passphrase(self.gpg_passphrase[keyid])
|
||||||
callback()
|
callback()
|
||||||
return
|
return
|
||||||
|
if self.gpg_dialog:
|
||||||
|
# A GPG dialog is already open, retry in 0.5 second
|
||||||
|
gobject.timeout_add(500, self.handle_event_gpg_password_required,
|
||||||
|
account, array)
|
||||||
|
return
|
||||||
password_ok = False
|
password_ok = False
|
||||||
count = 0
|
count = 0
|
||||||
title = _('Passphrase Required')
|
title = _('Passphrase Required')
|
||||||
second = _('Enter GPG key passphrase for account %s.') % account
|
second = _('Enter GPG key passphrase for account %s.') % account
|
||||||
while not password_ok and count < 3:
|
while not password_ok and count < 3:
|
||||||
count += 1
|
count += 1
|
||||||
w = dialogs.PassphraseDialog(title, second, '')
|
self.gpg_dialog = dialogs.PassphraseDialog(title, second, '')
|
||||||
passphrase, save = w.run()
|
passphrase, save = self.gpg_dialog.run()
|
||||||
if passphrase == -1:
|
if passphrase == -1:
|
||||||
# User pressed cancel
|
# User pressed cancel
|
||||||
passphrase = None
|
passphrase = None
|
||||||
|
@ -1427,6 +1432,7 @@ class Interface:
|
||||||
test_gpg_passphrase(passphrase)
|
test_gpg_passphrase(passphrase)
|
||||||
title = _('Wrong Passphrase')
|
title = _('Wrong Passphrase')
|
||||||
second = _('Please retype your GPG passphrase or press Cancel.')
|
second = _('Please retype your GPG passphrase or press Cancel.')
|
||||||
|
self.gpg_dialog = None
|
||||||
if passphrase != None:
|
if passphrase != None:
|
||||||
self.gpg_passphrase[keyid] = passphrase
|
self.gpg_passphrase[keyid] = passphrase
|
||||||
gobject.timeout_add(30000, self.forget_gpg_passphrase, keyid)
|
gobject.timeout_add(30000, self.forget_gpg_passphrase, keyid)
|
||||||
|
@ -2697,6 +2703,7 @@ class Interface:
|
||||||
self.status_sent_to_users = {}
|
self.status_sent_to_users = {}
|
||||||
self.status_sent_to_groups = {}
|
self.status_sent_to_groups = {}
|
||||||
self.gpg_passphrase = {}
|
self.gpg_passphrase = {}
|
||||||
|
self.gpg_dialog = None
|
||||||
self.default_colors = {
|
self.default_colors = {
|
||||||
'inmsgcolor': gajim.config.get('inmsgcolor'),
|
'inmsgcolor': gajim.config.get('inmsgcolor'),
|
||||||
'outmsgcolor': gajim.config.get('outmsgcolor'),
|
'outmsgcolor': gajim.config.get('outmsgcolor'),
|
||||||
|
|
Loading…
Reference in New Issue