tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

test_trr_httpssvc_wrap.js (1670B)


      1 "use strict";
      2 
      3 const { NodeHTTPSServer } = ChromeUtils.importESModule(
      4  "resource://testing-common/NodeServer.sys.mjs"
      5 );
      6 
      7 add_setup(async function setup() {
      8  // Set to allow the cert presented by our H2 server
      9  do_get_profile();
     10 
     11  trr_test_setup();
     12 
     13  Services.prefs.setBoolPref("network.security.esni.enabled", false);
     14 
     15  // The child will set up the TRR server, but it's not allowed
     16  // to install the cert, so we do it from here.
     17  await NodeHTTPSServer.installCert("http2-ca.pem");
     18 
     19  registerCleanupFunction(async () => {
     20    trr_clear_prefs();
     21    Services.prefs.clearUserPref("network.security.esni.enabled");
     22  });
     23 });
     24 
     25 add_task(function run_test() {
     26  let ipcListener = {
     27    receiveMessage(message) {
     28      if (message.name == "set-trr-uri") {
     29        Services.prefs.setCharPref("network.trr.uri", message.data);
     30        Services.prefs.setIntPref("network.trr.mode", 3);
     31      } else if (message.name == "clearCache") {
     32        Services.dns.clearCache(true);
     33      }
     34      do_send_remote_message(`${message.name}-done`);
     35    },
     36  };
     37 
     38  let mm = Cc["@mozilla.org/parentprocessmessagemanager;1"].getService();
     39  mm.addMessageListener("set-trr-uri", ipcListener);
     40  mm.addMessageListener("clearCache", ipcListener);
     41 
     42  do_await_remote_message("set-port-prefixed-pref").then(() => {
     43    Services.prefs.setBoolPref(
     44      "network.dns.port_prefixed_qname_https_rr",
     45      true
     46    );
     47    do_send_remote_message("set-port-prefixed-pref-done");
     48  });
     49 
     50  run_test_in_child("../unit/test_trr_httpssvc.js", () => {
     51    mm.removeMessageListener("set-trr-uri", ipcListener);
     52    mm.removeMessageListener("clearCache", ipcListener);
     53    do_test_finished();
     54  });
     55 });