From f37f0f86999a1519cab68f9bd769cbb512b6d081 Mon Sep 17 00:00:00 2001 From: rootdarkarchon Date: Thu, 10 Nov 2022 13:57:12 +0100 Subject: [PATCH] temporarily disable path validation again --- .../MareSynchronosServer/Hubs/MareHub.User.cs | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/MareSynchronosServer/MareSynchronosServer/Hubs/MareHub.User.cs b/MareSynchronosServer/MareSynchronosServer/Hubs/MareHub.User.cs index 6db4a5a..325e500 100644 --- a/MareSynchronosServer/MareSynchronosServer/Hubs/MareHub.User.cs +++ b/MareSynchronosServer/MareSynchronosServer/Hubs/MareHub.User.cs @@ -118,6 +118,12 @@ public partial class MareHub }).ToList(); } + [GeneratedRegex(@"^[A-Z0-9]{40}$", RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.ECMAScript)] + private static partial Regex HashRegex(); + + [GeneratedRegex(@"^([a-z0-9_]+\/)+(([a-z0-9_])+(\.[a-z]{3,4}))$", RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.ECMAScript)] + private static partial Regex GamePathRegex(); + [Authorize(Policy = "Identified")] public async Task UserPushData(CharacterCacheDto characterCache, List visibleCharacterIds) { @@ -125,9 +131,11 @@ public partial class MareHub foreach (var replacement in characterCache.FileReplacements.SelectMany(p => p.Value)) { - bool validGamePaths = replacement.GamePaths.All(p => GamePathRegex().IsMatch(p)); + //bool validGamePaths = replacement.GamePaths.All(p => GamePathRegex().IsMatch(p)); + bool validGamePaths = true; bool validHash = string.IsNullOrEmpty(replacement.Hash) || HashRegex().IsMatch(replacement.Hash); - bool validFileSwapPath = string.IsNullOrEmpty(replacement.FileSwapPath) || GamePathRegex().IsMatch(replacement.FileSwapPath); + //bool validFileSwapPath = string.IsNullOrEmpty(replacement.FileSwapPath) || GamePathRegex().IsMatch(replacement.FileSwapPath); + bool validFileSwapPath = true; if (!validGamePaths || !validHash || !validFileSwapPath) { _logger.LogCallWarning(MareHubLogger.Args("Invalid Data", "GamePaths", validGamePaths, "Hash", validHash, "FileSwap", validFileSwapPath)); @@ -341,10 +349,4 @@ public partial class MareHub private ClientPair OppositeEntry(string otherUID) => _dbContext.ClientPairs.AsNoTracking().SingleOrDefault(w => w.User.UID == otherUID && w.OtherUser.UID == AuthenticatedUserId); - - [GeneratedRegex(@"^[A-Z0-9]{40}$", RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.ECMAScript)] - private static partial Regex HashRegex(); - - [GeneratedRegex(@"^([a-z0-9_]+\\)+(([a-z0-9_])+(\.[a-z]{3,4}))$", RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.ECMAScript)] - private static partial Regex GamePathRegex(); }