Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,9 @@
<data name="UnKnownCatalogVersion" xml:space="preserve">
<value>Catalog version is not valid. We only support catalog version {0} and version {1}.</value>
</data>
<data name="WeakCatalogHashAlgorithm" xml:space="preserve">
<value>'{0}' is a version catalog that uses SHA0 or SHA1. Consider regenerating this catalog with '-CatalogVersion 2'.</value>
</data>
<data name="UnableToOpenCatalogDefinitionFile" xml:space="preserve">
<value>Unable to open catalog definition file.</value>
</data>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,9 @@
<data name="UnKnownCatalogVersion" xml:space="preserve">
<value>Verze katalogu není platná. Podporujeme jen katalog verze {0} a verze {1}.</value>
</data>
<data name="WeakCatalogHashAlgorithm" xml:space="preserve">
<value>'{0}' is a version catalog that uses SHA0 or SHA1. Consider regenerating this catalog with '-CatalogVersion 2'.</value>
</data>
<data name="UnableToOpenCatalogDefinitionFile" xml:space="preserve">
<value>Soubor s definicí katalogu nejde otevřít.</value>
</data>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,9 @@
<data name="UnKnownCatalogVersion" xml:space="preserve">
<value>Die Katalogversion ist ungültig. Wir unterstützen nur die Katalogversion {0} und Version {1}.</value>
</data>
<data name="WeakCatalogHashAlgorithm" xml:space="preserve">
<value>'{0}' is a version catalog that uses SHA0 or SHA1. Consider regenerating this catalog with '-CatalogVersion 2'.</value>
</data>
<data name="UnableToOpenCatalogDefinitionFile" xml:space="preserve">
<value>Die Katalogdefinitionsdatei kann nicht geöffnet werden.</value>
</data>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,9 @@
<data name="UnKnownCatalogVersion" xml:space="preserve">
<value>La versión del catálogo no es válida. Solo se admite la versión del catálogo {0} y la versión {1}.</value>
</data>
<data name="WeakCatalogHashAlgorithm" xml:space="preserve">
<value>'{0}' is a version catalog that uses SHA0 or SHA1. Consider regenerating this catalog with '-CatalogVersion 2'.</value>
</data>
<data name="UnableToOpenCatalogDefinitionFile" xml:space="preserve">
<value>No se puede abrir el archivo de definición del catálogo.</value>
</data>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,9 @@
<data name="UnKnownCatalogVersion" xml:space="preserve">
<value>La version de catalogue n’est pas valide. Nous prenons uniquement en charge la version {0} et la version {1} du catalogue.</value>
</data>
<data name="WeakCatalogHashAlgorithm" xml:space="preserve">
<value>'{0}' is a version catalog that uses SHA0 or SHA1. Consider regenerating this catalog with '-CatalogVersion 2'.</value>
</data>
<data name="UnableToOpenCatalogDefinitionFile" xml:space="preserve">
<value>Nous ne pouvons pas ouvrir le fichier de définition de catalogue.</value>
</data>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,9 @@
<data name="UnKnownCatalogVersion" xml:space="preserve">
<value>La versione del catalogo non è valida. Sono supportate solo le versioni {0} e {1} del catalogo.</value>
</data>
<data name="WeakCatalogHashAlgorithm" xml:space="preserve">
<value>'{0}' is a version catalog that uses SHA0 or SHA1. Consider regenerating this catalog with '-CatalogVersion 2'.</value>
</data>
<data name="UnableToOpenCatalogDefinitionFile" xml:space="preserve">
<value>Impossibile aprire il file di definizione del catalogo.</value>
</data>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,9 @@
<data name="UnKnownCatalogVersion" xml:space="preserve">
<value>カタログ バージョンが無効です。カタログのバージョン {0} およびバージョン {1} のみがサポートされています。</value>
</data>
<data name="WeakCatalogHashAlgorithm" xml:space="preserve">
<value>'{0}' is a version catalog that uses SHA0 or SHA1. Consider regenerating this catalog with '-CatalogVersion 2'.</value>
</data>
<data name="UnableToOpenCatalogDefinitionFile" xml:space="preserve">
<value>カタログ定義ファイルを開けません。</value>
</data>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,9 @@
<data name="UnKnownCatalogVersion" xml:space="preserve">
<value>카탈로그 버전이 유효하지 않습니다. 버전 {0} 및 버전 {1} 카탈로그만 지원됩니다.</value>
</data>
<data name="WeakCatalogHashAlgorithm" xml:space="preserve">
<value>'{0}' is a version catalog that uses SHA0 or SHA1. Consider regenerating this catalog with '-CatalogVersion 2'.</value>
</data>
<data name="UnableToOpenCatalogDefinitionFile" xml:space="preserve">
<value>카탈로그 정의 파일을 열 수 없습니다.</value>
</data>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,9 @@
<data name="UnKnownCatalogVersion" xml:space="preserve">
<value>Wersja wykazu jest nieprawidłowa. Obsługujemy tylko wersję {0} i wersję {1} wykazu.</value>
</data>
<data name="WeakCatalogHashAlgorithm" xml:space="preserve">
<value>'{0}' is a version catalog that uses SHA0 or SHA1. Consider regenerating this catalog with '-CatalogVersion 2'.</value>
</data>
<data name="UnableToOpenCatalogDefinitionFile" xml:space="preserve">
<value>Nie można otworzyć pliku definicji wykazu.</value>
</data>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,9 @@
<data name="UnKnownCatalogVersion" xml:space="preserve">
<value>A versão do catálogo é inválida. Damos suporte apenas às versões {0} e {1} do catálogo.</value>
</data>
<data name="WeakCatalogHashAlgorithm" xml:space="preserve">
<value>'{0}' is a version catalog that uses SHA0 or SHA1. Consider regenerating this catalog with '-CatalogVersion 2'.</value>
</data>
<data name="UnableToOpenCatalogDefinitionFile" xml:space="preserve">
<value>Não foi possível abrir o arquivo de definição de catálogo.</value>
</data>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,9 @@
<data name="UnKnownCatalogVersion" xml:space="preserve">
<value>Неверная версия каталога. Мы поддерживаем только версию каталога {0} и версию {1}.</value>
</data>
<data name="WeakCatalogHashAlgorithm" xml:space="preserve">
<value>'{0}' is a version catalog that uses SHA0 or SHA1. Consider regenerating this catalog with '-CatalogVersion 2'.</value>
</data>
<data name="UnableToOpenCatalogDefinitionFile" xml:space="preserve">
<value>Не удалось открыть файл определения каталога.</value>
</data>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,9 @@
<data name="UnKnownCatalogVersion" xml:space="preserve">
<value>Katalog sürümü geçerli değil. Yalnızca katalog sürüm {0} ve sürüm {1} desteklenir.</value>
</data>
<data name="WeakCatalogHashAlgorithm" xml:space="preserve">
<value>'{0}' is a version catalog that uses SHA0 or SHA1. Consider regenerating this catalog with '-CatalogVersion 2'.</value>
</data>
<data name="UnableToOpenCatalogDefinitionFile" xml:space="preserve">
<value>Katalog tanım dosyası açılamıyor.</value>
</data>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,9 @@
<data name="UnKnownCatalogVersion" xml:space="preserve">
<value>目录版本无效。我们仅支持目录版本 {0} 和版本 {1}。</value>
</data>
<data name="WeakCatalogHashAlgorithm" xml:space="preserve">
<value>'{0}' is a version catalog that uses SHA0 or SHA1. Consider regenerating this catalog with '-CatalogVersion 2'.</value>
</data>
<data name="UnableToOpenCatalogDefinitionFile" xml:space="preserve">
<value>无法打开目录定义文件。</value>
</data>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,9 @@
<data name="UnKnownCatalogVersion" xml:space="preserve">
<value>目錄版本無效。我們只支援目錄版本 {0} 和版本 {1}。</value>
</data>
<data name="WeakCatalogHashAlgorithm" xml:space="preserve">
<value>'{0}' is a version catalog that uses SHA0 or SHA1. Consider regenerating this catalog with '-CatalogVersion 2'.</value>
</data>
<data name="UnableToOpenCatalogDefinitionFile" xml:space="preserve">
<value>無法開啟目錄定義檔。</value>
</data>
Expand Down
18 changes: 18 additions & 0 deletions src/System.Management.Automation/security/CatalogHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,20 @@ private static string GetCatalogHashAlgorithm(int catalogVersion)
return hashAlgorithm;
}

