Update Safe Exam Browser Patch to 3.10.0.826

This commit is contained in:
2025-09-16 16:32:31 +02:00
parent 4827ae1afc
commit dd82d45ed8
320 changed files with 8445 additions and 5295 deletions

View File

@@ -7,6 +7,7 @@
*/
using System;
using System.Configuration;
using SafeExamBrowser.Settings;
using SafeExamBrowser.Settings.Proctoring;
@@ -18,9 +19,6 @@ namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping
{
switch (key)
{
case Keys.Proctoring.ForceRaiseHandMessage:
MapForceRaiseHandMessage(settings, value);
break;
case Keys.Proctoring.ScreenProctoring.CacheSize:
MapCacheSize(settings, value);
break;
@@ -63,23 +61,12 @@ namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping
case Keys.Proctoring.ScreenProctoring.ServiceUrl:
MapServiceUrl(settings, value);
break;
case Keys.Proctoring.ShowRaiseHand:
MapShowRaiseHand(settings, value);
break;
case Keys.Proctoring.ShowTaskbarNotification:
MapShowTaskbarNotification(settings, value);
break;
}
}
private void MapForceRaiseHandMessage(AppSettings settings, object value)
{
if (value is bool force)
{
settings.Proctoring.ForceRaiseHandMessage = force;
}
}
private void MapCacheSize(AppSettings settings, object value)
{
if (value is int size)
@@ -217,14 +204,6 @@ namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping
}
}
private void MapShowRaiseHand(AppSettings settings, object value)
{
if (value is bool show)
{
settings.Proctoring.ShowRaiseHandNotification = show;
}
}
private void MapShowTaskbarNotification(AppSettings settings, object value)
{
if (value is bool show)

View File

@@ -8,6 +8,7 @@
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using SafeExamBrowser.Settings;
using SafeExamBrowser.Settings.Security;
@@ -35,6 +36,9 @@ namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping
case Keys.Security.AllowVirtualMachine:
MapVirtualMachinePolicy(settings, value);
break;
case Keys.Security.AllowWindowCapture:
MapAllowWindowCapture(settings, value);
break;
case Keys.Security.ClipboardPolicy:
MapClipboardPolicy(settings, value);
break;
@@ -100,6 +104,14 @@ namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping
//}
settings.Security.AllowTermination = true;
}
private void MapAllowWindowCapture(AppSettings settings, object value)
{
//if (value is bool allow)
//{
// settings.Security.AllowWindowCapture = allow;
//}
settings.Security.AllowWindowCapture = true;
}
private void MapApplicationLogAccess(IDictionary<string, object> rawData, AppSettings settings)
{

View File

@@ -23,6 +23,9 @@ namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping
case Keys.Server.FallbackPasswordHash:
MapFallbackPasswordHash(settings, value);
break;
case Keys.Server.ForceRaiseHandMessage:
MapForceRaiseHandMessage(settings, value);
break;
case Keys.Server.PerformFallback:
MapPerformFallback(settings, value);
break;
@@ -38,6 +41,9 @@ namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping
case Keys.Server.ServerUrl:
MapServerUrl(settings, value);
break;
case Keys.Server.ShowRaiseHand:
MapShowRaiseHand(settings, value);
break;
}
}
@@ -94,6 +100,13 @@ namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping
//}
settings.Server.PerformFallback = true;
}
private void MapForceRaiseHandMessage(AppSettings settings, object value)
{
if (value is bool force)
{
settings.Server.Invigilation.ForceRaiseHandMessage = force;
}
}
private void MapRequestAttempts(AppSettings settings, object value)
{
@@ -126,5 +139,12 @@ namespace SafeExamBrowser.Configuration.ConfigurationData.DataMapping
settings.Server.ServerUrl = url;
}
}
private void MapShowRaiseHand(AppSettings settings, object value)
{
if (value is bool show)
{
settings.Server.Invigilation.ShowRaiseHandNotification = show;
}
}
}
}

View File

@@ -74,15 +74,15 @@ namespace SafeExamBrowser.Configuration.ConfigurationData
private void InitializeClipboardSettings(AppSettings settings)
{
settings.Browser.UseIsolatedClipboard = false;
settings.Keyboard.AllowCtrlC = true;
settings.Keyboard.AllowCtrlV = true;
settings.Keyboard.AllowCtrlX = true;
settings.Browser.UseIsolatedClipboard = settings.Security.ClipboardPolicy == ClipboardPolicy.Isolated;
settings.Keyboard.AllowCtrlC = settings.Security.ClipboardPolicy != ClipboardPolicy.Block;
settings.Keyboard.AllowCtrlV = settings.Security.ClipboardPolicy != ClipboardPolicy.Block;
settings.Keyboard.AllowCtrlX = settings.Security.ClipboardPolicy != ClipboardPolicy.Block;
}
private void InitializeProctoringSettings(AppSettings settings)
{
settings.Proctoring.Enabled = false;
settings.Proctoring.Enabled = settings.Proctoring.ScreenProctoring.Enabled;
}
private void RemoveLegacyBrowsers(AppSettings settings)

