tor-browser

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

test_cookie_blacklist.js (1286B)


      1 "use strict";
      2 
      3 const GOOD_COOKIE = "GoodCookie=OMNOMNOM";
      4 const SPACEY_COOKIE = "Spacey Cookie=Major Tom";
      5 
      6 add_task(async () => {
      7  Services.prefs.setBoolPref(
      8    "network.cookieJarSettings.unblocked_for_testing",
      9    true
     10  );
     11  Services.prefs.setBoolPref("dom.security.https_first", false);
     12 
     13  var cookieURI = Services.io.newURI(
     14    "http://mozilla.org/test_cookie_blacklist.js"
     15  );
     16  const channel = NetUtil.newChannel({
     17    uri: cookieURI,
     18    loadUsingSystemPrincipal: true,
     19    contentPolicyType: Ci.nsIContentPolicy.TYPE_DOCUMENT,
     20  });
     21 
     22  Services.cookies.setCookieStringFromHttp(
     23    cookieURI,
     24    "BadCookie1=\x01",
     25    channel
     26  );
     27  Services.cookies.setCookieStringFromHttp(cookieURI, "BadCookie2=\v", channel);
     28  Services.cookies.setCookieStringFromHttp(
     29    cookieURI,
     30    "Bad\x07Name=illegal",
     31    channel
     32  );
     33  Services.cookies.setCookieStringFromHttp(cookieURI, GOOD_COOKIE, channel);
     34  Services.cookies.setCookieStringFromHttp(cookieURI, SPACEY_COOKIE, channel);
     35 
     36  CookieXPCShellUtils.createServer({ hosts: ["mozilla.org"] });
     37 
     38  const storedCookie = await CookieXPCShellUtils.getCookieStringFromDocument(
     39    cookieURI.spec
     40  );
     41  Assert.equal(storedCookie, GOOD_COOKIE + "; " + SPACEY_COOKIE);
     42  Services.prefs.clearUserPref("dom.security.https_first");
     43 });