tor-browser

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

test_cookie_ipv6.js (1516B)


      1 /* This Source Code Form is subject to the terms of the Mozilla Public
      2 * License, v. 2.0. If a copy of the MPL was not distributed with this
      3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      4 
      5 /*
      6 *  Test that channels with different LoadInfo
      7 *  are stored in separate namespaces ("cookie jars")
      8 */
      9 
     10 "use strict";
     11 
     12 let ip = "[::1]";
     13 ChromeUtils.defineLazyGetter(this, "URL", function () {
     14  return `http://${ip}:${httpserver.identity.primaryPort}/`;
     15 });
     16 
     17 const { HttpServer } = ChromeUtils.importESModule(
     18  "resource://testing-common/httpd.sys.mjs"
     19 );
     20 
     21 let httpserver = new HttpServer();
     22 
     23 function cookieSetHandler(metadata, response) {
     24  response.setStatusLine(metadata.httpVersion, 200, "Ok");
     25  response.setHeader(
     26    "Set-Cookie",
     27    `Set-Cookie: T1=T2; path=/; SameSite=Lax; domain=${ip}; httponly`,
     28    false
     29  );
     30  response.setHeader("Content-Type", "text/html");
     31  response.setHeader("Content-Length", "2");
     32  response.bodyOutputStream.write("Ok", "Ok".length);
     33 }
     34 
     35 add_task(async function test_cookie_ipv6() {
     36  Services.prefs.setIntPref("network.cookie.cookieBehavior", 0);
     37  Services.prefs.setBoolPref(
     38    "network.cookieJarSettings.unblocked_for_testing",
     39    true
     40  );
     41 
     42  httpserver.registerPathHandler("/", cookieSetHandler);
     43  httpserver._start(-1, ip);
     44 
     45  var chan = NetUtil.newChannel({
     46    uri: URL,
     47    loadUsingSystemPrincipal: true,
     48  });
     49  await new Promise(resolve => {
     50    chan.asyncOpen(new ChannelListener(resolve));
     51  });
     52  equal(Services.cookies.cookies.length, 1);
     53 });