2021-07-18 09:44:23 -07:00
|
|
|
|
using System.Collections.Concurrent;
|
|
|
|
|
|
using System.Collections.Generic;
|
2021-02-26 00:32:09 -08:00
|
|
|
|
|
2023-03-09 11:52:28 -05:00
|
|
|
|
namespace BinaryObjectScanner.Interfaces
|
2021-02-26 00:32:09 -08:00
|
|
|
|
{
|
2022-05-01 21:06:52 -07:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Check a file or directory path for protection
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <remarks>
|
|
|
|
|
|
/// These checks rely primarily on filenames and paths, not file contents
|
|
|
|
|
|
/// </remarks>
|
2022-12-26 12:36:09 -08:00
|
|
|
|
public interface IPathCheck
|
2021-02-26 00:32:09 -08:00
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
2021-03-19 15:41:49 -07:00
|
|
|
|
/// Check a file path for protections based on path name
|
2021-02-26 00:32:09 -08:00
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="path">Path to check for protection indicators</param>
|
2021-03-19 15:41:49 -07:00
|
|
|
|
/// <param name="files">Enumerable of strings representing files in a directory</param>
|
2022-05-01 21:03:48 -07:00
|
|
|
|
/// <remarks>This can do some limited content checking as well, but it's suggested to use a content check instead, if possible</remarks>
|
2021-07-18 09:44:23 -07:00
|
|
|
|
ConcurrentQueue<string> CheckDirectoryPath(string path, IEnumerable<string> files);
|
2021-03-19 15:41:49 -07:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Check a file path for protections based on path name
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="path">Path to check for protection indicators</param>
|
2022-05-01 21:03:48 -07:00
|
|
|
|
/// <remarks>This can do some limited content checking as well, but it's suggested to use a content check instead, if possible</remarks>
|
2021-03-19 15:41:49 -07:00
|
|
|
|
string CheckFilePath(string path);
|
2021-02-26 00:32:09 -08:00
|
|
|
|
}
|
|
|
|
|
|
}
|