richard pushed to branch tor-browser-115.3.1esr-13.0-1 at The Tor Project / Applications / Tor Browser
Commits:
-
c02fa5a8
by hackademix at 2023-10-10T16:58:37+00:00
1 changed file:
Changes:
| ... | ... | @@ -822,15 +822,21 @@ class AboutTorConnect { |
| 822 | 822 | }
|
| 823 | 823 | |
| 824 | 824 | async init() {
|
| 825 | + // if the user gets here manually or via the button in the urlbar
|
|
| 826 | + // then we will redirect to about:tor
|
|
| 827 | + this.redirect = "about:tor";
|
|
| 828 | + |
|
| 825 | 829 | // see if a user has a final destination after bootstrapping
|
| 826 | 830 | let params = new URLSearchParams(new URL(document.location.href).search);
|
| 827 | 831 | if (params.has("redirect")) {
|
| 828 | - const encodedRedirect = params.get("redirect");
|
|
| 829 | - this.redirect = decodeURIComponent(encodedRedirect);
|
|
| 830 | - } else {
|
|
| 831 | - // if the user gets here manually or via the button in the urlbar
|
|
| 832 | - // then we will redirect to about:tor
|
|
| 833 | - this.redirect = "about:tor";
|
|
| 832 | + try {
|
|
| 833 | + const redirect = new URL(decodeURIComponent(params.get("redirect")));
|
|
| 834 | + if (/^(?:https?|about):$/.test(redirect.protocol)) {
|
|
| 835 | + this.redirect = redirect.href;
|
|
| 836 | + }
|
|
| 837 | + } catch (e) {
|
|
| 838 | + console.error(e, `Invalid redirect URL "${params.get("redirect")}"!`);
|
|
| 839 | + }
|
|
| 834 | 840 | }
|
| 835 | 841 | |
| 836 | 842 | let args = await RPMSendQuery("torconnect:get-init-args");
|