summaryrefslogtreecommitdiff
path: root/web/source
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2024-06-08 14:32:28 +0200
committerLibravatar GitHub <noreply@github.com>2024-06-08 12:32:28 +0000
commit048339a6aacd09adc187f46484f1ceb90dfef371 (patch)
tree58e10d85fbde008e68854a07358a085a0b86696c /web/source
parent[chore] Warn about email/password change when using OIDC (#2975) (diff)
downloadgotosocial-048339a6aacd09adc187f46484f1ceb90dfef371.tar.xz
[bugfix] Use re2 syntax for regex validation (#2978)v0.16.0-rc1
Diffstat (limited to 'web/source')
-rw-r--r--web/source/package.json1
-rw-r--r--web/source/settings/views/admin/http-header-permissions/create.tsx9
-rw-r--r--web/source/settings/views/admin/http-header-permissions/detail.tsx2
-rw-r--r--web/source/yarn.lock5
4 files changed, 12 insertions, 5 deletions
diff --git a/web/source/package.json b/web/source/package.json
index 230c248ad..e90176308 100644
--- a/web/source/package.json
+++ b/web/source/package.json
@@ -27,6 +27,7 @@
"photoswipe-dynamic-caption-plugin": "^1.2.7",
"plyr": "^3.7.8",
"psl": "^1.9.0",
+ "re2js": "^0.4.1",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-redux": "^8.1.3",
diff --git a/web/source/settings/views/admin/http-header-permissions/create.tsx b/web/source/settings/views/admin/http-header-permissions/create.tsx
index b791ae0a9..6613ac0f1 100644
--- a/web/source/settings/views/admin/http-header-permissions/create.tsx
+++ b/web/source/settings/views/admin/http-header-permissions/create.tsx
@@ -24,6 +24,7 @@ import useFormSubmit from "../../../lib/form/submit";
import { TextInput } from "../../../components/form/inputs";
import MutationButton from "../../../components/form/mutation-button";
import { PermType } from "../../../lib/types/perm";
+import { RE2JS } from "re2js";
export default function HeaderPermCreateForm({ permType }: { permType: PermType }) {
const form = {
@@ -56,7 +57,7 @@ export default function HeaderPermCreateForm({ permType }: { permType: PermType
// Ensure regex compiles.
try {
- new RegExp(val);
+ RE2JS.compile(val);
} catch (e) {
return e;
}
@@ -116,14 +117,14 @@ export default function HeaderPermCreateForm({ permType }: { permType: PermType
field={form.regex}
label={
<>
- HTTP Header Value Regex&nbsp;
+ HTTP Header Value RE2 Regex&nbsp;
<a
- href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_expressions"
+ href="https://github.com/google/re2/wiki/Syntax"
target="_blank"
className="docslink"
rel="noreferrer"
>
- Learn more about regular expressions (opens in a new tab)
+ Learn more about RE2 regular expressions (opens in a new tab)
</a>
</>
}
diff --git a/web/source/settings/views/admin/http-header-permissions/detail.tsx b/web/source/settings/views/admin/http-header-permissions/detail.tsx
index db92dd0eb..456f9a357 100644
--- a/web/source/settings/views/admin/http-header-permissions/detail.tsx
+++ b/web/source/settings/views/admin/http-header-permissions/detail.tsx
@@ -154,7 +154,7 @@ function PermDeets({
// with this regular expression prepopulated.
const testParams = new URLSearchParams();
testParams.set("regex", perm.regex);
- testParams.set("flags", "g");
+ testParams.set("flags", "gm");
testParams.set("testString", testString);
const regexLink = `https://regex101.com/?${testParams.toString()}`;
diff --git a/web/source/yarn.lock b/web/source/yarn.lock
index 71187718f..ce662205e 100644
--- a/web/source/yarn.lock
+++ b/web/source/yarn.lock
@@ -5513,6 +5513,11 @@ raw-body@~1.1.0:
bytes "1"
string_decoder "0.10"
+re2js@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.yarnpkg.com/re2js/-/re2js-0.4.1.tgz#74a87a90b79ab5dc1effed818151354c8faccb3d"
+ integrity sha512-Kxb+OKXrEPowP4bXAF07NDXtgYX07S8HeVGgadx5/D/R41LzWg1kgTD2szIv2iHJM3vrAPnDKaBzfUE/7QWX9w==
+
react-dom@^18.2.0:
version "18.2.0"
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d"