blindsidenetworks / scalelite

Scalable load balancer for BigBlueButton.
GNU Affero General Public License v3.0
465 stars 249 forks source link

Fix protected recordings #1083

Closed Ithanil closed 18 hours ago

Ithanil commented 2 weeks ago

This PR fixes the protected recordings feature for all formats.

Description

Protected recordings have been broken, i.e. unprotected paths were served by nginx, since at least SL v1.5. This has been reported in several issues. The changes to nginx locations for presentation and video formats were originally proposed by @schrd in https://github.com/blindsidenetworks/scalelite/issues/983#issuecomment-1636724884

Testing Steps

1) Generate a recording with all formats 2) transfer them to SL with protected recordings enabled 3) access them by clicking a format button in GL3 4) copy the (unprotected) recording URL from your browser into a different browser or private window 5) verify that you can't access the recording without token or cookie

only the screenshare format is untested (of which I'm not sure if it actually works in any capacity at all), but it should behave just like the video format EDIT: Screenshare format tested and works as well

Fixed issues

https://github.com/blindsidenetworks/scalelite/issues/983 https://github.com/blindsidenetworks/scalelite/issues/1008 https://github.com/blindsidenetworks/scalelite/issues/1046

I think it also fixes this: https://github.com/blindsidenetworks/scalelite/issues/880 Because previously I was not able to use "screenshare" recordings with Scalelite at all, see issue.

ffdixon commented 2 weeks ago

Thanks Jan, much appreciated. We'll review and give you feedback.

Ithanil commented 2 weeks ago

Thanks Jan, much appreciated. We'll review and give you feedback.

Alright, I'll fight with rubocop in the meanwhile. EDIT: The ruby part is now part of a different PR, which is only meant to serve as an example on how to make non-player formats easily downloadable.