diff --git a/gotr/otrmodule.py b/gotr/otrmodule.py index 0a3bb2aa6efd11445586d2a6c05e93005616ee29..dbbd9979fd10deb40aa38f7ab3fac443adc0ac16 100644 --- a/gotr/otrmodule.py +++ b/gotr/otrmodule.py @@ -145,13 +145,23 @@ class GajimOtrAccount(potr.context.Account): super(GajimOtrAccount, self).__init__(name, PROTOCOL, MMS) self.keyFilePath = os.path.join(gajim.gajimpaths.data_root, accountname) + def dropPrivkey(self): + try: + os.remove(self.keyFilePath + '.key2') + except IOError, e: + if e.errno != 2: + log.exception('IOError occurred when removing key file for %s', + self.name) + self.privkey = None + def loadPrivkey(self): try: with open(self.keyFilePath + '.key2', 'r') as keyFile: return pickle.load(keyFile) except IOError, e: - log.exception('IOError occurred when loading key file for %s', - self.name) + if e.errno != 2: + log.exception('IOError occurred when loading key file for %s', + self.name) return None def savePrivkey(self): @@ -176,8 +186,9 @@ class GajimOtrAccount(potr.context.Account): self.getContext(ctx, newCtxCb).setTrust(fpr, trust) except IOError, e: - log.exception('IOError occurred when loading fpr file for %s', - self.name) + if e.errno != 2: + log.exception('IOError occurred when loading fpr file for %s', + self.name) def saveTrusts(self): try: diff --git a/gotr/ui.py b/gotr/ui.py index dd878b862cf61c83a5f6e7b004c54f5b354e7dc3..9ee090e370729b994dd6f7ffb18304087391e775 100644 --- a/gotr/ui.py +++ b/gotr/ui.py @@ -179,7 +179,7 @@ class OtrPluginConfigDialog(GajimPluginConfigDialog): if active > -1: account = self.otr_account_store[active][0] button.set_sensitive(False) - self.plugin.us[account].privkey = None + self.plugin.us[account].dropPrivkey() self.account_combobox_changed_cb(box, *args) button.set_sensitive(True)