This repository has been archived on 2023-03-26. You can view files and clone it, but cannot push or open issues or pull requests.
usb-lockdown/USB Lockdown/authentication.cs

63 lines
1.8 KiB
C#
Raw Normal View History

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()
{
deviceScan.calculateHash();
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 stuff
}
}
class deviceScan
{
internal static DriveInfo validDrive;
internal static DriveInfo[] driveListing;
private static bool driveFound = false;
internal static string originalHash;
internal static void calculateHash()
{
//decide how to do this!
}
internal static void scanDevices()
{
while (!driveFound) {
driveListing = DriveInfo.GetDrives();
foreach (DriveInfo currentDrive in driveListing)
{
try { string driveName = currentDrive.VolumeLabel; string driveLabel = currentDrive.Name; }
catch { }
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!
{
}
}
}
}
internal static void resetValues()
{
validDrive = null;
driveListing = null;
driveFound = false;
}
}
}