Commit graph libervia-backend/sat/plugins
Author SHA1 Message Date
Goffi
190f473cab plugin app manager: fixed public_url value check 2020-11-14 21:20:48 +01:00
Goffi
63e61fc036 plugin XEP-0353: Jingle Message Initiation implementation:
This plugin uses the new `XEP-0166_initiate` trigger to initiate a Jingle session with
messages if the peer jid has no resource specified.
On reception, if the sender is not in our roster, a confirmation is requested to user to
avoid leaking presence and IP. If user refuses the session for somebody not in roster,
nothing is sent at all (the request is just ignored).
2020-11-12 14:53:15 +01:00
Goffi
aab9a8bf91 plugin XEP-0166: new trigger point + coroutines + helper methods:
- a new `XEP-0166_initiate` async trigger point is available
- `initate` is now a coroutine
- `jingleSessionInit` in applications and transports handlers are now called using
  `utils.adDeferred`
- new `getApplication` helper method, to retrieve application from its namespace
- new `getContentData` helper method to retrieve application and its argument from content
2020-11-12 14:53:15 +01:00
Goffi
46c763cbf7 plugin file, XEP-0234: registering is now done by class + use of async:
- instead of registering a callback, a file sending manager now register itself and must
  implement some well known method (`fileSend`, `canHandleFileSend`) and optionally a
  `name` attribute
- `utils.asDeferred` is now used for callbacks, so all type of methods including
  coroutines can be used.
- feature checking is now handled by `canHandleFileSend` method instead of simple
  namespace check, this allows to use a method when namespace can't be checked (this is
  the case when a file is sent to a bare jid with jingle)
2020-11-12 14:53:15 +01:00
Goffi
afacc8d4c1 plugin XEP-0329: minor reformatting 2020-11-12 14:53:15 +01:00
Goffi
1fc6c1f66b plugin XEP-0065: some cleaning:
- reordered imports and removed useless try/except
- log warning before sending error
- avoid crash if connection is lost before session has has been received in server mode.
- fixed missing string formatting keywords
- renamed incorrect attribute and show explicitly that it's not used
2020-11-12 14:53:15 +01:00
Goffi
876ec80598 plugin XEP-0077: disconnect client when deleting self account:
where profile's XMPP account is deleted, its client must be explicitely disconnected to
avoid automatic reconnection, which would obviously fail.
2020-11-12 14:53:15 +01:00
Goffi
06503f83aa plugin XEP-0363: fixed invalid reference to slot in catched exception:
`slot` was referenced in an exception where it can't exist. This fix avoid a crash and
skip the handler when a StanzaError is catched.
2020-11-12 14:53:15 +01:00
Goffi
4e803712f7 plugin XEP-0060: use xml_tools.parse instead of wokkel.generic.parseXml:
`xml_tools.parse` does a better parsing, as wokkel's `parseXml` may be missing text
nodes.
2020-11-12 14:53:15 +01:00
Goffi
d52d8af6cf plugin XEP-0047: fixed file reading and content encoding 2020-11-12 14:53:15 +01:00
Goffi
4bc90ee0bc plugin ip: don't set to anymore for IQ stanza, as we send it to our server 2020-11-12 14:53:15 +01:00
Goffi
a3be4ed11d plugin app manager docker: typo 2020-10-20 09:12:38 +02:00
Goffi
e91cd1cc66 plugin app manager docker: weblate SàT app file for Docker 2020-09-28 21:10:33 +02:00
Goffi
e08be7f855 plugin app managed docker: handle Docker application with App Manager 2020-09-28 21:10:33 +02:00
Goffi
e1f123f120 plugin app manager: first draft:
/!\ new optional dependency: pyyaml

this plugin manage the life cycle of external applications. Application handlers register
to it.

Data needed to launch an application as set in YAML files. Local data types are used to
get values directly from SàT:

- !sat_conf to retrieve a configuration value
- !sat_generate_pwd to generate a password
- !sat_param for parameters specified a launch

