SafeExamBrowser / seb-win-refactoring

Safe Exam Browser for Windows.
https://www.safeexambrowser.org/news_en.html
Mozilla Public License 2.0
184 stars 122 forks source link

Windows SEB config editor - missing options for macOS #527

Open RoChess opened 1 year ago

RoChess commented 1 year ago

Windows SEB Config Tool v3.4.1.505 (x64). under "Browser" does not have any of the options that the macOS 3.1.1 editor has in regards to the new Camera/Microphone/ScreenCapture features.

That makes it impossible to make a cross-compatible SEB config file in the Windows SEB config tool.

For now I'll grab a MacBook to update all the SEB configuration files, but this feels like a bug/oversight.

dbuechel commented 1 year ago

We unfortunately had to re-schedule this issue for a later release version.

lopezbertoni commented 1 year ago

@dbuechel I have a question regarding this. Currently working on an implementation in which the SEB is launched using the protocol sebs://{url-to-seb-file}. The seb file hosted in our server is going to be a dynamic one since the start url is different for each exam. We're planning on validating the config key using the JS API. So each seb file will have a corresponding checksum calculated for it and then we can check that the exam is running on an untampered environment. I found that the SEB Config files are different between mac and windowsand that lead to this issue. In order to implement this, is it safe to say that we'll need a seb file to launch for mac and another one for windows? Would a windows config file work on mac or vice-versa?

danschlet commented 1 year ago

Let me quickly answer this question: SEB config files are in any case compatible between Mac, Window, iOS. If a setting key supported by a specific SEB version/platform is missing in a config file, then that SEB version uses the default value for that key. If there is a setting key/value in a config file, which a specific SEB version doesn't know/doesn't use, then it's just ignored. But when calculating the Config Key (CK), all setting key/values in the config file are used for calculating the CK (regardless if that SEB version knows/supports that setting key). Therefore the CK will be same in the Windows version of SEB, even if you calculate it for a config file which was created and saved in the Mac version.

lopezbertoni commented 1 year ago

@danschlet Thanks for the response. So as far as generating a seb file that has a specific startUrl per exam, should I just based my .seb file from the mac version of the file since it's more comprehensive as far as I know. Keep in mind I need to calculate the CK and store it in the server for security. I assume the CK will be different if I base my calculations from different .seb files.

Thanks again for the help and clarifications, this is super helpful.

RoChess commented 11 months ago

@danschlet I know you were forced to delay it to the 3.6 milestone, so checking if it will make it in this time. Happy to assist in testing.

danschlet commented 11 months ago

No, the refactoring of the SEB Configuration Tool and adding all settings from the other versions (macOS and iOS) is indefinitely delayed. We still have to prioritize strictly due to lack of developer resources. Security improvements and features which are highly required by SEB Alliance contributors have the highest priority.

Therefore I don't expect refactoring of the configuration editors (in all SEB versions) to happen before the second half of next year. First SEB Server will gain all settings of all SEB clients, that will probably happen in the next couple of releases.

Feel free to join the SEB Alliance to prioritize features.

dbuechel commented 11 months ago

@RoChess Most unfortunately, and due to many (last minute) change requests, this issue did not make it into version 3.6.0 and maybe also won't make it into version 3.7.0. But we have the issue in our internal to do list and will tackle it as soon as possible.

RoChess commented 11 months ago

@danschlet , @dbuechel totally understand.

At least the existing config tool is amazing with backward and forward compatibility in mind. Once I've used the macOS SEB config editor to activate the new Camera/Microphone/ScreenCapture features, then the Windows editor that lacks support to view the settings, will at least carry those macOS editor settings and their configured value forward.

That at least gives me a functional workaround for the time being, and hopefully the refactoring can make it in one of the next milestones.

dbuechel commented 11 months ago

That at least gives me a functional workaround for the time being, and hopefully the refactoring can make it in one of the next milestones.

Thanks for your understanding. I also do hope and try to advocate for the refactoring of the configuration tool, but unfortunately we have (as always) a lot of stakeholders and other priorities which we must take care of first.

RoChess commented 4 months ago

@dbuechel with 3.7 released, is there room to schedule a refactoring yet? No rush, just curious as I was going through my open-issue list.

dbuechel commented 4 months ago

Most unfortunately not, but I have put it on the agenda for version 3.9.0 and will try to do everything I can to be able to finally refactor the legacy configuration tool for that version.

We still have a lot of stakeholders who all want to have their wishes heard and I unfortunately do not have the last say on what gets scheduled or not, but it is in my opinion high time that we get rid of the old thing.

dbuechel commented 4 months ago

And most unfortunately as well, this particular issue (independent of the refactoring, though in a refactoring we'd obviously integrate the missing options) has in the meantime been moved to the backlog, i.e. it isn't even scheduled for a particular upcoming version anymore...

RoChess commented 4 months ago

No problem, and totally understand. Having a workaround mitigates the impact, which makes backlog the obvious choice. Will simply patiently wait until refactoring eventually makes sense for other reasons. Much appreciated for all the work you and others put into this project.

dbuechel commented 4 months ago

Excellent, thanks for your understanding and let's hope the refactoring can indeed be done for version 3.9.0.