/// <summary>
/// Emit an advisory warning when using legacy catalog version 1 (SHA-1).
/// Advisory only: does not fail catalog generation/validation for compatibility.
/// Automation validating catalogs can check CatalogInformation.HashAlgorithm (Test-FileCatalog -Detailed)
/// to detect SHA-1 programmatically.
/// </summary>
private static void WarnIfLegacyCatalogVersion(string catalogFilePath, int catalogVersion)
{
if (catalogVersion < 2)
{
_cmdlet.WriteWarning(StringUtil.Format(CatalogStrings.WeakCatalogHashAlgorithm, catalogFilePath));
}
}

/// <summary>
/// Generate the Catalog Definition File representing files and folders.
/// </summary>
Expand Down Expand Up @@ -331,6 +345,8 @@ internal static FileInfo GenerateCatalog(PSCmdlet cmdlet, Collection<string> Pat
_cmdlet = cmdlet;
string hashAlgorithm = GetCatalogHashAlgorithm(catalogVersion);

WarnIfLegacyCatalogVersion(catalogFilePath, catalogVersion);

if (!string.IsNullOrEmpty(hashAlgorithm))
{
// Generate Path for Catalog Definition File
Expand Down Expand Up @@ -733,6 +749,8 @@ internal static CatalogInformation ValidateCatalog(PSCmdlet cmdlet, Collection<s
Dictionary<string, string> catalogHashes = GetHashesFromCatalog(catalogFilePath, excludedPatterns, out catalogVersion);
string hashAlgorithm = GetCatalogHashAlgorithm(catalogVersion);

WarnIfLegacyCatalogVersion(catalogFilePath, catalogVersion);

if (!string.IsNullOrEmpty(hashAlgorithm))
{
Dictionary<string, string> fileHashes = CalculateHashesFromPath(catalogFolders, catalogFilePath, hashAlgorithm, excludedPatterns);
Expand Down
Loading