/// <summary> /// Initializes a new instance of the <see cref="IoUtility"/> class. /// </summary> public IoUtility( IDirectoryUtility directoryUtility, IFileUtility fileUtility, IPathUtility pathUtility) { Directory = directoryUtility; Path = pathUtility; File = fileUtility; }
public AppxFileFactory(ILogger <AppxFileFactory> logger, IOptionsSnapshot <WindowsSdkFiles> windowSdkFiles, IKeyVaultService keyVaultService, IDirectoryUtility directoryUtility) { this.logger = logger; this.keyVaultService = keyVaultService; this.directoryUtility = directoryUtility; makeappxPath = windowSdkFiles.Value.MakeAppxPath; }
public SignController(ISigningToolAggregate codeSignAggregate, ILogger <SignController> logger, IDirectoryUtility directoryUtility, IFileNameService fileNameService) { this.codeSignAggregate = codeSignAggregate; this.logger = logger; this.directoryUtility = directoryUtility; this.fileNameService = fileNameService; }
public AppxFile(string inputFileName, string publisher, ILogger logger, IDirectoryUtility directoryUtility, string makeAppxPath, string filter) { this.inputFileName = inputFileName; this.publisher = publisher; this.logger = logger; this.directoryUtility = directoryUtility; this.makeAppxPath = makeAppxPath; dataDirectory = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); Directory.CreateDirectory(dataDirectory); Unpack(); UpdateManifestPublisher(); var filesInDir = Directory.EnumerateFiles(dataDirectory, "*.*", SearchOption.AllDirectories); FilesInDirectory = filesInDir.ToList(); // don't allow parent directory traversal filter = filter.Replace(@"..\", "").Replace("../", ""); var globs = filter.Split('\n').Where(s => (!string.IsNullOrWhiteSpace(s))) .Where(s => (!s.StartsWith("!"))) .ToList(); var antiglobs = filter.Split('\n').Where(s => (!string.IsNullOrWhiteSpace(s))) .Where(s => (s.StartsWith("!"))) .Select(s => s.Substring(1)) .ToList(); if (globs.Count > 0) { var files = Globber.GetFiles(new DirectoryInfo(dataDirectory), globs); FilteredFilesInDirectory = files.Select(f => f.FullName).ToList(); } // If no filtered, default to all if (FilteredFilesInDirectory == null) { FilteredFilesInDirectory = FilesInDirectory.ToList(); } if (antiglobs.Count > 0) { var antifiles = Globber.GetFiles(new DirectoryInfo(dataDirectory), antiglobs) .Select(f => f.FullName) .ToList(); FilteredFilesInDirectory = FilteredFilesInDirectory.Except(antifiles).ToList(); } FilesExceptFiltered = FilesInDirectory.Except(FilteredFilesInDirectory).ToList(); }
/// <summary> /// Initializes a new instance of the <see cref="ConsoleValidator"/> class. /// </summary> /// <param name="logger">The logger.</param> /// <param name="settings">The settings.</param> /// <param name="fileUtility">The file utility.</param> /// <param name="directoryUtility">The directory utility.</param> /// <param name="pathUtility">The path utility.</param> public ConsoleValidator( ILogger logger, IHyperValidatorSettings settings, IFileUtility fileUtility, IDirectoryUtility directoryUtility, IPathUtility pathUtility) { Logger = logger; Settings = settings; FileUtility = fileUtility; DirectoryUtility = directoryUtility; PathUtility = pathUtility; }
/// <summary> /// Initializes a new instance of the <see cref="SystemRepository" /> class. /// </summary> /// <param name="settings">The settings.</param> /// <param name="logger">The logger.</param> /// <param name="directoryUtility">The directory utility.</param> /// <param name="fileUtility">The file utility.</param> /// <param name="pathUtility">The path utility.</param> /// <param name="consoleRepository">The console repository.</param> public SystemRepository( IHyperValidatorSettings settings, ILogger logger, IDirectoryUtility directoryUtility, IFileUtility fileUtility, IPathUtility pathUtility, IConsoleRepository consoleRepository) { Settings = settings; Logger = logger; DirectoryUtility = directoryUtility; FileUtility = fileUtility; PathUtility = pathUtility; ConsoleRepository = consoleRepository; }
/// <summary> /// Initializes a new instance of the <see cref="GameRepository"/> class. /// </summary> /// <param name="settings">The settings.</param> /// <param name="logger">The logger.</param> /// <param name="directoryUtility">The directory utility.</param> /// <param name="fileUtility">The file utility.</param> /// <param name="pathUtility">The path utility.</param> /// <param name="consoleSerializer">The console serializer.</param> public GameRepository( IHyperValidatorSettings settings, ILogger logger, IDirectoryUtility directoryUtility, IFileUtility fileUtility, IPathUtility pathUtility, IConsoleSerializer consoleSerializer) { Settings = settings; Logger = logger; DirectoryUtility = directoryUtility; FileUtility = fileUtility; PathUtility = pathUtility; ConsoleSerializer = consoleSerializer; }
public AppxBundleFile(string inputFileName, ILogger logger, IDirectoryUtility directoryUtility, string makeAppxPath) { this.inputFileName = inputFileName; this.logger = logger; this.directoryUtility = directoryUtility; this.makeAppxPath = makeAppxPath; dataDirectory = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); Directory.CreateDirectory(dataDirectory); logger.LogInformation($"Extracting bundle file {inputFileName}"); Unbundle(); bundleVersion = GetBundleVersion(); var filesInDir = Directory.EnumerateFiles(dataDirectory, "*.appx", SearchOption.AllDirectories) .Concat(Directory.EnumerateFiles(dataDirectory, "*.msix", SearchOption.AllDirectories)); FilteredFilesInDirectory = filesInDir.ToList(); }
public MageSignService(IOptionsMonitor <AzureADOptions> aadOptions, IWebHostEnvironment hostingEnvironment, IKeyVaultService keyVaultService, IServiceProvider serviceProvider, ILogger <MageSignService> logger, ITelemetryLogger telemetryLogger, IDirectoryUtility directoryUtility) { this.aadOptions = aadOptions.Get(AzureADDefaults.AuthenticationScheme); this.keyVaultService = keyVaultService; this.logger = logger; this.telemetryLogger = telemetryLogger; this.directoryUtility = directoryUtility; magetoolPath = Path.Combine(hostingEnvironment.ContentRootPath, "tools\\SDK\\x86\\mage.exe"); signToolName = nameof(MageSignService); // Need to delay this as it'd create a dependency loop if directly in the ctor signToolAggregate = new Lazy <ISigningToolAggregate>(() => serviceProvider.GetService <ISigningToolAggregate>()); }
public SigningToolAggregate(IEnumerable <ICodeSignService> services, IAppxFileFactory appxFileFactory, IOptionsSnapshot <WindowsSdkFiles> windowSdkFiles, ILogger <SigningToolAggregate> logger, IDirectoryUtility directoryUtility) { this.appxFileFactory = appxFileFactory; this.logger = logger; this.directoryUtility = directoryUtility; makeappxPath = windowSdkFiles.Value.MakeAppxPath; // pe files defaultCodeSignService = services.Single(c => c.IsDefault); var list = from cs in services from ext in cs.SupportedFileExtensions select new { cs, ext }; codeSignServices = list.ToDictionary(k => k.ext.ToLowerInvariant(), v => v.cs); }
/// <summary> /// Initializes a new instance of the <see cref="ConsoleRepository" /> class. /// </summary> /// <param name="settings">The settings.</param> /// <param name="logger">The logger.</param> /// <param name="directoryUtility">The directory utility.</param> /// <param name="fileUtility">The file utility.</param> /// <param name="pathUtility">The path utility.</param> /// <param name="consoleSerializer">The console serializer.</param> /// <param name="databaseSerializer">The database serializer.</param> /// <param name="gameValidator">The game validator.</param> /// <param name="consoleValidator">The console validator.</param> public ConsoleRepository( IHyperValidatorSettings settings, ILogger logger, IDirectoryUtility directoryUtility, IFileUtility fileUtility, IPathUtility pathUtility, IConsoleSerializer consoleSerializer, IDatabaseSerializer databaseSerializer, IGameValidator gameValidator, IConsoleValidator consoleValidator) { Settings = settings; Logger = logger; DirectoryUtility = directoryUtility; FileUtility = fileUtility; PathUtility = pathUtility; ConsoleSerializer = consoleSerializer; DatabaseSerializer = databaseSerializer; GameValidator = gameValidator; ConsoleValidator = consoleValidator; }