diff options
Diffstat (limited to 'Ryujinx.HLE/HOS')
| -rw-r--r-- | Ryujinx.HLE/HOS/Applets/Error/ErrorApplet.cs | 7 | ||||
| -rw-r--r-- | Ryujinx.HLE/HOS/Services/Sockets/Sfdnsres/Proxy/DnsBlacklist.cs | 32 |
2 files changed, 27 insertions, 12 deletions
diff --git a/Ryujinx.HLE/HOS/Applets/Error/ErrorApplet.cs b/Ryujinx.HLE/HOS/Applets/Error/ErrorApplet.cs index 0ca90130..bd321f6f 100644 --- a/Ryujinx.HLE/HOS/Applets/Error/ErrorApplet.cs +++ b/Ryujinx.HLE/HOS/Applets/Error/ErrorApplet.cs @@ -18,7 +18,7 @@ using System.Text.RegularExpressions; namespace Ryujinx.HLE.HOS.Applets.Error { - internal class ErrorApplet : IApplet + internal partial class ErrorApplet : IApplet { private const long ErrorMessageBinaryTitleId = 0x0100000000000801; @@ -30,6 +30,9 @@ namespace Ryujinx.HLE.HOS.Applets.Error public event EventHandler AppletStateChanged; + [GeneratedRegex(@"[^\u0000\u0009\u000A\u000D\u0020-\uFFFF]..")] + private static partial Regex CleanTextRegex(); + public ErrorApplet(Horizon horizon) { _horizon = horizon; @@ -101,7 +104,7 @@ namespace Ryujinx.HLE.HOS.Applets.Error private static string CleanText(string value) { - return Regex.Replace(value, @"[^\u0000\u0009\u000A\u000D\u0020-\uFFFF]..", "").Replace("\0", ""); + return CleanTextRegex().Replace(value, "").Replace("\0", ""); } private string GetMessageText(uint module, uint description, string key) diff --git a/Ryujinx.HLE/HOS/Services/Sockets/Sfdnsres/Proxy/DnsBlacklist.cs b/Ryujinx.HLE/HOS/Services/Sockets/Sfdnsres/Proxy/DnsBlacklist.cs index ddfe232c..776a6f7c 100644 --- a/Ryujinx.HLE/HOS/Services/Sockets/Sfdnsres/Proxy/DnsBlacklist.cs +++ b/Ryujinx.HLE/HOS/Services/Sockets/Sfdnsres/Proxy/DnsBlacklist.cs @@ -2,18 +2,30 @@ namespace Ryujinx.HLE.HOS.Services.Sockets.Sfdnsres.Proxy { - static class DnsBlacklist + static partial class DnsBlacklist { - const RegexOptions RegexOpts = RegexOptions.CultureInvariant | RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture | RegexOptions.Compiled; + const RegexOptions RegexOpts = RegexOptions.CultureInvariant | RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture; - private static readonly Regex[] BlockedHosts = new Regex[] - { - new Regex(@"^(.*)\-lp1\.(n|s)\.n\.srv\.nintendo\.net$", RegexOpts), - new Regex(@"^(.*)\-lp1\.lp1\.t\.npln\.srv\.nintendo\.net$", RegexOpts), - new Regex(@"^(.*)\-lp1\.(znc|p)\.srv\.nintendo\.net$", RegexOpts), - new Regex(@"^(.*)\-sb\-api\.accounts\.nintendo\.com$", RegexOpts), - new Regex(@"^(.*)\-sb\.accounts\.nintendo\.com$", RegexOpts), - new Regex(@"^accounts\.nintendo\.com$", RegexOpts) + [GeneratedRegex(@"^(.*)\-lp1\.(n|s)\.n\.srv\.nintendo\.net$", RegexOpts)] + private static partial Regex BlockedHost1(); + [GeneratedRegex(@"^(.*)\-lp1\.lp1\.t\.npln\.srv\.nintendo\.net$", RegexOpts)] + private static partial Regex BlockedHost2(); + [GeneratedRegex(@"^(.*)\-lp1\.(znc|p)\.srv\.nintendo\.net$", RegexOpts)] + private static partial Regex BlockedHost3(); + [GeneratedRegex(@"^(.*)\-sb\-api\.accounts\.nintendo\.com$", RegexOpts)] + private static partial Regex BlockedHost4(); + [GeneratedRegex(@"^(.*)\-sb\.accounts\.nintendo\.com$", RegexOpts)] + private static partial Regex BlockedHost5(); + [GeneratedRegex(@"^accounts\.nintendo\.com$", RegexOpts)] + private static partial Regex BlockedHost6(); + + private static readonly Regex[] BlockedHosts = { + BlockedHost1(), + BlockedHost2(), + BlockedHost3(), + BlockedHost4(), + BlockedHost5(), + BlockedHost6() }; public static bool IsHostBlocked(string host) |