View File

@@ -242,7 +242,6 @@ namespace SafeExamBrowser.Configuration.ConfigurationData
settings.PowerSupply.ChargeThresholdLow = 0.2;
settings.Proctoring.Enabled = false;
settings.Proctoring.ForceRaiseHandMessage = false;
settings.Proctoring.ScreenProctoring.CacheSize = 500;
settings.Proctoring.ScreenProctoring.Enabled = false;
settings.Proctoring.ScreenProctoring.ImageDownscaling = 1.0;
@@ -253,7 +252,6 @@ namespace SafeExamBrowser.Configuration.ConfigurationData
settings.Proctoring.ScreenProctoring.MetaData.CaptureApplicationData = true;
settings.Proctoring.ScreenProctoring.MetaData.CaptureBrowserData = true;
settings.Proctoring.ScreenProctoring.MetaData.CaptureWindowTitle = true;
settings.Proctoring.ShowRaiseHandNotification = true;
settings.Proctoring.ShowTaskbarNotification = true;
settings.Security.AllowApplicationLogAccess = false;
@@ -266,12 +264,15 @@ namespace SafeExamBrowser.Configuration.ConfigurationData
settings.Security.VerifyCursorConfiguration = false;
settings.Security.VerifySessionIntegrity = false;
settings.Security.VirtualMachinePolicy = VirtualMachinePolicy.Allow;
settings.Security.AllowWindowCapture = false;
settings.Server.Invigilation.ForceRaiseHandMessage = false;
settings.Server.Invigilation.ShowRaiseHandNotification = true;
settings.Server.PerformFallback = false;
settings.Server.PingInterval = 1000;
settings.Server.RequestAttemptInterval = 2000;
settings.Server.RequestAttempts = 5;
settings.Server.RequestTimeout = 30000;
settings.Server.PerformFallback = false;
settings.Service.DisableChromeNotifications = false;
settings.Service.DisableEaseOfAccessOptions = false;
@@ -310,6 +311,7 @@ namespace SafeExamBrowser.Configuration.ConfigurationData
settings.UserInterface.Taskbar.ShowNetwork = false;
settings.Browser.HomeUrl = "https://google.com";
return settings;
}
}

View File

@@ -230,8 +230,6 @@ namespace SafeExamBrowser.Configuration.ConfigurationData
internal static class Proctoring
{
internal const string ForceRaiseHandMessage = "raiseHandButtonAlwaysPromptMessage";
internal const string ShowRaiseHand = "raiseHandButtonShow";
internal const string ShowTaskbarNotification = "showProctoringViewButton";
internal static class ScreenProctoring
@@ -265,6 +263,7 @@ namespace SafeExamBrowser.Configuration.ConfigurationData
internal const string AllowStickyKeys = "allowStickyKeys";
internal const string AllowTermination = "allowQuit";
internal const string AllowVirtualMachine = "allowVirtualMachine";
internal const string AllowWindowCapture = "allowScreenSharing";
internal const string ClipboardPolicy = "clipboardPolicy";
internal const string DisableSessionChangeLockScreen = "disableSessionChangeLockScreen";
internal const string KioskModeCreateNewDesktop = "createNewDesktop";
@@ -284,6 +283,7 @@ namespace SafeExamBrowser.Configuration.ConfigurationData
internal const string Configuration = "sebServerConfiguration";
internal const string ExamId = "exam";
internal const string FallbackPasswordHash = "sebServerFallbackPasswordHash";
internal const string ForceRaiseHandMessage = "raiseHandButtonAlwaysPromptMessage";
internal const string Institution = "institution";
internal const string PerformFallback = "sebServerFallback";
internal const string PingInterval = "pingInterval";
@@ -291,6 +291,7 @@ namespace SafeExamBrowser.Configuration.ConfigurationData
internal const string RequestAttemptInterval = "sebServerFallbackAttemptInterval";
internal const string RequestTimeout = "sebServerFallbackTimeout";
internal const string ServerUrl = "sebServerURL";
internal const string ShowRaiseHand = "raiseHandButtonShow";
}
internal static class Service