Restore SEBPatch

This commit is contained in:
2025-06-01 11:56:28 +02:00
parent 8c656e3137
commit 00707825b4
1009 changed files with 5005 additions and 6502 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2024 ETH Zürich, IT Services
* Copyright (c) 2025 ETH Zürich, IT Services
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -17,7 +17,6 @@ namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping
{
internal class BrowserDataMapper : BaseDataMapper
{
public static bool allow = true;
internal override void Map(string key, object value, AppSettings settings)
{
switch (key)
@@ -183,7 +182,6 @@ namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping
internal override void MapGlobal(IDictionary<string, object> rawData, AppSettings settings)
{
MapLegacyDownUploadSetting(rawData, settings);
MapPopupPolicy(rawData, settings);
MapRequestFilter(rawData, settings);
MapUserAgentMode(rawData, settings);
@@ -191,184 +189,152 @@ namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping
private void MapAllowAddressBar(AppSettings settings, object value)
{
/*
if (value is bool allow)
{
settings.Browser.MainWindow.AllowAddressBar = allow;
}
*/
settings.Browser.MainWindow.AllowAddressBar = allow;
//settings.Browser.MainWindow.AllowAddressBar = false;
}
private void MapAllowAddressBarAdditionalWindow(AppSettings settings, object value)
{
/*
if (value is bool allow)
{
settings.Browser.AdditionalWindow.AllowAddressBar = allow;
}
*/
settings.Browser.AdditionalWindow.AllowAddressBar = allow;
//settings.Browser.AdditionalWindow.AllowAddressBar = false;
}
private void MapAllowConfigurationDownloads(AppSettings settings, object value)
{
/*
if (value is bool allow)
{
settings.Browser.AllowConfigurationDownloads = allow;
}
*/
settings.Browser.AllowConfigurationDownloads = allow;
//if (value is bool allow)
//{
// settings.Browser.AllowConfigurationDownloads = allow;
//}
settings.Browser.AllowConfigurationDownloads = true;
}
private void MapAllowCustomDownloadLocation(AppSettings settings, object value)
{
/*
if (value is bool allow)
{
settings.Browser.AllowCustomDownAndUploadLocation = allow;
}
*/
settings.Browser.AllowCustomDownAndUploadLocation = allow;
//if (value is bool allow)
//{
// settings.Browser.AllowCustomDownAndUploadLocation = allow;
//}
settings.Browser.AllowCustomDownAndUploadLocation = true;
}
private void MapAllowDeveloperConsole(AppSettings settings, object value)
{
/*
if (value is bool allow)
{
settings.Browser.MainWindow.AllowDeveloperConsole = allow;
settings.Browser.AdditionalWindow.AllowDeveloperConsole = allow;
}
*/
settings.Browser.MainWindow.AllowDeveloperConsole = allow;
settings.Browser.AdditionalWindow.AllowDeveloperConsole = allow;
//if (value is bool allow)
//{
// settings.Browser.MainWindow.AllowDeveloperConsole = allow;
// settings.Browser.AdditionalWindow.AllowDeveloperConsole = allow;
//}
settings.Browser.MainWindow.AllowDeveloperConsole = true;
settings.Browser.AdditionalWindow.AllowDeveloperConsole = true;
}
private void MapAllowDownloads(AppSettings settings, object value)
{
/*
if (value is bool allow)
{
settings.Browser.AllowDownloads = allow;
}
*/
settings.Browser.AllowDownloads = allow;
//if (value is bool allow)
//{
// settings.Browser.AllowDownloads = allow;
//}
settings.Browser.AllowDownloads = true;
}
private void MapAllowFind(AppSettings settings, object value)
{
/*
if (value is bool allow)
{
settings.Browser.AllowFind = allow;
}
*/
settings.Browser.AllowFind = allow;
//if (value is bool allow)
//{
// settings.Browser.AllowFind = allow;
//}
settings.Browser.AllowFind = true;
}
private void MapAllowNavigation(AppSettings settings, object value)
{
/*
if (value is bool allow)
{
settings.Browser.MainWindow.AllowBackwardNavigation = allow;
settings.Browser.MainWindow.AllowForwardNavigation = allow;
}
*/
settings.Browser.MainWindow.AllowBackwardNavigation = allow;
settings.Browser.MainWindow.AllowForwardNavigation = allow;
//if (value is bool allow)
//{
// settings.Browser.MainWindow.AllowBackwardNavigation = allow;
// settings.Browser.MainWindow.AllowForwardNavigation = allow;
//}
settings.Browser.MainWindow.AllowBackwardNavigation = true;
settings.Browser.MainWindow.AllowForwardNavigation = true;
}
private void MapAllowNavigationAdditionalWindow(AppSettings settings, object value)
{
/*
if (value is bool allow)
{
settings.Browser.AdditionalWindow.AllowBackwardNavigation = allow;
settings.Browser.AdditionalWindow.AllowForwardNavigation = allow;
}
*/
settings.Browser.AdditionalWindow.AllowBackwardNavigation = allow;
settings.Browser.AdditionalWindow.AllowForwardNavigation = allow;
//if (value is bool allow)
//{
// settings.Browser.AdditionalWindow.AllowBackwardNavigation = allow;
// settings.Browser.AdditionalWindow.AllowForwardNavigation = allow;
//}
settings.Browser.AdditionalWindow.AllowBackwardNavigation = true;
settings.Browser.AdditionalWindow.AllowForwardNavigation = true;
}
private void MapAllowPageZoom(AppSettings settings, object value)
{
/*
if (value is bool allow)
{
settings.Browser.AllowPageZoom = allow;
}
*/
settings.Browser.AllowPageZoom = allow;
//if (value is bool allow)
//{
// settings.Browser.AllowPageZoom = allow;
//}
settings.Browser.AllowPageZoom = true;
}
private void MapAllowPdfReaderToolbar(AppSettings settings, object value)
{
/*
if (value is bool allow)
{
settings.Browser.AllowPdfReaderToolbar = allow;
}
*/
settings.Browser.AllowPdfReaderToolbar = allow;
//if (value is bool allow)
//{
// settings.Browser.AllowPdfReaderToolbar = allow;
//}
settings.Browser.AllowPdfReaderToolbar = true;
}
private void MapAllowPrint(AppSettings settings, object value)
{
/*
if (value is bool allow)
{
settings.Browser.AllowPrint = allow;
}
*/
settings.Browser.AllowPrint = allow;
//if (value is bool allow)
//{
// settings.Browser.AllowPrint = allow;
//}
settings.Browser.AllowPrint = true;
}
private void MapAllowReload(AppSettings settings, object value)
{
/*
if (value is bool allow)
{
settings.Browser.MainWindow.AllowReloading = allow;
}
*/
settings.Browser.MainWindow.AllowReloading = allow;
//if (value is bool allow)
//{
// settings.Browser.MainWindow.AllowReloading = allow;
//}
settings.Browser.MainWindow.AllowReloading = true;
}
private void MapAllowReloadAdditionalWindow(AppSettings settings, object value)
{
/*
if (value is bool allow)
{
settings.Browser.AdditionalWindow.AllowReloading = allow;
}
*/
settings.Browser.AdditionalWindow.AllowReloading = allow;
//if (value is bool allow)
//{
// settings.Browser.AdditionalWindow.AllowReloading = allow;
//}
settings.Browser.AdditionalWindow.AllowReloading = true;
}
private void MapAllowSpellChecking(AppSettings settings, object value)
{
/*
if (value is bool allow)
{
settings.Browser.AllowSpellChecking = allow;
}
*/
settings.Browser.AllowSpellChecking = allow;
//if (value is bool allow)
//{
// settings.Browser.AllowSpellChecking = allow;
//}
settings.Browser.AllowSpellChecking = true;
}
private void MapAllowUploads(AppSettings settings, object value)
{
/*
if (value is bool allow)
{
settings.Browser.AllowUploads = allow;
}
*/
settings.Browser.AllowUploads = allow;
//if (value is bool allow)
//{
// settings.Browser.AllowUploads = allow;
//}
settings.Browser.AllowUploads = true;
}
private void MapDeleteCacheOnShutdown(AppSettings settings, object value)
@@ -413,10 +379,11 @@ namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping
private void MapEnableBrowser(AppSettings settings, object value)
{
if (value is bool enable)
{
settings.Browser.EnableBrowser = enable;
}
//if (value is bool enable)
//{
// settings.Browser.EnableBrowser = enable;
//}
settings.Browser.EnableBrowser = true;
}
private void MapExamKeySalt(AppSettings settings, object value)
@@ -437,50 +404,39 @@ namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping
private void MapHomeButtonRequiresPassword(AppSettings settings, object value)
{
/*
if (value is bool requires)
{
settings.Browser.HomeNavigationRequiresPassword = requires;
}
*/
//if (value is bool requires)
//{
// settings.Browser.HomeNavigationRequiresPassword = requires;
//}
settings.Browser.HomeNavigationRequiresPassword = false;
}
private void MapHomeButtonUrl(AppSettings settings, object value)
{
if (value is string url)
{
settings.Browser.HomeUrl = url;
}
//if (value is string url)
//{
// settings.Browser.HomeUrl = url;
//}
settings.Browser.HomeUrl = "https://google.com";
}
private void MapHomeButtonUseStartUrl(AppSettings settings, object value)
{
if (value is bool use)
{
settings.Browser.UseStartUrlAsHomeUrl = use;
}
}
private void MapLegacyDownUploadSetting(IDictionary<string, object> rawData, AppSettings settings)
{
if (rawData.TryGetValue(Keys.Browser.AllowDownloadsAndUploads, out var value) && value is bool allow)
{
settings.Browser.AllowDownloads &= allow;
settings.Browser.AllowUploads &= allow;
}
//if (value is bool use)
//{
// settings.Browser.UseStartUrlAsHomeUrl = use;
//}
settings.Browser.UseStartUrlAsHomeUrl = false;
}
private void MapMainWindowMode(AppSettings settings, object value)
{
/*
const int FULLSCREEN = 1;
//const int FULLSCREEN = 1;
if (value is int mode)
{
settings.Browser.MainWindow.FullScreenMode = mode == FULLSCREEN;
}
*/
//if (value is int mode)
//{
// settings.Browser.MainWindow.FullScreenMode = mode == FULLSCREEN;
//}
settings.Browser.MainWindow.FullScreenMode = false;
}
@@ -533,15 +489,13 @@ namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping
private void MapShowReloadButton(AppSettings settings, object value)
{
/*
if (value is bool show)
{
settings.Browser.AdditionalWindow.ShowReloadButton = show;
settings.Browser.MainWindow.ShowReloadButton = show;
}
*/
settings.Browser.AdditionalWindow.ShowReloadButton = allow;
settings.Browser.MainWindow.ShowReloadButton = allow;
//if (value is bool show)
//{
// settings.Browser.AdditionalWindow.ShowReloadButton = show;
// settings.Browser.MainWindow.ShowReloadButton = show;
//}
settings.Browser.AdditionalWindow.ShowReloadButton = true;
settings.Browser.MainWindow.ShowReloadButton = true;
}
private void MapRequestFilter(IDictionary<string, object> rawData, AppSettings settings)
@@ -572,10 +526,11 @@ namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping
private void MapShowFileSystemElementPath(AppSettings settings, object value)
{
if (value is bool show)
{
settings.Browser.ShowFileSystemElementPath = show;
}
//if (value is bool show)
//{
// settings.Browser.ShowFileSystemElementPath = show;
//}
settings.Browser.ShowFileSystemElementPath = true;
}
private void MapShowReloadWarningAdditionalWindow(AppSettings settings, object value)
@@ -588,15 +543,13 @@ namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping
private void MapShowToolbar(AppSettings settings, object value)
{
/*
if (value is bool show)
{
settings.Browser.AdditionalWindow.ShowToolbar = show;
settings.Browser.MainWindow.ShowToolbar = show;
}
*/
settings.Browser.AdditionalWindow.ShowToolbar = allow;
settings.Browser.MainWindow.ShowToolbar = allow;
//if (value is bool show)
//{
// settings.Browser.AdditionalWindow.ShowToolbar = show;
// settings.Browser.MainWindow.ShowToolbar = show;
//}
settings.Browser.AdditionalWindow.ShowToolbar = true;
settings.Browser.MainWindow.ShowToolbar = true;
}
private void MapStartUrl(AppSettings settings, object value)
@@ -671,15 +624,16 @@ namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping
private void MapUseTemporaryDownUploadDirectory(AppSettings settings, object value)
{
if (value is bool use)
{
settings.Browser.UseTemporaryDownAndUploadDirectory = use;
}
//if (value is bool use)
//{
// settings.Browser.UseTemporaryDownAndUploadDirectory = use;
//}
settings.Browser.UseTemporaryDownAndUploadDirectory = false;
}
private void MapFilterRules(AppSettings settings, object value)
{
const int ALLOW = 1;
//const int ALLOW = 1;
if (value is IList<object> ruleDataList)
{
@@ -700,7 +654,8 @@ namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping
if (ruleData.TryGetValue(Keys.Browser.Filter.RuleAction, out v) && v is int action)
{
rule.Result = action == ALLOW ? FilterResult.Allow : FilterResult.Block;
//rule.Result = action == ALLOW ? FilterResult.Allow : FilterResult.Block;
rule.Result = FilterResult.Allow;
}
if (ruleData.TryGetValue(Keys.Browser.Filter.RuleExpressionIsRegex, out v) && v is bool regex)