From 34650e9ab0fdb41db19b3b8ff2e98971488cfc40 Mon Sep 17 00:00:00 2001 From: Marcin Rataj Date: Tue, 10 Oct 2017 22:14:44 +0200 Subject: [PATCH 1/2] fix: exclude ':' from the end of linkified text --- add-on/manifest.json | 2 +- add-on/src/lib/linkifyDOM.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/add-on/manifest.json b/add-on/manifest.json index 4011a8095..dbdf3af43 100644 --- a/add-on/manifest.json +++ b/add-on/manifest.json @@ -2,7 +2,7 @@ "manifest_version": 2, "name": "IPFS Companion", "short_name": "IPFS Companion", - "version" : "2.0.12", + "version" : "2.0.13", "description": "Browser extension that simplifies access to IPFS resources", "homepage_url": "https://github.com/ipfs/ipfs-companion", diff --git a/add-on/src/lib/linkifyDOM.js b/add-on/src/lib/linkifyDOM.js index 350f4a33e..55c4e60ea 100644 --- a/add-on/src/lib/linkifyDOM.js +++ b/add-on/src/lib/linkifyDOM.js @@ -24,7 +24,7 @@ window.ipfsCompanionLinkifiedDOM = true window.ipfsCompanionLinkifyValidationCache = new Map() - const urlRE = /(?:\s+|^)(\/ip(?:f|n)s\/|dweb:\/ip(?:f|n)s\/|ipns:\/\/|ipfs:\/\/)([^\s+"<>]+)/g + const urlRE = /(?:\s+|^)(\/ip(?:f|n)s\/|dweb:\/ip(?:f|n)s\/|ipns:\/\/|ipfs:\/\/)([^\s+"<>:]+)/g // Chrome compatibility // var browser = browser || chrome From da4004efbb76e3fe6cdf399b6d4f6995fc4b5f6a Mon Sep 17 00:00:00 2001 From: Marcin Rataj Date: Tue, 10 Oct 2017 22:27:51 +0200 Subject: [PATCH 2/2] fix(dnslink): skip URLs that could produce infinite recursion More details: https://github.com/ipfs/ipfs-companion/issues/286#issuecomment-335553288 --- add-on/src/lib/common.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/add-on/src/lib/common.js b/add-on/src/lib/common.js index df0afa95b..375615f0d 100644 --- a/add-on/src/lib/common.js +++ b/add-on/src/lib/common.js @@ -224,8 +224,10 @@ function isDnslookupPossible () { } function isDnslookupSafeForURL (requestUrl) { + // skip URLs that could produce infinite recursion or weird loops return isDnslookupPossible() && requestUrl.startsWith('http') && + !window.IsIpfs.url(requestUrl) && !requestUrl.startsWith(state.apiURLString) && !requestUrl.startsWith(state.gwURLString) }