fix case-insensitive behavior

This commit is contained in:
Licshee
2016-02-04 17:29:25 +08:00
parent 1287eb0fa7
commit 413803c56f
4 changed files with 25 additions and 23 deletions
@@ -51,12 +51,12 @@ namespace Shadowsocks.Controller
string[] runList = runKey.GetValueNames();
foreach (string item in runList)
{
if (item == Key)
if (item.Equals(Key, StringComparison.OrdinalIgnoreCase))
return true;
else if (item == "Shadowsocks") // Compatibility with older versions
else if (item.Equals("Shadowsocks", StringComparison.OrdinalIgnoreCase)) // Compatibility with older versions
{
string value = Convert.ToString(runKey.GetValue(item));
if (path.Equals(value, StringComparison.InvariantCultureIgnoreCase))
if (path.Equals(value, StringComparison.OrdinalIgnoreCase))
{
runKey.DeleteValue(item);
runKey.SetValue(Key, path);
@@ -76,7 +76,7 @@ namespace Shadowsocks.Controller
if (runKey != null)
{
try { runKey.Close(); }
catch(Exception e)
catch (Exception e)
{ Logging.LogUsefulException(e); }
}
}
@@ -102,11 +102,11 @@ namespace Shadowsocks.Controller
var connections = registry.GetValueNames();
foreach (var each in connections)
{
switch (each)
switch (each.ToUpperInvariant())
{
case "DefaultConnectionSettings":
case "LAN Connection":
case "SavedLegacySettings":
case "DEFAULTCONNECTIONSETTINGS":
case "LAN CONNECTION":
case "SAVEDLEGACYSETTINGS":
continue;
default:
//set all the connections's proxy as the lan