Commit graph

206 commits

Author SHA1 Message Date
Damian Büchel
4af0cc0d48 SEBWIN-405: Implemented mechanism to retrieve server failure action via client. 2020-07-31 20:35:18 +02:00
Damian Büchel
4d59ee399d SEBWIN-405: Implemented mechanism to retrieve exam selection via client. 2020-07-31 19:57:08 +02:00
Damian Büchel
22f6e8b664 SEBWIN-405: Implemented scaffolding for detection of session identifier. 2020-07-29 23:39:05 +02:00
Damian Büchel
bc06a0c985 SEBWIN-405: Prepared infrastructure in client for server functionality. 2020-07-28 19:56:25 +02:00
Damian Büchel
ef13cfe9c5 SEBWIN-405: Implemented loading of server exam configuration. 2020-07-27 15:58:30 +02:00
Damian Büchel
7915d4dff9 SEBWIN-405: Implemented server failure dialog. 2020-07-24 18:22:22 +02:00
Damian Büchel
c2cd3a742f SEBWIN-405: Implemented basic server binding up to exam selection. 2020-07-22 18:11:51 +02:00
Damian Büchel
0edca494b3 SEBWIN-405: Implemented scaffolding for SEB server operation. 2020-07-13 22:57:19 +02:00
Damian Büchel
261a331634 SEBWIN-405: Implemented server settings and data mapping. 2020-07-01 13:39:17 +02:00
Damian Büchel
c8b6aad877 SEBWIN-410: Implemented new default behavior to ignore the SEB service. 2020-06-23 13:53:10 +02:00
Damian Büchel
8e075264a4 SEBWIN-362: Ensured all UI element implementations are only accessible via a façade. 2020-03-17 11:07:40 +01:00
Damian Büchel
6163c98e08 SEBWIN-362: Removed unused contracts (and assemblies) for client, runtime and service controllers. 2020-03-16 13:38:25 +01:00
Damian Büchel
e5659632b9 SEBWIN-356: Changed I18n implementation to automatically load text data for current system language. 2020-03-09 17:35:48 +01:00
Damian Büchel
09b7da5eae SEBWIN-373: Turns out that it isn't necessary to terminate the Windows shell for kiosk mode Create New Desktop, at least with version 1909. Version 1803 did not allow SEB to set its own working area, now it appears to work even while the Windows shell is running. Amazing. 2020-03-01 11:13:41 +01:00
Damian Büchel
5f01973b57 SEBWIN-373: Fixed system freeze caused by kiosk mode Create New Desktop due to it freezing the Windows shell. Thus, the Windows shell will henceforth be terminated for both kiosk modes. Furthermore ensured that processes started by SEB do not retain handles to the SEB directory. 2020-02-28 18:59:46 +01:00
dbuechel
07bb78e637 SEBWIN-363, SEBWIN-357: Ensured session is retained when loading a configuration from a server which requires authentication and introduced new flag to determine whether a reconfiguration is allowed or not. Also fixed session persistence when using delete cookies settings. 2020-02-25 10:41:55 +01:00
dbuechel
42e107d7c7 SEBWIN-360: Improved runtime performance by having only one splash screen. 2020-02-14 15:04:33 +01:00
dbuechel
7e3703dc16 Added missing default values for browser and configuration mode. 2020-02-11 10:34:23 +01:00
dbuechel
2cde60b1e7 Fixed issue with splash screen not being closed on client side if reconfiguration was aborted. 2020-02-10 16:47:50 +01:00
dbuechel
5ce5c78641 SEBWIN-309: Implemented draft of browser exam key. 2020-02-10 12:19:25 +01:00
dbuechel
de00dbc13c SEBWIN-352: Implemented new configuration format, i.e. parsing of compressed XML data. Also removed BOM from XML unit test data file. 2020-01-30 15:20:05 +01:00
dbuechel
cf2a74f6ce SEBWIN-308: Ensured temporary configuration file is deleted after reconfiguration. 2020-01-29 10:07:28 +01:00
dbuechel
df61e79861 Updated year in copyright and license remarks. 2020-01-06 15:24:46 +01:00
dbuechel
18fb059ddc SEBWIN-316: Implemented rudimentary VM detection. 2020-01-06 15:11:57 +01:00
dbuechel
bf69a64e15 SEBWIN-316: Added manufacturer, model and name to system info. 2019-12-20 17:06:28 +01:00
dbuechel
175a2e8cf7 SEBWIN-316: Finally grouped all security related settings. Implemented mapping for virtual machine policy. 2019-12-20 11:37:07 +01:00
dbuechel
cf4e229fef SEBWIN-353: Fixed bug with service session not being terminated when startup is aborted. Removed ignore flag from service proxy, as it did not serve any real purpose. 2019-12-10 14:22:18 +01:00
dbuechel
a6a90376ad SEBWIN-344: Removed AnyCPU and introduced x64 platform, adapted setup project to be built for both platforms. Changed configuration tool to .NET 4.7.2. 2019-11-06 15:45:17 +01:00
dbuechel
de6cb5e75c SEBWIN-313: Finished blacklist monitoring. 2019-10-09 14:04:27 +02:00
dbuechel
8d0d1832a9 SEBWIN-311: Removed timeout for client initialization procedure to avoid application termination if user doesn't provide input within timeout. 2019-10-08 10:03:58 +02:00
dbuechel
b72c37273e SEBWIN-313: Started implementing application blacklist mechanism. 2019-10-04 16:36:12 +02:00
dbuechel
8fd22032b6 SEBWIN-311: Started implementing scaffolding for third-party applications & monitoring. Renamed ApplicationSettings to AppSettings, resolved dependency from WindowsApi on Monitoring namespace and introduced ClientContext for runtime data of the client. 2019-10-01 11:30:53 +02:00
dbuechel
367ebf1329 SEBWIN-342: Moved settings to separate assembly. 2019-09-06 09:39:28 +02:00
dbuechel
5f5209622e SEBWIN-342: Moved settings into individiual namespaces according to their purpose. 2019-09-06 08:32:29 +02:00
dbuechel
487e89693a Resolved dependencies from communication API on UI. 2019-08-30 14:02:36 +02:00
dbuechel
fd20d0d638 Finally did what should have been done a long time ago: Moved contracts from SafeExamBrowser.Contracts to new contracts assembly per namespace. 2019-08-30 09:55:26 +02:00
dbuechel
b71529da31 SEBWIN-338: Introduced program build version. 2019-08-13 10:02:05 +02:00
dbuechel
0f639aa550 SEBWIN-300: Ensured output directories of browser, client and runtime are completely emptied on clean and disabled building of setup project for debug configuration. 2019-07-26 10:06:04 +02:00
dbuechel
d9f546aa74 SEBWIN-320: Made mutex names application-wide constants and fixed unit test for lockdown operation. 2019-07-19 10:56:32 +02:00
dbuechel
8d0c83998c SEBWIN-320: Added application manifest for reset utility in order to automatically request admin privileges. Removed unused elements from client and runtime manifests. 2019-07-19 10:28:49 +02:00
dbuechel
68d487dd46 SEBWIN-320: Implemented configuration reset functionality for reset utility. 2019-07-19 10:07:45 +02:00
dbuechel
6f0b0d0fb2 SEBWIN-301: Changed service procedure so that the service initiates a system configuration update on command from the runtime. Added functionality to terminate the application on service connection loss. 2019-07-04 09:12:28 +02:00
dbuechel
39b63218fb SEBWIN-319: Implemented system configuration update for service operation and auto-restore mechanism. 2019-07-03 12:27:02 +02:00
dbuechel
b96bbfcd78 SEBWIN-301: Started implementing backup mechanism for service. 2019-06-21 15:05:31 +02:00
dbuechel
1c7c856c33 SEBWIN-301: Defined settings for service component. 2019-06-20 10:55:24 +02:00
dbuechel
6b24554abc SEBWIN-301: Implemented basic service session procedure. 2019-06-18 10:18:56 +02:00
dbuechel
77a3b50ca9 SEBWIN-301: Moved ServiceOperation in session sequence of runtime to be able to interact with the user and consolidated KioskModeTerminationOperation into KioskModeOperation itself. 2019-06-12 08:46:10 +02:00
dbuechel
e9d91cb898 SEBWIN-301: Switched from interface to data container for session configuration (separated client and service session configuration) and implemented mapping of service policy including the respective message boxes. 2019-06-11 09:53:33 +02:00
dbuechel
73c7e28a33 SEBWIN-301: Started working on service architecture. 2019-06-07 15:26:03 +02:00
dbuechel
ccf7727d4c SEBWIN-301: Fixed usage of application data folder (local for large files vs. roaming for configuration) and implemented basic service operation for runtime. 2019-06-06 15:44:03 +02:00
dbuechel
b29828b724 SEBWIN-329: Implemented new configuration keys to control access to log information during runtime. 2019-05-22 15:16:50 +02:00
dbuechel
ccfbfe7a0b SEBWIN-226: Ensured all message boxes shown by the runtime controller have the correct parent window. 2019-04-02 07:53:00 +02:00
dbuechel
21d0a82b43 SEBWIN-226: Simplified timeouts for client operation. 2019-03-29 16:02:05 +01:00
dbuechel
0d270b1444 SEBWIN-226: Trying to use CI to set correct version and build number for assemblies. 2019-03-29 10:52:00 +01:00
dbuechel
0916dacb7f SEBWIN-226: Increased timeout for client startup to 30 seconds (15 turned out to be too low for slower machines). 2019-03-28 09:05:18 +01:00
dbuechel
f8cfbffcd4 SEBWIN-226: Improved client startup algorithm to immediately abort if client instance terminates unexpectedly. Thus also re-integrated message to user for session start failure. 2019-03-22 15:41:25 +01:00
dbuechel
b7167d35f6 SEBWIN-141: Implemented scaffolding for touch-optimized user interface. 2019-03-21 16:05:16 +01:00
dbuechel
370ea54116 SEBWIN-226: Updated browser engine to version 71.0.2. 2019-03-20 14:07:30 +01:00
dbuechel
4044b62867 SEBWIN-226: Updated target framework for all assemblies to version 4.7.2. 2019-03-20 14:00:36 +01:00
dbuechel
517ceaca4e SEBWIN-117: Changed layout & positioning of the taskbar and action center (WPF caches the current working area but does not allow to manually reset the cache). Ensured that the wallpaper is only changed on Windows 7. 2019-03-19 16:09:07 +01:00
dbuechel
14abfccc2e SEBWIN-226: Changed termination mechanism of explorer shell to accommodate bug (?) in Windows and fixed setting of working area parameters. 2019-03-19 12:26:03 +01:00
dbuechel
d99d46d086 SEBWIN-141: Basic draft of action center including keyboard and touch activators. 2019-03-06 16:10:00 +01:00
dbuechel
9892ace4d9 SEBWIN-296: Extended unit tests for runtime controller. 2019-02-26 07:46:49 +01:00
dbuechel
5016c14ff3 SEBWIN-296: Implemented unit tests for configuration repository. 2019-02-22 10:02:34 +01:00
dbuechel
817d9eaefc SEBWIN-296: Implemented unit tests for binary serializer. 2019-02-20 08:47:30 +01:00
dbuechel
cf7d6c4d3e SEBWIN-296: Decoupled cryptographic implementations from data formats to be able to unit test the latter. 2019-02-19 15:54:11 +01:00
dbuechel
7173109d05 SEBWIN-220: Corrected configuration algorithm to also verify the current administrator password when reconfiguring during application startup. 2019-01-30 14:43:41 +01:00
dbuechel
5641dc3e4b SEBWIN-226: Cleaned up configuration and core contracts by creating new namespaces SafeExamBrowser.Applications, SafeExamBrowser.Client and SafeExamBrowser.Runtime. 2019-01-23 15:57:49 +01:00
dbuechel
6436f98e3f SEBWIN-226: Implemented global log severity threshold. 2019-01-23 08:12:15 +01:00
dbuechel
20962fab05 SEBWIN-141: Renamed assembly "SafeExamBrowser.UserInterface.Classic" to "SafeExamBrowser.UserInterface.Desktop". 2019-01-11 15:32:47 +01:00
dbuechel
4edd8480ef Updated year to 2019 for all copyright notices. 2019-01-09 11:25:21 +01:00
dbuechel
d34ce15e3f SEBWIN-221: Finished saving algorithm for client configuration (including password encryption - public key encryption remains to do). 2018-12-21 11:36:20 +01:00
dbuechel
140abe789e SEBWIN-221: Simplified configuration API for loading and client configuration. 2018-12-14 15:30:10 +01:00
dbuechel
4b634d8e99 SEBWIN-221: Implemented message box communication infrastructure and removed generic session start / stop error messages. 2018-12-14 12:31:31 +01:00
dbuechel
75f5994a3b SEBWIN-221: Extended loading algorithm with functionality required to save data as local client configuration. 2018-12-14 09:50:10 +01:00
dbuechel
f9f2bb3257 SEBWIN-221: Implemented changes in configuration algorithm to accomodate new functionality scope of 3.0 Alpha. 2018-12-11 16:06:10 +01:00
dbuechel
9b639b0c53 SEBWIN-221: Improved configuration loading / parsing algorithm and implemented scaffolding for data mapping. 2018-11-30 14:50:28 +01:00
dbuechel
243d32879e SEBWIN-221: Found better solution for binary format (separated encryption code) and implemented scaffolding for XML parsing. 2018-11-28 15:43:30 +01:00
dbuechel
7f38c0b8c3 SEBWIN-221: Implemented basic password decryption of binary configuration files and finally found correct solution for multi-threading issues related to WPF. 2018-11-22 14:36:20 +01:00
dbuechel
b29fd8c2d7 SEBWIN-221: Implemented basic gzip decompression & binary format detection. The browser is now automatically started after client initialization. 2018-11-15 08:45:17 +01:00
dbuechel
1d58a84db8 SEBWIN-221: Changed configuration file handling to support special case with resource URL as startup URL and switched to data stream instead of byte array. 2018-11-09 14:15:56 +01:00
dbuechel
902b0c2b3b SEBWIN-221: Implemented scaffolding for loading and parsing of configuration resources. 2018-11-08 09:39:52 +01:00
dbuechel
b4f468a2b4 SEBWIN-221: Moved hide & restore windows mechanism for Disable Explorer Shell to IExplorerShell and made reconfiguration dialogs modal to respective browser window. 2018-10-30 11:24:28 +01:00
dbuechel
bae7ed8a25 SEBWIN-221: Fixed unit tests for changes in session handling (introduction of SessionContext). 2018-10-12 15:23:43 +02:00
dbuechel
95ad176047 SEBWIN-221: Fixed implementation of session sequence to correctly handle initialization, transition and termination of sessions by introducing the SessionContext. 2018-10-12 11:16:59 +02:00
dbuechel
f4631a1a3d SEBWIN-221: Fixed issues with the operation model by separating repeatable from non-repeatable operations and solved conundrum with session operation sequence. 2018-10-10 09:19:03 +02:00
dbuechel
7a57cdf93b SEBWIN-221: Changed IProgressIndicator implementation to automatically show busy indication after a delay. All application controllers now create new splash screens before executing an operation sequence. 2018-10-04 11:24:16 +02:00
dbuechel
ed43534e5b SEBWIN-220: Renamed "ProgressIndicator_..." text keys to "OperationStatus_...". 2018-10-03 15:42:50 +02:00
dbuechel
6acd40eb74 SEBWIN-220: Extracted user interface dependencies from all IOperations by introducing ActionRequired, ProgressChanged and StatusChanged events. 2018-10-03 14:35:27 +02:00
dbuechel
0b76770f0f SEBWIN-220: Removed unused dependencies and reverted service-based message box implementation. Need to find solution for message boxes resp. UI interaction from operations in general... 2018-10-02 15:45:45 +02:00
dbuechel
c8001e85f6 SEBWIN-220: Introduced timeout for startup and shutdown of BaseHost. 2018-10-02 08:02:48 +02:00
dbuechel
86d6949a6f SEBWIN-220: Fixed race condition caused by the client stopping its communication host before the runtime had a chance to disconnect from it. 2018-09-28 11:05:49 +02:00
dbuechel
67ba5fcce3 SEBWIN-220: Re-integrated system event hooks, now also running in separate threads. Decreased logging for EndpointNotFoundException in BaseProxy. 2018-09-27 11:24:13 +02:00
dbuechel
bedfc5eac0 SEBWIN-220: Added functionality to suspend / resume the explorer shell process for kiosk mode Create New Desktop, since setting of the working area does not succeed as long as the shell is running. 2018-09-21 11:33:32 +02:00
dbuechel
693829f641 SEBWIN-220: Extended unit test coverage for SafeExamBrowser.Configuration and SafeExamBrowser.Runtime. 2018-09-04 10:58:56 +02:00
dbuechel
8280ac3a92 SEBWIN-220: Implemented basic logging for browser modules. 2018-08-31 15:29:36 +02:00
dbuechel
ec3f2b7ff2 SEBWIN-220: Extracted concerns from core namespace (communication, i18n, logging) and removed behaviour namespace. 2018-08-31 10:06:27 +02:00
dbuechel
d521e2d3c0 SEBWIN-220: Re-integrated kiosk mode "Disable Explorer Shell". 2018-08-17 14:48:50 +02:00
dbuechel
729133ac78 SEBWIN-220: Implemented kiosk mode "Create New Desktop". 2018-08-16 11:23:37 +02:00
dbuechel
c32028d3dd SEBWIN-220: Moved exception handling to proxy implementations by introducing the CommunicationResult. 2018-08-10 13:23:24 +02:00