From f300c1e9cbea63fc02065b92f62b4009c13760db Mon Sep 17 00:00:00 2001 From: RussKie Date: Mon, 7 Dec 2020 10:54:00 +1100 Subject: [PATCH 1/2] Remove support for UTF-7 See: https://github.com/dotnet/docs/issues/19274 Fixes #8363 Fixes #8367 Fixes #8425 Fixes #8634 --- GitCommands/Settings/AppSettings.cs | 12 +++++++++++- .../SettingsDialog/FormAvailableEncodings.cs | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/GitCommands/Settings/AppSettings.cs b/GitCommands/Settings/AppSettings.cs index e6d3b9a6153..ea3e466d4c2 100644 --- a/GitCommands/Settings/AppSettings.cs +++ b/GitCommands/Settings/AppSettings.cs @@ -1883,8 +1883,12 @@ void AddEncodingByName(string s) AddEncoding(Encoding.Default); AddEncoding(new ASCIIEncoding()); AddEncoding(new UnicodeEncoding()); - AddEncoding(new UTF7Encoding()); + + // UTF-7 is no longer supported, see: https://github.com/dotnet/docs/issues/19274 + // AddEncoding(new UTF7Encoding()); + AddEncoding(new UTF8Encoding(false)); + try { AddEncoding(Encoding.GetEncoding(CultureInfo.CurrentCulture.TextInfo.OEMCodePage)); @@ -1899,6 +1903,12 @@ void AddEncodingByName(string s) var utf8 = new UTF8Encoding(false); foreach (var encodingName in availableEncodings.Split(';')) { + if (encodingName == "utf-7") + { + // UTF-7 is no longer supported, see: https://github.com/dotnet/docs/issues/19274 + continue; + } + // create utf-8 without BOM if (encodingName == utf8.HeaderName) { diff --git a/GitUI/CommandsDialogs/SettingsDialog/FormAvailableEncodings.cs b/GitUI/CommandsDialogs/SettingsDialog/FormAvailableEncodings.cs index 1848379e2f7..84302b3139c 100644 --- a/GitUI/CommandsDialogs/SettingsDialog/FormAvailableEncodings.cs +++ b/GitUI/CommandsDialogs/SettingsDialog/FormAvailableEncodings.cs @@ -30,6 +30,7 @@ private void LoadEncoding() } var availableEncoding = Encoding.GetEncodings() + .Where(ei => ei.Name != "utf-7") // UTF-7 is no longer supported, see: https://github.com/dotnet/docs/issues/19274 .Select(ei => ei.GetEncoding()) .Where(e => !includedEncoding.ContainsKey(e.HeaderName)) .ToList(); From 177745f2783d8d083aef9b48c085d151c474503b Mon Sep 17 00:00:00 2001 From: RussKie Date: Mon, 7 Dec 2020 12:05:19 +1100 Subject: [PATCH 2/2] fixup! Remove support for UTF-7 --- GitCommands/Settings/AppSettings.cs | 2 +- GitUI/CommandsDialogs/SettingsDialog/FormAvailableEncodings.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/GitCommands/Settings/AppSettings.cs b/GitCommands/Settings/AppSettings.cs index ea3e466d4c2..6e62f6df52a 100644 --- a/GitCommands/Settings/AppSettings.cs +++ b/GitCommands/Settings/AppSettings.cs @@ -1903,7 +1903,7 @@ void AddEncodingByName(string s) var utf8 = new UTF8Encoding(false); foreach (var encodingName in availableEncodings.Split(';')) { - if (encodingName == "utf-7") + if (encodingName == Encoding.UTF7.HeaderName) { // UTF-7 is no longer supported, see: https://github.com/dotnet/docs/issues/19274 continue; diff --git a/GitUI/CommandsDialogs/SettingsDialog/FormAvailableEncodings.cs b/GitUI/CommandsDialogs/SettingsDialog/FormAvailableEncodings.cs index 84302b3139c..0e766e4bf96 100644 --- a/GitUI/CommandsDialogs/SettingsDialog/FormAvailableEncodings.cs +++ b/GitUI/CommandsDialogs/SettingsDialog/FormAvailableEncodings.cs @@ -30,8 +30,8 @@ private void LoadEncoding() } var availableEncoding = Encoding.GetEncodings() - .Where(ei => ei.Name != "utf-7") // UTF-7 is no longer supported, see: https://github.com/dotnet/docs/issues/19274 .Select(ei => ei.GetEncoding()) + .Where(e => e != Encoding.UTF7) // UTF-7 is no longer supported, see: https://github.com/dotnet/docs/issues/19274 .Where(e => !includedEncoding.ContainsKey(e.HeaderName)) .ToList();