From 9727c39b728324e7cd963b47f2974f7245708df4 Mon Sep 17 00:00:00 2001 From: Jake Howard Date: Sun, 10 Aug 2014 22:44:04 +0100 Subject: [PATCH] initiated file for checking authentication of drive --- USB Lockdown/authentication.cs | 65 ++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 USB Lockdown/authentication.cs diff --git a/USB Lockdown/authentication.cs b/USB Lockdown/authentication.cs new file mode 100644 index 0000000..97c75ac --- /dev/null +++ b/USB Lockdown/authentication.cs @@ -0,0 +1,65 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading; +using System.IO; + +namespace USB_Lockdown +{ + class authentication + { + internal static Thread authenticationThread; + internal static Thread deviceScanner; + internal static void startScanning() + { + Thread authenticationThread = new Thread(beginAuthentication); + } + + internal static void beginAuthentication() + { + Thread deviceScanner = new Thread(deviceScan.scanDevices); + deviceScanner.Join(); //the thread will exit when a valid drive has been found + + //code here to unlock computer and + } + } + class deviceScan + { + internal static DriveInfo validDrive; + internal static DriveInfo[] driveListing; + private static bool driveFound = false; + + + internal static void scanDevices() + { + while (!driveFound) { + driveListing = DriveInfo.GetDrives(); + foreach (DriveInfo currentDrive in driveListing) + { + if (File.Exists(currentDrive.Name + "\\LockDown.config")) // the first check for a valid drive. Could be something else, but this is a lightweight test to be done first! + { + if (driveValidate(currentDrive)) + { + validDrive = currentDrive; + driveFound = true; + break; + } + } + } + } + } + + internal static bool driveValidate(DriveInfo drive){ + + return true; + } + + internal static void resetValues() + { + validDrive = null; + driveListing = null; + driveFound = false; + } + } +}