comparison sat/plugins/plugin_xep_0234.py @ 2927:69e4716d6268

plugins (jingle) file transfer: use initial "from" attribute as local jid instead of client.jid: while client.jid is fine in a client context, for components it's not the right jid to use: it is the jid of the component itself while the file transfer/jingle session entity may be established with this jid + a local part (e.g. if client is files.example.net, session may be established with louise@files.example.net, in which case "from" is louise@files.example.net, while client.jid will be files.example.net). As a consequence, using client.jid was causing trouble with components. This patch fixes it for jingle and plugins linked to file transfer by keeping a "local_jid" variable in the session, where the jid from the original "from" attribute is used.
author Goffi <goffi@goffi.org>
date Sun, 28 Apr 2019 08:55:13 +0200
parents 003b8b4b56a7
children ab2696e34d29
comparison
equal deleted inserted replaced
2926:4cd7545c4ebb 2927:69e4716d6268
104 """ 104 """
105 return u"{}_{}".format(session["id"], content_name) 105 return u"{}_{}".format(session["id"], content_name)
106 106
107 # generic methods 107 # generic methods
108 108
109 def buildFileElement( 109 def buildFileElement(self, name, file_hash=None, hash_algo=None, size=None,
110 self, 110 mime_type=None, desc=None, modified=None, transfer_range=None, path=None,
111 name, 111 namespace=None, file_elt=None, **kwargs):
112 file_hash=None,
113 hash_algo=None,
114 size=None,
115 mime_type=None,
116 desc=None,
117 modified=None,
118 transfer_range=None,
119 path=None,
120 namespace=None,
121 file_elt=None,
122 **kwargs
123 ):
124 """Generate a <file> element with available metadata 112 """Generate a <file> element with available metadata
125 113
126 @param file_hash(unicode, None): hash of the file 114 @param file_hash(unicode, None): hash of the file
127 empty string to set <hash-used/> element 115 empty string to set <hash-used/> element
128 @param hash_algo(unicode, None): hash algorithm used 116 @param hash_algo(unicode, None): hash algorithm used