Commit graph

295 commits

Author SHA1 Message Date
dbuechel
955ae3545e Refactored configuration data mapping. 2019-12-20 10:03:47 +01:00
dbuechel
130dd45ff6 SEBWIN-310: Implemented quit URL. 2019-12-19 15:02:40 +01:00
dbuechel
42eccef565 Cleaned and restructured browser settings namespace. 2019-12-18 08:24:55 +01:00
dbuechel
5b3a2a3861 SEBWIN-315: Implemented basic proxy support. 2019-12-18 08:09:59 +01:00
dbuechel
eb3a87016e SEBWIN-304: Implemented same host policies for browser popups. 2019-12-13 16:10:10 +01:00
dbuechel
1f4043619f SEBWIN-304: Implemented browser popup policy. 2019-12-12 15:41:05 +01:00
dbuechel
a54513259d SEBWIN-305: Default values for browser window size and position. 2019-12-11 12:24:05 +01:00
dbuechel
90b73ec8aa SEBWIN-305: Implemented size and position configuration for browser windows. 2019-12-11 11:09:24 +01:00
dbuechel
a18a404ed6 SEBWIN-312: Ensured applications which are allowed to be running are not automatically terminated. 2019-12-06 10:47:44 +01:00
dbuechel
6ab7047639 SEBWIN-312: Corrected original name check for whitelisted applications and changed method to retrieve process names (to ensure image file extension remains present). 2019-11-22 14:58:34 +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
c21005b934 SEBWIN-312: Implemented loading of whitelisted applications into shell. 2019-11-06 08:45:37 +01:00
dbuechel
f778d5b848 SEBWIN-312: Implemented mapping for configuration values of whitelisted applications. 2019-10-30 11:08:42 +01:00
dbuechel
b6dbe6451d SEBWIN-313: Implemented lock screen mechanism for blacklisted processes. 2019-10-11 15:46:15 +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
0159b9c0de SEBWIN-314: Added functionality to automatically allow start URL when request filtering is active. 2019-09-24 08:53:29 +02:00
dbuechel
6d1b282b33 SEBWIN-314: Started implementing filter rules with unit tests. 2019-09-18 16:15:26 +02:00
dbuechel
5209103c97 SEBWIN-314: Completed infrastructure for browser request filtering. 2019-09-13 09:17:14 +02:00
dbuechel
dda48396b3 Unified naming and comments for settings. 2019-09-10 11:53:30 +02:00
dbuechel
1dd65e1bda SEBWIN-314: Completed infrastructure for request filter. 2019-09-10 11:01:49 +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
b8fd96a10c SEBWIN-314: Started implementing scaffolding for request filter. 2019-09-06 08:13:27 +02:00
dbuechel
c282623eb4 SEBWIN-314: Started implementing request filter. 2019-09-05 08:38:59 +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
938afcb4a7 SEBWIN-314: Started with network filter implementation. 2019-08-29 10:29:19 +02:00
dbuechel
758b61084a SEBWIN-303: Implemented audio settings. 2019-08-16 08:26:11 +02:00
dbuechel
768336e381 SEBWIN-303: Started implementing audio control. 2019-08-15 10:46:47 +02:00
dbuechel
b71529da31 SEBWIN-338: Introduced program build version. 2019-08-13 10:02:05 +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
dd801245d2 SEBWIN-301: Finished basic backup mechanism for service. 2019-06-26 10:13:11 +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
3589b92b9d SEBWIN-301: Implemented service log file persistence in user directory. 2019-06-18 15:51:35 +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
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
8b0cc6db71 SEBWIN-329: URL textbox is now hidden when disabled and the developer console is accessible via the browser menu. Removed spinning wheel and introduced loading progress indicator. 2019-05-22 11:42:31 +02:00
dbuechel
305110f239 SEBWIN-104: Made about notification configurable and removed it and log notification from taskbar by default. 2019-05-08 10:12:22 +02:00
dbuechel
137b463044 SEBWIN-106: Implemented URL randomization for browser window. 2019-05-08 09:56:34 +02:00
dbuechel
9e246ba4a6 SEBWIN-226: Removed configuration value overrides. 2019-04-02 08:28:53 +02: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
51586fdda4 SEBWIN-226: Mapped configuration values for action center. 2019-03-29 09:14:54 +01:00
dbuechel
90fefae248 SEBWIN-226: Leveraged new possibility of .NET 4.7 to keep inner stream of GZipStream open. 2019-03-28 08:44:34 +01:00
dbuechel
b7167d35f6 SEBWIN-141: Implemented scaffolding for touch-optimized user interface. 2019-03-21 16:05:16 +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
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
b4ae1745fc SEBWIN-141: Implemented quit button and clock for action center. 2019-03-15 11:38:59 +01:00
dbuechel
a47f68422c SEBWIN-141: Implemented wireless network control for action center and revised keyboard layout control for taskbar. 2019-03-15 09:44:17 +01:00
dbuechel
5ba6e6345c SEBWIN-141: Extended / changed implementation of keyboard layout for action center and taskbar. 2019-03-12 16:18:27 +01:00
dbuechel
31857bfb25 SEBWIN-141: Extended system component contracts and implementations to allow multiple controls per component and started to implement action center functionality. 2019-03-08 15:56:38 +01:00
dbuechel
1625e7fa2b SEBWIN-226: Added mapping for kiosk mode configuration. 2019-03-07 08:34:47 +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
5016c14ff3 SEBWIN-296: Implemented unit tests for configuration repository. 2019-02-22 10:02:34 +01:00
dbuechel
f8cb521a1e SEBWIN-296: Implemented unit tests for substream. 2019-02-21 13:39:45 +01:00
dbuechel
418a834a0a SEBWIN-296: Fixed errors in XML parser and extended its unit tests. 2019-02-20 16:18:43 +01:00
dbuechel
f2b3e8e32b SEBWIN-296: Extended unit tests for XML parser. 2019-02-20 13:02:12 +01:00
dbuechel
ef298836f1 SEBWIN-296: Implemented unit tests for XML parser. 2019-02-20 11:58:10 +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
f817f31f2d SEBWIN-296: Implemented unit tests for GZip compressor. 2019-02-19 11:01:14 +01:00
dbuechel
dd0fc7a09b SEBWIN-296: Implemented unit tests for public key hash encryption. 2019-02-19 10:22:32 +01:00
dbuechel
86e494e611 SEBWIN-296: Discovered and fixed epic bug in SubStream & PasswordEncryption by implementing unit tests for the latter. 2019-02-15 15:21:26 +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
1068efc384 SEBWIN-226: Implemented mapping of download configuration. 2019-01-23 14:37:24 +01:00
dbuechel
72c61d21ab SEBWIN-226: Removed TrySaveSettings from configuration API. 2019-01-23 11:40:33 +01:00
dbuechel
c6556a7765 SEBWIN-226: Implemented configuration for main / additional browser windows and handled forward / backward navigation buttons. 2019-01-23 09:37:47 +01:00
dbuechel
6436f98e3f SEBWIN-226: Implemented global log severity threshold. 2019-01-23 08:12:15 +01:00
dbuechel
483eec6ef8 SEBWIN-106: Fixed loading / rendering issues with favicons and application instance button and enabled popups for default settings. 2019-01-18 09:58:14 +01:00
dbuechel
f949a19f32 SEBWIN-106: Implemented basic popup and reload handling, revised browser control implementation and added mouse button interception for navigation (auxiliary) keys. Also finally implemented a custom template for small scrollbars in scrollviewers. 2019-01-17 11:12:17 +01:00
dbuechel
91c2417930 SEBWIN-106: Working on browser zoom... 2019-01-15 10:44:35 +01:00
dbuechel
3853244244 SEBWIN-104: Implemented new configuration key for the application log window. 2019-01-11 09:16:14 +01:00
dbuechel
704aea3a45 SEBWIN-223, SEBWIN-224: Implemented user interface and browser configuration mapping. 2019-01-11 08:25:40 +01:00
dbuechel
b4839641d4 SEBWIN-222: Implemented quit password. 2019-01-10 10:04:30 +01:00
dbuechel
7c58c10b86 SEBWIN-112, SEBWIN-113: Implemented data value mapping for keyboard and mouse configuration. 2019-01-09 16:01:56 +01:00
dbuechel
4edd8480ef Updated year to 2019 for all copyright notices. 2019-01-09 11:25:21 +01:00
dbuechel
fc179fe47d SEBWIN-221: Implemented public key hash encryption. 2019-01-08 14:10:45 +01:00
dbuechel
ee166796a5 SEBWIN-221: Fixed parsing of empty XML value tags (bool & string). 2018-12-21 11:52:04 +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
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
483ba7ad4a SEBWIN-221: Implemented basic certificate decryption. 2018-11-29 15:00:10 +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
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
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
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
ef31db9920 SEBWIN-220: Replaced guid with abstact InstanceIdentifier for application instances and started to implement logging for browser component. 2018-08-31 07:49:41 +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
02d69005c0 SEBWIN-220: Moved SEB URI schemes to global application configuration. 2018-08-14 09:06:35 +02:00
dbuechel
9a12bbdb7d SEBWIN-220: Finally renamed RuntimeInfo to AppConfig. 2018-06-29 09:50:20 +02:00
dbuechel
9014a6e6be SEBWIN-220: Completed basic set of unit tests for ConfigurationOperation. 2018-06-28 13:40:30 +02:00
dbuechel
50dcb7502a SEBWIN-220: Scaffolding for new (re-)configuration procedure. 2018-06-21 07:56:25 +02:00
dbuechel
ec588e50bc SEBWIN-219: Tidied up communication namespace. 2018-03-15 14:32:07 +01:00
dbuechel
be761fd72c SEBWIN-219: Implemented logging of component and session IDs and introduced IProxyFactory for client proxy instantiation during session startup. 2018-03-14 11:04:28 +01:00
dbuechel
993329bd71 SEBWIN-219: Finished basic implementation of reconfiguration mechanism. 2018-03-08 15:27:12 +01:00
dbuechel
5bd1d9dea4 SEBWIN-219: Found acceptable solution for interception of configuration requests. 2018-03-08 07:35:58 +01:00
dbuechel
f5ef7fa859 SEBWIN-219: Cleaned up remaining TODOs. 2018-02-28 09:45:29 +01:00
dbuechel
2424f2f1ed SEBWIN-219: Implemented basic shutdown mechanism. 2018-02-20 15:15:26 +01:00
dbuechel
d3dea29ecd SEBWIN-219: Basic startup sequence is now working. 2018-02-16 13:15:16 +01:00
dbuechel
d935407ecb SEBWIN-219: Working on IPC mechanics. 2018-02-15 15:42:54 +01:00
dbuechel
dda1b78ec5 SEBWIN-219: Finished scaffolding for application startup sequence. 2018-02-14 15:26:05 +01:00
dbuechel
10202a807f SEBWIN-219: Adapted startup procedure for client component by introducing the DelayedInitializationOperation. 2018-02-12 12:21:55 +01:00
dbuechel
66e9078a4c SEBWIN-219: Implemented draft of session mechanism. 2018-02-08 13:32:48 +01:00
dbuechel
8cd0659a22 SEBWIN-219: Implemented draft of communication operation and runtime communication host. 2018-02-06 15:12:11 +01:00
dbuechel
18b8f66300 SEBWIN-219: Continued implementing kiosk operation and realized that further changes to startup/runtime/shutdown-mechanism are necessary... 2018-01-30 14:41:36 +01:00
dbuechel
1e8eb858de SEBWIN-219: Added ignore flag for service proxy. 2018-01-25 09:50:46 +01:00
dbuechel
ebc12934bf SEBWIN-219: Implemented basic service operation. 2018-01-24 12:34:32 +01:00
dbuechel
c56b4a0251 SEBWIN-219: Started defining & implementing communication contracts and functionality. 2018-01-23 15:33:54 +01:00
dbuechel
57c3afdaa5 SEBWIN-219: Introduced configuration mode and continued with configuration operation. 2018-01-19 09:23:09 +01:00
dbuechel
39261f5222 SEBWIN-219: Started implementing the configuration operation. 2018-01-18 15:14:05 +01:00
dbuechel
0b52095453 SEBWIN-219: Separated immutable, application-wide configuration values from settings. 2018-01-17 14:08:39 +01:00
dbuechel
e1a0e9b3d6 SEBWIN-219: Separated existing functionality between runtime and client. 2018-01-17 08:26:44 +01:00
dbuechel
ff956daf39 SEBWIN-219: Updated assembly information and copyright year. 2018-01-16 08:24:00 +01:00
dbuechel
a118f52ee3 SEBWIN-110: Refactored configuration so that all taskbar-related settings are in the same interface. 2017-11-09 10:27:55 +01:00
dbuechel
8be4fdda29 SEBWIN-183: Refactored I18n components and extended their unit tests. 2017-10-10 10:17:28 +02:00
dbuechel
da7e65e7e8 SEBWIN-110: Implemented a basic version of the keyboard layout system control. 2017-09-13 08:33:12 +02:00
dbuechel
7baf826e5a Refactored taskbar components (moved contracts to separate namespace and introduced XAML control templates) and started implementing system components. 2017-08-15 15:30:31 +02:00
dbuechel
1c26d54e34 Removed unused assembly references. 2017-08-15 08:39:10 +02:00
Damian Büchel
a5d44e1ef8 Started implementing system controls. Introduced sytem information module... 2017-08-14 17:44:16 +02:00
dbuechel
939bc7f79a Implemented basic display / sleep mode handling and added logging to taskbar. 2017-08-11 08:28:17 +02:00
Damian Büchel
e959c8cb39 Implemented very basic log window. 2017-08-07 12:23:56 +02:00
dbuechel
0807b5f5f9 Implemented basic mouse interception. 2017-08-04 15:20:33 +02:00
dbuechel
a79f0c6d77 Implemented basic keyboard monitoring. 2017-08-04 12:19:56 +02:00
dbuechel
32980f9f97 Abstracted type RECT used by native Windows API. 2017-08-04 08:25:49 +02:00
dbuechel
6861353b64 Implemented draft of the about window. 2017-08-02 10:13:23 +02:00
Damian Büchel
5c365f02b0 Continued implementation of browser window, i.e. added basic browser functionality like address bar, refresh and navigation. 2017-07-31 20:22:53 +02:00
dbuechel
714d300758 Working on browser configuration. 2017-07-28 14:52:15 +02:00
dbuechel
8c32d3bc4a Improved window handling and replaced whitespaces in log file names with underscores. 2017-07-27 13:57:12 +02:00
dbuechel
25105d61b1 Completed basic implementation of window and process monitoring. 2017-07-27 11:46:31 +02:00
dbuechel
8e4f818159 Implemented basic browser window and moved log file paths to settings. 2017-07-26 08:50:36 +02:00
Damian Büchel
429685463b Started implementing the browser component. 2017-07-24 17:31:28 +02:00
Damian Büchel
1153fea091 Enhanced startup- and shutdown-procedure by introducing a stack of IOperations (which are automatically reverted on shutdown or if an error happens during startup). 2017-07-21 10:04:27 +02:00
Damian Büchel
eb6fbf49b8 Implemented basic handling of working area. 2017-07-20 14:16:47 +02:00