SEBWIN-772: Added user-specific cursor path to verification.
This commit is contained in:
		
							parent
							
								
									ca02b1d674
								
							
						
					
					
						commit
						4ac982a3dd
					
				
					 1 changed files with 9 additions and 2 deletions
				
			
		|  | @ -18,6 +18,9 @@ namespace SafeExamBrowser.Runtime.Operations | |||
| { | ||||
| 	internal class SessionIntegrityOperation : SessionOperation | ||||
| 	{ | ||||
| 		private static readonly string USER_PATH = $@"{Environment.ExpandEnvironmentVariables("%LocalAppData%")}\Microsoft\Windows\Cursors\";
 | ||||
| 		private static readonly string SYSTEM_PATH = $@"{Environment.ExpandEnvironmentVariables("%SystemRoot%")}\Cursors\";
 | ||||
| 
 | ||||
| 		private readonly ILogger logger; | ||||
| 		private readonly IRegistry registry; | ||||
| 
 | ||||
|  | @ -66,7 +69,6 @@ namespace SafeExamBrowser.Runtime.Operations | |||
| 		private bool VerifyCursorConfiguration() | ||||
| 		{ | ||||
| 			var success = true; | ||||
| 			var systemPath = $@"{Environment.ExpandEnvironmentVariables("%SystemRoot%")}\Cursors\";
 | ||||
| 
 | ||||
| 			logger.Info($"Attempting to verify cursor configuration..."); | ||||
| 
 | ||||
|  | @ -75,7 +77,7 @@ namespace SafeExamBrowser.Runtime.Operations | |||
| 				foreach (var cursor in cursors.Where(c => !string.IsNullOrWhiteSpace(c))) | ||||
| 				{ | ||||
| 					success &= registry.TryRead(RegistryValue.UserHive.Cursors_Key, cursor, out var value); | ||||
| 					success &= value == default || !(value is string) || (value is string path && (string.IsNullOrWhiteSpace(path) || path.StartsWith(systemPath, StringComparison.OrdinalIgnoreCase))); | ||||
| 					success &= value == default || !(value is string) || (value is string path && (string.IsNullOrWhiteSpace(path) || IsValidCursorPath(path))); | ||||
| 
 | ||||
| 					if (!success) | ||||
| 					{ | ||||
|  | @ -98,6 +100,11 @@ namespace SafeExamBrowser.Runtime.Operations | |||
| 			return success; | ||||
| 		} | ||||
| 
 | ||||
| 		private bool IsValidCursorPath(string path) | ||||
| 		{ | ||||
| 			return path.StartsWith(USER_PATH, StringComparison.OrdinalIgnoreCase) || path.StartsWith(SYSTEM_PATH, StringComparison.OrdinalIgnoreCase); | ||||
| 		} | ||||
| 
 | ||||
| 		private bool VerifyEaseOfAccessConfiguration() | ||||
| 		{ | ||||
| 			var success = false; | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Damian Büchel
						Damian Büchel