Data can be exposed when an instance is launched, this can be used to specify the port
(notably the one used for web), or a generated password.
2020-09-28 21:10:30 +02:00
Goffi
03cffe789c core: minor typos, docstring/comments update 2020-09-20 14:05:40 +02:00
Goffi
f7a83dd054 component file sharing: added missing owner filtering in _retrieveFiles 2020-09-20 14:04:22 +02:00
Goffi
50df9e6537 plugin XEP-0329, core(xmpp): moved _compParseJids to SatXMPPComponent:
This method to retrieve owner and peer JID from an element is generally useful for
components, thus it has been moved. The part to retrieve owner JID from local JID has been
splitted in its own `getOwnerFromJid` method.
2020-09-20 14:04:11 +02:00
Goffi
93e1250a59 plugin XEP-0329: fix filtering by owner on components 2020-09-20 11:03:24 +02:00
Goffi
c9b2c1d27d component file sharing: fix used of self.files_path in _retrieveFiles 2020-09-17 21:42:14 +02:00
Goffi
629901674b plugin XEP-0329: fix conflict check + directory creation in onComponentCreateDir 2020-09-17 21:41:19 +02:00
Goffi
6601714e0e plugin XEP-0329: typo 2020-09-17 19:01:02 +02:00
Goffi
f321952cbe plugin XEP-0329: added FISCreateDir method:
This method is used to create a directory for component file sharing, and optionally set
its configuration.
2020-09-17 16:42:00 +02:00
Goffi
fca70e1710 plugin XEP-0313: fix getting MAM archive when history is empty 2020-09-17 11:27:57 +02:00
Goffi
e60b64d876 plugin XEP-0313: fixed MAMGet signature 2020-09-17 10:46:13 +02:00
Goffi
7f713e39f3 plugin XEP-0329: better error handling in onComponentAffiliationsGet 2020-09-14 09:23:23 +02:00
Goffi
4c5c6a081a plugin XEP-0077: fixed "check_certificate" handling 2020-09-13 22:49:12 +02:00
Goffi
5ec9d7ffec plugin invitation: if "thumb_url" is not set, try to use one from list of interests 2020-09-05 20:23:25 +02:00
Goffi
6f139b80e1 plugin list of interests: normalize item ID + added get method 2020-09-05 20:22:23 +02:00
Goffi
33eab526b9 component file sharing: generate thumbnails for videos 2020-08-25 08:55:16 +02:00
Goffi
ba8496ae36 plugin XEP-0264: only log "fix orientation" when the option is used 2020-08-25 08:52:46 +02:00
Goffi
ea351c6ff4 plugin XEP-0234: fixed mime type in buildFileElementFromDict 2020-08-25 08:51:35 +02:00
Goffi
e414de9fa9 plugin list of interest: fixed registerPubsub 2020-08-15 22:54:42 +02:00
Goffi
8895c9c898 plugin XEP-0277: fixed item2mbdata call 2020-08-15 20:29:07 +02:00
Goffi
937a1db89f component file sharing: added Access-Control-Expose-Headers CORS header:
without this header, the range header in response was not exposed to client. This could
cause trouble is a javascript application was needing to access it.
2020-08-15 20:28:07 +02:00
Goffi
53f475bf72 plugin identity: new methods identitiesGet and identitiesBaseGet
`identitiesGet` retrieve several identities at once, in parallel.
`identitiesBaseGet` retrieve essential identities (roster + own)
2020-08-13 23:46:18 +02:00
Goffi
4df2b3b1d6 plugin email invitation: new invitationDelete method 2020-08-13 23:46:18 +02:00
Goffi
f6a33c170b plugin email invitation: guests are now automatically added to host roster in guests group 2020-08-13 23:46:18 +02:00
Goffi
a8cb6e5a70 plugin email invitation: fixed create/simpleCreate + invitee_name:
- fixed invitationSimpleCreate signature
- fixed nicknames settings in create
- use async coroutines
- guest jid is now stored (as a string), avoiding the need to check profile to retrieve it
- invitee_name is now needed in invitationSimpleCreate
2020-08-13 23:46:18 +02:00
Goffi
e54d37fbc3 plugin XEP-0077: None can now be used in to_jid argument in unregister:
if None is used, the XMPP account of the profile will be deleted.
2020-08-13 23:46:18 +02:00
Goffi
88174c2100 plugin XEP-0329: download thumbnails:
- thumbnails are now downloaded directly when BoB is used, `filename` is then filled
- `utils.asDeferred` is now used for Jingle methods, so `async` coroutines can be used
- (XEP-0231): fixed `dumpData`
2020-08-13 23:46:18 +02:00
Goffi
bfa4bbae9e comp file sharing: minor core re-organisation 2020-08-13 23:46:18 +02:00
Goffi
5c46b74c69 plugin XEP-0264: fix orientation of thumbnails:
Rotation of thumbnailis is now modified according to EXIF orientation data. Original image
is not modified as user may want to keep it, and orientation transformation can modify
encoding parameters.

Update `pillow` minimum version to the first one with `exif_transpose` implementation.
2020-08-13 23:46:18 +02:00
Goffi
7e404b9f98 plugin XEP-0264: updated size to get values closest to standard one:
- sizes used for thumbnails are now matching common resolutions.
- added BIG and FULL_SCREEN sizes
- sort thumbnails by sizes when parsing them.
2020-08-13 23:45:59 +02:00
Goffi
f2085455f7 plugin XEP-0277: set "uri" in item2mbdata 2020-08-03 08:45:49 +02:00
Goffi
92aa584e4c plugin identity: added "filename" metadata for avatar 2020-08-02 17:40:07 +02:00
Goffi
9ee767d0cb plugins invitation, invitation-file: adapt service JID and affiliation:
if the user part of the service is missing while creating and invitation, it's added
because using only the domain will lead to a different repository depending on the
requester. In addition, the invitee is added to the repostiroy path as a member, to be
sure he/she can access it.
2020-08-01 16:24:03 +02:00
Goffi
3f739a8ac8 plugin email invitation: simple invitation creation
The new `invitationSimpleCreate` is a simplified way to create an email invitation.
2020-08-01 16:19:50 +02:00
Goffi
25a429fa1b plugin list for interest: build ID using URI or file path metadata:
by using those metadata, we get the same ID for 2 interests linking to the same location.
This has been done to avoid duplicated interests.
2020-08-01 16:17:19 +02:00
Goffi
7dd1873adf plugin XEP-0329: added way to change access_model using PubSub-like configuration:
Those methods are not standard, but have been done in a PubSub-like way to prepare the
move to a PubSub based file sharing system.
2020-08-01 16:14:37 +02:00