diff options
| author | Andrey Sukharev <SukharevAndrey@users.noreply.github.com> | 2022-12-04 03:43:23 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-12-04 00:43:23 +0000 |
| commit | 3868a0020611491e30db19e5b27d33a7559c7071 (patch) | |
| tree | 4bb5bce15a9a4e37f111c5d53b0909cc92a3b4f7 /Ryujinx.HLE/HOS | |
| parent | 933e5144a975b324298d50032ec3fcce47a5fbf3 (diff) | |
Use source generated regular expressions (#4005)
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) |
