Commit Graph

27126 Commits

Author SHA1 Message Date
Richard Alam
410529d86e
Merge pull request #10542 from pedrobmarin/patch-bbb-web-improvements
Patch of improvements for bbb-web
2020-09-29 09:21:55 -04:00
Joao Siebel
6919498234 Prevent multiple attaches on socket close for the same user 2020-09-29 09:57:31 -03:00
Joao Siebel
b0f2abad8b Prevent user who logout from meeting to join again using the same sessionToken
also move this and banned user check to a different method.
2020-09-29 09:33:15 -03:00
KDSBrowne
e99292836f fix Match error: Expected object, got undefined in publishVote 2020-09-28 19:28:35 +00:00
Pedro Beschorner Marin
2fb26ff0cf Patch of improvements for bbb-web
This patch includes two improvements made for bbb-web. It tries to better isolate
the sessionToken's handling and session's validation, including logs for each one of
these steps; and removes maxParticipats control from registered users (that are no
longer removed from bbb-web collections) binding it to joined users or users that
reached the enter API call. The following adds more details about this last one:

User's regular flow to join a meeting goes around an API join call -> redis register event ->
redirect to client page -> API enter call -> redis join event. When the guest policy is ASK_MODERATOR,
non-moderators are registered and redirected to a guest lobby that polls for her/his guest status and
only enters the meeting after a moderator approval.
Using registered users as control to check how many participants are in a meeting is problematic because
non-approved guests are counted as participants and bbb-web has to find out when to ditch registered users
records to make a seat in a meeting available again. In other words, a meeting with maxParicipants
of 5 can get it's joins locked with a moderator and 4 waiting guests or bbb-web can wrongly drop a registered
user record on a reconnection inducing weird 401 responses from the API.

This change proposes to control maxParticipants both at join and enter API calls monitoring the number
of redis joined users. This also includes an extra buffer to capture users that called the enter API but
still don't have an user joined event.
User left events are now handled different holding the user data before removing from the joined users collection
and only releasing after verifying that the user didn't reconnected.

Both user left timeout `usersTimeout` and entered user timeout `enteredUsersTimeout` can be configured at properties.
2020-09-28 09:59:52 -03:00
Mario Jr
2d2a034729 Add sessionDescriptionHandlerModifiersPostICEGathering option to SIP.js INVITER
Current sessionDescriptionHandlerModifiers of SIP.js acts before ICE gathering is done. This means we are not able to modify/strip candidates in local SDP.
This modifier acts on local SDP, by allowing user to modify SDP before it is sent on INVITE message.
2020-09-25 20:26:28 -03:00
Mario Jr
619ffa0ec1 Port SIP.js to 0.17.1 release
This considerably changes the way we process audio signaling and start audio elements in user's browser.
We now avoid using AudioContext element for both microphone and listenonly calls, once it is unstable for some iOS devices (cracky audio, user stops hearing audio after a while).
Increased default value for listenOnlyCallTimeout: this avoids activating FreeSWITCH's fallback when ICE negotiation takes longer than 15sec (tested on DO).
Increased listenonly logs.
This fixes #8133 #10388
2020-09-25 20:26:22 -03:00
Fred Dixon
78ced5d41d
Merge pull request #10533 from kepstin/rec-fixes
Recording: Skip shapes with missing "thickness" attribute
2020-09-25 16:59:17 -04:00
Anton Georgiev
bc478104aa
Bump up to 2.2.27 2020-09-25 16:38:30 -04:00
Calvin Walton
86c821f4c5 Recording: Skip shapes with missing "thickness" attribute
Not sure what causes this issue, but there's nothing reasonable that can
be done to draw a shape with no thickness. Just skip it.
2020-09-25 16:13:29 -04:00
Anton Georgiev
74ae4ad0c5
Merge pull request #10532 from kepstin/caption-utf-16
Perform captions generation in UTF-16 encoding
2020-09-25 12:53:31 -04:00
Calvin Walton
1866eb7194 Perform captions generation in UTF-16 encoding
The indexes returned in recording events from BBB refer to positions
within a UTF-16 encoded string. Rather than attempt to untangle this in
the server (which might have a performance cost), it's easier to switch
the caption processing code to operate in UTF-16 encoding as well to
make it work consistently.

The PyICU library provides a UnicodeString type which is a UTF-16 string
similar to Java and JavaScript, but which supports all the python
indexing methods. It's fairly straightforwards to swap it in in place of
the types used previously, and works natively as an input to the ICU
line break iterator too.

Fixes #10531
2020-09-25 12:39:18 -04:00
Anton Georgiev
489b059603
Merge pull request #10530 from antobinary/09-25-locales
Pulled HTML5 locales and tested Sept 25, 2020
2020-09-25 10:08:05 -04:00
Anton Georgiev
2fe0530d6e Pulled HTML5 locales and tested Sept 25, 2020 2020-09-25 09:57:53 -04:00
Anton Georgiev
ca64c7c1b2
Merge pull request #10521 from KDSBrowne/2.2-profile-messages
Remove string concatenation from webcam profile label
2020-09-24 16:19:59 -04:00
Anton Georgiev
b70848d97b
Merge pull request #10522 from antobinary/log-on-force-end-meeting
add log for moderator forcing end meeting
2020-09-24 14:47:54 -04:00
Anton Georgiev
7536419930 add log for moderator forcing end meeting 2020-09-24 14:45:52 -04:00
KDSBrowne
1dfa2ff2a8 remove string concatenation from webcam profile formatted label 2020-09-24 14:53:21 +00:00
Anton Georgiev
0794d017cd
Merge pull request #10501 from antobinary/remove-bowser
Removed unused bowser.js
2020-09-24 09:20:40 -04:00
Fred Dixon
9f4720d111
Merge pull request #10516 from kepstin/recording-proc-deadlock
Fix io deadlock in recording scripts process execution utilities
2020-09-23 17:53:41 -04:00
Calvin Walton
1268753519 Fix io deadlock in recording scripts process execution utilities
The previous implementation of the BigBlueButton.execute method runs the
process with separate stdout and stderr streams. It first reads all of
the output from stdout, then reads all of the output from stderr.

