From 21cb1d11bf1ed3eea4f4fd44e00df6021df2b92b Mon Sep 17 00:00:00 2001 From: David Lebee Date: Thu, 20 Aug 2020 19:44:08 -0400 Subject: [PATCH] mistake should of been \ not / to escape - --- PoweredSoft.Storage.S3/S3StorageProvider.cs | 4 ++-- PoweredSoft.Storage.Test/S3Tests.cs | 7 +++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/PoweredSoft.Storage.S3/S3StorageProvider.cs b/PoweredSoft.Storage.S3/S3StorageProvider.cs index ef00cae..be29eb5 100644 --- a/PoweredSoft.Storage.S3/S3StorageProvider.cs +++ b/PoweredSoft.Storage.S3/S3StorageProvider.cs @@ -227,7 +227,7 @@ namespace PoweredSoft.Storage.S3 public string SanitizeFileName(string key, string replacement) { - string pattern = @"[^a-zA-Z0-9.!/-_*'()]"; + string pattern = @"[^a-zA-Z0-9.!\-_*'()]"; string substitution = replacement; string input = key; RegexOptions options = RegexOptions.Multiline; @@ -240,7 +240,7 @@ namespace PoweredSoft.Storage.S3 public bool IsFileNameAllowed(string fileName) { - string pattern = @"[^a-zA-Z0-9.!/-_*'()]"; + string pattern = @"[^a-zA-Z0-9.!\-_*'()]"; RegexOptions options = RegexOptions.Multiline; Regex regex = new Regex(pattern, options); var hasMatches = regex.IsMatch(fileName); diff --git a/PoweredSoft.Storage.Test/S3Tests.cs b/PoweredSoft.Storage.Test/S3Tests.cs index b981746..0415b69 100644 --- a/PoweredSoft.Storage.Test/S3Tests.cs +++ b/PoweredSoft.Storage.Test/S3Tests.cs @@ -15,6 +15,13 @@ namespace PoweredSoft.Storage.Test Assert.IsFalse(space.IsFileNameAllowed("Operations$$.pdf"), "Should not be valid"); } + [TestMethod] + public void CanContainDash() + { + var space = GetMockS3Space(); + Assert.IsTrue(space.IsFileNameAllowed("Operations-yay.pdf"), "Should be allowed"); + } + [TestMethod] public void NameSanitation() {