diff --git a/libs/common/src/platform/misc/utils.spec.ts b/libs/common/src/platform/misc/utils.spec.ts index 2956e94fea8..aa134757629 100644 --- a/libs/common/src/platform/misc/utils.spec.ts +++ b/libs/common/src/platform/misc/utils.spec.ts @@ -156,6 +156,11 @@ describe("Utils Service", () => { expect(Utils.getHostname('https://bit!:"_&ward.com')).toBeNull(); }); + it("should not treat '!' in query string as an invalid url", () => { + expect(Utils.getHostname("http://localhost:8080?a=!")).toBe("localhost"); + expect(Utils.getHostname("https://bitwarden.com?q=!")).toBe("bitwarden.com"); + }); + it("should fail for data urls", () => { expect(Utils.getHostname("data:image/jpeg;base64,AAA")).toBeNull(); }); diff --git a/libs/common/src/platform/misc/utils.ts b/libs/common/src/platform/misc/utils.ts index df6af4a4ccd..075c1146e2c 100644 --- a/libs/common/src/platform/misc/utils.ts +++ b/libs/common/src/platform/misc/utils.ts @@ -434,12 +434,6 @@ export class Utils { return null; } - // Does uriString contain invalid characters - // TODO Needs to possibly be extended, although '!' is a reserved character - if (uriString.indexOf("!") > 0) { - return null; - } - try { const hostname = getHostname(uriString, { validHosts: this.validHosts }); if (hostname != null) {