Skip to content
This repository has been archived by the owner on May 21, 2021. It is now read-only.

Commit

Permalink
Merge pull request #20 from SafeExamBrowser/2.1.7
Browse files Browse the repository at this point in the history
SEB for Windows 2.1.7
  • Loading branch information
danschlet committed Sep 29, 2017
2 parents df78703 + 9671966 commit 47de693
Show file tree
Hide file tree
Showing 25 changed files with 1,682 additions and 1,447 deletions.
8 changes: 8 additions & 0 deletions .gitignore
Expand Up @@ -18,6 +18,14 @@ bld/
[Bb]in/
[Oo]bj/

/

# Visual Studio 2015 cache/options directory

.vs/



# Roslyn cache directories
*.ide/

Expand Down
Binary file modified InstallShield 2012 Spring Projects/SafeExamBrowser_2016.ism
Binary file not shown.
6 changes: 3 additions & 3 deletions SEBWindowsServiceContracts/Properties/AssemblyInfo.cs
Expand Up @@ -10,7 +10,7 @@
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("SEBWindowsServiceContracts")]
[assembly: AssemblyCopyright("Copyright © 2016 ETH Zurich")]
[assembly: AssemblyCopyright("Copyright © 2010-2017 ETH Zurich, Educational Development and Technology (LET)")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

Expand All @@ -32,5 +32,5 @@
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyInformationalVersion("1.0.0.0")]
[assembly: AssemblyVersion("2.1.*")]
[assembly: AssemblyInformationalVersion("2.1.7")]
9 changes: 5 additions & 4 deletions SEBWindowsServiceContracts/RegistryServiceContract.cs
Expand Up @@ -3,10 +3,10 @@

namespace SEBWindowsServiceContracts
{
/// <summary>
/// The contact for the WCF Service
/// </summary>
[ServiceContract]
/// <summary>
/// The contact for the WCF Service
/// </summary>
[ServiceContract]
public interface IRegistryServiceContract
{
[OperationContract]
Expand All @@ -28,6 +28,7 @@ public interface IRegistryServiceContract
/// Don't add a value without creating the corresponding subclass of RegistryEntry
public enum RegistryIdentifiers
{
DisableChromeNotifications,
DisableLockWorkstation,
DisableTaskMgr,
DisableChangePassword,
Expand Down
2 changes: 1 addition & 1 deletion SebRegistryResetter/Properties/AssemblyInfo.cs
Expand Up @@ -33,4 +33,4 @@
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("2.1.*")]
[assembly: AssemblyInformationalVersion("2.1.6")]
[assembly: AssemblyInformationalVersion("2.1.7")]
Expand Up @@ -218,7 +218,8 @@ public class SEBSettings
public const String KeyOS = "os";
public const String KeyTitle = "title";
public const String KeyDescription = "description";
public const String KeyExecutable = "executable";
public const String KeyExecutable = "executable";
public const String KeyOriginalName = "originalName";
public const String KeyPath = "path";
public const String KeyIdentifier = "identifier";
public const String KeyUser = "user";
Expand Down Expand Up @@ -418,6 +419,7 @@ public enum operatingSystems
public static ListObj prohibitedProcessList = new ListObj();
public static DictObj prohibitedProcessData = new DictObj();
public static DictObj prohibitedProcessDataDefault = new DictObj();
private static List<string> prohibitedProcessesDefault;

public static int urlFilterRuleIndex;
public static ListObj urlFilterRuleList = new ListObj();
Expand Down Expand Up @@ -666,6 +668,7 @@ public static void CreateDefaultAndCurrentSettingsFromScratch()
SEBSettings.permittedProcessDataXulRunner.Add(SEBSettings.KeyTitle , "SEB");
SEBSettings.permittedProcessDataXulRunner.Add(SEBSettings.KeyDescription, "");
SEBSettings.permittedProcessDataXulRunner.Add(SEBSettings.KeyExecutable, SEBClientInfo.XUL_RUNNER);
SEBSettings.permittedProcessDataXulRunner.Add(SEBSettings.KeyOriginalName, SEBClientInfo.XUL_RUNNER);
SEBSettings.permittedProcessDataXulRunner.Add(SEBSettings.KeyPath , "../xulrunner/");
SEBSettings.permittedProcessDataXulRunner.Add(SEBSettings.KeyIdentifier , "XULRunner");
SEBSettings.permittedProcessDataXulRunner.Add(SEBSettings.KeyWindowHandlingProcess , "");
Expand All @@ -682,7 +685,8 @@ public static void CreateDefaultAndCurrentSettingsFromScratch()
SEBSettings.permittedProcessDataDefault.Add(SEBSettings.KeyOS, IntWin);
SEBSettings.permittedProcessDataDefault.Add(SEBSettings.KeyTitle , "");
SEBSettings.permittedProcessDataDefault.Add(SEBSettings.KeyDescription, "");
SEBSettings.permittedProcessDataDefault.Add(SEBSettings.KeyExecutable , "");
SEBSettings.permittedProcessDataDefault.Add(SEBSettings.KeyExecutable, "");
SEBSettings.permittedProcessDataDefault.Add(SEBSettings.KeyOriginalName, "");
SEBSettings.permittedProcessDataDefault.Add(SEBSettings.KeyPath , "");
SEBSettings.permittedProcessDataDefault.Add(SEBSettings.KeyIdentifier , "");
SEBSettings.permittedProcessDataDefault.Add(SEBSettings.KeyWindowHandlingProcess , "");
Expand All @@ -694,12 +698,15 @@ public static void CreateDefaultAndCurrentSettingsFromScratch()
SEBSettings.prohibitedProcessDataDefault.Add(SEBSettings.KeyCurrentUser, true);
SEBSettings.prohibitedProcessDataDefault.Add(SEBSettings.KeyStrongKill , false);
SEBSettings.prohibitedProcessDataDefault.Add(SEBSettings.KeyOS , IntWin);
SEBSettings.prohibitedProcessDataDefault.Add(SEBSettings.KeyExecutable , "");
SEBSettings.prohibitedProcessDataDefault.Add(SEBSettings.KeyExecutable, "");
SEBSettings.prohibitedProcessDataDefault.Add(SEBSettings.KeyOriginalName, "");
SEBSettings.prohibitedProcessDataDefault.Add(SEBSettings.KeyDescription, "");
SEBSettings.prohibitedProcessDataDefault.Add(SEBSettings.KeyIdentifier , "");
SEBSettings.prohibitedProcessDataDefault.Add(SEBSettings.KeyWindowHandlingProcess , "");
SEBSettings.prohibitedProcessDataDefault.Add(SEBSettings.KeyUser , "");

SEBSettings.prohibitedProcessesDefault = new List<string> { "Chrome", "Chromium", "Vivaldi", "Opera", "browser", "slimjet", "UCBrowser", "Firefox" };

// Default settings for group "Network - Filter"
SEBSettings.settingsDefault.Add(SEBSettings.KeyEnableURLFilter , false);
SEBSettings.settingsDefault.Add(SEBSettings.KeyEnableURLContentFilter, false);
Expand Down Expand Up @@ -1415,10 +1422,59 @@ public static void PermitXulRunnerProcess()
//SEBSettings.permittedProcessList.Insert (indexOfProcessXulRunnerExe, SEBSettings.permittedProcessDataXulRunner);
}

AddDefaultProhibitedProcesses();
return;
}

