[pgp] Add encrypted file uploads via HTTPUpload
This commit is contained in:
@@ -246,6 +246,34 @@ class OldPGPPlugin(GajimPlugin):
|
|||||||
print_msg_to_log(obj.msg_iq)
|
print_msg_to_log(obj.msg_iq)
|
||||||
callback(obj)
|
callback(obj)
|
||||||
|
|
||||||
|
def encrypt_file(self, file, account, callback):
|
||||||
|
thread = threading.Thread(target=self._encrypt_file_thread,
|
||||||
|
args=(file, account, callback))
|
||||||
|
thread.daemon = True
|
||||||
|
thread.start()
|
||||||
|
|
||||||
|
def _encrypt_file_thread(self, file, account, callback):
|
||||||
|
my_key_id = gajim.config.get_per('accounts', account, 'keyid')
|
||||||
|
key_list = [file.control.contact.keyID, my_key_id]
|
||||||
|
|
||||||
|
encrypted = self.get_gpg(account).encrypt_file(file.get_data(), key_list)
|
||||||
|
if not encrypted:
|
||||||
|
GLib.idle_add(self._on_file_encryption_error, file, encrypted.status)
|
||||||
|
return
|
||||||
|
|
||||||
|
file.encrypted = True
|
||||||
|
file.size = len(encrypted.data)
|
||||||
|
file.path += '.pgp'
|
||||||
|
file.data = encrypted.data
|
||||||
|
if file.event.isSet():
|
||||||
|
return
|
||||||
|
GLib.idle_add(callback, file)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def _on_file_encryption_error(file, error):
|
||||||
|
dialogs.ErrorDialog(
|
||||||
|
_('Error'), error, transient_for=file.control.parent_win.window)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def cleanup_stanza(obj):
|
def cleanup_stanza(obj):
|
||||||
''' We make sure only allowed tags are in the stanza '''
|
''' We make sure only allowed tags are in the stanza '''
|
||||||
|
|||||||
Reference in New Issue
Block a user