├── .gitattributes
├── .github
├── ISSUE_TEMPLATE.md
└── ISSUE_TEMPLATE
│ ├── bug_report.md
│ └── feature_request.md
├── .gitignore
├── AboutSEB.png
├── InstallShield 2012 Spring Projects
├── SafeExamBrowser
│ └── Professional
│ │ └── SafeExamBrowserInstaller
│ │ └── DiskImages
│ │ └── DISK1
│ │ └── ISSetupPrerequisites
│ │ └── {72D7E3D1-C9DF-4FA6-9F9B-4E5117AB2919}
│ │ └── dotnetfx45_full_x86_x64.exe
├── SafeExamBrowser_2016.ism
└── SafeExamBrowser_2016.ism.776
├── README.md
├── SEBDocumentIcon.ico
├── SEBWindowsServiceContracts
├── Properties
│ └── AssemblyInfo.cs
├── RegistryServiceContract.cs
└── SEBWindowsServiceContracts.csproj
├── SEBicon.ico
├── SebBackgroundLeftSemi.png
├── SebBanner.bmp
├── SebBanner.jpg
├── SebGlobalDialogBanner.bmp
├── SebGlobalDialogImage.bmp
├── SebRegistryResetter
├── App.config
├── Program.cs
├── Properties
│ └── AssemblyInfo.cs
└── SebRegistryResetter.csproj
├── SebWindowsBrowser
├── xul_seb
│ ├── chrome.manifest
│ ├── chrome
│ │ ├── branding.jar
│ │ ├── branding.manifest
│ │ ├── content
│ │ │ ├── seb
│ │ │ │ ├── css
│ │ │ │ │ └── seb.css
│ │ │ │ ├── err.xul
│ │ │ │ ├── images
│ │ │ │ │ ├── loader.gif
│ │ │ │ │ └── loader_stop.gif
│ │ │ │ ├── load.xul
│ │ │ │ ├── seb.properties
│ │ │ │ ├── seb.xul
│ │ │ │ └── sounds
│ │ │ │ │ ├── snapshot.mp3
│ │ │ │ │ ├── snapshot.ogg
│ │ │ │ │ └── snapshot.wav
│ │ │ └── xullib
│ │ │ │ ├── js
│ │ │ │ └── onload.js
│ │ │ │ └── window.xul
│ │ ├── defaults
│ │ │ └── seb
│ │ │ │ ├── .gitignore
│ │ │ │ ├── config.debug.json
│ │ │ │ ├── config.demo.json
│ │ │ │ ├── config.demo.left.json
│ │ │ │ ├── config.demo.nat.json
│ │ │ │ ├── config.demo.right.json
│ │ │ │ ├── config.json
│ │ │ │ ├── config.local.json
│ │ │ │ ├── config.macctrl.json
│ │ │ │ ├── config.winctrl.json
│ │ │ │ ├── linuxctrl.json
│ │ │ │ ├── macctrl.json
│ │ │ │ ├── preferences
│ │ │ │ ├── debug.js
│ │ │ │ └── prefs.js
│ │ │ │ ├── profile
│ │ │ │ ├── cert8.db
│ │ │ │ ├── cert_override.txt
│ │ │ │ ├── key3.db
│ │ │ │ └── mimeTypes.rdf
│ │ │ │ └── winctrl.json
│ │ ├── locale
│ │ │ └── seb
│ │ │ │ ├── de-DE
│ │ │ │ ├── seb.dtd
│ │ │ │ └── seb.properties
│ │ │ │ ├── en-US
│ │ │ │ ├── seb.dtd
│ │ │ │ └── seb.properties
│ │ │ │ └── fr-FR
│ │ │ │ ├── seb.dtd
│ │ │ │ └── seb.properties
│ │ ├── seb.manifest
│ │ └── xullib.manifest
│ ├── components
│ │ └── xulApplication.js
│ ├── modules
│ │ ├── linuxctrl.jsm
│ │ ├── macctrl.jsm
│ │ ├── screen.jsm
│ │ ├── seb.jsm
│ │ ├── winctrl.jsm
│ │ └── xullib.jsm
│ └── seb.ini
└── xulrunner
│ ├── AccessibleMarshal.dll
│ ├── D3DCompiler_43.dll
│ ├── IA2Marshal.dll
│ ├── LICENSE
│ ├── README.xulrunner
│ ├── breakpadinjector.dll
│ ├── crashreporter.exe
│ ├── crashreporter.ini
│ ├── d3dcompiler_47.dll
│ ├── dependentlibs.list
│ ├── dictionaries
│ ├── en-US.aff
│ └── en-US.dic
│ ├── freebl3.chk
│ ├── freebl3.dll
│ ├── gmp-clearkey
│ └── 0.1
│ │ ├── clearkey.dll
│ │ └── clearkey.info
│ ├── gmp-fake
│ └── 1.0
│ │ ├── fake.dll
│ │ ├── fake.info
│ │ └── fake.voucher
│ ├── gmp-fakeopenh264
│ └── 1.0
│ │ ├── fakeopenh264.dll
│ │ ├── fakeopenh264.info
│ │ └── fakeopenh264.voucher
│ ├── icudt52.dll
│ ├── icuin52.dll
│ ├── icuuc52.dll
│ ├── js-gdb.py
│ ├── js.exe
│ ├── libEGL.dll
│ ├── libGLESv2.dll
│ ├── mozglue.dll
│ ├── msvcp120.dll
│ ├── msvcr120.dll
│ ├── nss3.dll
│ ├── nssckbi.dll
│ ├── nssdbm3.chk
│ ├── nssdbm3.dll
│ ├── omni.ja
│ ├── platform.ini
│ ├── plugin-container.exe
│ ├── plugin-hang-ui.exe
│ ├── precomplete
│ ├── redit.exe
│ ├── sandboxbroker.dll
│ ├── softokn3.chk
│ ├── softokn3.dll
│ ├── updater.exe
│ ├── wow_helper.exe
│ ├── xul.dll
│ ├── xulrunner-stub.exe
│ └── xulrunner.exe
├── SebWindowsClient
├── MetroFramework
│ └── MetroFramework
│ │ ├── Animation
│ │ ├── AnimationBase.cs
│ │ ├── ColorBlendAnimation.cs
│ │ ├── DelayedCall.cs
│ │ ├── ExpandAnimation.cs
│ │ ├── MoveAnimation.cs
│ │ └── TransitionType.cs
│ │ ├── Components
│ │ ├── MetroStyleExtender.cs
│ │ ├── MetroStyleManager.cs
│ │ └── MetroToolTip.cs
│ │ ├── Controls
│ │ ├── MetroButton.cs
│ │ ├── MetroCheckBox.cs
│ │ ├── MetroComboBox.cs
│ │ ├── MetroContextMenu.cs
│ │ ├── MetroDateTime.cs
│ │ ├── MetroGrid.cs
│ │ ├── MetroGrid.designer.cs
│ │ ├── MetroGrid.resx
│ │ ├── MetroLabel.cs
│ │ ├── MetroLink.cs
│ │ ├── MetroPanel.cs
│ │ ├── MetroProgressBar.cs
│ │ ├── MetroProgressSpinner.cs
│ │ ├── MetroRadioButton.cs
│ │ ├── MetroScrollBar.cs
│ │ ├── MetroTabControl.cs
│ │ ├── MetroTabPage.cs
│ │ ├── MetroTextBox.cs
│ │ ├── MetroTile.cs
│ │ ├── MetroTilePart.cs
│ │ ├── MetroToggle.cs
│ │ ├── MetroTrackBar.cs
│ │ └── MetroUserControl.cs
│ │ ├── Drawing
│ │ ├── Html
│ │ │ ├── CssAnonymousBlockBox.cs
│ │ │ ├── CssAnonymousBox.cs
│ │ │ ├── CssBlock.cs
│ │ │ ├── CssBox.cs
│ │ │ ├── CssBoxWord.cs
│ │ │ ├── CssBoxWordSplitter.cs
│ │ │ ├── CssConstants.cs
│ │ │ ├── CssDefaults.cs
│ │ │ ├── CssDrawingHelper.cs
│ │ │ ├── CssLayoutEngine.cs
│ │ │ ├── CssLength.cs
│ │ │ ├── CssLineBox.cs
│ │ │ ├── CssPropertyAttribute.cs
│ │ │ ├── CssPropertyInheritedAttribute.cs
│ │ │ ├── CssRectangle.cs
│ │ │ ├── CssTable.cs
│ │ │ ├── CssValue.cs
│ │ │ ├── HtmlConstants.cs
│ │ │ ├── HtmlLabel.cs
│ │ │ ├── HtmlPanel.cs
│ │ │ ├── HtmlRenderer.cs
│ │ │ ├── HtmlTag.cs
│ │ │ ├── HtmlToolTip.cs
│ │ │ ├── InitialContainer.cs
│ │ │ └── Parser.cs
│ │ ├── MetroBackBuffer.cs
│ │ └── MetroPaint.cs
│ │ ├── Forms
│ │ ├── MetroForm.cs
│ │ ├── MetroMessageBox.cs
│ │ └── MetroTaskWindow.cs
│ │ ├── Interfaces
│ │ ├── IMetroComponent.cs
│ │ ├── IMetroControl.cs
│ │ └── IMetroForm.cs
│ │ ├── Localization
│ │ ├── MetroLocalize.cs
│ │ ├── de
│ │ │ └── MetroToggle.xml
│ │ ├── en
│ │ │ └── MetroToggle.xml
│ │ └── tr
│ │ │ └── MetroToggle.xml
│ │ ├── MessageBox
│ │ ├── MetroMessageBox.cs
│ │ ├── MetroMessageBoxControl.Designer.cs
│ │ ├── MetroMessageBoxControl.cs
│ │ ├── MetroMessageBoxControl.resx
│ │ └── MetroMessageBoxProperties.cs
│ │ ├── MetroBrushes.cs
│ │ ├── MetroColorStyle.cs
│ │ ├── MetroColors.cs
│ │ ├── MetroDefaults.cs
│ │ ├── MetroFonts.cs
│ │ ├── MetroFramework.csproj
│ │ ├── MetroImage.cs
│ │ ├── MetroPens.cs
│ │ ├── MetroThemeStyle.cs
│ │ ├── Native
│ │ ├── DwmApi.cs
│ │ ├── SubClass.cs
│ │ ├── Taskbar.cs
│ │ ├── WinApi.cs
│ │ └── WinCaret.cs
│ │ └── Properties
│ │ ├── AssemblyInfo.cs
│ │ ├── Resources.Designer.cs
│ │ ├── Resources.resx
│ │ ├── Settings.Designer.cs
│ │ └── Settings.settings
└── SebWindowsClient
│ ├── App.config
│ ├── BlockShortcutsUtils
│ └── SebKeyCapture.cs
│ ├── ConfigurationUtils
│ ├── Plist.cs
│ ├── SEBClientInfo.cs
│ ├── SEBConfigFileManager.cs
│ ├── SEBGlobalConstants.cs
│ ├── SEBMessageBox.cs
│ ├── SEBPropertyList.cs
│ ├── SEBSettings.cs
│ └── SEBXulRunnerSettings.cs
│ ├── CryptographyUtils
│ └── SEBProtectionController.cs
│ ├── DesktopUtils
│ ├── SEBDesktopController.cs
│ └── SEBDesktopWallpaper.cs
│ ├── DiagnosticsUtils
│ ├── Logger.cs
│ └── OSVersion.cs
│ ├── Fleck
│ ├── Fleck.csproj
│ ├── FleckLog.cs
│ ├── FrameType.cs
│ ├── HandlerFactory.cs
│ ├── Handlers
│ │ ├── ComposableHandler.cs
│ │ ├── Draft76Handler.cs
│ │ └── Hybi13Handler.cs
│ ├── HandshakeException.cs
│ ├── IntExtensions.cs
│ ├── Interfaces
│ │ ├── IHandler.cs
│ │ ├── ISocket.cs
│ │ ├── IWebSocketConnection.cs
│ │ ├── IWebSocketConnectionInfo.cs
│ │ └── IWebSocketServer.cs
│ ├── ReadState.cs
│ ├── RequestParser.cs
│ ├── SocketWrapper.cs
│ ├── SubProtocolNegotiationFailureException.cs
│ ├── SubProtocolNegotiator.cs
│ ├── WebSocketConnection.cs
│ ├── WebSocketConnectionInfo.cs
│ ├── WebSocketException.cs
│ ├── WebSocketHttpRequest.cs
│ ├── WebSocketServer.cs
│ └── WebSocketStatusCodes.cs
│ ├── IconLib
│ └── IconLib
│ │ ├── IconLib.csproj
│ │ ├── Properties
│ │ └── AssemblyInfo.cs
│ │ ├── Resources
│ │ └── EmptyDll.dll
│ │ └── System
│ │ └── Drawing
│ │ └── IconLib
│ │ ├── AuthorAttribute.cs
│ │ ├── BitmapEncoders
│ │ ├── BMPEncoder.cs
│ │ ├── ImageEncoder.cs
│ │ └── PNGEncoder.cs
│ │ ├── ColorProcessing
│ │ ├── EuclideanQuantizer.cs
│ │ ├── FloydSteinbergDithering.cs
│ │ ├── IColorQuantizer.cs
│ │ ├── IDithering.cs
│ │ ├── IPaletteQuantizer.cs
│ │ └── OctreeQuantizer.cs
│ │ ├── Enums.cs
│ │ ├── Exceptions
│ │ ├── IconNameAlreadyExistException.cs
│ │ ├── ImageAlreadyExistsException.cs
│ │ ├── ImageTooBigException.cs
│ │ ├── InvalidFileException.cs
│ │ ├── InvalidICLFileException.cs
│ │ ├── InvalidIconFormatSelectionException.cs
│ │ ├── InvalidIconSelectionException.cs
│ │ ├── InvalidMultiIconFileException.cs
│ │ ├── InvalidMultiIconMaskBitmap.cs
│ │ └── InvalidPixelFormatException.cs
│ │ ├── IconImage.cs
│ │ ├── LibraryFormats
│ │ ├── ILibraryFormat.cs
│ │ ├── IconFormat.cs
│ │ ├── NEFormat.cs
│ │ └── PEFormat.cs
│ │ ├── MultiIcon.cs
│ │ ├── Resource.Designer.cs
│ │ ├── Resource.resx
│ │ ├── SingleIcon.cs
│ │ ├── Structs.cs
│ │ ├── Tools.cs
│ │ └── Win32.cs
│ ├── Intptr.cs
│ ├── ProcessUtils
│ ├── ExecutableInfo.cs
│ ├── ProcessInfo.cs
│ ├── SEBClipboard.cs
│ ├── SEBNotAllowedProcessController.cs
│ ├── SEBProcessHandler.cs
│ └── SEBWindowHandler.cs
│ ├── Properties
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ ├── Resources.resx
│ ├── Settings.Designer.cs
│ └── Settings.settings
│ ├── Resources
│ ├── SEBCloseWindowIcon.png
│ ├── SebGlobalDialogImage.bmp
│ ├── battery.png
│ ├── keyboard.png
│ ├── keyboard_old.png
│ ├── loading.gif
│ ├── quit.png
│ ├── quit_1024.png
│ ├── quit_old.png
│ ├── reload.png
│ ├── restartExam.png
│ ├── signalstrength
│ │ ├── 0.png
│ │ ├── 0_old.png
│ │ ├── 100.png
│ │ ├── 100_old.png
│ │ ├── 33.png
│ │ ├── 33_old.png
│ │ ├── 66.png
│ │ ├── 66_old.png
│ │ ├── nointerface.png
│ │ └── nointerface_old.png
│ └── skipBack.png
│ ├── SEBException.cs
│ ├── SEBLoading.Designer.cs
│ ├── SEBLoading.cs
│ ├── SEBLoading.resx
│ ├── SEBSplashScreen.Designer.cs
│ ├── SEBSplashScreen.cs
│ ├── SEBSplashScreen.resx
│ ├── SEBUIStrings.Designer.cs
│ ├── SEBUIStrings.de.Designer.cs
│ ├── SEBUIStrings.de.resx
│ ├── SEBUIStrings.resx
│ ├── SEBicon.ico
│ ├── SebApplicationChooserForm.Designer.cs
│ ├── SebApplicationChooserForm.cs
│ ├── SebApplicationChooserForm.resx
│ ├── SebClient.seb
│ ├── SebCloseDialogForm.Designer.cs
│ ├── SebCloseDialogForm.cs
│ ├── SebCloseDialogForm.de.resx
│ ├── SebCloseDialogForm.resx
│ ├── SebPasswordDialogForm.Designer.cs
│ ├── SebPasswordDialogForm.cs
│ ├── SebPasswordDialogForm.de.resx
│ ├── SebPasswordDialogForm.resx
│ ├── SebWindowsClient.csproj
│ ├── SebWindowsClientForm.Designer.cs
│ ├── SebWindowsClientForm.cs
│ ├── SebWindowsClientForm.de.resx
│ ├── SebWindowsClientForm.resx
│ ├── SebWindowsClientMain.cs
│ ├── ServiceUtils
│ └── SEBWindowsServiceController.cs
│ ├── ThreadedDialog.cs
│ ├── UI
│ ├── IconExtractor.cs
│ ├── SEBBatterylifeToolStripButton.cs
│ ├── SEBBatterylifeToolStripButton.resx
│ ├── SEBInputLanguageToolStripButton.cs
│ ├── SEBInputLanguageToolStripButton.resx
│ ├── SEBOnScreenKeyboardToolStripButton.cs
│ ├── SEBOnScreenKeyboardToolStripButton.resx
│ ├── SEBQuitToolStripButton.cs
│ ├── SEBQuitToolStripButton.resx
│ ├── SEBReloadBrowserToolStripButton.cs
│ ├── SEBReloadBrowserToolStripButton.resx
│ ├── SEBRestartExamToolStripButton.cs
│ ├── SEBRestartExamToolStripButton.resx
│ ├── SEBToolStripButton.cs
│ ├── SEBToolStripButton.resx
│ ├── SEBWatchToolStripButton.cs
│ ├── SEBWatchToolStripButton.resx
│ ├── SEBWlanToolStripButton.cs
│ ├── SEBWlanToolStripButton.resx
│ └── SEBWorkingAreaHandler.cs
│ ├── WindowChooser.Designer.cs
│ ├── WindowChooser.cs
│ ├── WindowChooser.resx
│ ├── WlanUtils
│ ├── SEBWlanNetworkSelector.Designer.cs
│ ├── SEBWlanNetworkSelector.cs
│ ├── SEBWlanNetworkSelector.de.resx
│ ├── SEBWlanNetworkSelector.resx
│ ├── WlanApi.cs
│ └── interop.cs
│ ├── XULRunnerCommunication
│ └── SEBXULRunnerWebSocketServer.cs
│ ├── app.manifest
│ ├── refresh.png
│ └── taskbarToolStrip.cs
├── SebWindowsConfig
├── PermittedApplicationInformation.cs
├── Properties
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ ├── Resources.resx
│ ├── Settings.Designer.cs
│ └── Settings.settings
├── SEBConfigToolIcon.ico
├── SebWindowsConfig.csproj
├── SebWindowsConfigForm.Designer.cs
├── SebWindowsConfigForm.cs
├── SebWindowsConfigForm.resx
├── SebWindowsConfigGUIManagement.cs
├── SebWindowsConfigProgram.cs
├── TabIcons
│ └── 32x32
│ │ ├── IconHelp.png
│ │ ├── Icon_01_General.png
│ │ ├── Icon_02_ConfigFile.png
│ │ ├── Icon_03_Appearance.png
│ │ ├── Icon_04_Browser.png
│ │ ├── Icon_05_DownUploads.png
│ │ ├── Icon_06_Exam.png
│ │ ├── Icon_07_Applications.png
│ │ ├── Icon_08_Network.png
│ │ ├── Icon_09_Security.png
│ │ ├── Icon_10_Registry.png
│ │ └── Icon_11_HookedKeys.png
└── app.config
├── SebWindowsInstallLicence.rtf
├── SebWindowsPackage.sln
└── SebWindowsServiceWCF
├── App.config
├── OSVersion.cs
├── Program.cs
├── ProjectInstaller.Designer.cs
├── ProjectInstaller.cs
├── ProjectInstaller.resx
├── Properties
└── AssemblyInfo.cs
├── RegistryHandler
└── RegistryEntry.cs
├── SEBicon.ico
├── SebWindowsServiceWCF.Designer.cs
├── SebWindowsServiceWCF.cs
├── SebWindowsServiceWCF.csproj
└── ServiceImplementations
├── Logger.cs
├── PersistentRegistryFile.cs
├── RegistryService.cs
└── SIDHandler.cs
/.gitattributes:
--------------------------------------------------------------------------------
1 | ###############################################################################
2 | # Set default behavior to automatically normalize line endings.
3 | ###############################################################################
4 | * text=auto
5 |
6 | ###############################################################################
7 | # Set default behavior for command prompt diff.
8 | #
9 | # This is need for earlier builds of msysgit that does not have it on by
10 | # default for csharp files.
11 | # Note: This is only used by command line
12 | ###############################################################################
13 | #*.cs diff=csharp
14 |
15 | ###############################################################################
16 | # Set the merge driver for project and solution files
17 | #
18 | # Merging from the command prompt will add diff markers to the files if there
19 | # are conflicts (Merging from VS is not affected by the settings below, in VS
20 | # the diff markers are never inserted). Diff markers may cause the following
21 | # file extensions to fail to load in VS. An alternative would be to treat
22 | # these files as binary and thus will always conflict and require user
23 | # intervention with every merge. To do so, just uncomment the entries below
24 | ###############################################################################
25 | #*.sln merge=binary
26 | #*.csproj merge=binary
27 | #*.vbproj merge=binary
28 | #*.vcxproj merge=binary
29 | #*.vcproj merge=binary
30 | #*.dbproj merge=binary
31 | #*.fsproj merge=binary
32 | #*.lsproj merge=binary
33 | #*.wixproj merge=binary
34 | #*.modelproj merge=binary
35 | #*.sqlproj merge=binary
36 | #*.wwaproj merge=binary
37 |
38 | ###############################################################################
39 | # behavior for image files
40 | #
41 | # image files are treated as binary by default.
42 | ###############################################################################
43 | #*.jpg binary
44 | #*.png binary
45 | #*.gif binary
46 |
47 | ###############################################################################
48 | # diff behavior for common document formats
49 | #
50 | # Convert binary document formats to text before diffing them. This feature
51 | # is only available from the command line. Turn it on by uncommenting the
52 | # entries below.
53 | ###############################################################################
54 | #*.doc diff=astextplain
55 | #*.DOC diff=astextplain
56 | #*.docx diff=astextplain
57 | #*.DOCX diff=astextplain
58 | #*.dot diff=astextplain
59 | #*.DOT diff=astextplain
60 | #*.pdf diff=astextplain
61 | #*.PDF diff=astextplain
62 | #*.rtf diff=astextplain
63 | #*.RTF diff=astextplain
64 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | # ~ISSUE TITLE HERE~
2 |
3 | **IMPORTANT**
4 | Please _always_ consult the documentation first before creating an issue!
5 | https://safeexambrowser.org/windows/win_usermanual_en.html
6 |
7 | ### Description
8 |
9 | ~YOUR ISSUE DESCRIPTION HERE...~
10 |
11 | ### Environment & Version
12 |
13 | ~Computer description, e.g. manufacturer, device name, hardware specs etc.~
14 |
15 | - [ ] Mac
16 | - [x] Windows
17 |
18 | OS-Version: X.X(.X) \
19 | SEB-Version: X.X(.X)
20 |
21 | ### Steps to Reproduce
22 |
23 | 1. ~INSTRUCTION STEP 1~
24 | 2. ~INSTRUCTION STEP 2~
25 | 3. ~...~
26 |
27 | > ***Information:**
28 | Please replace all placeholders (~PLACEHOLDER~) and version numbers according to your situation. The more detailed information you provide, the easier it will be for us to detect and reliably fix the issue. Feel free to delete this comment before submitting the issue report...*
29 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Bug report
3 | about: Create a report to help us improve Safe Exam Browser
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **IMPORTANT**
11 | Please _always_ consult the documentation first before creating a bug report!
12 | https://safeexambrowser.org/windows/win_usermanual_en.html
13 |
14 | **Describe the Bug**
15 | A clear and concise description of what the bug is.
16 |
17 | **Steps to Reproduce**
18 | Steps to reproduce the behavior:
19 | 1. Go to '...'
20 | 2. Click on '....'
21 | 3. Scroll down to '....'
22 | 4. See error
23 |
24 | **Expected Behavior**
25 | A clear and concise description of what you expected to happen.
26 |
27 | **Screenshots**
28 | If applicable, add screenshots to help explain your problem.
29 |
30 | **Version Information**
31 | - OS: [e.g. Windows 10 Professional, Version 1803]
32 | - SEB-Version [e.g. SEB 2.2.2]
33 |
34 | **Additional Context**
35 | Add any other context about the problem here.
36 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Feature request
3 | about: Suggest an idea for Safe Exam Browser
4 | title: ''
5 | labels: ''
6 | assignees: ''
7 |
8 | ---
9 |
10 | **Is your feature request related to a problem? Please describe.**
11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12 |
13 | **Describe the solution you'd like**
14 | A clear and concise description of what you want to happen.
15 |
16 | **Describe alternatives you've considered**
17 | A clear and concise description of any alternative solutions or features you've considered.
18 |
19 | **Additional context**
20 | Add any other context or screenshots about the feature request here.
21 |
--------------------------------------------------------------------------------
/AboutSEB.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/AboutSEB.png
--------------------------------------------------------------------------------
/InstallShield 2012 Spring Projects/SafeExamBrowser/Professional/SafeExamBrowserInstaller/DiskImages/DISK1/ISSetupPrerequisites/{72D7E3D1-C9DF-4FA6-9F9B-4E5117AB2919}/dotnetfx45_full_x86_x64.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/InstallShield 2012 Spring Projects/SafeExamBrowser/Professional/SafeExamBrowserInstaller/DiskImages/DISK1/ISSetupPrerequisites/{72D7E3D1-C9DF-4FA6-9F9B-4E5117AB2919}/dotnetfx45_full_x86_x64.exe
--------------------------------------------------------------------------------
/InstallShield 2012 Spring Projects/SafeExamBrowser_2016.ism:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/InstallShield 2012 Spring Projects/SafeExamBrowser_2016.ism
--------------------------------------------------------------------------------
/InstallShield 2012 Spring Projects/SafeExamBrowser_2016.ism.776:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/InstallShield 2012 Spring Projects/SafeExamBrowser_2016.ism.776
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # seb-win
2 | Safe Exam Browser for Windows (Legacy Version)
3 |
4 | Please note that the SEB 2.x version for Windows is deprecated and is no longer being developed further, as Mozilla stopped supporting the XUL runtime used for embedding Firefox into SEB. Therefore also the embedded Firefox version 52 ESR cannot be updated to a newer version. Please transition to SEB 3.x, the code and releases can be found in the repository https://github.com/SafeExamBrowser/seb-win-refactoring.
5 |
6 | We can only give very limited support for SEB 2.x for Windows and cannot solve bigger issues. Please post feature requests for missing features in SEB 3.x here: https://github.com/SafeExamBrowser/seb-win-refactoring/issues
7 |
--------------------------------------------------------------------------------
/SEBDocumentIcon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SEBDocumentIcon.ico
--------------------------------------------------------------------------------
/SEBWindowsServiceContracts/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("SEBWindowsServiceContracts")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("SEBWindowsServiceContracts")]
13 | [assembly: AssemblyCopyright("Copyright © 2010-2017 ETH Zurich, Educational Development and Technology (LET)")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("402d93a6-890d-4ace-a092-800ee9c49be9")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("2.1.*")]
36 | [assembly: AssemblyInformationalVersion("2.1.7")]
37 |
--------------------------------------------------------------------------------
/SEBWindowsServiceContracts/RegistryServiceContract.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.ServiceModel;
3 |
4 | namespace SEBWindowsServiceContracts
5 | {
6 | ///
7 | /// The contact for the WCF Service
8 | ///
9 | [ServiceContract]
10 | public interface IRegistryServiceContract
11 | {
12 | [OperationContract]
13 | bool TestServiceConnetcion();
14 |
15 | [OperationContract]
16 | bool SetRegistryEntries(Dictionary registryValues, string sid, string username);
17 |
18 | [OperationContract]
19 | bool Reset();
20 |
21 | [OperationContract]
22 | bool DisableWindowsUpdate();
23 | }
24 |
25 | ///
26 | /// The possible registry identifiers
27 | ///
28 | /// Don't add a value without creating the corresponding subclass of RegistryEntry
29 | public enum RegistryIdentifiers
30 | {
31 | DisableChromeNotifications,
32 | DisableLockWorkstation,
33 | DisableTaskMgr,
34 | DisableChangePassword,
35 | HideFastUserSwitching,
36 | NoLogoff,
37 | NoClose,
38 | EnableShade,
39 | EnableShadeHorizon,
40 | EaseOfAccess,
41 | DontDisplayNetworkSelectionUI
42 | }
43 |
44 | }
45 |
--------------------------------------------------------------------------------
/SEBWindowsServiceContracts/SEBWindowsServiceContracts.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | AnyCPU
7 | {5B604609-4125-4704-BE64-D1DDACF252A0}
8 | Library
9 | Properties
10 | SEBWindowsServiceContracts
11 | SEBWindowsServiceContracts
12 | v4.5
13 | 512
14 |
15 |
16 | true
17 | full
18 | false
19 | bin\Debug\
20 | DEBUG;TRACE
21 | prompt
22 | 4
23 |
24 |
25 | pdbonly
26 | true
27 | bin\Release\
28 | TRACE
29 | prompt
30 | 4
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
54 |
--------------------------------------------------------------------------------
/SEBicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SEBicon.ico
--------------------------------------------------------------------------------
/SebBackgroundLeftSemi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebBackgroundLeftSemi.png
--------------------------------------------------------------------------------
/SebBanner.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebBanner.bmp
--------------------------------------------------------------------------------
/SebBanner.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebBanner.jpg
--------------------------------------------------------------------------------
/SebGlobalDialogBanner.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebGlobalDialogBanner.bmp
--------------------------------------------------------------------------------
/SebGlobalDialogImage.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebGlobalDialogImage.bmp
--------------------------------------------------------------------------------
/SebRegistryResetter/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/SebRegistryResetter/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("SebRegistryResetter")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("ETH Zurich")]
12 | [assembly: AssemblyProduct("SebRegistryResetter")]
13 | [assembly: AssemblyCopyright("Copyright © 2010-2017 ETH Zurich, Educational Development and Technology (LET)")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("77b18366-98f2-4894-a6ee-a00f5baaf6fa")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("2.1.*")]
36 | [assembly: AssemblyInformationalVersion("2.1.8")]
37 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xul_seb/chrome.manifest:
--------------------------------------------------------------------------------
1 | component {2971c315-b871-32cd-b33f-bfee4fcbf682} components/xulApplication.js
2 | contract @mozilla.org/commandlinehandler/profile-after-change;1?type=xulApplication {2971c315-b871-32cd-b33f-bfee4fcbf682}
3 | category command-line-handler m-xul-application @mozilla.org/commandlinehandler/profile-after-change;1?type=xulApplication
4 | resource modules file:modules/
5 | manifest chrome/xullib.manifest
6 | manifest chrome/seb.manifest
7 | manifest chrome/branding.manifest
8 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xul_seb/chrome/branding.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xul_seb/chrome/branding.jar
--------------------------------------------------------------------------------
/SebWindowsBrowser/xul_seb/chrome/branding.manifest:
--------------------------------------------------------------------------------
1 | locale branding en-US jar:branding.jar!/locale/branding/
2 | locale branding de-DE jar:branding.jar!/locale/branding/
3 | locale branding fr-FR jar:branding.jar!/locale/branding/
4 | content branding jar:branding.jar!/branding/
5 | # locale branding en-US locale/branding/
6 | # content branding branding/
7 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xul_seb/chrome/content/seb/css/seb.css:
--------------------------------------------------------------------------------
1 | @import url(chrome://global/skin/)
2 | @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
3 | #sebBackground {
4 | background-color : #3A6EA5;
5 | }
6 |
7 | #toolbar {
8 | max-height: 38px;
9 | min-height: 38px;
10 | }
11 |
12 | #sebWindow {
13 | background-color : #3A6EA5;
14 | }
15 |
16 | #sebErrPage {
17 | background-color : #3A6EA5;
18 | }
19 |
20 | #sebLoadPage {
21 | background-color : #3A6EA5;
22 | background-image: url("chrome://seb/content/images/loader.gif");
23 | background-repeat: no-repeat;
24 | background-position: 50% 50%;
25 | }
26 |
27 | #imgLoader {
28 | list-style-image: url("chrome://seb/content/images/loader.gif");
29 | margin-top: 3px;
30 | margin-bottom: 3px;
31 | margin-right: 10px;
32 | max-width: 32px;
33 | max-height: 32px;
34 | }
35 |
36 | #imgLoaderStop {
37 | list-style-image: url("chrome://seb/content/images/loader_stop.gif");
38 | margin-top: 3px;
39 | margin-bottom: 3px;
40 | margin-right: 10px;
41 | max-width: 32px;
42 | max-height: 32px;
43 | }
44 |
45 | #errBody {
46 | font-family: courier, system;
47 | color: white;
48 | font-weight: bold;
49 | font-size: 120%;
50 | width: 50%;
51 | line-height: 2em;
52 | }
53 |
54 | #errForm {
55 | padding-top: 20%;
56 | padding-left: 20%;
57 | }
58 |
59 | .errBtn {
60 | width: 10em;
61 | }
62 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xul_seb/chrome/content/seb/err.xul:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xul_seb/chrome/content/seb/images/loader.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xul_seb/chrome/content/seb/images/loader.gif
--------------------------------------------------------------------------------
/SebWindowsBrowser/xul_seb/chrome/content/seb/images/loader_stop.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xul_seb/chrome/content/seb/images/loader_stop.gif
--------------------------------------------------------------------------------
/SebWindowsBrowser/xul_seb/chrome/content/seb/load.xul:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xul_seb/chrome/content/seb/seb.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xul_seb/chrome/content/seb/seb.properties
--------------------------------------------------------------------------------
/SebWindowsBrowser/xul_seb/chrome/content/seb/seb.xul:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 | %sebDtdLocal;
7 |
8 | %sebDtdConst;
9 | ]>
10 |
19 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xul_seb/chrome/content/seb/sounds/snapshot.mp3:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xul_seb/chrome/content/seb/sounds/snapshot.mp3
--------------------------------------------------------------------------------
/SebWindowsBrowser/xul_seb/chrome/content/seb/sounds/snapshot.ogg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xul_seb/chrome/content/seb/sounds/snapshot.ogg
--------------------------------------------------------------------------------
/SebWindowsBrowser/xul_seb/chrome/content/seb/sounds/snapshot.wav:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xul_seb/chrome/content/seb/sounds/snapshot.wav
--------------------------------------------------------------------------------
/SebWindowsBrowser/xul_seb/chrome/content/xullib/js/onload.js:
--------------------------------------------------------------------------------
1 | /*
2 | This program is free software; you can redistribute it and/or modify
3 | it under the terms of the GNU General Public License as published by
4 | the Free Software Foundation; version 2 of the License.
5 |
6 | This program is distributed in the hope that it will be useful,
7 | but WITHOUT ANY WARRANTY; without even the implied warranty of
8 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 | GNU General Public License for more details.
10 |
11 | You should have received a copy of the GNU General Public License
12 | along with this program; if not, write to the Free Software
13 | Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
14 |
15 | Stefan Schneider 2012
16 | */
17 |
18 | /*
19 | a "-window 1|true" commandline param is required for autoloading this xullib.window
20 | with embedded browser element.
21 |
22 | If your application wants to use the default xullib.window,
23 | just hook your module inside (see commented code example).
24 |
25 | */
26 | Components.utils.import("resource://modules/xullib.jsm");
27 | // Components.utils.import("resource://modules/yourmodule.jsm");
28 | function onload(win) {
29 | xullib.initXullibWin(win);
30 | //yourmodule.init();
31 | }
32 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xul_seb/chrome/content/xullib/window.xul:
--------------------------------------------------------------------------------
1 |
2 |
3 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xul_seb/chrome/defaults/seb/.gitignore:
--------------------------------------------------------------------------------
1 | # ignore test configs
2 | *ilias*
3 | *test*
4 | *nat*
5 | *local*
6 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xul_seb/chrome/defaults/seb/config.demo.nat.json:
--------------------------------------------------------------------------------
1 | {
2 | "prefs" : {
3 | "general.useragent.override" : "SEBKEY",
4 | "network.proxy.type" : 0,
5 | "network.proxy.autoconfig_url" : "",
6 | "network.proxy.http" : "",
7 | "network.proxy.http_port" : 3128,
8 | "network.proxy.ssl" : "",
9 | "network.proxy.ssl_port" : 0,
10 | "network.proxy.ftp" : "",
11 | "network.proxy.ftp_port" : 0,
12 | "network.proxy.socks" : "",
13 | "network.proxy.socks_port" : 0,
14 | "network.proxy.no_proxies_on" : "localhost,127.0.0.1"
15 | },
16 | "seb.url" : "https://localhost:8444/demo/index.html",
17 | "seb.request.header" : "X-SafeExamBrowser-RequestHash",
18 | "seb.request.key" : "71aad4ab9dfd447cc479e6b4a7c9a544e2cafc7f3adeb68b2a21efad68eca4dc",
19 | "seb.request.salt" : false,
20 | "seb.mainWindow.titlebar.enabled" : true,
21 | "seb.trusted.content" : true,
22 | "seb.pattern.regex" : false,
23 | "seb.blacklist.pattern" : "",
24 | "seb.whitelist.pattern" : "",
25 | "seb.locked" : false,
26 | "seb.lock.keycode" : "VK_F2",
27 | "seb.lock.modifiers" : "control shift",
28 | "seb.unlock.enabled" : false,
29 | "seb.unlock.keycode" : "VK_F3",
30 | "seb.unlock.modifiers" : "control shift",
31 | "seb.shutdown.keycode" : "VK_F4",
32 | "seb.shutdown.modifiers" : "control shift",
33 | "seb.load" : "",
34 | "seb.load.referrer.instring" : "",
35 | "seb.load.keycode" : "VK_F6",
36 | "seb.load.modifiers" : "control shift",
37 | "seb.reload.keycode" : "VK_F5",
38 | "seb.reload.modifiers" : "",
39 | "seb.reload.warning" : true,
40 | "seb.navigation.enabled" : true,
41 | "seb.back.keycode" : "VK_LEFT",
42 | "seb.back.modifiers" : "control",
43 | "seb.restart.keycode" : "VK_F9",
44 | "seb.restart.modifiers" : "control shift",
45 | "seb.forward.keycode" : "VK_RIGHT",
46 | "seb.forward.modifiers" : "control",
47 | "seb.net.tries.enabled" : false,
48 | "seb.net.max.times" : 3,
49 | "seb.net.timeout" : 10000,
50 | "seb.restart.mode" : 2,
51 | "seb.popupWindows.titlebar.enabled" : false,
52 | "seb.openwin.width" : 800,
53 | "seb.openwin.height" : 600,
54 | "seb.showall.keycode" : "VK_F1",
55 | "seb.distinct.popup" : true,
56 | "seb.bypass.cache" : true,
57 | "seb.removeProfile" : true,
58 | "seb.screenshot.controller" : true,
59 | "seb.alert.controller" : true,
60 | "sc.image.mimetype" : "image/jpeg",
61 | "sc.sound" : true,
62 | "seb.togglehidden.enabled" : true,
63 | "seb.togglehidden.keycode" : "VK_F10",
64 | "seb.togglehidden.modifiers" : "",
65 | "seb.server.enabled" : true,
66 | "seb.server" : {
67 | "url" : "https://localhost:8444/websocket",
68 | "socket" : "wss://localhost:8444/websocket"
69 | },
70 | "seb.restart.url" : "",
71 | "seb.touch.optimized" : false,
72 | "seb.embedded.certs" : ""
73 | }
74 | }
75 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xul_seb/chrome/defaults/seb/linuxctrl.json:
--------------------------------------------------------------------------------
1 | {
2 | "startURL":"http://safeexambrowser.org",
3 | "browserExamKey":"SEBKEY",
4 | "browserURLSalt":true,
5 | "browserLanguage":"en-US",
6 | "browserViewMode":1,
7 | "mainBrowserWindowWidth":"100%",
8 | "mainBrowserWindowHeight":"100%",
9 | "mainBrowserWindowPositioning":0,
10 | "newBrowserWindowByLinkPolicy":2,
11 | "newBrowserWindowByLinkWidth":"800",
12 | "newBrowserWindowByLinkHeight":"600",
13 | "newBrowserWindowByLinkPositioning":1,
14 | "showTaskBar":false,
15 | "taskBarHeight":40,
16 | "allowQuit":true,
17 | "quitURL":"http:\/\/safeexambrowser.org\/quit",
18 | "hashedQuitPassword":"5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8",
19 | "allowBrowsingBackForward":true,
20 | "allowFlashFullscreen":false,
21 | "enableURLContentFilter":false,
22 | "enableJava":false,
23 | "downloadPDFFiles":false,
24 | "allowDownUploads":false,
25 | "hideBrowserWindowToolbar":true,
26 | "enableJavaScript":true,
27 | "sendBrowserExamKey":true,
28 | "enableURLFilter":false,
29 | "chooseFileToUploadPolicy":0,
30 | "hashedAdminPassword":"5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8",
31 | "embeddedCertificates":
32 | [
33 | {
34 | "certificateData":"",
35 | "type":0,
36 | "name":"miner.ethz.ch"
37 | }
38 | ],
39 | "URLFilterRules":
40 | [
41 | {
42 | "active":true,
43 | "expression":"Allow .seb files only from safeexambrowser.org and https:\/\/exams.ethz.ch",
44 | "ruleActions":
45 | [
46 | {
47 | "action":4,
48 | "active":true,
49 | "expression":"safeexambrowser.org"
50 | },
51 | {
52 | "action":2,
53 | "active":true,
54 | "expression":"https:\/\/exams.ethz.ch"
55 | },
56 | {
57 | "active":true,
58 | "expression":"*\/*.seb"
59 | }
60 | ]
61 | },
62 | {
63 | "active":true,
64 | "expression":"Allow maps.google.*, block google.* and all other subdomains",
65 | "ruleActions":
66 | [
67 | {
68 | "action":1,
69 | "active":true,
70 | "expression":"maps.google.*"
71 | },
72 | {
73 | "active":true,
74 | "expression":"google.*"
75 | }
76 | ]
77 | },
78 | {
79 | "active":true,
80 | "expression":"Allow all other domains",
81 | "ruleActions":
82 | [
83 | {
84 | "action":1,
85 | "active":true,
86 | "expression":"*"
87 | }
88 | ]
89 | }
90 | ],
91 | "showMenuBar":true,
92 | "newBrowserWindowByScriptBlockForeign":false,
93 | "enableLogging":false,
94 | "logDirectoryWIN":"",
95 | "monitorProcesses":false,
96 | "downloadDirectoryWIN":"",
97 | "downloadAndOpenSebConfig":true,
98 | "newBrowserWindowByLinkBlockForeign":false,
99 | "enableBrowserWindowToolbar":true,
100 | "proxies":{},
101 | "blockPopUpWindows":false,
102 | "enablePlugIns":true,
103 | "newBrowserWindowByScriptPolicy":2,
104 | "openDownloads":false
105 | }
106 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xul_seb/chrome/defaults/seb/preferences/debug.js:
--------------------------------------------------------------------------------
1 | # Mozilla User Preferences
2 |
3 | /* Do not edit this file.
4 | *
5 | * If you make changes to this file while the application is running,
6 | * the changes will be overwritten when the application exits.
7 | *
8 | * To make a manual change to preferences, you can visit the URL about:config
9 | */
10 |
11 | user_pref("app.update.auto", false);
12 | user_pref("app.update.enabled", false);
13 | user_pref("browser.chromeURL", "chrome://seb/content/seb.xul");
14 | user_pref("browser.dom.window.dump.enabled", true);
15 | user_pref("browser.download.manager.retention", 0);
16 | user_pref("browser.download.manager.useWindow", false);
17 | user_pref("browser.link.open_newwindow", 2);
18 | user_pref("browser.startup.homepage_override.mstone", "ignore");
19 | user_pref("extensions.update.enabled", false);
20 | user_pref("javascript.options.showInConsole", true);
21 | user_pref("javascript.options.strict", true);
22 | user_pref("mousewheel.withaltkey.action", 3);
23 | user_pref("nglayout.debug.disable_xul_cache", true);
24 | user_pref("nglayout.debug.disable_xul_fastload", true);
25 | user_pref("privacy.popups.firstTime", false);
26 | user_pref("privacy.popups.policy", 1);
27 | user_pref("toolkit.defaultChromeURI", "chrome://seb/content/seb.xul");
28 | user_pref("toolkit.defaultChromeFeatures", "chrome,dialog=no,resizable=yes,scrollbars=yes");
29 | user_pref("toolkit.singletonWindowType", "main");
30 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xul_seb/chrome/defaults/seb/preferences/prefs.js:
--------------------------------------------------------------------------------
1 | # Mozilla User Preferences
2 |
3 | /* Do not edit this file.
4 | *
5 | * If you make changes to this file while the application is running,
6 | * the changes will be overwritten when the application exits.
7 | *
8 | * To make a manual change to preferences, you can visit the URL about:config
9 | */
10 |
11 | user_pref("accessibility.browsewithcaret_shortcut.enabled", false);
12 | user_pref("app.update.auto", false);
13 | user_pref("app.update.enabled", false);
14 | user_pref("browser.chromeURL", "chrome://seb/content/seb.xul");
15 | user_pref("browser.startup.homepage_override.mstone", "ignore");
16 | user_pref("browser.dom.window.dump.enabled", true);
17 | user_pref("browser.download.folderList", 2);
18 | user_pref("browser.download.useDownloadDir", true);
19 | user_pref("browser.download.manager.openDelay", 0);
20 | user_pref("browser.download.manager.retention", 0);
21 | user_pref("browser.download.manager.showAlertInterval", 0);
22 | user_pref("browser.download.manager.showAlertOnComplete", true);
23 | user_pref("browser.download.manager.showWhenStarting", false);
24 | user_pref("browser.download.manager.useWindow", false);
25 | user_pref("browser.helperApps.alwaysAsk.force", false);
26 | user_pref("browser.link.open_newwindow", 2);
27 | user_pref("browser.startup.homepage_override.mstone", "ignore");
28 | user_pref("dom.ipc.plugins.flash.disable-protected-mode", true);
29 | user_pref("extensions.update.enabled", false);
30 | user_pref("javascript.options.showInConsole", true);
31 | user_pref("javascript.options.strict", true);
32 | user_pref("mousewheel.withaltkey.action", 3);
33 | user_pref("mousewheel.withcontrolkey.action", 1);
34 | user_pref("network.cookie.prefsMigrated", true);
35 | user_pref("nglayout.debug.disable_xul_cache", true);
36 | user_pref("nglayout.debug.disable_xul_fastload", true);
37 | user_pref("privacy.popups.firstTime", false);
38 | user_pref("privacy.popups.policy", 1);
39 | user_pref("security.default_personal_cert", "Select Automatically");
40 | user_pref("toolkit.defaultChromeURI", "chrome://seb/content/seb.xul");
41 | user_pref("toolkit.defaultChromeFeatures", "chrome,dialog=no,resizable=yes,scrollbars=yes");
42 | user_pref("toolkit.singletonWindowType", "main");
43 | user_pref("full-screen-api.enabled", true);
44 | user_pref("gfx.direct2d.disabled", false);
45 | user_pref("layers.acceleration.disabled", false);
46 | user_pref("browser.display.use_document_fonts", 1);
47 | user_pref("dom.serviceWorkers.enabled", true);
48 | user_pref("media.navigator.permission.disabled", true);
49 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xul_seb/chrome/defaults/seb/profile/cert8.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xul_seb/chrome/defaults/seb/profile/cert8.db
--------------------------------------------------------------------------------
/SebWindowsBrowser/xul_seb/chrome/defaults/seb/profile/key3.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xul_seb/chrome/defaults/seb/profile/key3.db
--------------------------------------------------------------------------------
/SebWindowsBrowser/xul_seb/chrome/defaults/seb/profile/mimeTypes.rdf:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
10 |
11 |
12 |
14 |
15 |
16 |
18 |
19 |
20 |
21 |
24 |
27 |
28 |
29 |
30 |
33 |
34 |
35 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xul_seb/chrome/locale/seb/de-DE/seb.dtd:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xul_seb/chrome/locale/seb/de-DE/seb.properties:
--------------------------------------------------------------------------------
1 | seb.title=Safe Exam Browser (DE)
2 | seb.url.blocked=Der Aufruf dieser Adresse ist nicht erlaubt.
3 | seb.shutdown.warning.title=Safe Exam Browser beenden
4 | seb.shutdown.warning=SEB wirklich beenden?
5 | seb.password.title=Safe Exam Browser beenden
6 | seb.password.text=Bitte geben Sie das Beenden-Passwort ein:
7 | seb.password.wrong=SEB kann nur nach Eingabe des korrekten Passworts beendet werden. Fragen Sie Ihren Prüfungs-Supporter nach dem Passwort. FÜHREN SIE KEINEN NEUSTART/RESET DURCH! Dies könnte unerwünschte Effekte auf Ihre Systemeinstellungen haben (siehe www.safeexambrowser.org/faq)
8 | seb.reload.warning.title=Seite neu laden
9 | seb.reload.warning=Wollen Sie die Webseite wirklich neu laden?
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xul_seb/chrome/locale/seb/en-US/seb.dtd:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xul_seb/chrome/locale/seb/en-US/seb.properties:
--------------------------------------------------------------------------------
1 | seb.title=Safe Exam Browser (US)
2 | seb.url.blocked=The requested address is not allowed.
3 | seb.shutdown.warning.title=Quit Safe Exam Browser
4 | seb.shutdown.warning=Are you sure you want to quit SEB?
5 | seb.password.title=Quit Safe Exam Browser
6 | seb.password.text=Please enter the quit password:
7 | seb.password.wrong=You can only quit SEB by entering the correct quit password. Ask your exam supporter for the correct password. DO NOT RESET YOUR MACHINE! This may have undesired effects on your system's settings (see www.safeexambrowser.org/faq).
8 | seb.reload.warning.title=Reload Current Page
9 | seb.reload.warning=Do you really want to reload the current web page?
10 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xul_seb/chrome/locale/seb/fr-FR/seb.dtd:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xul_seb/chrome/locale/seb/fr-FR/seb.properties:
--------------------------------------------------------------------------------
1 | seb.title=Safe Exam Browser (US)
2 | seb.url.blocked=The requested address is not allowed.
3 | seb.shutdown.warning.title=Quit Safe Exam Browser
4 | seb.shutdown.warning=Are you sure you want to quit SEB?
5 | seb.password.title=Quit Safe Exam Browser
6 | seb.password.text=Please enter the quit password:
7 | seb.password.wrong=You can only quit SEB by entering the correct quit password. Ask your exam supporter for the correct password. DO NOT RESET YOUR MACHINE! This may have undesired effects on your system's settings (see www.safeexambrowser.org/faq).
8 | seb.reload.warning.title=Reload Current Page
9 | seb.reload.warning=Do you really want to reload the current web page?
10 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xul_seb/chrome/seb.manifest:
--------------------------------------------------------------------------------
1 | content seb file:content/seb/
2 | locale seb en-US file:locale/seb/en-US/
3 | locale seb de-DE file:locale/seb/de-DE/
4 | locale seb fr-FR file:locale/seb/fr-FR/
--------------------------------------------------------------------------------
/SebWindowsBrowser/xul_seb/chrome/xullib.manifest:
--------------------------------------------------------------------------------
1 | content xullib file:content/xullib/
2 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xul_seb/components/xulApplication.js:
--------------------------------------------------------------------------------
1 | const Cc = Components.classes;
2 | const Ci = Components.interfaces;
3 |
4 | Components.utils.import("resource://gre/modules/XPCOMUtils.jsm");
5 | Components.utils.import("resource://gre/modules/Services.jsm");
6 | Components.utils.import("resource://modules/xullib.jsm");
7 | var xulApplication = function () {};
8 |
9 | xulApplication.prototype = {
10 | classDescription: "xulApplication",
11 | classID: Components.ID('{2971c315-b871-32cd-b33f-bfee4fcbf682}'),
12 | contractID: "@mozilla.org/commandlinehandler/profile-after-change;1?type=xulApplication",
13 | _xpcom_categories: [{
14 | category: "command-line-handler",
15 | entry: "m-xul-application"
16 | }],
17 | QueryInterface: XPCOMUtils.generateQI([Ci.nsICommandLineHandler]),
18 | handle : function clh_handle(cmdLine) {
19 | try {
20 | // dump(xullib.XULLIB_WIN+"\n\r");
21 | // var w = Services.ww.openWindow(null,xullib.XULLIB_WIN,"xullibwin","chrome,extrachrome,menubar,toolbar,status,resizable,dialog=no",null);
22 | // dump(w+"\n\r");
23 | xullib.init(cmdLine);
24 | cmdLine.preventDefault = false; // what about p2pdf or apps without a main window event loop?
25 | /*
26 | if (Services.appinfo.name === "Firefox") { // don't hook into default BrowserHandler!
27 | cmdLine.preventDefault = false;
28 | }
29 | else { // custom app
30 | cmdLine.preventDefault = true;
31 | }
32 | */
33 | }
34 | catch (e) {
35 | dump(e+"\n");
36 | //this.err(e);
37 | }
38 | },
39 | // CHANGEME: change the help info as appropriate, but
40 | // follow the guidelines in nsICommandLineHandler.idl
41 | // specifically, flag descriptions should start at
42 | // character 24, and lines should be wrapped at
43 | // 72 characters with embedded newlines,
44 | // and finally, the string should end with a newline
45 | helpInfo : " -debug set debug true|false\n" +
46 | " -config additional json object url,\n" +
47 | " wrapping this description\n"
48 | };
49 | var NSGetFactory = XPCOMUtils.generateNSGetFactory([xulApplication]);
50 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xul_seb/seb.ini:
--------------------------------------------------------------------------------
1 | [App]
2 | Vendor=eqsoft
3 | Name=seb
4 | Version=2.0
5 | BuildID=16062008
6 | Copyright=Copyright (c) 2012 Stefan Schneider
7 | ID=f23bee90-c208-4dba-b923-173940c32bd8
8 | [Gecko]
9 | MinVersion=10.+
10 | MaxVersion=1000.+
11 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/AccessibleMarshal.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/AccessibleMarshal.dll
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/D3DCompiler_43.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/D3DCompiler_43.dll
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/IA2Marshal.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/IA2Marshal.dll
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/LICENSE:
--------------------------------------------------------------------------------
1 | Please see the file toolkit/content/license.html for the copyright licensing
2 | conditions attached to this codebase, including copies of the licenses
3 | concerned.
4 |
5 | You are not granted rights or licenses to the trademarks of the
6 | Mozilla Foundation or any party, including without limitation the
7 | Firefox name or logo.
8 |
9 | For more information, see: http://www.mozilla.org/foundation/licensing.html
10 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/README.xulrunner:
--------------------------------------------------------------------------------
1 | XULRunner is a package which can be used to run applications written in HTML
2 | or XUL. It can also be used to embed the gecko rendering engine into
3 | binary applications.
4 |
5 | XULRunner is not a product; it is a tool which can be used to create products.
6 | It is a byproduct of Firefox development and the Mozilla community does not
7 | have a strong commitment to support XULRunner development apart from Firefox
8 | development.
9 |
10 | For more information about using XULRunner or how to use this binary package,
11 | see the Mozilla Developer Center article:
12 |
13 | https://developer.mozilla.org/en/XULRunner
14 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/breakpadinjector.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/breakpadinjector.dll
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/crashreporter.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/crashreporter.exe
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/d3dcompiler_47.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/d3dcompiler_47.dll
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/dependentlibs.list:
--------------------------------------------------------------------------------
1 | mozglue.dll
2 | nss3.dll
3 | sandboxbroker.dll
4 | xul.dll
5 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/freebl3.chk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/freebl3.chk
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/freebl3.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/freebl3.dll
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/gmp-clearkey/0.1/clearkey.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/gmp-clearkey/0.1/clearkey.dll
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/gmp-clearkey/0.1/clearkey.info:
--------------------------------------------------------------------------------
1 | Name: clearkey
2 | Description: ClearKey Gecko Media Plugin
3 | Version: 1
4 | APIs: eme-decrypt-v7[org.w3.clearkey], decode-audio[aac:org.w3.clearkey], decode-video[h264:org.w3.clearkey]
5 | Libraries: dxva2.dll, d3d9.dll, msmpeg2vdec.dll, msmpeg2adec.dll, MSAudDecMFT.dll, evr.dll, mfheaacdec.dll, mfh264dec.dll, mfplat.dll
6 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/gmp-fake/1.0/fake.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/gmp-fake/1.0/fake.dll
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/gmp-fake/1.0/fake.info:
--------------------------------------------------------------------------------
1 | Name: fake
2 | Description: Fake GMP Plugin
3 | Version: 1.0
4 | APIs: decode-video[h264:broken], eme-decrypt-v7[fake]
5 | Libraries: dxva2.dll
6 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/gmp-fake/1.0/fake.voucher:
--------------------------------------------------------------------------------
1 | gmp-fake placeholder voucher
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/gmp-fakeopenh264/1.0/fakeopenh264.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/gmp-fakeopenh264/1.0/fakeopenh264.dll
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/gmp-fakeopenh264/1.0/fakeopenh264.info:
--------------------------------------------------------------------------------
1 | Name: fakeopenh264
2 | Description: Fake GMP Plugin
3 | Version: 1.0
4 | APIs: encode-video[h264:fake], decode-video[h264:fake]
5 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/gmp-fakeopenh264/1.0/fakeopenh264.voucher:
--------------------------------------------------------------------------------
1 | gmp-fakeopenh264 placeholder voucher
2 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/icudt52.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/icudt52.dll
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/icuin52.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/icuin52.dll
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/icuuc52.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/icuuc52.dll
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/js-gdb.py:
--------------------------------------------------------------------------------
1 | """ GDB Python customization auto-loader for js shell """
2 |
3 | import os.path
4 | sys.path[0:0] = [os.path.join('c:/builds/moz2_slave/rel-m-rel-xr_w32_bld-000000000/build/js/src', 'gdb')]
5 |
6 | import mozilla.autoload
7 | mozilla.autoload.register(gdb.current_objfile())
8 |
9 | import mozilla.asmjs
10 | mozilla.asmjs.install()
11 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/js.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/js.exe
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/libEGL.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/libEGL.dll
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/libGLESv2.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/libGLESv2.dll
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/mozglue.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/mozglue.dll
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/msvcp120.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/msvcp120.dll
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/msvcr120.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/msvcr120.dll
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/nss3.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/nss3.dll
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/nssckbi.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/nssckbi.dll
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/nssdbm3.chk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/nssdbm3.chk
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/nssdbm3.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/nssdbm3.dll
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/omni.ja:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/omni.ja
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/platform.ini:
--------------------------------------------------------------------------------
1 | [Build]
2 | BuildID=20150929144111
3 | Milestone=41.0.1
4 | SourceStamp=76aad04b2a72
5 | SourceRepository=https://hg.mozilla.org/releases/mozilla-release
6 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/plugin-container.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/plugin-container.exe
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/plugin-hang-ui.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/plugin-hang-ui.exe
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/precomplete:
--------------------------------------------------------------------------------
1 | remove "xulrunner.exe"
2 | remove "xulrunner-stub.exe"
3 | remove "xul.dll"
4 | remove "wow_helper.exe"
5 | remove "updater.exe"
6 | remove "softokn3.dll"
7 | remove "softokn3.chk"
8 | remove "sandboxbroker.dll"
9 | remove "redit.exe"
10 | remove "precomplete"
11 | remove "plugin-hang-ui.exe"
12 | remove "plugin-container.exe"
13 | remove "platform.ini"
14 | remove "omni.ja"
15 | remove "nssdbm3.dll"
16 | remove "nssdbm3.chk"
17 | remove "nssckbi.dll"
18 | remove "nss3.dll"
19 | remove "msvcr120.dll"
20 | remove "msvcp120.dll"
21 | remove "mozglue.dll"
22 | remove "libGLESv2.dll"
23 | remove "libEGL.dll"
24 | remove "js.exe"
25 | remove "js-gdb.py"
26 | remove "icuuc52.dll"
27 | remove "icuin52.dll"
28 | remove "icudt52.dll"
29 | remove "gmp-fakeopenh264/1.0/fakeopenh264.voucher"
30 | remove "gmp-fakeopenh264/1.0/fakeopenh264.info"
31 | remove "gmp-fakeopenh264/1.0/fakeopenh264.dll"
32 | remove "gmp-fake/1.0/fake.voucher"
33 | remove "gmp-fake/1.0/fake.info"
34 | remove "gmp-fake/1.0/fake.dll"
35 | remove "gmp-clearkey/0.1/clearkey.info"
36 | remove "gmp-clearkey/0.1/clearkey.dll"
37 | remove "freebl3.dll"
38 | remove "freebl3.chk"
39 | remove "dictionaries/en-US.dic"
40 | remove "dictionaries/en-US.aff"
41 | remove "dependentlibs.list"
42 | remove "d3dcompiler_47.dll"
43 | remove "crashreporter.ini"
44 | remove "crashreporter.exe"
45 | remove "breakpadinjector.dll"
46 | remove "README.xulrunner"
47 | remove "LICENSE"
48 | remove "IA2Marshal.dll"
49 | remove "D3DCompiler_43.dll"
50 | remove "AccessibleMarshal.dll"
51 | rmdir "gmp-fakeopenh264/1.0/"
52 | rmdir "gmp-fakeopenh264/"
53 | rmdir "gmp-fake/1.0/"
54 | rmdir "gmp-fake/"
55 | rmdir "gmp-clearkey/0.1/"
56 | rmdir "gmp-clearkey/"
57 | rmdir "dictionaries/"
58 |
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/redit.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/redit.exe
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/sandboxbroker.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/sandboxbroker.dll
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/softokn3.chk:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/softokn3.chk
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/softokn3.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/softokn3.dll
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/updater.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/updater.exe
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/wow_helper.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/wow_helper.exe
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/xul.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/xul.dll
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/xulrunner-stub.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/xulrunner-stub.exe
--------------------------------------------------------------------------------
/SebWindowsBrowser/xulrunner/xulrunner.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsBrowser/xulrunner/xulrunner.exe
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Animation/ExpandAnimation.cs:
--------------------------------------------------------------------------------
1 | /**
2 | * MetroFramework - Modern UI for WinForms
3 | *
4 | * The MIT License (MIT)
5 | * Copyright (c) 2011 Sven Walter, http://github.com/viperneo
6 | *
7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of
8 | * this software and associated documentation files (the "Software"), to deal in the
9 | * Software without restriction, including without limitation the rights to use, copy,
10 | * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
11 | * and to permit persons to whom the Software is furnished to do so, subject to the
12 | * following conditions:
13 | *
14 | * The above copyright notice and this permission notice shall be included in
15 | * all copies or substantial portions of the Software.
16 | *
17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
18 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
19 | * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
20 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
21 | * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
22 | * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 | */
24 | using System.Drawing;
25 | using System.Windows.Forms;
26 |
27 | namespace MetroFramework.Animation
28 | {
29 | public sealed class ExpandAnimation : AnimationBase
30 | {
31 | public void Start(Control control, Size targetSize, TransitionType transitionType, int duration)
32 | {
33 | base.Start(control, transitionType, duration,
34 | delegate
35 | {
36 | int width = DoExpandAnimation(control.Width, targetSize.Width);
37 | int height = DoExpandAnimation(control.Height, targetSize.Height);
38 |
39 | control.Size = new Size(width, height);
40 | },
41 | delegate
42 | {
43 | return (control.Size.Equals(targetSize));
44 | });
45 | }
46 |
47 | private int DoExpandAnimation(int startSize, int targetSize)
48 | {
49 | float t = (float)counter - startTime;
50 | float b = (float)startSize;
51 | float c = (float)targetSize - startSize;
52 | float d = (float)targetTime - startTime;
53 |
54 | return MakeTransition(t, b, d, c);
55 | }
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Animation/MoveAnimation.cs:
--------------------------------------------------------------------------------
1 | /**
2 | * MetroFramework - Modern UI for WinForms
3 | *
4 | * The MIT License (MIT)
5 | * Copyright (c) 2011 Sven Walter, http://github.com/viperneo
6 | *
7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of
8 | * this software and associated documentation files (the "Software"), to deal in the
9 | * Software without restriction, including without limitation the rights to use, copy,
10 | * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
11 | * and to permit persons to whom the Software is furnished to do so, subject to the
12 | * following conditions:
13 | *
14 | * The above copyright notice and this permission notice shall be included in
15 | * all copies or substantial portions of the Software.
16 | *
17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
18 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
19 | * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
20 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
21 | * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
22 | * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 | */
24 | using System.Drawing;
25 | using System.Windows.Forms;
26 |
27 | namespace MetroFramework.Animation
28 | {
29 | public sealed class MoveAnimation : AnimationBase
30 | {
31 | public void Start(Control control, Point targetPoint, TransitionType transitionType, int duration)
32 | {
33 | base.Start(control, transitionType, duration,
34 | delegate
35 | {
36 | int x = DoMoveAnimation(control.Location.X, targetPoint.X);
37 | int y = DoMoveAnimation(control.Location.Y, targetPoint.Y);
38 |
39 | control.Location = new Point(x, y);
40 | },
41 | delegate
42 | {
43 | return (control.Location.Equals(targetPoint));
44 | });
45 | }
46 |
47 | private int DoMoveAnimation(int startPos, int targetPos)
48 | {
49 | float t = (float)counter - startTime;
50 | float b = (float)startPos;
51 | float c = (float)targetPos - startPos;
52 | float d = (float)targetTime - startTime;
53 |
54 | return MakeTransition(t, b, d, c);
55 | }
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Animation/TransitionType.cs:
--------------------------------------------------------------------------------
1 | /**
2 | * MetroFramework - Modern UI for WinForms
3 | *
4 | * The MIT License (MIT)
5 | * Copyright (c) 2011 Sven Walter, http://github.com/viperneo
6 | *
7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of
8 | * this software and associated documentation files (the "Software"), to deal in the
9 | * Software without restriction, including without limitation the rights to use, copy,
10 | * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
11 | * and to permit persons to whom the Software is furnished to do so, subject to the
12 | * following conditions:
13 | *
14 | * The above copyright notice and this permission notice shall be included in
15 | * all copies or substantial portions of the Software.
16 | *
17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
18 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
19 | * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
20 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
21 | * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
22 | * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 | */
24 | namespace MetroFramework.Animation
25 | {
26 | public enum TransitionType
27 | {
28 | Linear,
29 | EaseInQuad,
30 | EaseOutQuad,
31 | EaseInOutQuad,
32 | EaseInCubic,
33 | EaseOutCubic,
34 | EaseInOutCubic,
35 | EaseInQuart,
36 | EaseInExpo,
37 | EaseOutExpo,
38 | NotApplicable
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssAnonymousBlockBox.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssAnonymousBlockBox.cs
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssAnonymousBox.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssAnonymousBox.cs
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssBlock.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssBlock.cs
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssBox.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssBox.cs
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssBoxWord.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssBoxWord.cs
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssBoxWordSplitter.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssBoxWordSplitter.cs
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssConstants.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssConstants.cs
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssDefaults.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssDefaults.cs
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssDrawingHelper.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssDrawingHelper.cs
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssLayoutEngine.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssLayoutEngine.cs
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssLength.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssLength.cs
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssLineBox.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssLineBox.cs
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssPropertyAttribute.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssPropertyAttribute.cs
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssPropertyInheritedAttribute.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssPropertyInheritedAttribute.cs
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssRectangle.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssRectangle.cs
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssTable.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssTable.cs
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssValue.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/CssValue.cs
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/HtmlConstants.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/HtmlConstants.cs
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/HtmlLabel.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/HtmlLabel.cs
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/HtmlPanel.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/HtmlPanel.cs
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/HtmlRenderer.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/HtmlRenderer.cs
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/HtmlTag.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/HtmlTag.cs
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/HtmlToolTip.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/HtmlToolTip.cs
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/InitialContainer.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/InitialContainer.cs
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/Parser.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/MetroFramework/MetroFramework/Drawing/Html/Parser.cs
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Drawing/MetroBackBuffer.cs:
--------------------------------------------------------------------------------
1 | /**
2 | * MetroFramework - Modern UI for WinForms
3 | *
4 | * The MIT License (MIT)
5 | * Copyright (c) 2011 Sven Walter, http://github.com/viperneo
6 | *
7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of
8 | * this software and associated documentation files (the "Software"), to deal in the
9 | * Software without restriction, including without limitation the rights to use, copy,
10 | * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
11 | * and to permit persons to whom the Software is furnished to do so, subject to the
12 | * following conditions:
13 | *
14 | * The above copyright notice and this permission notice shall be included in
15 | * all copies or substantial portions of the Software.
16 | *
17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
18 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
19 | * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
20 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
21 | * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
22 | * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 | */
24 | using System;
25 | using System.Collections.Generic;
26 | using System.Text;
27 | using System.Drawing;
28 | using System.Drawing.Drawing2D;
29 | using System.Drawing.Imaging;
30 | using System.Drawing.Text;
31 |
32 | namespace MetroFramework.Drawing
33 | {
34 | internal sealed class MetroBackBuffer
35 | {
36 | private Bitmap backBuffer;
37 |
38 | public MetroBackBuffer(Size bufferSize)
39 | {
40 | backBuffer = new Bitmap(bufferSize.Width, bufferSize.Height, PixelFormat.Format32bppArgb);
41 | }
42 |
43 | public Graphics CreateGraphics()
44 | {
45 | Graphics g = Graphics.FromImage(backBuffer);
46 |
47 | g.CompositingMode = CompositingMode.SourceOver;
48 | g.CompositingQuality = CompositingQuality.HighQuality;
49 | g.InterpolationMode = InterpolationMode.High;
50 | g.PixelOffsetMode = PixelOffsetMode.HighQuality;
51 | g.SmoothingMode = SmoothingMode.AntiAlias;
52 |
53 | g.TextRenderingHint = TextRenderingHint.ClearTypeGridFit;
54 |
55 | return g;
56 | }
57 |
58 | public void Draw(Graphics g)
59 | {
60 | g.DrawImageUnscaled(backBuffer, Point.Empty);
61 | }
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Forms/MetroMessageBox.cs:
--------------------------------------------------------------------------------
1 | /**
2 | * MetroFramework - Modern UI for WinForms
3 | *
4 | * The MIT License (MIT)
5 | * Copyright (c) 2011 Sven Walter, http://github.com/viperneo
6 | *
7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of
8 | * this software and associated documentation files (the "Software"), to deal in the
9 | * Software without restriction, including without limitation the rights to use, copy,
10 | * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
11 | * and to permit persons to whom the Software is furnished to do so, subject to the
12 | * following conditions:
13 | *
14 | * The above copyright notice and this permission notice shall be included in
15 | * all copies or substantial portions of the Software.
16 | *
17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
18 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
19 | * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
20 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
21 | * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
22 | * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 | */
24 | namespace MetroFramework.Forms
25 | {
26 | public sealed class MetroMessageBox : MetroForm
27 | {
28 |
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Interfaces/IMetroComponent.cs:
--------------------------------------------------------------------------------
1 | /**
2 | * MetroFramework - Modern UI for WinForms
3 | *
4 | * The MIT License (MIT)
5 | * Copyright (c) 2011 Sven Walter, http://github.com/viperneo
6 | *
7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of
8 | * this software and associated documentation files (the "Software"), to deal in the
9 | * Software without restriction, including without limitation the rights to use, copy,
10 | * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
11 | * and to permit persons to whom the Software is furnished to do so, subject to the
12 | * following conditions:
13 | *
14 | * The above copyright notice and this permission notice shall be included in
15 | * all copies or substantial portions of the Software.
16 | *
17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
18 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
19 | * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
20 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
21 | * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
22 | * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 | */
24 | using MetroFramework.Components;
25 |
26 | namespace MetroFramework.Interfaces
27 | {
28 | public interface IMetroComponent
29 | {
30 | MetroColorStyle Style { get; set; }
31 | MetroThemeStyle Theme { get; set; }
32 |
33 | MetroStyleManager StyleManager { get; set; }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Interfaces/IMetroControl.cs:
--------------------------------------------------------------------------------
1 | /**
2 | * MetroFramework - Modern UI for WinForms
3 | *
4 | * The MIT License (MIT)
5 | * Copyright (c) 2011 Sven Walter, http://github.com/viperneo
6 | *
7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of
8 | * this software and associated documentation files (the "Software"), to deal in the
9 | * Software without restriction, including without limitation the rights to use, copy,
10 | * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
11 | * and to permit persons to whom the Software is furnished to do so, subject to the
12 | * following conditions:
13 | *
14 | * The above copyright notice and this permission notice shall be included in
15 | * all copies or substantial portions of the Software.
16 | *
17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
18 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
19 | * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
20 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
21 | * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
22 | * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 | */
24 | using System;
25 | using System.Windows.Forms;
26 |
27 | using MetroFramework.Drawing;
28 | using MetroFramework.Components;
29 |
30 | namespace MetroFramework.Interfaces
31 | {
32 | public interface IMetroControl
33 | {
34 | event EventHandler CustomPaintBackground;
35 | event EventHandler CustomPaint;
36 | event EventHandler CustomPaintForeground;
37 |
38 | MetroColorStyle Style { get; set; }
39 | MetroThemeStyle Theme { get; set; }
40 |
41 | MetroStyleManager StyleManager { get; set; }
42 |
43 | bool UseCustomBackColor { get; set; }
44 | bool UseCustomForeColor { get; set; }
45 | bool UseStyleColors { get; set; }
46 | bool UseSelectable { get; set; }
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Interfaces/IMetroForm.cs:
--------------------------------------------------------------------------------
1 | /**
2 | * MetroFramework - Modern UI for WinForms
3 | *
4 | * The MIT License (MIT)
5 | * Copyright (c) 2011 Sven Walter, http://github.com/viperneo
6 | *
7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of
8 | * this software and associated documentation files (the "Software"), to deal in the
9 | * Software without restriction, including without limitation the rights to use, copy,
10 | * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
11 | * and to permit persons to whom the Software is furnished to do so, subject to the
12 | * following conditions:
13 | *
14 | * The above copyright notice and this permission notice shall be included in
15 | * all copies or substantial portions of the Software.
16 | *
17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
18 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
19 | * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
20 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
21 | * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
22 | * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 | */
24 | using MetroFramework.Components;
25 |
26 | namespace MetroFramework.Interfaces
27 | {
28 | public interface IMetroForm
29 | {
30 | MetroColorStyle Style { get; set; }
31 | MetroThemeStyle Theme { get; set; }
32 |
33 | MetroStyleManager StyleManager { get; set; }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Localization/de/MetroToggle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | StatusOn
5 | An
6 |
7 |
8 | StatusOff
9 | Aus
10 |
11 |
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Localization/en/MetroToggle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | StatusOn
5 | On
6 |
7 |
8 | StatusOff
9 | Off
10 |
11 |
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Localization/tr/MetroToggle.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | StatusOn
5 | Açık
6 |
7 |
8 | StatusOff
9 | Kapalı
10 |
11 |
12 |
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/MessageBox/MetroMessageBoxProperties.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Diagnostics;
4 | using System.Text;
5 | using System.Windows.Forms;
6 |
7 | namespace MetroFramework
8 | {
9 | ///
10 | /// Message box overlay display properties.
11 | ///
12 | public class MetroMessageBoxProperties
13 | {
14 |
15 | ///
16 | /// Creates a new instance of MessageBoxOverlayProperties.
17 | ///
18 | ///
19 | public MetroMessageBoxProperties(MetroMessageBoxControl owner)
20 | { _owner = owner; }
21 |
22 | ///
23 | /// Gets or sets the message box buttons in the message box overlay.
24 | ///
25 | public MessageBoxButtons Buttons
26 | { get; set; }
27 |
28 | ///
29 | /// Gets or sets the message box default button.
30 | ///
31 | public MessageBoxDefaultButton DefaultButton
32 | { get; set; }
33 |
34 | ///
35 | /// Gets or sets the message box overlay icon.
36 | ///
37 | public MessageBoxIcon Icon
38 | { get; set; }
39 |
40 | ///
41 | /// Gets or sets the message box overlay message contents.
42 | ///
43 | public string Message
44 | { get; set; }
45 |
46 | [DebuggerBrowsable(DebuggerBrowsableState.Never)]
47 | private MetroMessageBoxControl _owner = null;
48 |
49 | ///
50 | /// Gets the property owner.
51 | ///
52 | public MetroMessageBoxControl Owner
53 | { get { return _owner; } }
54 |
55 | ///
56 | /// Gets or sets the message box overlat title.
57 | ///
58 | public string Title
59 | { get; set; }
60 |
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/MetroColorStyle.cs:
--------------------------------------------------------------------------------
1 | /**
2 | * MetroFramework - Modern UI for WinForms
3 | *
4 | * The MIT License (MIT)
5 | * Copyright (c) 2011 Sven Walter, http://github.com/viperneo
6 | *
7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of
8 | * this software and associated documentation files (the "Software"), to deal in the
9 | * Software without restriction, including without limitation the rights to use, copy,
10 | * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
11 | * and to permit persons to whom the Software is furnished to do so, subject to the
12 | * following conditions:
13 | *
14 | * The above copyright notice and this permission notice shall be included in
15 | * all copies or substantial portions of the Software.
16 | *
17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
18 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
19 | * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
20 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
21 | * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
22 | * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 | */
24 | namespace MetroFramework
25 | {
26 | public enum MetroColorStyle
27 | {
28 | Default,
29 | Black,
30 | White,
31 | Silver,
32 | Blue,
33 | Green,
34 | Lime,
35 | Teal,
36 | Orange,
37 | Brown,
38 | Pink,
39 | Magenta,
40 | Purple,
41 | Red,
42 | Yellow
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/MetroDefaults.cs:
--------------------------------------------------------------------------------
1 | /**
2 | * MetroFramework - Modern UI for WinForms
3 | *
4 | * The MIT License (MIT)
5 | * Copyright (c) 2011 Sven Walter, http://github.com/viperneo
6 | *
7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of
8 | * this software and associated documentation files (the "Software"), to deal in the
9 | * Software without restriction, including without limitation the rights to use, copy,
10 | * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
11 | * and to permit persons to whom the Software is furnished to do so, subject to the
12 | * following conditions:
13 | *
14 | * The above copyright notice and this permission notice shall be included in
15 | * all copies or substantial portions of the Software.
16 | *
17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
18 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
19 | * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
20 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
21 | * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
22 | * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 | */
24 | using System;
25 |
26 | namespace MetroFramework
27 | {
28 | internal static class MetroDefaults
29 | {
30 | public const MetroColorStyle Style = MetroColorStyle.Blue;
31 | public const MetroThemeStyle Theme = MetroThemeStyle.Light;
32 |
33 | public static class PropertyCategory
34 | {
35 | public const string Appearance = "Metro Appearance";
36 | public const string Behaviour = "Metro Behaviour";
37 | }
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/MetroImage.cs:
--------------------------------------------------------------------------------
1 | /**
2 | * MetroFramework - Modern UI for WinForms
3 | *
4 | * The MIT License (MIT)
5 | * Copyright (c) 2011 Sven Walter, http://github.com/viperneo
6 | *
7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of
8 | * this software and associated documentation files (the "Software"), to deal in the
9 | * Software without restriction, including without limitation the rights to use, copy,
10 | * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
11 | * and to permit persons to whom the Software is furnished to do so, subject to the
12 | * following conditions:
13 | *
14 | * The above copyright notice and this permission notice shall be included in
15 | * all copies or substantial portions of the Software.
16 | *
17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
18 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
19 | * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
20 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
21 | * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
22 | * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 | */
24 | using System;
25 | using System.Drawing;
26 |
27 | namespace MetroFramework
28 | {
29 | class MetroImage
30 | {
31 | public static Image ResizeImage(Image imgToResize, Rectangle maxOffset)
32 | {
33 | int sourceWidth = imgToResize.Width;
34 | int sourceHeight = imgToResize.Height;
35 |
36 | float nPercent = 0;
37 | float nPercentW = 0;
38 | float nPercentH = 0;
39 |
40 | nPercentW = (float)maxOffset.Width / sourceWidth;
41 | nPercentH = (float)maxOffset.Height / sourceHeight;
42 |
43 | nPercent = nPercentH < nPercentW ? nPercentH : nPercentW;
44 |
45 | int destWidth = (int)(sourceWidth * nPercent);
46 | int destHeight = (int)(sourceHeight * nPercent);
47 |
48 | return imgToResize.GetThumbnailImage(destWidth, destHeight, null, IntPtr.Zero);
49 | }
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/MetroThemeStyle.cs:
--------------------------------------------------------------------------------
1 | /**
2 | * MetroFramework - Modern UI for WinForms
3 | *
4 | * The MIT License (MIT)
5 | * Copyright (c) 2011 Sven Walter, http://github.com/viperneo
6 | *
7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of
8 | * this software and associated documentation files (the "Software"), to deal in the
9 | * Software without restriction, including without limitation the rights to use, copy,
10 | * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
11 | * and to permit persons to whom the Software is furnished to do so, subject to the
12 | * following conditions:
13 | *
14 | * The above copyright notice and this permission notice shall be included in
15 | * all copies or substantial portions of the Software.
16 | *
17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
18 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
19 | * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
20 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
21 | * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
22 | * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 | */
24 | namespace MetroFramework
25 | {
26 | public enum MetroThemeStyle
27 | {
28 | Default,
29 | Light,
30 | Dark
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Native/WinCaret.cs:
--------------------------------------------------------------------------------
1 | /**
2 | * MetroFramework - Modern UI for WinForms
3 | *
4 | * The MIT License (MIT)
5 | * Copyright (c) 2011 Sven Walter, http://github.com/viperneo
6 | *
7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of
8 | * this software and associated documentation files (the "Software"), to deal in the
9 | * Software without restriction, including without limitation the rights to use, copy,
10 | * modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
11 | * and to permit persons to whom the Software is furnished to do so, subject to the
12 | * following conditions:
13 | *
14 | * The above copyright notice and this permission notice shall be included in
15 | * all copies or substantial portions of the Software.
16 | *
17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
18 | * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
19 | * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
20 | * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
21 | * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
22 | * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 | */
24 | using System;
25 | using System.Runtime.InteropServices;
26 | using System.Security;
27 |
28 | namespace MetroFramework.Native
29 | {
30 | [SuppressUnmanagedCodeSecurity]
31 | internal sealed class WinCaret
32 | {
33 | [DllImport("User32.dll")]
34 | private static extern bool CreateCaret(IntPtr hWnd, int hBitmap, int nWidth, int nHeight);
35 |
36 | [DllImport("User32.dll")]
37 | private static extern bool SetCaretPos(int x, int y);
38 |
39 | [DllImport("User32.dll")]
40 | private static extern bool DestroyCaret();
41 |
42 | [DllImport("User32.dll")]
43 | private static extern bool ShowCaret(IntPtr hWnd);
44 |
45 | [DllImport("User32.dll")]
46 | public static extern bool HideCaret(IntPtr hWnd);
47 |
48 | private IntPtr controlHandle;
49 |
50 | public WinCaret(IntPtr ownerHandle)
51 | {
52 | controlHandle = ownerHandle;
53 | }
54 |
55 | public bool Create(int width, int height)
56 | {
57 | return CreateCaret(controlHandle, 0, width, height);
58 | }
59 | public void Hide()
60 | {
61 | HideCaret(controlHandle);
62 | }
63 | public void Show()
64 | {
65 | ShowCaret(controlHandle);
66 | }
67 | public bool SetPosition(int x, int y)
68 | {
69 | return SetCaretPos(x, y);
70 | }
71 | public void Destroy()
72 | {
73 | DestroyCaret();
74 | }
75 | }
76 | }
77 |
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // Dieser Code wurde von einem Tool generiert.
4 | // Laufzeitversion:4.0.30319.296
5 | //
6 | // Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
7 | // der Code erneut generiert wird.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace MetroFramework.Properties {
12 |
13 |
14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
17 |
18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
19 |
20 | public static Settings Default {
21 | get {
22 | return defaultInstance;
23 | }
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/SebWindowsClient/MetroFramework/MetroFramework/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 | 1
32 | MsgHook.dll
33 | 1
34 | 0
35 | notepad,OUTLOOK
36 | 1
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/ConfigurationUtils/SEBPropertyList.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Xml.Serialization;
6 |
7 | namespace SebWindowsClient.ConfigurationUtils
8 | {
9 | public class SEBPropertyList
10 | {
11 | [XmlElement("MovieName")]
12 | public string Title
13 | { get; set; }
14 |
15 | [XmlElement("MovieRating")]
16 | public float Rating
17 | { get; set; }
18 |
19 | [XmlElement("MovieReleaseDate")]
20 | public DateTime ReleaseDate
21 | { get; set; }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/DesktopUtils/SEBDesktopWallpaper.cs:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------
2 | // Viktor tomas
3 | // BFH-TI, http://www.ti.bfh.ch
4 | // Biel, 2012
5 | // -------------------------------------------------------------
6 | using System;
7 | using System.Collections.Generic;
8 | using System.Linq;
9 | using System.Text;
10 | using System.Runtime.InteropServices;
11 | using Microsoft.Win32;
12 |
13 | namespace SebWindowsClient.DesktopUtils
14 | {
15 | public static class SEBDesktopWallpaper
16 | {
17 | const int SPI_SETDESKWALLPAPER = 20;
18 | const int SPIF_UPDATEINIFILE = 0x01;
19 | const int SPIF_SENDWININICHANGE = 0x02;
20 | const int SPI_GETDESKWALLPAPER = 0x73;
21 | const int MAX_PATH = 260;
22 |
23 | [DllImport("user32.dll", CharSet = CharSet.Auto)]
24 | static extern int SystemParametersInfo(
25 | int uAction, int uParam, string lpvParam, int fuWinIni);
26 |
27 | private static string _currentWallpaper = null;
28 |
29 | public enum Style : int
30 | {
31 | Tiled, Centered, Stretched
32 | }
33 |
34 | public static void BlankWallpaper()
35 | {
36 | //if (_currentWallpaper == null)
37 | // _currentWallpaper = GetWallpaper();
38 |
39 | //SetWallpaper("");
40 | }
41 |
42 | public static void Reset()
43 | {
44 | //if(_currentWallpaper != null)
45 | // SetWallpaper(_currentWallpaper);
46 | }
47 |
48 | private static string GetWallpaper()
49 | {
50 | var currentWallpaper = new string('\0', MAX_PATH);
51 | SystemParametersInfo(SPI_GETDESKWALLPAPER, currentWallpaper.Length, currentWallpaper, 0);
52 | return currentWallpaper.Substring(0, currentWallpaper.IndexOf('\0'));
53 | }
54 |
55 | private static void SetWallpaper(string path)
56 | {
57 | SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, path, SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE);
58 | }
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/DiagnosticsUtils/OSVersion.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.Win32;
2 |
3 | namespace SebWindowsClient.DiagnosticsUtils
4 | {
5 | public static class OSVersion
6 | {
7 | private static string HKLM_GetString(string path, string key)
8 | {
9 | try
10 | {
11 | RegistryKey rk = Registry.LocalMachine.OpenSubKey(path);
12 | if (rk == null) return "";
13 | return (string)rk.GetValue(key);
14 | }
15 | catch { return ""; }
16 | }
17 |
18 | public static string FriendlyName()
19 | {
20 | string ProductName = HKLM_GetString(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion", "ProductName");
21 | string CSDVersion = HKLM_GetString(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion", "CSDVersion");
22 | if (ProductName != "")
23 | {
24 | return (ProductName.StartsWith("Microsoft") ? "" : "Microsoft ") + ProductName +
25 | (CSDVersion != "" ? " " + CSDVersion : "");
26 | }
27 | return "";
28 | }
29 |
30 | public static bool IsWindows7
31 | {
32 | get
33 | {
34 | return OSVersion.FriendlyName().Contains("7");
35 | }
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Fleck/FleckLog.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Fleck
4 | {
5 | public enum LogLevel
6 | {
7 | Debug,
8 | Info,
9 | Warn,
10 | Error
11 | }
12 |
13 | public class FleckLog
14 | {
15 | public static LogLevel Level = LogLevel.Info;
16 |
17 | public static Action LogAction = (level, message, ex) =>
18 | {
19 | if (level >= Level)
20 | Console.WriteLine("{0} [{1}] {2} {3}", DateTime.Now, level, message, ex);
21 | };
22 |
23 | public static void Warn(string message, Exception ex = null)
24 | {
25 | LogAction(LogLevel.Warn, message, ex);
26 | }
27 |
28 | public static void Error(string message, Exception ex = null)
29 | {
30 | LogAction(LogLevel.Error, message, ex);
31 | }
32 |
33 | public static void Debug(string message, Exception ex = null)
34 | {
35 | LogAction(LogLevel.Debug, message, ex);
36 | }
37 |
38 | public static void Info(string message, Exception ex = null)
39 | {
40 | LogAction(LogLevel.Info, message, ex);
41 | }
42 |
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Fleck/FrameType.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Fleck
4 | {
5 | public enum FrameType : byte
6 | {
7 | Continuation,
8 | Text,
9 | Binary,
10 | Close = 8,
11 | Ping = 9,
12 | Pong = 10,
13 | }
14 | }
15 |
16 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Fleck/HandlerFactory.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Fleck.Handlers;
3 |
4 | namespace Fleck
5 | {
6 | public class HandlerFactory
7 | {
8 | public static IHandler BuildHandler(WebSocketHttpRequest request, Action onMessage, Action onClose, Action onBinary, Action onPing, Action onPong)
9 | {
10 | var version = GetVersion(request);
11 |
12 | switch (version)
13 | {
14 | case "76":
15 | return Draft76Handler.Create(request, onMessage);
16 | case "7":
17 | case "8":
18 | case "13":
19 | return Hybi13Handler.Create(request, onMessage, onClose, onBinary, onPing, onPong);
20 | }
21 |
22 | throw new WebSocketException(WebSocketStatusCodes.UnsupportedDataType);
23 | }
24 |
25 | public static string GetVersion(WebSocketHttpRequest request)
26 | {
27 | string version;
28 | if (request.Headers.TryGetValue("Sec-WebSocket-Version", out version))
29 | return version;
30 |
31 | if (request.Headers.TryGetValue("Sec-WebSocket-Draft", out version))
32 | return version;
33 |
34 | if (request.Headers.ContainsKey("Sec-WebSocket-Key1"))
35 | return "76";
36 |
37 | return "75";
38 | }
39 | }
40 | }
41 |
42 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Fleck/Handlers/ComposableHandler.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace Fleck.Handlers
5 | {
6 | public class ComposableHandler : IHandler
7 | {
8 | public Func Handshake = s => new byte[0];
9 | public Func TextFrame = x => new byte[0];
10 | public Func BinaryFrame = x => new byte[0];
11 | public Action> ReceiveData = delegate { };
12 | public Func PingFrame = i => new byte[0];
13 | public Func PongFrame = i => new byte[0];
14 | public Func CloseFrame = i => new byte[0];
15 |
16 | private readonly List _data = new List();
17 |
18 | public byte[] CreateHandshake(string subProtocol = null)
19 | {
20 | return Handshake(subProtocol);
21 | }
22 |
23 | public void Receive(IEnumerable data)
24 | {
25 | _data.AddRange(data);
26 |
27 | ReceiveData(_data);
28 | }
29 |
30 | public byte[] FrameText(string text)
31 | {
32 | return TextFrame(text);
33 | }
34 |
35 | public byte[] FrameBinary(byte[] bytes)
36 | {
37 | return BinaryFrame(bytes);
38 | }
39 |
40 | public byte[] FramePing(byte[] bytes)
41 | {
42 | return PingFrame(bytes);
43 | }
44 |
45 | public byte[] FramePong(byte[] bytes)
46 | {
47 | return PongFrame(bytes);
48 | }
49 |
50 | public byte[] FrameClose(int code)
51 | {
52 | return CloseFrame(code);
53 | }
54 | }
55 | }
56 |
57 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Fleck/HandshakeException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Fleck
4 | {
5 | public class HandshakeException : Exception
6 | {
7 | public HandshakeException() : base() { }
8 |
9 | public HandshakeException(string message) : base(message) {}
10 |
11 | public HandshakeException(string message, Exception innerException) : base(message, innerException) {}
12 | }
13 | }
14 |
15 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Fleck/IntExtensions.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Fleck
4 | {
5 | public static class IntExtensions
6 | {
7 | public static byte[] ToBigEndianBytes(this int source)
8 | {
9 | byte[] bytes;
10 |
11 | var type = typeof(T);
12 | if (type == typeof(ushort))
13 | bytes = BitConverter.GetBytes((ushort)source);
14 | else if (type == typeof(ulong))
15 | bytes = BitConverter.GetBytes((ulong)source);
16 | else if (type == typeof(int))
17 | bytes = BitConverter.GetBytes(source);
18 | else
19 | throw new InvalidCastException("Cannot be cast to T");
20 |
21 | if (BitConverter.IsLittleEndian)
22 | Array.Reverse(bytes);
23 | return bytes;
24 | }
25 |
26 | public static int ToLittleEndianInt(this byte[] source)
27 | {
28 | if(BitConverter.IsLittleEndian)
29 | Array.Reverse(source);
30 |
31 | if(source.Length == 2)
32 | return BitConverter.ToUInt16(source, 0);
33 |
34 | if(source.Length == 8)
35 | return (int)BitConverter.ToUInt64(source, 0);
36 |
37 | throw new ArgumentException("Unsupported Size");
38 | }
39 | }
40 | }
41 |
42 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Fleck/Interfaces/IHandler.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 |
3 | namespace Fleck
4 | {
5 | public interface IHandler
6 | {
7 | byte[] CreateHandshake(string subProtocol = null);
8 | void Receive(IEnumerable data);
9 | byte[] FrameText(string text);
10 | byte[] FrameBinary(byte[] bytes);
11 | byte[] FramePing(byte[] bytes);
12 | byte[] FramePong(byte[] bytes);
13 | byte[] FrameClose(int code);
14 | }
15 | }
16 |
17 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Fleck/Interfaces/ISocket.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Net;
3 | using System.Security.Cryptography.X509Certificates;
4 | using System.Threading.Tasks;
5 | using System.IO;
6 |
7 | namespace Fleck
8 | {
9 | public interface ISocket
10 | {
11 | bool Connected { get; }
12 | string RemoteIpAddress { get; }
13 | int RemotePort { get; }
14 | Stream Stream { get; }
15 | bool NoDelay { get; set; }
16 |
17 | Task Accept(Action callback, Action error);
18 | Task Send(byte[] buffer, Action callback, Action error);
19 | Task Receive(byte[] buffer, Action callback, Action error, int offset = 0);
20 | Task Authenticate(X509Certificate2 certificate, Action callback, Action error);
21 |
22 | void Dispose();
23 | void Close();
24 |
25 | void Bind(EndPoint ipLocal);
26 | void Listen(int backlog);
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Fleck/Interfaces/IWebSocketConnection.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Fleck
4 | {
5 | public interface IWebSocketConnection
6 | {
7 | Action OnOpen { get; set; }
8 | Action OnClose { get; set; }
9 | Action OnMessage { get; set; }
10 | Action OnBinary { get; set; }
11 | Action OnPing { get; set; }
12 | Action OnPong { get; set; }
13 | Action OnError { get; set; }
14 | void Send(string message);
15 | void Send(byte[] message);
16 | void SendPing(byte[] message);
17 | void SendPong(byte[] message);
18 | void Close();
19 | IWebSocketConnectionInfo ConnectionInfo { get; }
20 | bool IsAvailable { get; }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Fleck/Interfaces/IWebSocketConnectionInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System;
3 |
4 | namespace Fleck
5 | {
6 | public interface IWebSocketConnectionInfo
7 | {
8 | string SubProtocol { get; }
9 | string Origin { get; }
10 | string Host { get; }
11 | string Path { get; }
12 | string ClientIpAddress { get; }
13 | int ClientPort { get; }
14 | IDictionary Cookies { get; }
15 | Guid Id { get; }
16 | string NegotiatedSubProtocol { get; }
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Fleck/Interfaces/IWebSocketServer.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Fleck
4 | {
5 | public interface IWebSocketServer : IDisposable
6 | {
7 | void Start(Action config);
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Fleck/ReadState.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 |
4 | namespace Fleck
5 | {
6 | public class ReadState
7 | {
8 | public ReadState()
9 | {
10 | Data = new List();
11 | }
12 | public List Data { get; private set; }
13 | public FrameType? FrameType { get; set; }
14 | public void Clear()
15 | {
16 | Data.Clear();
17 | FrameType = null;
18 | }
19 | }
20 | }
21 |
22 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Fleck/RequestParser.cs:
--------------------------------------------------------------------------------
1 | using System.Text;
2 | using System.Text.RegularExpressions;
3 |
4 | namespace Fleck
5 | {
6 | public class RequestParser
7 | {
8 | const string pattern = @"^(?[^\s]+)\s(?[^\s]+)\sHTTP\/1\.1\r\n" + // request line
9 | @"((?[^:\r\n]+):\s(?[^\r\n]*)\r\n)+" + //headers
10 | @"\r\n" + //newline
11 | @"(?.+)?";
12 |
13 | private static readonly Regex _regex = new Regex(pattern, RegexOptions.IgnoreCase | RegexOptions.Compiled);
14 |
15 | public static WebSocketHttpRequest Parse(byte[] bytes)
16 | {
17 | return Parse(bytes, "ws");
18 | }
19 |
20 | public static WebSocketHttpRequest Parse(byte[] bytes, string scheme)
21 | {
22 | var body = Encoding.UTF8.GetString(bytes);
23 | Match match = _regex.Match(body);
24 |
25 | if (!match.Success)
26 | return null;
27 |
28 | var request = new WebSocketHttpRequest
29 | {
30 | Method = match.Groups["method"].Value,
31 | Path = match.Groups["path"].Value,
32 | Body = match.Groups["body"].Value,
33 | Bytes = bytes,
34 | Scheme = scheme
35 | };
36 |
37 | var fields = match.Groups["field_name"].Captures;
38 | var values = match.Groups["field_value"].Captures;
39 | for (var i = 0; i < fields.Count; i++)
40 | {
41 | var name = fields[i].ToString();
42 | var value = values[i].ToString();
43 | request.Headers[name] = value;
44 | }
45 |
46 | return request;
47 | }
48 | }
49 | }
50 |
51 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Fleck/SubProtocolNegotiationFailureException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Fleck
4 | {
5 | public class SubProtocolNegotiationFailureException : Exception
6 | {
7 | public SubProtocolNegotiationFailureException() : base() { }
8 |
9 | public SubProtocolNegotiationFailureException(string message) : base(message) {}
10 |
11 | public SubProtocolNegotiationFailureException(string message, Exception innerException) : base(message, innerException) {}
12 | }
13 | }
14 |
15 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Fleck/SubProtocolNegotiator.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Linq;
3 | using System.Collections.Generic;
4 |
5 | namespace Fleck
6 | {
7 | public static class SubProtocolNegotiator
8 | {
9 | public static string Negotiate(IEnumerable server, IEnumerable client)
10 | {
11 | if (!server.Any() || !client.Any()) {
12 | return null;
13 | }
14 |
15 | var matches = client.Intersect(server);
16 | if (!matches.Any()) {
17 | throw new SubProtocolNegotiationFailureException("Unable to negotiate a subprotocol");
18 | }
19 | return matches.First();
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Fleck/WebSocketConnectionInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System.Text.RegularExpressions;
3 | using System;
4 |
5 | namespace Fleck
6 | {
7 | public class WebSocketConnectionInfo : IWebSocketConnectionInfo
8 | {
9 | const string CookiePattern = @"((;\s)*(?[^=]+)=(?[^\;]+))+";
10 | private static readonly Regex CookieRegex = new Regex(CookiePattern, RegexOptions.Compiled);
11 |
12 | public static WebSocketConnectionInfo Create(WebSocketHttpRequest request, string clientIp, int clientPort, string negotiatedSubprotocol)
13 | {
14 | var info = new WebSocketConnectionInfo
15 | {
16 | Origin = request["Origin"] ?? request["Sec-WebSocket-Origin"],
17 | Host = request["Host"],
18 | SubProtocol = request["Sec-WebSocket-Protocol"],
19 | Path = request.Path,
20 | ClientIpAddress = clientIp,
21 | ClientPort = clientPort,
22 | NegotiatedSubProtocol = negotiatedSubprotocol
23 | };
24 | var cookieHeader = request["Cookie"];
25 |
26 | if (cookieHeader != null)
27 | {
28 | var match = CookieRegex.Match(cookieHeader);
29 | var fields = match.Groups["cookie_name"].Captures;
30 | var values = match.Groups["cookie_value"].Captures;
31 | for (var i = 0; i < fields.Count; i++)
32 | {
33 | var name = fields[i].ToString();
34 | var value = values[i].ToString();
35 | info.Cookies[name] = value;
36 | }
37 | }
38 |
39 | return info;
40 | }
41 |
42 |
43 | WebSocketConnectionInfo()
44 | {
45 | Cookies = new Dictionary();
46 | Id = Guid.NewGuid();
47 | }
48 |
49 | public string NegotiatedSubProtocol { get; private set; }
50 | public string SubProtocol { get; private set; }
51 | public string Origin { get; private set; }
52 | public string Host { get; private set; }
53 | public string Path { get; private set; }
54 | public string ClientIpAddress { get; set; }
55 | public int ClientPort { get; set; }
56 | public Guid Id { get; set; }
57 |
58 | public IDictionary Cookies { get; private set; }
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Fleck/WebSocketException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | namespace Fleck
3 | {
4 | public class WebSocketException : Exception
5 | {
6 | public WebSocketException(ushort statusCode) : base()
7 | {
8 | StatusCode = statusCode;
9 | }
10 |
11 | public WebSocketException(ushort statusCode, string message) : base(message)
12 | {
13 | StatusCode = statusCode;
14 | }
15 |
16 | public WebSocketException(ushort statusCode, string message, Exception innerException) : base(message, innerException)
17 | {
18 | StatusCode = statusCode;
19 | }
20 |
21 | public ushort StatusCode { get; private set;}
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Fleck/WebSocketHttpRequest.cs:
--------------------------------------------------------------------------------
1 | using System.Collections.Generic;
2 | using System;
3 |
4 | namespace Fleck
5 | {
6 | public class WebSocketHttpRequest
7 | {
8 | private readonly IDictionary _headers = new Dictionary(System.StringComparer.InvariantCultureIgnoreCase);
9 |
10 | public string Method { get; set; }
11 |
12 | public string Path { get; set; }
13 |
14 | public string Body { get; set; }
15 |
16 | public string Scheme { get; set; }
17 |
18 | public byte[] Bytes { get; set; }
19 |
20 | public string this[string name]
21 | {
22 | get
23 | {
24 | string value;
25 | return _headers.TryGetValue(name, out value) ? value : default(string);
26 | }
27 | }
28 |
29 | public IDictionary Headers
30 | {
31 | get
32 | {
33 | return _headers;
34 | }
35 | }
36 |
37 | public string[] SubProtocols {
38 | get
39 | {
40 | string value;
41 | return _headers.TryGetValue("Sec-WebSocket-Protocol", out value)
42 | ? value.Split(new []{',', ' '}, StringSplitOptions.RemoveEmptyEntries)
43 | : new string[0];
44 | }
45 | }
46 | }
47 | }
48 |
49 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Fleck/WebSocketStatusCodes.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace Fleck
4 | {
5 | public static class WebSocketStatusCodes
6 | {
7 | public const ushort NormalClosure = 1000;
8 | public const ushort GoingAway = 1001;
9 | public const ushort ProtocolError = 1002;
10 | public const ushort UnsupportedDataType = 1003;
11 | public const ushort NoStatusReceived = 1005;
12 | public const ushort AbnormalClosure = 1006;
13 | public const ushort InvalidFramePayloadData = 1007;
14 | public const ushort PolicyViolation = 1008;
15 | public const ushort MessageTooBig = 1009;
16 | public const ushort MandatoryExt = 1010;
17 | public const ushort InternalServerError = 1011;
18 | public const ushort TLSHandshake = 1015;
19 |
20 | public const ushort ApplicationError = 3000;
21 |
22 | public static ushort[] ValidCloseCodes = new []{
23 | NormalClosure, GoingAway, ProtocolError, UnsupportedDataType,
24 | InvalidFramePayloadData, PolicyViolation, MessageTooBig,
25 | MandatoryExt, InternalServerError
26 | };
27 | }
28 | }
29 |
30 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/IconLib/IconLib/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("IconLib")]
9 | [assembly: AssemblyDescription("")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("")]
12 | [assembly: AssemblyProduct("IconLib")]
13 | [assembly: AssemblyCopyright("Copyright © Franco, Gustavo 2006")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("648f0c95-df6f-4556-ae00-f9e17be4c056")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Revision and Build Numbers
33 | // by using the '*' as shown below:
34 | [assembly: AssemblyVersion("0.73.*")]
35 | //[assembly: AssemblyFileVersion("0.73.*")]
36 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/IconLib/IconLib/Resources/EmptyDll.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/IconLib/IconLib/Resources/EmptyDll.dll
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/IconLib/IconLib/System/Drawing/IconLib/AuthorAttribute.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | using System;
20 | using System.Collections.Generic;
21 | using System.Text;
22 |
23 | namespace System.Drawing.IconLib
24 | {
25 | [AttributeUsage(AttributeTargets.Class |
26 | AttributeTargets.Enum |
27 | AttributeTargets.Interface |
28 | AttributeTargets.Struct,
29 | AllowMultiple = true)]
30 | [Author("Franco, Gustavo")]
31 | internal class AuthorAttribute : Attribute
32 | {
33 | #region Constructors
34 | public AuthorAttribute(string authorName)
35 | {
36 | }
37 | #endregion
38 | }
39 | }
40 |
41 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/IconLib/IconLib/System/Drawing/IconLib/ColorProcessing/IColorQuantizer.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | using System;
20 | using System.Text;
21 | using System.Drawing.Imaging;
22 | using System.Collections.Generic;
23 |
24 | namespace System.Drawing.IconLib.ColorProcessing
25 | {
26 | [Author("Franco, Gustavo")]
27 | public interface IColorQuantizer
28 | {
29 | #region Methods
30 | Bitmap Convert(Bitmap source, PixelFormat outputFormat);
31 | #endregion
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/IconLib/IconLib/System/Drawing/IconLib/ColorProcessing/IDithering.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | using System;
20 | using System.Text;
21 | using System.Drawing;
22 | using System.Drawing.IconLib;
23 | using System.Collections.Generic;
24 |
25 | namespace System.Drawing.IconLib.ColorProcessing
26 | {
27 | [Author("Franco, Gustavo")]
28 | public interface IDithering
29 | {
30 | #region Methods
31 | unsafe void Disperse(byte* pixelSource, int x, int y, byte bpp, int stride, int width, int height, Color colorEntry);
32 | #endregion
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/IconLib/IconLib/System/Drawing/IconLib/ColorProcessing/IPaletteQuantizer.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | using System;
20 | using System.Text;
21 | using System.Drawing;
22 | using System.Drawing.Imaging;
23 | using System.Collections.Generic;
24 |
25 | namespace System.Drawing.IconLib.ColorProcessing
26 | {
27 | [Author("Franco, Gustavo")]
28 | public interface IPaletteQuantizer
29 | {
30 | #region Methods
31 | ColorPalette CreatePalette(Bitmap image, int maxColors, int bitsPerPixel);
32 | #endregion
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/IconLib/IconLib/System/Drawing/IconLib/Exceptions/IconNameAlreadyExistException.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | namespace System.Drawing.IconLib.Exceptions
20 | {
21 | [Author("Franco, Gustavo")]
22 | public class IconNameAlreadyExistException : Exception
23 | {
24 | #region Constructors
25 | public IconNameAlreadyExistException() : base ("Icon name already exist in the collection")
26 | {
27 | }
28 | #endregion
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/IconLib/IconLib/System/Drawing/IconLib/Exceptions/ImageAlreadyExistsException.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | namespace System.Drawing.IconLib.Exceptions
20 | {
21 | [Author("Franco, Gustavo")]
22 | public class ImageAlreadyExistsException : Exception
23 | {
24 | #region Constructors
25 | public ImageAlreadyExistsException() : base ("Image with same size and format already exists")
26 | {
27 | }
28 | #endregion
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/IconLib/IconLib/System/Drawing/IconLib/Exceptions/ImageTooBigException.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | namespace System.Drawing.IconLib.Exceptions
20 | {
21 | [Author("Franco, Gustavo")]
22 | public class ImageTooBigException : Exception
23 | {
24 | #region Constructors
25 | public ImageTooBigException() : base ("Image width and height cannot be bigger than 256 pixels.")
26 | {
27 | }
28 | #endregion
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/IconLib/IconLib/System/Drawing/IconLib/Exceptions/InvalidFileException.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | namespace System.Drawing.IconLib.Exceptions
20 | {
21 | [Author("Franco, Gustavo")]
22 | public class InvalidFileException : Exception
23 | {
24 | #region Constructors
25 | public InvalidFileException() : base ("Format not recognized by IconLib")
26 | {
27 | }
28 | #endregion
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/IconLib/IconLib/System/Drawing/IconLib/Exceptions/InvalidICLFileException.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 |
20 | namespace System.Drawing.IconLib.Exceptions
21 | {
22 | [Author("Franco, Gustavo")]
23 | public class InvalidICLFileException : Exception
24 | {
25 | #region Constructors
26 | public InvalidICLFileException() : base ("Invalid ICL file.")
27 | {
28 | }
29 | #endregion
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/IconLib/IconLib/System/Drawing/IconLib/Exceptions/InvalidIconFormatSelectionException.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | namespace System.Drawing.IconLib.Exceptions
20 | {
21 | [Author("Franco, Gustavo")]
22 | public class InvalidIconFormatSelectionException : Exception
23 | {
24 | #region Constructors
25 | public InvalidIconFormatSelectionException() : base ("Invalid IconImageFormat selection")
26 | {
27 | }
28 | #endregion
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/IconLib/IconLib/System/Drawing/IconLib/Exceptions/InvalidIconSelectionException.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | namespace System.Drawing.IconLib.Exceptions
20 | {
21 | [Author("Franco, Gustavo")]
22 | public class InvalidIconSelectionException : Exception
23 | {
24 | #region Constructors
25 | public InvalidIconSelectionException() : base ("Selected Icon is invalid")
26 | {
27 | }
28 | #endregion
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/IconLib/IconLib/System/Drawing/IconLib/Exceptions/InvalidMultiIconFileException.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | namespace System.Drawing.IconLib.Exceptions
20 | {
21 | [Author("Franco, Gustavo")]
22 | public class InvalidMultiIconFileException : Exception
23 | {
24 | #region Constructors
25 | public InvalidMultiIconFileException() : base ("Invalid icon file. Signature does not match")
26 | {
27 | }
28 | #endregion
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/IconLib/IconLib/System/Drawing/IconLib/Exceptions/InvalidMultiIconMaskBitmap.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | namespace System.Drawing.IconLib.Exceptions
20 | {
21 | [Author("Franco, Gustavo")]
22 | public class InvalidMultiIconMaskBitmap : Exception
23 | {
24 | #region Constructors
25 | public InvalidMultiIconMaskBitmap() : base ("Invalid mask bitmap. Mask must be same size as the bitmap and PixelFormat must be Format1bppIndexed")
26 | {
27 | }
28 | #endregion
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/IconLib/IconLib/System/Drawing/IconLib/Exceptions/InvalidPixelFormatException.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | using System.Drawing.Imaging;
20 | namespace System.Drawing.IconLib.Exceptions
21 | {
22 | [Author("Franco, Gustavo")]
23 | public class InvalidPixelFormatException : Exception
24 | {
25 | #region Constructors
26 | public InvalidPixelFormatException(PixelFormat invalid, PixelFormat expected) : base (invalid != PixelFormat.Undefined ?
27 | "PixelFormat " + invalid.ToString() + " is invalid" :
28 | expected != PixelFormat.Undefined ?
29 | "PixelFormat " + expected.ToString() + " expected" :
30 | "Invalid PixelFormat")
31 | {
32 | }
33 | #endregion
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/IconLib/IconLib/System/Drawing/IconLib/LibraryFormats/ILibraryFormat.cs:
--------------------------------------------------------------------------------
1 | // Copyright (c) 2006, Gustavo Franco
2 | // Email: gustavo_franco@hotmail.com
3 | // All rights reserved.
4 |
5 | // Redistribution and use in source and binary forms, with or without modification,
6 | // are permitted provided that the following conditions are met:
7 |
8 | // Redistributions of source code must retain the above copyright notice,
9 | // this list of conditions and the following disclaimer.
10 | // Redistributions in binary form must reproduce the above copyright notice,
11 | // this list of conditions and the following disclaimer in the documentation
12 | // and/or other materials provided with the distribution.
13 |
14 | // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
15 | // KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
16 | // IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
17 | // PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
18 | // REMAINS UNCHANGED.
19 | using System;
20 | using System.IO;
21 | using System.Text;
22 | using System.Collections.Generic;
23 |
24 | namespace System.Drawing.IconLib.EncodingFormats
25 | {
26 | public interface ILibraryFormat
27 | {
28 | bool IsRecognizedFormat(Stream stream);
29 | void Save(MultiIcon singleIcon, Stream stream);
30 | MultiIcon Load(Stream stream);
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Intptr.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 |
6 | namespace SebWindowsClient
7 | {
8 | class Intptr
9 | {
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/ProcessUtils/ExecutableInfo.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | namespace SebWindowsClient.ProcessUtils
4 | {
5 | public class ExecutableInfo
6 | {
7 | public int? ProcessId { get; }
8 | public string Name { get; }
9 | public string OriginalName { get; }
10 |
11 | public ExecutableInfo(string name, string originalName = null, int? processId = null)
12 | {
13 | Name = name ?? string.Empty;
14 | OriginalName = originalName ?? string.Empty;
15 | ProcessId = processId;
16 | }
17 |
18 | public bool HasName
19 | {
20 | get { return !String.IsNullOrEmpty(Name); }
21 | }
22 |
23 | public bool HasOriginalName
24 | {
25 | get { return !String.IsNullOrEmpty(OriginalName); }
26 | }
27 |
28 | public bool NamesAreEqual
29 | {
30 | get { return Name.Equals(OriginalName, StringComparison.InvariantCultureIgnoreCase); }
31 | }
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/ProcessUtils/SEBClipboard.cs:
--------------------------------------------------------------------------------
1 | // -------------------------------------------------------------
2 | // Viktor tomas
3 | // BFH-TI, http://www.ti.bfh.ch
4 | // Biel, 2012
5 | // -------------------------------------------------------------
6 | using System;
7 | using System.Collections.Generic;
8 | using System.Linq;
9 | using System.Text;
10 | using System.Windows.Forms;
11 | using SebWindowsClient.DiagnosticsUtils;
12 | using System.Threading;
13 | using System.Runtime.InteropServices;
14 |
15 | namespace SebWindowsClient.ProcessUtils
16 | {
17 | public class SEBClipboard
18 | {
19 | [DllImport("user32.dll")]
20 | static extern bool EmptyClipboard();
21 |
22 | [DllImport("user32.dll", SetLastError = true)]
23 | static extern bool OpenClipboard(IntPtr hWndNewOwner);
24 |
25 | [DllImport("user32.dll", SetLastError = true)]
26 | static extern bool CloseClipboard();
27 | /// ----------------------------------------------------------------------------------------
28 | ///
29 | /// Clean clipboard.
30 | ///
31 | /// ----------------------------------------------------------------------------------------
32 | public static void CleanClipboard()
33 | {
34 | try
35 | {
36 | //Clipboard.Clear();
37 | //IntPtr handleWnd = GetOpenClipboardWindow();
38 | OpenClipboard(IntPtr.Zero);
39 | EmptyClipboard();
40 | CloseClipboard();
41 | }
42 | catch (Exception ex)
43 | {
44 | Logger.AddError("Error ocurred by cleaning Clipboard.", null, ex, ex.Message);
45 |
46 | }
47 |
48 | }
49 |
50 | /// ----------------------------------------------------------------------------------------
51 | ///
52 | /// Clean clipboard.
53 | ///
54 | /// ----------------------------------------------------------------------------------------
55 | //public static void CleanClipboard()
56 | //{
57 | // Thread staThread = new Thread(SEBClipboard._CleanClipboard);
58 | // staThread.SetApartmentState(ApartmentState.STA);
59 | // staThread.Start();
60 | // staThread.Join();
61 | //}
62 |
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.InteropServices;
3 |
4 | // General Information about an assembly is controlled through the following
5 | // set of attributes. Change these attribute values to modify the information
6 | // associated with an assembly.
7 | [assembly: AssemblyTitle("Safe Exam Browser")]
8 | [assembly: AssemblyDescription("Safe Exam Browser")]
9 | [assembly: AssemblyConfiguration("")]
10 | [assembly: AssemblyCompany("ETH Zurich")]
11 | [assembly: AssemblyProduct("Safe Exam Browser")]
12 | [assembly: AssemblyCopyright("Copyright © 2010-2017 ETH Zurich, Educational Development and Technology (LET)")]
13 | [assembly: AssemblyTrademark("")]
14 | [assembly: AssemblyCulture("")]
15 |
16 | // Setting ComVisible to false makes the types in this assembly not visible
17 | // to COM components. If you need to access a type in this assembly from
18 | // COM, set the ComVisible attribute to true on that type.
19 | [assembly: ComVisible(false)]
20 |
21 | // The following GUID is for the ID of the typelib if this project is exposed to COM
22 | [assembly: Guid("f378d07d-ef62-43c8-994b-e2a5788f7af2")]
23 |
24 | // Version information for an assembly consists of the following four values:
25 | //
26 | // Major Version
27 | // Minor Version
28 | // Build Number
29 | // Revision
30 | //
31 | // You can specify all the values or you can default the Build and Revision Numbers
32 | // by using the '*' as shown below:
33 | [assembly: AssemblyVersion("2.1.*")]
34 | [assembly: AssemblyInformationalVersion("2.1.8.1")]
35 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.34011
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace SebWindowsClient.Properties {
12 |
13 |
14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")]
16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
17 |
18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
19 |
20 | public static Settings Default {
21 | get {
22 | return defaultInstance;
23 | }
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Resources/SEBCloseWindowIcon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/SEBCloseWindowIcon.png
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Resources/SebGlobalDialogImage.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/SebGlobalDialogImage.bmp
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Resources/battery.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/battery.png
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Resources/keyboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/keyboard.png
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Resources/keyboard_old.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/keyboard_old.png
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Resources/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/loading.gif
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Resources/quit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/quit.png
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Resources/quit_1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/quit_1024.png
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Resources/quit_old.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/quit_old.png
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Resources/reload.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/reload.png
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Resources/restartExam.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/restartExam.png
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Resources/signalstrength/0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/signalstrength/0.png
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Resources/signalstrength/0_old.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/signalstrength/0_old.png
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Resources/signalstrength/100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/signalstrength/100.png
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Resources/signalstrength/100_old.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/signalstrength/100_old.png
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Resources/signalstrength/33.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/signalstrength/33.png
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Resources/signalstrength/33_old.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/signalstrength/33_old.png
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Resources/signalstrength/66.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/signalstrength/66.png
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Resources/signalstrength/66_old.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/signalstrength/66_old.png
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Resources/signalstrength/nointerface.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/signalstrength/nointerface.png
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Resources/signalstrength/nointerface_old.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/signalstrength/nointerface_old.png
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/Resources/skipBack.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/Resources/skipBack.png
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/SEBException.cs:
--------------------------------------------------------------------------------
1 | using System;
2 |
3 | // -------------------------------------------------------------
4 | // Viktor Tomas
5 | // BFH-TI, http://www.ti.bfh.ch
6 | // Biel, 2012
7 | // -------------------------------------------------------------
8 |
9 | namespace SebWindowsClient
10 | {
11 | /// ---------------------------------------------------------------------------------------
12 | ///
13 | /// This exception is thrown when an exception specific to the SEB occurs.
14 | ///
15 | /// ---------------------------------------------------------------------------------------
16 | public class SEBException : ApplicationException
17 | {
18 | /// ---------------------------------------------------------------------------------------
19 | ///
20 | /// Initialize a new instance of the SEBException exception.
21 | ///
22 | /// The error message that explains the reason for the exception.
23 | /// The exception that is the cause of the current exception.
24 | /// ---------------------------------------------------------------------------------------
25 | public SEBException(string message, Exception innerException = null)
26 | : base(message, innerException)
27 | {
28 |
29 | }
30 |
31 | /// ---------------------------------------------------------------------------------------
32 | ///
33 | /// Get or set the source of the exception.
34 | ///
35 | /// ---------------------------------------------------------------------------------------
36 | public override string Source
37 | {
38 | get { return "SEB"; }
39 | set { base.Source = value; }
40 | }
41 | }
42 |
43 | public class SEBNotAllowedToRunEception : Exception
44 | {
45 | public SEBNotAllowedToRunEception(string message) : base(message)
46 | {
47 | }
48 | }
49 | }
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/SEBLoading.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Windows.Forms;
3 | using SebWindowsClient.ConfigurationUtils;
4 | using SebWindowsClient.DesktopUtils;
5 | using SebWindowsClient.DiagnosticsUtils;
6 |
7 | namespace SebWindowsClient
8 | {
9 | public partial class SEBLoading : Form
10 | {
11 | #region instance
12 | public SEBLoading()
13 | {
14 | InitializeComponent();
15 | }
16 |
17 | ///
18 | /// Close the window - invoked via CloseLoading()
19 | ///
20 | ///
21 | ///
22 | public void KillMe(object o, EventArgs e)
23 | {
24 | this.Close();
25 | }
26 |
27 | #endregion
28 |
29 | #region static Thread Access
30 |
31 | private static SEBLoading loading;
32 |
33 | ///
34 | /// Call via separate thread
35 | /// var thread = new Thread(SEBLoading.StartLoading);
36 | /// thread.Start();
37 | ///
38 | static public void StartLoading()
39 | {
40 | // Set the threads desktop to the new desktop if "Create new Desktop" is activated
41 | if ((Boolean)SEBClientInfo.getSebSetting(SEBSettings.KeyCreateNewDesktop)[SEBSettings.KeyCreateNewDesktop] || SEBClientInfo.CreateNewDesktopOldValue)
42 | {
43 | SEBDesktopController.SetCurrent(SEBClientInfo.SEBNewlDesktop);
44 | }
45 | else
46 | {
47 | SEBDesktopController.SetCurrent(SEBClientInfo.OriginalDesktop);
48 | }
49 |
50 | // Instance a loading screen form given the image names
51 | loading = new SEBLoading();
52 | // Run the form
53 | Application.Run(loading);
54 | }
55 |
56 | ///
57 | /// Invokes the running thread with the windows and closes it
58 | ///
59 | public static void CloseLoading()
60 | {
61 | if (loading == null)
62 | return;
63 | try
64 | {
65 | Logger.AddInformation("shutting down loading screen");
66 | // Shut down the loading screen
67 | if(loading.InvokeRequired)
68 | {
69 | loading.Invoke(new EventHandler(loading.KillMe));
70 | }
71 | else
72 | {
73 | loading.Close();
74 | }
75 | //loading.Dispose();
76 | Logger.AddInformation("loading screen shut down");
77 | }
78 | catch (Exception)
79 | { }
80 | }
81 |
82 | #endregion
83 | }
84 | }
85 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/SEBUIStrings.de.Designer.cs:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/SEBUIStrings.de.Designer.cs
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/SEBicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/SEBicon.ico
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/UI/IconExtractor.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Drawing;
4 | using System.Drawing.IconLib;
5 | using System.Linq;
6 | using System.Text;
7 | using System.Threading.Tasks;
8 | using System.Windows.Automation.Peers;
9 | using System.Windows.Forms;
10 |
11 | namespace SebWindowsClient.UI
12 | {
13 | public static class Iconextractor
14 | {
15 | public static Bitmap ExtractHighResIconImage(string path, int? size = null)
16 | {
17 | var mi = new MultiIcon();
18 | mi.Load(path);
19 | var si = mi.FirstOrDefault();
20 | if (si != null)
21 | {
22 | IconImage icon;
23 | if (size != null)
24 | {
25 | if (size.Value <= 32)
26 | {
27 | try
28 | {
29 | return Icon.ExtractAssociatedIcon(path).ToBitmap();
30 | }
31 | catch
32 | {
33 | }
34 | }
35 | icon = si.Where(x => x.Size.Height >= size.Value).OrderBy(x => x.Size.Height).FirstOrDefault();
36 | if (icon != null)
37 | return icon.Icon.ToBitmap();
38 | }
39 | var max = si.Max(_i => _i.Size.Height);
40 | icon = si.FirstOrDefault(i => i.Size.Height == max);
41 | if(icon != null)
42 | return icon.Transparent;
43 | }
44 | return null;
45 | }
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/UI/SEBBatterylifeToolStripButton.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Drawing;
4 | using System.Linq;
5 | using System.Text;
6 | using System.Threading.Tasks;
7 | using System.Windows;
8 | using System.Windows.Forms;
9 | using SebWindowsClient.Properties;
10 | using FontStyle = System.Drawing.FontStyle;
11 |
12 | namespace SebWindowsClient.UI
13 | {
14 | public class SEBBatterylifeToolStripButton : SEBToolStripButton
15 | {
16 | private PowerStatus powerStatus = SystemInformation.PowerStatus;
17 | private Timer timer;
18 |
19 | public SEBBatterylifeToolStripButton()
20 | {
21 | InitializeComponent();
22 |
23 | timer = new Timer();
24 | timer.Tick += OnTimerTick;
25 | timer.Interval = 5000;
26 | timer.Start();
27 | Update();
28 | }
29 |
30 | private void OnTimerTick(object sender, EventArgs e)
31 | {
32 | Update();
33 | }
34 |
35 | private void Update()
36 | {
37 | this.Visible = SystemInformation.PowerStatus.PowerLineStatus == System.Windows.Forms.PowerLineStatus.Offline;
38 | this.Text = String.Format(" {0}%", powerStatus.BatteryLifePercent*100);
39 | }
40 |
41 | protected override void Dispose(bool disposing)
42 | {
43 | timer.Tick -= OnTimerTick;
44 | timer.Stop();
45 | timer = null;
46 | base.Dispose(disposing);
47 | }
48 |
49 | private void InitializeComponent()
50 | {
51 | //
52 | // SEBBatterylifeToolStripButton
53 | //
54 | base.Image = (Bitmap)Resources.ResourceManager.GetObject("battery");
55 | base.TextImageRelation = TextImageRelation.Overlay;
56 | this.Alignment = ToolStripItemAlignment.Right;
57 | base.ForeColor = Color.Black;
58 | base.Font = new Font("Arial", (int)(base.FontSize * 0.7), FontStyle.Bold);
59 | base.Enabled = false;
60 | }
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/UI/SEBQuitToolStripButton.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Drawing;
4 | using System.Linq;
5 | using System.Text;
6 | using System.Threading.Tasks;
7 | using System.Windows.Forms;
8 | using SebWindowsClient.ConfigurationUtils;
9 | using SebWindowsClient.DiagnosticsUtils;
10 | using SebWindowsClient.Properties;
11 | using SebWindowsClient.WlanUtils;
12 |
13 | namespace SebWindowsClient.UI
14 | {
15 | public class SEBQuitToolStripButton : SEBToolStripButton
16 | {
17 |
18 | public SEBQuitToolStripButton()
19 | {
20 | this.ToolTipText = SEBUIStrings.confirmQuitting;
21 | this.Alignment = ToolStripItemAlignment.Right;
22 | base.Image = (Bitmap) Resources.ResourceManager.GetObject("quit");
23 | }
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/UI/SEBReloadBrowserToolStripButton.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Drawing;
3 | using System.Linq;
4 | using System.Windows.Forms;
5 | using SebWindowsClient.ConfigurationUtils;
6 | using SebWindowsClient.ProcessUtils;
7 | using SebWindowsClient.Properties;
8 | using SebWindowsClient.XULRunnerCommunication;
9 |
10 |
11 | namespace SebWindowsClient.UI
12 | {
13 | public class SEBReloadBrowserToolStripButton : SEBToolStripButton
14 | {
15 | public SEBReloadBrowserToolStripButton()
16 | {
17 | this.ToolTipText = SEBUIStrings.reloadPage;
18 | base.Image = (Bitmap)Resources.ResourceManager.GetObject("reload");
19 | this.BackColor = Color.White;
20 | this.Alignment = ToolStripItemAlignment.Right;
21 | }
22 |
23 | protected override void OnClick(EventArgs e)
24 | {
25 | try
26 | {
27 | SEBWindowHandler.BringWindowToTop(
28 | SEBWindowHandler.GetOpenWindows()
29 | .First(w => w.Key.GetProcess().GetExecutableName().Contains("xul")).Key);
30 |
31 | if ((bool) SEBSettings.settingsCurrent[SEBSettings.KeyTouchOptimized])
32 | {
33 | if ((bool) SEBSettings.settingsCurrent[SEBSettings.KeyShowReloadWarning])
34 | {
35 | if (
36 | SEBMessageBox.Show(SEBUIStrings.reloadPage, SEBUIStrings.reloadPageMessage,
37 | MessageBoxIcon.Warning, MessageBoxButtons.YesNo) == DialogResult.Yes)
38 | {
39 | SEBXULRunnerWebSocketServer.SendReloadPage();
40 | }
41 | }
42 | else
43 | {
44 | SEBXULRunnerWebSocketServer.SendReloadPage();
45 | }
46 | }
47 | else
48 | {
49 | SEBXULRunnerWebSocketServer.SendReloadPage();
50 | }
51 | }
52 | catch{}
53 | }
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/UI/SEBToolStripButton.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 | using System.Windows.Forms;
7 | using SebWindowsClient.ConfigurationUtils;
8 |
9 | namespace SebWindowsClient.UI
10 | {
11 | public class SEBToolStripButton : ToolStripButton
12 | {
13 | public SEBToolStripButton()
14 | {
15 | this.ImageScaling = ToolStripItemImageScaling.SizeToFit;
16 | }
17 |
18 | public string Identifier
19 | { get; set; }
20 |
21 | public string WindowHandlingProcess
22 | { get; set; }
23 |
24 | public int FontSize
25 | {
26 | get
27 | {
28 | float sebTaskBarHeight = (int) SEBSettings.valueForDictionaryKey(SEBSettings.settingsCurrent, SEBSettings.KeyTaskBarHeight);
29 | float fontSize = 10 * (sebTaskBarHeight/40) * SEBClientInfo.scaleFactor;
30 | if ((Boolean) SEBClientInfo.getSebSetting(SEBSettings.KeyTouchOptimized)[SEBSettings.KeyTouchOptimized])
31 | {
32 | return (int)Math.Round(1.7 * fontSize);
33 | }
34 | else
35 | {
36 | return (int) Math.Round(fontSize);
37 | }
38 | }
39 | }
40 |
41 | protected override void OnMouseHover(EventArgs e)
42 | {
43 | if (this.Parent != null)
44 | Parent.Focus();
45 | base.OnMouseHover(e);
46 | }
47 | }
48 | }
49 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/UI/SEBWatchToolStripButton.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Drawing;
3 | using System.Windows.Forms;
4 | using FontStyle = System.Drawing.FontStyle;
5 |
6 | namespace SebWindowsClient.UI
7 | {
8 | public class SEBWatchToolStripButton : SEBToolStripButton
9 | {
10 | private Timer timer;
11 |
12 | public SEBWatchToolStripButton()
13 | {
14 | InitializeComponent();
15 |
16 | timer = new Timer();
17 | timer.Tick += OnTimerTick;
18 | timer.Interval = 10000;
19 | timer.Start();
20 | Update();
21 | }
22 |
23 | private void OnTimerTick(object sender, EventArgs e)
24 | {
25 | Update();
26 | }
27 |
28 | private void Update()
29 | {
30 | this.Text = DateTime.Now.ToShortTimeString();
31 | }
32 |
33 | protected override void Dispose(bool disposing)
34 | {
35 | timer.Tick -= OnTimerTick;
36 | timer.Stop();
37 | timer = null;
38 | base.Dispose(disposing);
39 | }
40 |
41 | private void InitializeComponent()
42 | {
43 | this.Alignment = ToolStripItemAlignment.Right;
44 | base.ForeColor = Color.Black;
45 | base.Font = new Font("Arial", base.FontSize, FontStyle.Bold);
46 | base.Enabled = false;
47 | }
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/refresh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsClient/SebWindowsClient/refresh.png
--------------------------------------------------------------------------------
/SebWindowsClient/SebWindowsClient/taskbarToolStrip.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Windows.Forms;
6 |
7 | namespace SebWindowsClient
8 | {
9 | /// ----------------------------------------------------------------------------------------
10 | ///
11 | /// Custom ToolStrip class which activates and handles click in once.
12 | ///
13 | /// ----------------------------------------------------------------------------------------
14 | class TaskbarToolStrip : ToolStrip
15 | {
16 | protected override void WndProc(ref System.Windows.Forms.Message m)
17 | {
18 | //WM_MOUSEACTIVATE = 0x21
19 | if (m.Msg == 0x21 && this.CanFocus && !this.Focused)
20 | this.Focus();
21 | base.WndProc(ref m);
22 | }
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/SebWindowsConfig/PermittedApplicationInformation.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Text;
5 | using System.Threading.Tasks;
6 |
7 | namespace SebWindowsConfig
8 | {
9 | public class PermittedApplicationInformation
10 | {
11 | public string Title { get; set; }
12 | public string Executable { get; set; }
13 | public string OriginalName { get; set; }
14 | public string Path { get; set; }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/SebWindowsConfig/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("SEB Config Tool")]
9 | [assembly: AssemblyDescription("SEB Configuration Tool")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("ETH Zurich")]
12 | [assembly: AssemblyProduct("SEB Config Tool")]
13 | [assembly: AssemblyCopyright("Copyright © 2010-2017 ETH Zurich, Educational Development and Technology (LET)")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("f7e6a767-de76-46c8-9ec7-387ff2a120c0")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("2.1.*")]
36 | [assembly: AssemblyInformationalVersion("2.1.8")]
37 |
--------------------------------------------------------------------------------
/SebWindowsConfig/Properties/Resources.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.34011
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace SebWindowsConfig.Properties {
12 | using System;
13 |
14 |
15 | ///
16 | /// A strongly-typed resource class, for looking up localized strings, etc.
17 | ///
18 | // This class was auto-generated by the StronglyTypedResourceBuilder
19 | // class via a tool like ResGen or Visual Studio.
20 | // To add or remove a member, edit your .ResX file then rerun ResGen
21 | // with the /str option, or rebuild your VS project.
22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
25 | internal class Resources {
26 |
27 | private static global::System.Resources.ResourceManager resourceMan;
28 |
29 | private static global::System.Globalization.CultureInfo resourceCulture;
30 |
31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
32 | internal Resources() {
33 | }
34 |
35 | ///
36 | /// Returns the cached ResourceManager instance used by this class.
37 | ///
38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
39 | internal static global::System.Resources.ResourceManager ResourceManager {
40 | get {
41 | if (object.ReferenceEquals(resourceMan, null)) {
42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("SebWindowsConfig.Properties.Resources", typeof(Resources).Assembly);
43 | resourceMan = temp;
44 | }
45 | return resourceMan;
46 | }
47 | }
48 |
49 | ///
50 | /// Overrides the current thread's CurrentUICulture property for all
51 | /// resource lookups using this strongly typed resource class.
52 | ///
53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
54 | internal static global::System.Globalization.CultureInfo Culture {
55 | get {
56 | return resourceCulture;
57 | }
58 | set {
59 | resourceCulture = value;
60 | }
61 | }
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/SebWindowsConfig/Properties/Settings.Designer.cs:
--------------------------------------------------------------------------------
1 | //------------------------------------------------------------------------------
2 | //
3 | // This code was generated by a tool.
4 | // Runtime Version:4.0.30319.34011
5 | //
6 | // Changes to this file may cause incorrect behavior and will be lost if
7 | // the code is regenerated.
8 | //
9 | //------------------------------------------------------------------------------
10 |
11 | namespace SebWindowsConfig.Properties {
12 |
13 |
14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")]
16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
17 |
18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
19 |
20 | public static Settings Default {
21 | get {
22 | return defaultInstance;
23 | }
24 | }
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/SebWindowsConfig/Properties/Settings.settings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SebWindowsConfig/SEBConfigToolIcon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsConfig/SEBConfigToolIcon.ico
--------------------------------------------------------------------------------
/SebWindowsConfig/SebWindowsConfigProgram.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Collections.Generic;
3 | using System.Linq;
4 | using System.Windows.Forms;
5 |
6 | //
7 | // SEBWindowsClientForm.cs
8 | // SafeExamBrowser
9 | //
10 | // Copyright (c) 2010-2017 Viktor Tomas, Dirk Bauer, Daniel R. Schneider, Pascal Wyss,
11 | // ETH Zurich, Educational Development and Technology (LET),
12 | // based on the original idea of Safe Exam Browser
13 | // by Stefan Schneider, University of Giessen
14 | // Project concept: Thomas Piendl, Daniel R. Schneider,
15 | // Dirk Bauer, Kai Reuter, Tobias Halbherr, Karsten Burger, Marco Lehre,
16 | // Brigitte Schmucki, Oliver Rahs. French localization: Nicolas Dunand
17 | //
18 | // ``The contents of this file are subject to the Mozilla Public License
19 | // Version 1.1 (the "License"); you may not use this file except in
20 | // compliance with the License. You may obtain a copy of the License at
21 | // http://www.mozilla.org/MPL/
22 | //
23 | // Software distributed under the License is distributed on an "AS IS"
24 | // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
25 | // License for the specific language governing rights and limitations
26 | // under the License.
27 | //
28 | // The Original Code is Safe Exam Browser for Windows.
29 | //
30 | // The Initial Developers of the Original Code are Viktor Tomas,
31 | // Dirk Bauer, Daniel R. Schneider, Pascal Wyss.
32 | // Portions created by Viktor Tomas, Dirk Bauer, Daniel R. Schneider, Pascal Wyss
33 | // are Copyright (c) 2010-2017 Viktor Tomas, Dirk Bauer, Daniel R. Schneider,
34 | // Pascal Wyss, ETH Zurich, Educational Development and Technology (LET),
35 | // based on the original idea of Safe Exam Browser
36 | // by Stefan Schneider, University of Giessen. All Rights Reserved.
37 | //
38 | // Contributor(s): ______________________________________.
39 | //
40 |
41 | namespace SebWindowsConfig
42 | {
43 | static class SebWindowsConfigProgram
44 | {
45 | ///
46 | /// The main entry point for the application.
47 | ///
48 | [STAThread]
49 | static void Main()
50 | {
51 | Application.EnableVisualStyles();
52 | Application.SetCompatibleTextRenderingDefault(false);
53 | Application.Run(new SebWindowsConfigForm());
54 | }
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/SebWindowsConfig/TabIcons/32x32/IconHelp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsConfig/TabIcons/32x32/IconHelp.png
--------------------------------------------------------------------------------
/SebWindowsConfig/TabIcons/32x32/Icon_01_General.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsConfig/TabIcons/32x32/Icon_01_General.png
--------------------------------------------------------------------------------
/SebWindowsConfig/TabIcons/32x32/Icon_02_ConfigFile.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsConfig/TabIcons/32x32/Icon_02_ConfigFile.png
--------------------------------------------------------------------------------
/SebWindowsConfig/TabIcons/32x32/Icon_03_Appearance.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsConfig/TabIcons/32x32/Icon_03_Appearance.png
--------------------------------------------------------------------------------
/SebWindowsConfig/TabIcons/32x32/Icon_04_Browser.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsConfig/TabIcons/32x32/Icon_04_Browser.png
--------------------------------------------------------------------------------
/SebWindowsConfig/TabIcons/32x32/Icon_05_DownUploads.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsConfig/TabIcons/32x32/Icon_05_DownUploads.png
--------------------------------------------------------------------------------
/SebWindowsConfig/TabIcons/32x32/Icon_06_Exam.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsConfig/TabIcons/32x32/Icon_06_Exam.png
--------------------------------------------------------------------------------
/SebWindowsConfig/TabIcons/32x32/Icon_07_Applications.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsConfig/TabIcons/32x32/Icon_07_Applications.png
--------------------------------------------------------------------------------
/SebWindowsConfig/TabIcons/32x32/Icon_08_Network.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsConfig/TabIcons/32x32/Icon_08_Network.png
--------------------------------------------------------------------------------
/SebWindowsConfig/TabIcons/32x32/Icon_09_Security.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsConfig/TabIcons/32x32/Icon_09_Security.png
--------------------------------------------------------------------------------
/SebWindowsConfig/TabIcons/32x32/Icon_10_Registry.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsConfig/TabIcons/32x32/Icon_10_Registry.png
--------------------------------------------------------------------------------
/SebWindowsConfig/TabIcons/32x32/Icon_11_HookedKeys.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsConfig/TabIcons/32x32/Icon_11_HookedKeys.png
--------------------------------------------------------------------------------
/SebWindowsConfig/app.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/SebWindowsInstallLicence.rtf:
--------------------------------------------------------------------------------
1 | {\rtf1\ansi\ansicpg1252\deff0\nouicompat{\fonttbl{\f0\fswiss\fcharset0 ArialMT;}}
2 | {\colortbl ;\red0\green0\blue255;}
3 | {\*\generator Riched20 10.0.15063}\viewkind4\uc1
4 | \pard\b\f0\fs20\lang7 Licenses\b0\par
5 | \par
6 | \b Safe Exam Browser for Windows 2.1.8\b0\par
7 | \par
8 | \'a9 2010-2017 Damian B\'fcchel, Daniel R. Schneider, Dirk Bauer, \b ETH Zurich, Educational Development and Technology (LET)\b0 , Pascal Wyss, Viktor Tomas, Stefan Schneider, Oliver Rahs, based on the original idea of Safe Exam Browser by Stefan Schneider, University of Giessen.\par
9 | \par
10 | Project concept: Dr. Thomas Piendl, Daniel R. Schneider, Damian B\'fcchel, Dr. Dirk Bauer, Kai Reuter, Tobias Halbherr, Stefan Schneider, Karsten Burger, Marco Lehre, Brigitte Schmucki, Oliver Rahs.\par
11 | \par
12 | Safe Exam Browser and the contents of the browser component files (based on XULRunner) of this project are subject to the \b Mozilla Public License Version 1.1\b0 (the "License"); you may only use these files in compliance with the License. You may obtain a copy of the License at {{\field{\*\fldinst{HYPERLINK http://www.mozilla.org/MPL/ }}{\fldrslt{http://www.mozilla.org/MPL/\ul0\cf0}}}}\f0\fs20 .\par
13 | \par
14 | Important parts of this project have been carried out as part of the program "AAA/SWITCH \endash e-Infrastructure for e-Science" lead by SWITCH, the Swiss National Research and Education Network and the cooperative project "Learning Infrastructure" (part of the CRUS program "Information scientifique: acc\'e8s, traitement et sauvegarde") coordinated by SWITCH, and was supported by funds from the ETH Board and the State Secretariat for Education, Research and Innovation (SERI).\par
15 | }
16 |
--------------------------------------------------------------------------------
/SebWindowsServiceWCF/App.config:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/SebWindowsServiceWCF/OSVersion.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.Win32;
2 |
3 | namespace SebWindowsServiceWCF
4 | {
5 | public static class OSVersion
6 | {
7 | private static string HKLM_GetString(string path, string key)
8 | {
9 | try
10 | {
11 | RegistryKey rk = Registry.LocalMachine.OpenSubKey(path);
12 | if (rk == null) return "";
13 | return (string)rk.GetValue(key);
14 | }
15 | catch { return ""; }
16 | }
17 |
18 | public static string FriendlyName()
19 | {
20 | string ProductName = HKLM_GetString(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion", "ProductName");
21 | string CSDVersion = HKLM_GetString(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion", "CSDVersion");
22 | if (ProductName != "")
23 | {
24 | return (ProductName.StartsWith("Microsoft") ? "" : "Microsoft ") + ProductName +
25 | (CSDVersion != "" ? " " + CSDVersion : "");
26 | }
27 | return "";
28 | }
29 |
30 | public static bool IsWindows7
31 | {
32 | get
33 | {
34 | return OSVersion.FriendlyName().Contains("7");
35 | }
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/SebWindowsServiceWCF/Program.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.ServiceProcess;
3 | using SebWindowsServiceWCF.ServiceImplementations;
4 |
5 | namespace SebWindowsServiceWCF
6 | {
7 | static class Program
8 | {
9 | ///
10 | /// The main entry point for the application.
11 | ///
12 | static void Main()
13 | {
14 | try
15 | {
16 | ServiceBase[] ServicesToRun;
17 | ServicesToRun = new ServiceBase[]
18 | {
19 | new SebWindowsServiceWCF()
20 | };
21 | ServiceBase.Run(ServicesToRun);
22 | }
23 | catch (Exception ex)
24 | {
25 | Logger.Log(ex,"Unable to run the service!");
26 | }
27 | }
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/SebWindowsServiceWCF/ProjectInstaller.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace SebWindowsServiceWCF
2 | {
3 | partial class ProjectInstaller
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Component Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | this.SebServiceProcessInstaller = new System.ServiceProcess.ServiceProcessInstaller();
32 | this.SebServiceInstaller = new System.ServiceProcess.ServiceInstaller();
33 | //
34 | // SebServiceProcessInstaller
35 | //
36 | this.SebServiceProcessInstaller.Account = System.ServiceProcess.ServiceAccount.LocalSystem;
37 | this.SebServiceProcessInstaller.Password = null;
38 | this.SebServiceProcessInstaller.Username = null;
39 | //
40 | // SebServiceInstaller
41 | //
42 | this.SebServiceInstaller.ServiceName = "SebWindowsService";
43 | this.SebServiceInstaller.StartType = System.ServiceProcess.ServiceStartMode.Automatic;
44 | //this.SebServiceInstaller.Committed += new System.Configuration.Install.InstallEventHandler(this.SebServiceInstaller_Committed);
45 | //this.SebServiceInstaller.AfterUninstall += new System.Configuration.Install.InstallEventHandler(this.SebServiceInstaller_AfterUninstall);
46 | //this.SebServiceInstaller.BeforeUninstall += new System.Configuration.Install.InstallEventHandler(this.SebServiceInstaller_BeforeUninstall);
47 | //
48 | // ProjectInstaller
49 | //
50 | this.Installers.AddRange(new System.Configuration.Install.Installer[] {
51 | this.SebServiceProcessInstaller,
52 | this.SebServiceInstaller});
53 |
54 | }
55 |
56 | #endregion
57 |
58 | private System.ServiceProcess.ServiceProcessInstaller SebServiceProcessInstaller;
59 | private System.ServiceProcess.ServiceInstaller SebServiceInstaller;
60 | }
61 | }
--------------------------------------------------------------------------------
/SebWindowsServiceWCF/ProjectInstaller.cs:
--------------------------------------------------------------------------------
1 | using System.ComponentModel;
2 |
3 | namespace SebWindowsServiceWCF
4 | {
5 | [RunInstaller(true)]
6 | public partial class ProjectInstaller : System.Configuration.Install.Installer
7 | {
8 |
9 | public ProjectInstaller()
10 | {
11 | InitializeComponent();
12 | }
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/SebWindowsServiceWCF/Properties/AssemblyInfo.cs:
--------------------------------------------------------------------------------
1 | using System.Reflection;
2 | using System.Runtime.CompilerServices;
3 | using System.Runtime.InteropServices;
4 |
5 | // General Information about an assembly is controlled through the following
6 | // set of attributes. Change these attribute values to modify the information
7 | // associated with an assembly.
8 | [assembly: AssemblyTitle("SEB Windows Service with WCF")]
9 | [assembly: AssemblyDescription("Part of Safe Exam Browser")]
10 | [assembly: AssemblyConfiguration("")]
11 | [assembly: AssemblyCompany("ETH Zurich")]
12 | [assembly: AssemblyProduct("SEB Windows Service WCF")]
13 | [assembly: AssemblyCopyright("Copyright © 2010-2017 ETH Zurich, Educational Development and Technology (LET)")]
14 | [assembly: AssemblyTrademark("")]
15 | [assembly: AssemblyCulture("")]
16 |
17 | // Setting ComVisible to false makes the types in this assembly not visible
18 | // to COM components. If you need to access a type in this assembly from
19 | // COM, set the ComVisible attribute to true on that type.
20 | [assembly: ComVisible(false)]
21 |
22 | // The following GUID is for the ID of the typelib if this project is exposed to COM
23 | [assembly: Guid("840b7729-87be-448b-aafb-04e0ccc941f1")]
24 |
25 | // Version information for an assembly consists of the following four values:
26 | //
27 | // Major Version
28 | // Minor Version
29 | // Build Number
30 | // Revision
31 | //
32 | // You can specify all the values or you can default the Build and Revision Numbers
33 | // by using the '*' as shown below:
34 | // [assembly: AssemblyVersion("1.0.*")]
35 | [assembly: AssemblyVersion("2.1.*")]
36 | [assembly: AssemblyInformationalVersion("2.1.8")]
37 |
--------------------------------------------------------------------------------
/SebWindowsServiceWCF/SEBicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/SafeExamBrowser/seb-win/d74d2fc6c39d7136c44e674e2c57e55a3c88967b/SebWindowsServiceWCF/SEBicon.ico
--------------------------------------------------------------------------------
/SebWindowsServiceWCF/SebWindowsServiceWCF.Designer.cs:
--------------------------------------------------------------------------------
1 | namespace SebWindowsServiceWCF
2 | {
3 | partial class SebWindowsServiceWCF
4 | {
5 | ///
6 | /// Required designer variable.
7 | ///
8 | private System.ComponentModel.IContainer components = null;
9 |
10 | ///
11 | /// Clean up any resources being used.
12 | ///
13 | /// true if managed resources should be disposed; otherwise, false.
14 | protected override void Dispose(bool disposing)
15 | {
16 | if (disposing && (components != null))
17 | {
18 | components.Dispose();
19 | }
20 | base.Dispose(disposing);
21 | }
22 |
23 | #region Component Designer generated code
24 |
25 | ///
26 | /// Required method for Designer support - do not modify
27 | /// the contents of this method with the code editor.
28 | ///
29 | private void InitializeComponent()
30 | {
31 | components = new System.ComponentModel.Container();
32 | this.ServiceName = "Service1";
33 | }
34 |
35 | #endregion
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/SebWindowsServiceWCF/SebWindowsServiceWCF.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.ServiceModel;
3 | using System.ServiceProcess;
4 | using System.Threading;
5 | using SEBWindowsServiceContracts;
6 | using SebWindowsServiceWCF.ServiceImplementations;
7 |
8 | namespace SebWindowsServiceWCF
9 | {
10 | public partial class SebWindowsServiceWCF : ServiceBase
11 | {
12 | private ServiceHost host;
13 | public SebWindowsServiceWCF()
14 | {
15 | InitializeComponent();
16 |
17 | this.ServiceName = "SebWindowsService";
18 | }
19 |
20 | private void InitializeHost()
21 | {
22 | if (host == null)
23 | {
24 | try
25 | {
26 | host = new ServiceHost(
27 | typeof(RegistryService));
28 | host.AddServiceEndpoint(typeof(IRegistryServiceContract),
29 | new NetNamedPipeBinding(NetNamedPipeSecurityMode.Transport),
30 | "net.pipe://localhost/SebWindowsServiceWCF/service");
31 | }
32 | catch (Exception ex)
33 | {
34 | Logger.Log(ex,"Unable to initialize service host!");
35 | }
36 |
37 | }
38 | }
39 |
40 | protected override void OnStart(string[] args)
41 | {
42 | InitializeHost();
43 | try
44 | {
45 | host.Open();
46 |
47 | using (var service = new RegistryService())
48 | {
49 | while (!service.Reset())
50 | {
51 | Thread.Sleep(1000);
52 | }
53 | }
54 | }
55 | catch (Exception ex)
56 | {
57 | Logger.Log(ex,"Unable to start service host!");
58 | }
59 | }
60 |
61 | protected override void OnStop()
62 | {
63 | try
64 | {
65 | if (host != null)
66 | host.Close();
67 |
68 | using (var service = new RegistryService())
69 | {
70 | service.Reset();
71 | }
72 | }
73 | catch (Exception ex)
74 | {
75 | Logger.Log(ex,"Unable to stop service host!");
76 | }
77 | }
78 | }
79 | }
80 |
--------------------------------------------------------------------------------
/SebWindowsServiceWCF/ServiceImplementations/Logger.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.IO;
3 | using System.Reflection;
4 |
5 | namespace SebWindowsServiceWCF.ServiceImplementations
6 | {
7 | ///
8 | /// Static implementation of a file logger
9 | ///
10 | public static class Logger
11 | {
12 | private static string _filepath;
13 |
14 | ///
15 | /// Logg the content of the exception together with a message
16 | ///
17 | /// Exception
18 | /// Message
19 | public static void Log(Exception ex, string content)
20 | {
21 | Log(String.Format("{3} {0}: {1}\n{2}", ex.Message, content, ex.StackTrace, ex.ToString()));
22 | }
23 |
24 | ///
25 | /// Log a message
26 | ///
27 | /// Message
28 | public static void Log(string content)
29 | {
30 | try
31 | {
32 | //The logfile is stored where the executable of the service is
33 | _filepath = String.Format(@"{0}\sebwindowsservice.log", Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location));
34 | if (!File.Exists(_filepath))
35 | File.Create(_filepath);
36 |
37 | using (var file = new StreamWriter(_filepath, true))
38 | {
39 | file.WriteLine(String.Format("*******\n{1}:{0}\n",content,DateTime.Now.ToLocalTime()));
40 | }
41 | }
42 | //If unable to log, you're lost...
43 | catch { }
44 | }
45 | }
46 | }
47 |
--------------------------------------------------------------------------------