public static void AddDefaultProhibitedProcesses()
{
// Get the Prohibited Process list
SEBSettings.prohibitedProcessList = (ListObj)SEBSettings.settingsCurrent[SEBSettings.KeyProhibitedProcesses];

foreach (string defaultProhibitedProcessName in prohibitedProcessesDefault)
{
// Position of this default prohibited process in Prohibited Process list
int indexOfProcess = -1;

string prohibitedProcessFilenameWithoutExtension = Path.GetFileNameWithoutExtension(defaultProhibitedProcessName);

// Traverse Prohibited Processes of currently opened file
for (int listIndex = 0; listIndex < SEBSettings.prohibitedProcessList.Count; listIndex++)
{
DictObj prohibitedProcessData = (DictObj)SEBSettings.prohibitedProcessList[listIndex];

// Check if this prohibited process already is in Prohibited Process list in current settings
if (Path.GetFileNameWithoutExtension((string)prohibitedProcessData[SEBSettings.KeyOriginalName]).Equals(prohibitedProcessFilenameWithoutExtension, StringComparison.InvariantCultureIgnoreCase) ||
Path.GetFileNameWithoutExtension((string)prohibitedProcessData[SEBSettings.KeyExecutable]).Equals(prohibitedProcessFilenameWithoutExtension, StringComparison.InvariantCultureIgnoreCase))
indexOfProcess = listIndex;

} // next listIndex

// If this default prohibited process was not in Prohibited Process list, insert it at the beginning
if (indexOfProcess == -1)
{
SEBSettings.prohibitedProcessList.Insert(0, prohibitetProcessDictForProcess(defaultProhibitedProcessName));
}
}
}

private static DictObj prohibitetProcessDictForProcess(string processName)
{
DictObj prohibitedProcessDict = new DictObj();

prohibitedProcessDict.Add(SEBSettings.KeyActive, true);
prohibitedProcessDict.Add(SEBSettings.KeyCurrentUser, true);
prohibitedProcessDict.Add(SEBSettings.KeyStrongKill, false);
prohibitedProcessDict.Add(SEBSettings.KeyOS, IntWin);
prohibitedProcessDict.Add(SEBSettings.KeyExecutable, processName);
prohibitedProcessDict.Add(SEBSettings.KeyOriginalName, processName);
prohibitedProcessDict.Add(SEBSettings.KeyDescription, "");
prohibitedProcessDict.Add(SEBSettings.KeyIdentifier, "");
prohibitedProcessDict.Add(SEBSettings.KeyWindowHandlingProcess, "");
prohibitedProcessDict.Add(SEBSettings.KeyUser, "");

return prohibitedProcessDict;
}

// **************
// Print settings
Expand Down
31 changes: 31 additions & 0 deletions SebWindowsClient/SebWindowsClient/ProcessUtils/ExecutableInfo.cs
@@ -0,0 +1,31 @@
using System;

namespace SebWindowsClient.ProcessUtils
{
public class ExecutableInfo
{
public string Name { get; }
public string OriginalName { get; }

public ExecutableInfo(string name, string originalName = null)
{
Name = name ?? string.Empty;
OriginalName = originalName ?? string.Empty;
}

public bool HasName
{
get { return !String.IsNullOrEmpty(Name); }
}

public bool HasOriginalName
{
get { return !String.IsNullOrEmpty(OriginalName); }
}

public bool NamesAreEqual
{
get { return Name.Equals(OriginalName, StringComparison.InvariantCultureIgnoreCase); }
}
}
}

0 comments on commit 47de693

Please sign in to comment.