This can cause a deadlock if the process writes a lot of data to stderr.
The IO buffer for stderr could fill, blocking progress. But since it
hasn't closed stdout, the ruby script is still waiting on a read to
stdout.

Switch to an execution method (using IO.popen) that allows combining
stdout and stderr into a single stream, eliminating the issue.
2020-09-23 16:16:57 -04:00
Fred Dixon
fc73e87597
Bump to 2.2.26 2020-09-23 14:43:47 -04:00
Richard Alam
d98899316b
Merge pull request #10510 from pedrobmarin/avoid-eject
Option to prevent eject users by permission violation
2020-09-22 15:37:25 -04:00
Richard Alam
aee44736a1
Merge pull request #10511 from pedrobmarin/secure-jsessionid
Add secure tag to bbb-web JSESSIONID cookie
2020-09-22 15:34:52 -04:00
Pedro Beschorner Marin
a98c4b68b5 Add secure tag to bbb-web JSESSIONID cookie
Revert this to make whatever you want when running bbb-web without https
2020-09-22 16:11:53 -03:00
Pedro Beschorner Marin
a7e1623619 Option to prevent eject users by permission violation
PermissionCheck verifies ejectOnViolation before eject an user
2020-09-22 15:13:15 -03:00
Anton Georgiev
3c6c1f5b7c
Merge pull request #10504 from jfsiebel/prevent-ejected-user-validate-auth-token-spam
Prevent validateAuthToken spamming for ejected users
2020-09-21 16:36:36 -04:00
Joao Siebel
a3cf7cd98e Prevent validateAuthToken spamming.
If an ejected user tries to enter in the meeting using the current url
html5 client keep trying to validate that user, but without success
causing a validateAuthToken message spam until the connection times out.
2020-09-21 15:50:54 -03:00
Anton Georgiev
00656ddf63 Removed unused bowser.js 2020-09-21 14:31:32 +00:00
Anton Georgiev
2cd250bfa2
Merge pull request #10493 from jfsiebel/fix-save-user-names
Fix last name sort function for save user names
2020-09-21 08:14:02 -04:00
Joao Siebel
6a139aa224 Fix last name sort function for save user name 2020-09-18 18:05:31 -03:00
Anton Georgiev
c191cb0f77
Merge pull request #10480 from KDSBrowne/2.2-issue-10479
Show names in Saved users name list as they were entered
2020-09-17 10:44:37 -04:00
KDSBrowne
239a29a341 switch sortName to name prop (shows list as names were entered) 2020-09-17 13:26:38 +00:00
Fred Dixon
12d6007799
Merge pull request #10473 from ffdixon/always-gen-certificate
Always generate certificate for Kurento
2020-09-16 10:20:54 -04:00
Fred Dixon
869a4a5c59
Merge branch 'v2.2.x-release' into always-gen-certificate 2020-09-16 10:20:28 -04:00
Fred Dixon
7867bcf725 Always generate certificate for Kurento 2020-09-16 09:17:31 -05:00
Fred Dixon
4859ff6791
Merge pull request #10471 from ffdixon/bump-2.2.25
Bump to 2.2.25
2020-09-16 09:45:07 -04:00
Fred Dixon
0d5dbd87b9 Bump to 2.2.25 2020-09-16 08:41:19 -05:00
Fred Dixon
c4628a8270
Merge pull request #10469 from ffdixon/fix-dtls-path2
Ensure the path is always updated
2020-09-16 09:34:30 -04:00
Fred Dixon
8df5637c56 Ensure the path is always updated 2020-09-16 08:32:08 -05:00
Fred Dixon
038952b810
Merge pull request #10468 from ffdixon/fix-dtls-path
Fix dtls path
2020-09-16 09:28:08 -04:00
Fred Dixon
1ad1bb0529 Fix #10467 2020-09-16 08:25:06 -05:00
Fred Dixon
fcd3d23126 Fix #10467 2020-09-16 08:23:53 -05:00
Anton Georgiev
b522dddb44
Merge pull request #10460 from bigbluebutton/antobinary-patch-1
Added shortcuts for enableHTML5CameraQualityThresholds and enableHTML…
2020-09-15 14:48:24 -04:00
Anton Georgiev
612f37fa2b
Added shortcuts for enableHTML5CameraQualityThresholds and enableHTML5WebcamPagination
Added shortcuts for enableHTML5CameraQualityThresholds and enableHTML5WebcamPagination
2020-09-15 14:45:25 -04:00
Fred Dixon
e7d2190f15
Merge pull request #10457 from ffdixon/fix-bbb-conf-2
properly update ESL password
2020-09-14 17:22:09 -04:00
Fred Dixon
8c21eca5dd properly update ESL password 2020-09-14 16:19:46 -05:00
Anton Georgiev
a2da973cc4
Merge pull request #10455 from antobinary/close-br-on-click-ok
In Breakouts close the tab if the user intentionally selects Leave -> OK
2020-09-14 14:13:46 -04:00
Anton Georgiev
b26e26095e In Breakouts, Leave -> OK now closes tab 2020-09-14 11:21:11 -04:00
Fred Dixon
39ed2c3872
Merge pull request #10449 from ffdixon/bbb-conf-multiple-kurento
Enable three parallel KMS servers
2020-09-13 12:44:24 -04:00