Skip to content
Snippets Groups Projects
Commit d3a75053 authored by Alex Catarineu's avatar Alex Catarineu
Browse files

Bug 33845: Rebase namecoin torbutton patch

parent 5a2948b7
No related branches found
No related tags found
No related merge requests found
diff --git a/chrome/content/tor-circuit-display.js b/chrome/content/tor-circuit-display.js
index 5ecbe7d..f771150 100644
index 119f6fca..477b0302 100644
--- a/chrome/content/tor-circuit-display.js
+++ b/chrome/content/tor-circuit-display.js
@@ -49,7 +49,11 @@ let credentialsToNodeDataMap = new Map(),
@@ -48,7 +48,11 @@ let credentialsToNodeDataMap = new Map(),
knownCircuitIDs = new Map(),
// A mutable map that records the SOCKS credentials for the
// latest channels for each browser + domain.
......@@ -15,7 +15,7 @@ index 5ecbe7d..f771150 100644
// __trimQuotes(s)__.
// Removes quotation marks around a quoted string.
@@ -126,6 +130,28 @@ let getCircuitStatusByID = async function (aController, circuitID) {
@@ -132,6 +136,28 @@ let getCircuitStatusByID = async function (aController, circuitID) {
return null;
};
......@@ -44,7 +44,7 @@ index 5ecbe7d..f771150 100644
// __collectIsolationData(aController, updateUI)__.
// Watches for STREAM SENTCONNECT events. When a SENTCONNECT event occurs, then
// we assume isolation settings (SOCKS username+password) are now fixed for the
@@ -139,6 +165,15 @@ let collectIsolationData = function (aController, updateUI) {
@@ -145,6 +171,15 @@ let collectIsolationData = function (aController, updateUI) {
"STREAM",
streamEvent => streamEvent.StreamStatus === "SENTCONNECT",
async (streamEvent) => {
......@@ -52,7 +52,7 @@ index 5ecbe7d..f771150 100644
+ // Collect any stream target that might be an onion.
+ if (streamEvent && streamEvent.StreamID && streamEvent.Target) {
+ let targetDomain = streamEvent.Target.split(":")[0];
+ if (targetDomain.endsWith(".onion")) {
+ if (targetDomain.endsWith(".onion")) {
+ bitToOnionMap[bitTargets[streamEvent.StreamID]] = targetDomain;
+ logger.eclog(3, "mapped " + bitTargets[streamEvent.StreamID] + " to " + targetDomain);
+ }
......@@ -60,10 +60,10 @@ index 5ecbe7d..f771150 100644
if (!knownCircuitIDs.get(streamEvent.CircuitID)) {
logger.eclog(3, "streamEvent.CircuitID: " + streamEvent.CircuitID);
knownCircuitIDs.set(streamEvent.CircuitID, true);
@@ -306,12 +341,14 @@ let updateCircuitDisplay = function () {
(i === 0 && nodeData[0].type !== "bridge") ?
["span", { class: "circuit-guard-info" }, uiString("guard")] : null);
@@ -312,7 +347,9 @@ let updateCircuitDisplay = function () {
}
let domainParts = [];
- if (domain.endsWith(".onion")) {
+ logger.eclog(3, "bit to onion map:" + JSON.stringify(bitToOnionMap) + ", domain: " + domain);
+ let mappedOnion = bitToOnionMap[domain];
......@@ -71,13 +71,54 @@ index 5ecbe7d..f771150 100644
for (let i = 0; i < 3; ++i) {
li(uiString("relay"));
}
@@ -325,24 +362,28 @@ let updateCircuitDisplay = function () {
domainParts.push(domain);
}
- li(domain);
+ li(domain, " ", mappedOnion ? ["span", { class: "circuit-ip-address" }, mappedOnion] : null);
- // We use a XUL html:span element so that the tooltiptext is displayed.
- li([
- "html:span",
- {
- class: "circuit-onion",
- onclick: `
- this.classList.add("circuit-onion-copied");
- Cc[
- "@mozilla.org/widget/clipboardhelper;1"
- ].getService(Ci.nsIClipboardHelper).copyString(this.getAttribute("data-onion"))
- `,
- "data-onion": domain,
- "data-text-clicktocopy": torbutton_get_property_string("torbutton.circuit_display.click_to_copy"),
- "data-text-copied": torbutton_get_property_string("torbutton.circuit_display.copied"),
- tooltiptext: domain,
- },
- ...domainParts,
- ]);
+ if (mappedOnion) {
+ li(domain, " ", ["span", { class: "circuit-ip-address" }, mappedOnion]);
+ } else {
+ // We use a XUL html:span element so that the tooltiptext is displayed.
+ li([
+ "html:span",
+ {
+ class: "circuit-onion",
+ onclick: `
+ this.classList.add("circuit-onion-copied");
+ Cc[
+ "@mozilla.org/widget/clipboardhelper;1"
+ ].getService(Ci.nsIClipboardHelper).copyString(this.getAttribute("data-onion"))
+ `,
+ "data-onion": domain,
+ "data-text-clicktocopy": torbutton_get_property_string("torbutton.circuit_display.click_to_copy"),
+ "data-text-copied": torbutton_get_property_string("torbutton.circuit_display.copied"),
+ tooltiptext: domain,
+ },
+ ...domainParts,
+ ]);
+ }
// Hide the note about guards if we are using a bridge.
document.getElementById("circuit-guard-note-container").style.display =
(nodeData[0].type === "bridge") ? "none" : "block";
@@ -418,6 +455,7 @@ let setupDisplay = function (ipcFile, host, port, password, enablePrefName) {
@@ -450,6 +491,7 @@ let setupDisplay = function (enablePrefName) {
stopCollectingIsolationData = null,
stopCollectingBrowserCredentials = null,
stopEnsuringCorrectPopupDimensions = null,
......@@ -85,17 +126,17 @@ index 5ecbe7d..f771150 100644
stop = function() {
syncDisplayWithSelectedTab(false);
if (myController) {
@@ -430,6 +468,9 @@ let setupDisplay = function (ipcFile, host, port, password, enablePrefName) {
@@ -462,6 +504,9 @@ let setupDisplay = function (enablePrefName) {
if (stopEnsuringCorrectPopupDimensions) {
stopEnsuringCorrectPopupDimensions();
}
+ if (stopCollectingBitTargets) {
+ stopCollectingBitTargets();
+ }
+ if (stopCollectingBitTargets) {
+ stopCollectingBitTargets();
+ }
myController = null;
}
},
@@ -444,6 +485,7 @@ let setupDisplay = function (ipcFile, host, port, password, enablePrefName) {
@@ -475,6 +520,7 @@ let setupDisplay = function (enablePrefName) {
stop();
});
syncDisplayWithSelectedTab(true);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment