Commit Graph

38 Commits

Author SHA1 Message Date
bbaldino fef1d8b520 add a prosody module to insert identity information (when available) … (#2627)
* add a prosody module to insert identity information (when available) into
presence

prosody will check for jitsi_meet_context_user and
jitsi_meet_context_group in the session and, if they are present, insert
them into presence (we do this in prosody so they cannot be spoofed).

* remove unused 'presence' variable

* refactor to modify presence message in place

* make object member access consistent

* make the group information optional
2018-03-20 15:27:39 -05:00
Дамян Минков eb53944a4d Adds poltergeist support for locked rooms. (#2626) 2018-03-19 16:20:44 -05:00
damencho 98111c3593 On token verification failure return error, reason and stop processing.
This was broken with commit c1fb1a7def, which splits the result in order to print the error reason and in case of error was not returning the error and the message to prosody internals.
2017-10-26 14:01:21 -05:00
Дамян Минков 5b6d7a3040 Skips creating duplicate poltergeists for the same user. (#1925) 2017-08-23 16:14:44 -05:00
damencho 6e37fe175d Skips showing empty statuses. Updates poltergeist to report connected. 2017-08-23 14:10:10 -05:00
damencho 360283aa34 Adds multidomain support to rayo filter module. 2017-08-22 15:00:40 -05:00
damencho c1fb1a7def Installs required basexx when token package is installed. Fixes #1870.
Adds some debug messages when token verification fails for some reason.
2017-08-08 23:13:25 +03:00
Aaron van Meerten b6efdb533d Handles the async wrapping of the mod_muc_size functions
fixes handling of keyserver ASAP validation of tokens
wraps room and room-size APIs
2017-07-20 16:04:16 -05:00
Aaron van Meerten 22e9dc9893 Handles async context for all poltergeists
set up async context for all poltergeist calls
utils lib now has async wrapper for event handlers
2017-07-20 15:56:45 -05:00
damencho 8047fdf5a2 Makes possible for poltergeist to set status just before leaving. 2017-07-20 14:16:42 -05:00
damencho 2c873e8c7f Adds token verification for poltergeist accepted rest calls. 2017-07-20 13:56:55 -05:00
damencho 284b5f94b5 Adds initial status param when creating poltergeist. 2017-07-20 13:29:54 -05:00
damencho f40faecfbe Fixes using correct field for domain in multidomain mode. 2017-07-19 11:36:49 -05:00
damencho 4a9a8eec9a Send poltergeist presence update reusing previous presences.
If we do not reuse previous presences we lose avatar and name and people joining after the poltergeist creation will not be updated with those values.
2017-07-18 13:08:18 -05:00
damencho 308360fbe0 Cleans poltergeists table on remove occupant and when muc is destroyed. 2017-07-18 11:11:14 -05:00
damencho e6840981ca Handles removing poltergeists.
Adds http method to remove poltergeists. Adds configurable timeout after which poltergeists automatically are removed from the room.
2017-07-17 19:29:00 -05:00
damencho 64bb5563bc Returns error when there is no query, but params expected. 2017-07-17 17:38:29 -05:00
damencho 0cffbdb967 Fixes wrong parameter name. 2017-07-17 17:26:47 -05:00
damencho 58d06fe7e6 A poltergeist module.
Thanks to Matthew Wild for the initial help of creating these.
Module with REST interface to create poltergeist participants and change their statuses.
When user with same id joins the room, the poltergeist is removed.  We also make sure that that user uses same username when authenticates. This way we are sure that user will join the room with the same nick as the poltergeist.
2017-07-14 22:18:23 -05:00
damencho cc79b073f0 Fires event before setting username, allows listeners to override it.
This is a hook to override the username that will be used when authenticating token users (which are using anonymous login with auto-generated username).
2017-07-14 22:12:56 -05:00
damencho 599d84a889 Stores the room name from the bosh url into the session. 2017-07-14 22:08:41 -05:00
damencho 2b1e8cdeff Creates util for modules and adds method get_room_from_jid in it. 2017-07-14 22:03:36 -05:00
Aaron van Meerten 622d4ba89c added checks for audience and issuer values (#1772)
* added checks for audience and issuer values
default audience and issuer checks to validate only appId
added missing documentation lines from the previous PR for context_user and context_group session values

* support for accepting any audience
option set to accept any audience by default
2017-07-13 13:30:17 -05:00
Aaron van Meerten fac6c30b1c use "sub" instead of "aud" to confirm tenant domain settings
stick user and group from token context into session if available
2017-07-12 12:57:55 -05:00
damencho 00afc32b6b Handles '*' as room name in jwt.
Allows '*' in jwt to allow connecting to any room.
2017-06-26 10:51:06 -05:00
damencho 34be638fca Fixes using public key to verify tokens. 2017-05-25 16:45:08 -05:00
damencho 9e728e4b25 Fixes crashing jwt util for anonymous domains.
Room name verification crashes when we have a configured anonymousdomain as it doesn't have any token extracted data. It is safe to skip this check as room creation is verified by jicofo and we have the option restrict_room_creation to admin users.
Removes obsolete print when updating jitsi-meet-tokens.
2017-05-16 08:21:46 -05:00
damencho 61e637a639 Adds prosody module to filter incoming rayo iqs based on jwt token.
Returns forbidden error message if module is enabled and the user sending a dialout rayo command is not authenticated through jwt token or is not allowed to enter the room name from the rayo iq.
2017-05-08 15:34:32 -05:00
damencho 7d94d3fd1a Updates room size API to work with multiple domains.
Checks for a parameter named subdomain and if it exists, adds it to the roomname as used in multiple domain mode ([subdomain]roomname@conference.example.com).
Moves muc_size module to per-host module and adds token verification.
2017-05-08 11:23:13 -05:00
damencho 88a58a057e Removes not needed parameter token in process_and_verify_token. 2017-05-08 11:23:13 -05:00
damencho 4bb51516bb Adds domain name verification and multidomain support.
Adds option to enable/disable domain checking, disabled by default. Domain verification for multiple domains depends on new option muc_mapper_domain_base.
2017-05-08 11:23:13 -05:00
damencho 0805b9e99e Removes disableRoomNameConstraints option.
This option is useless, as if we do not need to verify room name, we just disable the mod_token_verification module.
2017-05-08 11:23:13 -05:00
damencho 82b27b45fe Moves token related code into util so it can be reused. 2017-05-08 11:23:13 -05:00
damencho 4ec4c45a90 Adds a second parameter named domain to muc_size module.
Adds and the default conference. part where the muc module live in default deployments.
2017-04-05 13:41:21 -05:00
damencho e0b829f92f Revert "Adds a second parameter named domain to muc_size module."
This reverts commit e2e04e3f16.
2017-04-04 18:45:58 -05:00
damencho e2e04e3f16 Adds a second parameter named domain to muc_size module. 2017-04-04 15:15:18 -05:00
damencho 589f77ef0e Adds prosody plugin that query existing rooms for information.
Queries room for their size or room particiapnt's information. Depends on luarocks net-url module.
2017-04-04 13:27:31 -05:00
Saúl Ibarra Corretgé b01ad360da Move miscellaneous files to resources 2017-02-23 10:01:19 +01:00