diff options
| author | 2024-06-08 14:32:28 +0200 | |
|---|---|---|
| committer | 2024-06-08 12:32:28 +0000 | |
| commit | 048339a6aacd09adc187f46484f1ceb90dfef371 (patch) | |
| tree | 58e10d85fbde008e68854a07358a085a0b86696c | |
| parent | [chore] Warn about email/password change when using OIDC (#2975) (diff) | |
| download | gotosocial-048339a6aacd09adc187f46484f1ceb90dfef371.tar.xz | |
[bugfix] Use re2 syntax for regex validation (#2978)v0.16.0-rc1
| -rw-r--r-- | web/source/package.json | 1 | ||||
| -rw-r--r-- | web/source/settings/views/admin/http-header-permissions/create.tsx | 9 | ||||
| -rw-r--r-- | web/source/settings/views/admin/http-header-permissions/detail.tsx | 2 | ||||
| -rw-r--r-- | web/source/yarn.lock | 5 | 
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  +						HTTP Header Value RE2 Regex   						<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"  | 
