From 0c2b68d56eb7b0185dc1a863f5e77a4ceca762b8 Mon Sep 17 00:00:00 2001 From: Alexander Klein Date: Tue, 23 Feb 2021 15:58:31 +0100 Subject: [PATCH 1/3] fix(regex): protocol accepted in domain name Add missing brackets to the regex. Before, the caret and dollar sign symbols were not applied to the whole string but to either side of the `|` symbol. --- lib/constants.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/constants.js b/lib/constants.js index 0d14448b..8f052fc3 100644 --- a/lib/constants.js +++ b/lib/constants.js @@ -80,7 +80,7 @@ export const POSTGRESQL_DATE_FORMATS = { year: 'YYYY-01-01', }; -export const DOMAIN_REGEX = /^localhost(:\d{1,5})?|((?=[a-z0-9-]{1,63}\.)(xn--)?[a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,63}$/; +export const DOMAIN_REGEX = /^(localhost(:\d{1,5})?|((?=[a-z0-9-]{1,63}\.)(xn--)?[a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,63})$/; export const DESKTOP_SCREEN_WIDTH = 1920; export const LAPTOP_SCREEN_WIDTH = 1024; From 22ca617165cf2147f30338e0c8106d6d9fa8438d Mon Sep 17 00:00:00 2001 From: Alexander Klein Date: Tue, 23 Feb 2021 16:11:42 +0100 Subject: [PATCH 2/3] fix(regex): ports in domain names Accept port numbers on all domain names, not just `localhost`. Deny leading zeros in port numbers. --- lib/constants.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/constants.js b/lib/constants.js index 8f052fc3..701a97d4 100644 --- a/lib/constants.js +++ b/lib/constants.js @@ -80,7 +80,7 @@ export const POSTGRESQL_DATE_FORMATS = { year: 'YYYY-01-01', }; -export const DOMAIN_REGEX = /^(localhost(:\d{1,5})?|((?=[a-z0-9-]{1,63}\.)(xn--)?[a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,63})$/; +export const DOMAIN_REGEX = /^(localhost|((?=[a-z0-9-]{1,63}\.)(xn--)?[a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,63})(:[1-9]\d{0,4})?$/; export const DESKTOP_SCREEN_WIDTH = 1920; export const LAPTOP_SCREEN_WIDTH = 1024; From 9115ce42007302dbe09b8d7c7afd36687e7f22af Mon Sep 17 00:00:00 2001 From: Alexander Klein Date: Wed, 24 Feb 2021 11:00:08 +0100 Subject: [PATCH 3/3] revert: allow ports in non-localhost domain names Refs: 22ca617 --- lib/constants.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/constants.js b/lib/constants.js index 701a97d4..95421b22 100644 --- a/lib/constants.js +++ b/lib/constants.js @@ -80,7 +80,7 @@ export const POSTGRESQL_DATE_FORMATS = { year: 'YYYY-01-01', }; -export const DOMAIN_REGEX = /^(localhost|((?=[a-z0-9-]{1,63}\.)(xn--)?[a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,63})(:[1-9]\d{0,4})?$/; +export const DOMAIN_REGEX = /^(localhost(:[1-9]\d{0,4})?|((?=[a-z0-9-]{1,63}\.)(xn--)?[a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,63})$/; export const DESKTOP_SCREEN_WIDTH = 1920; export const LAPTOP_SCREEN_WIDTH = 1024;