actually fix the encoding issue

This commit is contained in:
RaidMax 2019-02-10 20:05:50 -06:00
parent 6d2e6aee4f
commit 5e04274da6
3 changed files with 20 additions and 10 deletions

View File

@ -6,7 +6,7 @@
<RuntimeFrameworkVersion>2.1.5</RuntimeFrameworkVersion>
<MvcRazorExcludeRefAssembliesFromPublish>false</MvcRazorExcludeRefAssembliesFromPublish>
<PackageId>RaidMax.IW4MAdmin.Application</PackageId>
<Version>2.2.4.8</Version>
<Version>2.2.4.9</Version>
<Authors>RaidMax</Authors>
<Company>Forever None</Company>
<Product>IW4MAdmin</Product>
@ -31,8 +31,8 @@
<PropertyGroup>
<ServerGarbageCollection>true</ServerGarbageCollection>
<TieredCompilation>true</TieredCompilation>
<AssemblyVersion>2.2.4.8</AssemblyVersion>
<FileVersion>2.2.4.8</FileVersion>
<AssemblyVersion>2.2.4.9</AssemblyVersion>
<FileVersion>2.2.4.9</FileVersion>
</PropertyGroup>
<ItemGroup>

View File

@ -32,10 +32,12 @@ namespace SharedLibraryCore.RCon
private readonly ILogger Log;
private IRConParserConfiguration Config;
private readonly Encoding defaultEncoding;
public Connection(string ipAddress, int port, string password, ILogger log, IRConParserConfiguration config)
{
Endpoint = new IPEndPoint(IPAddress.Parse(ipAddress), port);
defaultEncoding = Encoding.GetEncoding("windows-1252");
RConPassword = password;
Log = log;
Config = config;
@ -81,7 +83,7 @@ namespace SharedLibraryCore.RCon
string convertEncoding(string text)
{
byte[] convertedBytes = Utilities.EncodingType.GetBytes(text);
return Utilities.EncodingType.GetString(convertedBytes);
return defaultEncoding.GetString(convertedBytes);
}
string convertedRConPassword = convertEncoding(RConPassword);

View File

@ -266,14 +266,19 @@ namespace SharedLibraryCore
public static long ConvertLong(this string str)
{
str = str.Substring(0, Math.Min(str.Length, 16));
if (long.TryParse(str, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out long id))
long id;
if (str.Length <= 10)
{
return id;
if (long.TryParse(str, NumberStyles.Integer, CultureInfo.InvariantCulture, out id))
{
return (uint)id;
}
}
if (long.TryParse(str, NumberStyles.Integer, CultureInfo.InvariantCulture, out id))
if (long.TryParse(str, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out id))
{
return (uint)id;
return id;
}
var bot = Regex.Match(str, @"bot[0-9]+").Value;
@ -526,7 +531,7 @@ namespace SharedLibraryCore
selectionIndex--;
}
T selection = selections[selectionIndex ];
T selection = selections[selectionIndex];
return Tuple.Create(selectionIndex, selection);
}
@ -650,7 +655,10 @@ namespace SharedLibraryCore
/// </summary>
/// <param name="log"></param>
/// <returns></returns>
public static bool IsRemoteLog(this string log) => (log ?? "").StartsWith("http");
public static bool IsRemoteLog(this string log)
{
return (log ?? "").StartsWith("http");
}
public static string ToBase64UrlSafeString(this string src)
{