summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authoragl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-07 18:42:30 +0000
committeragl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-09-07 18:42:30 +0000
commitac59335587a2ffcac557d6c840a7595abb109914 (patch)
tree486bf6249324248421972208db60204e1d60054d /net
parent0e3ffa253cb1e424430669b76b30223e810c9a86 (diff)
downloadchromium_src-ac59335587a2ffcac557d6c840a7595abb109914.zip
chromium_src-ac59335587a2ffcac557d6c840a7595abb109914.tar.gz
chromium_src-ac59335587a2ffcac557d6c840a7595abb109914.tar.bz2
Revert "net: add prober results to False Start blacklist."
Broke ARM build. Need to figure out how to make gyp build the helper binary for the host target, not the build target. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58726 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net')
-rw-r--r--net/base/ssl_config_service.cc31
-rw-r--r--net/base/ssl_false_start_blacklist.cc34
-rw-r--r--net/base/ssl_false_start_blacklist.h98
-rw-r--r--net/base/ssl_false_start_blacklist.txt671
-rw-r--r--net/base/ssl_false_start_blacklist_process.cc267
-rw-r--r--net/base/ssl_false_start_blacklist_unittest.cc28
-rw-r--r--net/net.gyp32
7 files changed, 29 insertions, 1132 deletions
diff --git a/net/base/ssl_config_service.cc b/net/base/ssl_config_service.cc
index 753f1c7..c310cd2 100644
--- a/net/base/ssl_config_service.cc
+++ b/net/base/ssl_config_service.cc
@@ -3,7 +3,6 @@
// found in the LICENSE file.
#include "net/base/ssl_config_service.h"
-#include "net/base/ssl_false_start_blacklist.h"
#if defined(OS_WIN)
#include "net/base/ssl_config_service_win.h"
@@ -59,7 +58,35 @@ bool SSLConfigService::IsKnownStrictTLSServer(const std::string& hostname) {
// static
bool SSLConfigService::IsKnownFalseStartIncompatibleServer(
const std::string& hostname) {
- return SSLFalseStartBlacklist::IsMember(hostname.c_str());
+ // If this list starts growing, it'll need to be something more efficient
+ // than a linear list.
+ static const char kFalseStartIncompatibleServers[][15] = {
+ "www.picnik.com",
+ };
+
+ static const char kFalseStartIncompatibleDomains[][11] = {
+ // Added at the request of A10.
+ "yodlee.com",
+ };
+
+ // Note that the hostname is normalised to lower-case by this point.
+ for (size_t i = 0; i < arraysize(kFalseStartIncompatibleServers); i++) {
+ if (strcmp(hostname.c_str(), kFalseStartIncompatibleServers[i]) == 0)
+ return true;
+ }
+
+ for (size_t i = 0; i < arraysize(kFalseStartIncompatibleDomains); i++) {
+ const char* domain = kFalseStartIncompatibleDomains[i];
+ const size_t len = strlen(domain);
+ if (hostname.size() >= len &&
+ memcmp(&hostname[hostname.size() - len], domain, len) == 0 &&
+ (hostname.size() == len ||
+ hostname[hostname.size() - len - 1] == '.')) {
+ return true;
+ }
+ }
+
+ return false;
}
static bool g_dnssec_enabled = false;
diff --git a/net/base/ssl_false_start_blacklist.cc b/net/base/ssl_false_start_blacklist.cc
deleted file mode 100644
index 9e0f309..0000000
--- a/net/base/ssl_false_start_blacklist.cc
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "net/base/ssl_false_start_blacklist.h"
-
-namespace net {
-
-// static
-bool SSLFalseStartBlacklist::IsMember(const char* host) {
- const char* last_two_labels = LastTwoLabels(host);
- if (!last_two_labels)
- return false;
- const unsigned bucket = Hash(last_two_labels) & (kBuckets - 1);
- const uint16 start = kHashTable[bucket];
- const uint16 end = kHashTable[bucket + 1];
- const size_t len = strlen(host);
-
- for (size_t i = start; i < end;) {
- const size_t blacklist_entry_len = static_cast<uint8>(kHashData[i]);
- if (len >= blacklist_entry_len &&
- memcmp(&host[len - blacklist_entry_len], &kHashData[i + 1],
- blacklist_entry_len) == 0 &&
- (len == blacklist_entry_len ||
- host[len - blacklist_entry_len - 1] == '.')) {
- return true;
- }
- i += blacklist_entry_len + 1;
- }
-
- return false;
-}
-
-} // namespace net
diff --git a/net/base/ssl_false_start_blacklist.h b/net/base/ssl_false_start_blacklist.h
deleted file mode 100644
index 1d44d0a..0000000
--- a/net/base/ssl_false_start_blacklist.h
+++ /dev/null
@@ -1,98 +0,0 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef NET_BASE_SSL_FALSE_START_BLACKLIST_H_
-#define NET_BASE_SSL_FALSE_START_BLACKLIST_H_
-
-#include "base/basictypes.h"
-
-namespace net {
-
-// SSLFalseStartBlacklist is a set of domains which we believe to be intolerant
-// to TLS False Start. Because this set is several hundred long, it's
-// precompiled by the code in ssl_false_start_blacklist_process.cc into a hash
-// table for fast lookups.
-class SSLFalseStartBlacklist {
- public:
- // IsMember returns true if the given host is in the blacklist.
- // host: a DNS name in dotted form (i.e. "www.example.com")
- static bool IsMember(const char* host);
-
- // Hash returns the modified djb2 hash of the given string.
- static unsigned Hash(const char* str) {
- // This is inline because the code which generates the hash table needs to
- // use it. However, the generating code cannot link against
- // ssl_false_start_blacklist.cc because that needs the tables which it
- // generates.
- const unsigned char* in = reinterpret_cast<const unsigned char*>(str);
- unsigned hash = 5381;
- unsigned char c;
-
- while ((c = *in++))
- hash = ((hash << 5) + hash) ^ c;
- return hash;
- }
-
- // LastTwoLabels returns a pointer within |host| to the last two labels of
- // |host|. For example, if |host| is "a.b.c.d" then LastTwoLabels will return
- // "c.d".
- // host: a DNS name in dotted form.
- // returns: NULL on error, otherwise a pointer inside |host|.
- static const char* LastTwoLabels(const char* host) {
- // See comment in |Hash| for why this function is inline.
- const size_t len = strlen(host);
- if (len == 0)
- return NULL;
-
- unsigned dots_found = 0;
- size_t i;
- for (i = len - 1; i < len; i--) {
- if (host[i] == '.') {
- dots_found++;
- if (dots_found == 2) {
- i++;
- break;
- }
- }
- }
-
- if (i > len)
- i = 0;
-
- if (dots_found == 0)
- return NULL; // no names with less than two labels are in the blacklist.
- if (dots_found == 1) {
- if (host[0] == '.')
- return NULL; // ditto
- }
-
- return &host[i];
- }
-
- // This is the number of buckets in the blacklist hash table. (Must be a
- // power of two).
- static const unsigned kBuckets = 128;
-
- private:
- // The following two members are defined in
- // ssl_false_start_blacklist_data.cc, which is generated by
- // ssl_false_start_blacklist_process.cc
-
- // kHashTable contains an offset into |kHashData| for each bucket. The
- // additional element at the end contains the length of |kHashData|.
- static const uint16 kHashTable[kBuckets + 1];
- // kHashData contains the contents of the hash table. |kHashTable| indexes
- // into this array. Each bucket consists of zero or more, 8-bit length
- // prefixed strings. Each string is a DNS name in dotted form. For a given
- // string x, x and *.x are considered to be in the blacklist. In order to
- // assign a string to a hash bucket, the last two labels (not including the
- // root label) are hashed. Thus, the bucket for "www.example.com" is
- // Hash("example.com"). No names that are less than two labels long are
- // included in the blacklist.
- static const char kHashData[];
-};
-
-} // namespace net
-
-#endif // NET_BASE_SSL_FALSE_START_BLACKLIST_H_
diff --git a/net/base/ssl_false_start_blacklist.txt b/net/base/ssl_false_start_blacklist.txt
deleted file mode 100644
index 9b97c57..0000000
--- a/net/base/ssl_false_start_blacklist.txt
+++ /dev/null
@@ -1,671 +0,0 @@
-# Copyright (c) 2010 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-# This is the list of hosts for which we will not perform False Start. It was
-# gathered from probing and bug reports.
-
-# This is included for unit tests:
-example.com
-
-123.cht.com.tw
-4science.net
-abangdani.wordpress.com
-access.arkansas.gov
-accessgeneral.com
-accessingram.com
-accorservicesdirect.net
-adfox.cz
-ads.bridgetrack.com
-adult.dl.rakuten.co.jp
-adulthire.com
-advanceautoparts.com
-agents.nationalsecuritygroup.com
-alamode.com
-algoritam.hr
-alsformalwear.com
-alucmo.com
-amail.centrum.cz
-amexweb.com.mx
-amsi.alliedgroup.net
-amwaylive.com
-anntaylor.recruitmax.com
-apps.revenuecycle.com
-aps2.toshiba-tro.de
-apus.edu
-aribabuyer.us.dell.com
-ariston.es
-asb.dk
-ashgate.com
-ashleymadison.com
-asp.fm-pc.com
-atari.com
-ats.openhire.com
-attask-ondemand.com
-attask.com
-axa.co.uk
-banking.ing-diba.at
-baptisthealth.net
-barkoff.tv
-barracudaserver.com
-barronscatalog.com
-bb3.utc.edu
-bcbsfl.recruitmax.com
-bentley.edu
-biddingforgood.com
-biffalo.net
-bilder.buecher.de
-bishops.org.za
-bitfang.com
-blogger.huffingtonpost.com
-brinksinc.com
-buecher.de
-buildings.com
-bux.ee
-buyshakeweightformen.com
-cagreatamerica.com
-candydirect.com
-cardsdirect.com
-caringbridge.org
-cash.netmarble.net
-ccmail.cc.gatech.edu
-celebrateyourfaith.com
-centralr.com
-certs.zurich.co.uk
-champions-online.com
-chnla.com
-chw.recruitmax.com
-ciaoitalia.com
-cinema.warnermycal.com
-circlesofwisdom.com
-cisr-ssl-vpn2.univ-lyon1.fr
-citi.bridgetrack.com
-citizensfla.com
-claritycon.com
-classbauth.austin.hp.com
-cofunds.co.uk
-combattesting.com
-compaxtrade.com
-confirmit.suw.corp.google.com
-coopervisionrebates.com
-corporate.bpn.pt
-correo.uft.cl
-credinamico.programapar.com.br
-creditcards.citicards.com
-cts.vresp.com
-cubizone.com
-customer.precash.com
-cvintranet.classifiedventures.com
-d49.org
-depo.ru
-destinationlighting.com
-djmmusic.com
-dl.rakuten.co.jp
-dmgov.org
-docstoc.com
-docuware.com
-dokeos.ehb.be
-drammen.skole.d-ikt.no
-drsha.com
-dskdirect.bg
-dwarest.disc.co.jp
-easybillindia.in
-easyswitch.nl
-ebb.ubb.bg
-ebit.com.br
-echo.com
-echotrak.com
-econda-monitor.de
-edaccents.com
-edumail.tokem.fi
-eduportal.pl
-elm.mcmaster.ca
-elmls.mcmaster.ca
-email.manutouch.com.hk
-email.wsd1.org
-email.yorksj.ac.uk
-employee.translink.bc.ca
-ent.enteduc.fr
-enterprise.channeladvisor.com
-epk.tv
-epoti.abanka.si
-equippers.com
-eumail.nov.com
-eurobank.pl
-exchange.chc.be
-exchange.hostnet.nl
-exchange.selco.info
-external1.collaboration.hp.com
-extra.chrysler.de
-extranet.cchmc.org
-faxbetter.com
-fdc.org.br
-financialengines.com
-firstam.net
-flydenver.com
-forums.champions-online.com
-forums.startrekonline.com
-fucam.ac.be
-fullseat.com
-futuretrails.com
-ganymede.chester.ac.uk
-gateway.madisoncity.k12.al.us
-genuineonlinebank.com
-getslimtsnow.com
-global2.mtsallstream.com
-go.enbw.net
-goamp.com
-gomopa.net
-goredsea.com
-gotobelfast.com
-greenpower24.com
-gw2.fli.bund.de
-haken.mynavi.jp
-hangikredi.com
-hastingsdirect.com
-hearablog.com
-heavens-above.com
-helpdesk.clear2pay.com
-helwanbb.com
-hercle.com
-hivanet.hitachi-ies.co.jp
-hoken-clinic.info
-homedepotrebates.com
-honeybakedonline.com
-hood.com
-hostedjobs.openhire.com
-howtowritearesume.net
-humana.recruitmax.com
-hurmail01.hurriyet.com.tr
-hydra.cusys.edu
-hz.nl
-il.systemb2b.com
-il2l.com
-indraweb.indra.es
-ineways.com
-info.enet-japan.com
-infonet.hz.nl
-inside.nhl.com
-insight.smartdm.com
-integrishealth.recruitmax.com
-interiorsandsources.com
-internal.imaginets.com
-intra.billing.ru
-intranet.peckham.org
-intranet.ucol.ac.nz
-inverhills.edu
-iol.pt
-iqsystem.irrc.co.jp
-ito.org.tr
-itrade.fhtrust.com.tw
-iweb.thebankersbank.com
-j-union.com
-jasaga.or.jp
-jnet.agsys.sompo-japan.co.jp
-job.disc.co.jp
-job.nikkei.co.jp
-jobmgr.disc.co.jp
-kahosl.be
-keas.com
-kimberlyclark.myvurv.com
-king-invest.net
-kingsdominion.com
-kingsroadmerch.com
-kwiktrip.com
-leerlingmail.niftarlake.nl
-legalconnection.com
-lightstone.co.za
-login-pos.eurobank.pl
-login-raty.eurobank.pl
-lxr.com
-maartenluther.calvijn.nl
-magelo.com
-magtek.com
-mail.centrum.cz
-mail.extranet.hp.com
-mail.gtri.gatech.edu
-mail.gunnebo.com
-mail.hoover.k12.al.us
-mail.hzeeland.nl
-mail.idera.com
-mail.ilsole24ore.com
-mail.jetblue.com
-mail.officebroker.com
-mail.oma.nl
-mail.rawlinscollege.org.uk
-mail.rcsdk12.org
-mail.silmu.fi
-mail.sinclair.edu
-mail.skmc.gov.ae
-mail.the-ascott.com
-mail.tox-us.com
-mail.ugs.com
-mail.uottawa.ca
-mail.yvc.ac.il
-mail2.law.stetson.edu
-mail2.skanetrafiken.se
-mailhub1.cpsb.org
-mailhub2.cpsb.org
-marshallsonline.com
-massport.com
-mediabistro.com
-member.yong-online.com.tw
-merchantonlineapp.com
-merrickbank.com
-metalinq.com
-miele.co.uk
-miller.co.jp
-mishlohim.co.il
-mizunoshop.net
-mochibot.com
-mochigames.com
-mochimedia.com
-moss.esher.ac.uk
-msexchange.lyon.edu
-msishopper.net
-mtsexchange.mtsn.org.uk
-mudy.info
-my.bentley.edu
-my.berkeleycollege.edu
-my.dover.edu
-my.ecwid.com
-my.wcupa.edu
-mycls.cls.ch
-myoffice.eu.goodyear.com
-myoffice.na.goodyear.com
-myparceldelivery.com
-na.ntrsupport.com
-naramail.nara.gov
-neospeech.com
-nettkontoret.kredinor.no
-neways.com
-newaysonline.com
-newvistalive.com
-nochex.com
-noridian.totalonboarding.com
-noticiastelemicro.com
-nr.edu
-nuwaveoven.com
-online.eurobank.pl
-onyxinv.com
-orix-sumai.jp
-osvinc.com
-otpbank.hu
-owa.dist113.org
-owa.kajak.fi
-owa.kan.se
-owa.nordakademie.de
-owa.tecnicasreunidas.es
-owa2k3.bhw.de
-parfumdreams.de
-partner.buzzcity.com
-partners.conocophillipsalaska.com
-pastel.co.za
-perfectmoney.com
-picnik.com
-pimkie.de
-pimkie.es
-pimkie.fr
-pimkie.it
-pineconeresearch.com
-planet-tachyon.com
-playneverwinter.com
-pocket.matsui.co.jp
-pokervt.com
-poolzconnect.singaporepools.com.sg
-popularglasses.com
-portaal.nh1816.nl
-portail.mont-notre-dame.qc.ca
-portal.eduweb.vic.gov.au
-portal.eiffel.nl
-portal.hello.ch
-portal.klz.org.uk
-portal.langara.bc.ca
-portal.mariestad.se
-portal.peckham.org
-portal.perse.co.uk
-portal.tku.ac.jp
-post.norwegian.no
-posta.dsi.gov.tr
-powerschool.ccsdut.net
-powerschool.lawrence.k12.ma.us
-profil.centrum.cz
-projectinsight.cbre.com
-providers.tufts-health.com
-ps.dvusd.org
-ps.glenbard.org
-ps.liberty.k12.mo.us
-psyquel.com
-pushentertainment.com
-q8car.com
-qisweb2-verw.uni-hohenheim.de
-quotien.onlinebank.com
-rainforest-alliance.org
-rakuraku-market.com
-rbc.bridgetrack.com
-rc.kotoha.co.jp
-remote.cushingco.com
-reprofinance.com
-restaurantwedding.jp
-rio.edu
-rlcdn.com
-rmg.i-grasp.com
-rosevalleyindia.com
-rotaban.ru
-rozodoniy.com
-rpv.fbn.ca
-rr.com
-run.auone.jp
-runnet.jp
-s-yoyaku.city.sagamihara.kanagawa.jp
-s-yoyaku.city.urayasu.chiba.jp
-safelinkwireless.com
-sail.iwcc.edu
-samba.huji.ac.il
-samsami2u.wordpress.com
-samstores.com
-sap.kenexa.com
-saratogaschools.org
-scottsliquidgold.com
-search.boox.jp
-search.petfinder.com
-secure.cambrianc.on.ca
-secure.court.gov.il
-secure.discountadvances.com
-secure.earthclassmail.com
-secure.merchantcart.net
-secure.mycashnow.com
-secure.nochex.com
-secure.paydaymax.com
-secure.www.denverpost.com
-secure.www.mercurynews.com
-secure.www.twincities.com
-secure.zeelandnet.nl
-secure.zoominfo.com
-secureaccess.cacu.com
-securedlogons.humanadental.com
-seha.ae
-selfcare.rr.com
-services.bag-mail.de
-shakeweight.com
-shiki.gr.jp
-showcase-tv.com
-shsremote.solarishs.org
-sierranevada.com
-sis.ggusd.us
-sisense.com
-smart.otpbanka.hr
-sobexinvest.com
-socketstore.co.uk
-soundvision.com
-spalding.edu
-sprintrebates.com
-squareup.com
-ss3.e-state.co.jp
-ssl.arcsoft.com
-sslvpn.broadcom.com
-sslvpn.savannah.chatham.k12.ga.us
-staffmail.brighton.ac.uk
-staffportal.bne.catholic.edu.au
-stapleseasyrebates.com
-startnextweek.com.au
-startrekonline.com
-ste-exch1.nhc.ac.uk
-stores.channeladvisor.com
-strideeveryday.com
-studentdata.warwick.ac.uk
-studynet.dem.hva.nl
-subjectivemetrics.com
-survey5.spss-asp.com
-surveys.itsyourview.com
-suvana.com
-svelvik.skole.d-ikt.no
-syllabus.doshisha.ac.jp
-sys.ins-uni.co.jp
-taocan777.com
-teetimesusa.com
-terrabanking.romexterra.ro
-testdriveunlimited2.com
-tgn.co.jp
-tgw.com
-thecinema.in
-thediamondstore.co.uk
-thor.movistar.com.co
-thymes.com
-tlfw01.fhsg.ch
-tools.med.nyu.edu
-topfox.co.uk
-totalcore.com
-tracs.txstate.edu
-trialpay.com
-tryshakeweight.com
-trytotalpillow.com
-tvspy.com
-tw.event.gamania.com
-ucol.ac.nz
-ukblelite01.emea.aza-lite.com
-ukblelite02.emea.aza-lite.com
-uni-hohenheim.de
-user.centrum.cz
-usuwazavpn04.americas.aza-lite.com
-vcsportal.viasyscs.com
-vle.guilsborough.northants.sch.uk
-voogd.com
-vpn-01.houstonisd.org
-vpn-03.houstonisd.org
-vpn-04.houstonisd.org
-vpn.tarumanagara.com
-vr.is
-vtrade.vincomsc.com.vn
-warranty.akeryards.as
-web-opas.osakaya.co.jp
-webaccess.7p-group.com
-webaccess.pvhs.org
-webbt.banque-tahiti.pf
-webforensics.co.uk
-webmail.asb.dk
-webmail.austmus.gov.au
-webmail.bne.catholic.edu.au
-webmail.bose.com
-webmail.choa.org
-webmail.csaa.com
-webmail.firstam.net
-webmail.hrblock.com
-webmail.ingbank.com.tr
-webmail.kapsch.net
-webmail.levinglobal.com
-webmail.lolland.dk
-webmail.mopera.net
-webmail.mt.gov
-webmail.newlook.net
-webmail.ordina.nl
-webmail.peelpolice.ca
-webmail.springer-sbm.com
-webmail.srhs.com
-webmail.toho-u.ac.jp
-webmail.transat.com
-webmail.tribune.com
-webmail.tuev-nord.de
-webmail.valamar.com
-webmail.waterman-group.co.uk
-webmail.wcupa.edu
-webmaildata.rr.com
-webshop.weijntjes.nl
-webvpn.au.aecom.com
-webvpn.ben.edu
-webvpn.eu.aecom.com
-webvpn.usaa.com
-webvpn.usps.gov
-welltrix.com
-werecoverdata.com
-wettstar.de
-workhere.jetblue.com
-wowbeez.com
-ws.licenzji-vetturi.gov.mt
-wtc.lxr.com
-www.accessgeneral.com
-www.accessingram.com
-www.adfox.cz
-www.agromercantil.com.gt
-www.algoritam.hr
-www.amu.apus.edu
-www.amwaylive.com
-www.anoka.k12.mn.us
-www.apus.edu
-www.aramex.net
-www.asb.dk
-www.ashleymadison.com
-www.aussiecupid.com.au
-www.azimut.portail.soquij.qc.ca
-www.benefitsconnect.net
-www.bsnparentnet.nl
-www.buecher.de
-www.cardsdirect.com
-www.caringbridge.org
-www.cashpoint.com
-www.centralr.com
-www.champions-online.com
-www.chineselovelinks.com
-www.citizensfla.com
-www.cmarket.com
-www.coop-kobe.net
-www.costco.com.mx
-www.cubizone.com
-www.cupidmedia.com
-www.dandh.com
-www.djmmusic.com
-www.docstoc.com
-www.docuware.com
-www.dskdirect.bg
-www.dualsaw.com
-www.e-denpo.net
-www.e-zoa.com
-www.easy-share.com
-www.echo.com
-www.echotrak.com
-www.econda-monitor.de
-www.edumail.vic.gov.au
-www.eduweb.vic.gov.au
-www.empresas.bancobcr.com
-www.eurobank.pl
-www.expesite.com
-www.fareastcafe.co.jp
-www.feitest.com
-www.filipinaheart.com
-www.financialengines.com
-www.firstassistinsurance.com
-www.frankfurt-oder.de
-www.fucam.ac.be
-www.goamp.com
-www.golfdo.com
-www.gomopa.net
-www.hangikredi.com
-www.hastingsdirect.com
-www.hastingsessential.com
-www.helwanbb.com
-www.homedepotrebates.com
-www.hongkongcupid.com
-www.ihale.gov.tr
-www.improvementscatalog.com
-www.inetportals.com
-www.internationalcupid.com
-www.inverhills.edu
-www.iol.pt
-www.istyle.com.tw
-www.jerusalem.muni.il
-www.krungsricashlink.com
-www.kultur.gov.tr
-www.m-pesa.com
-www.mallorca.co.uk
-www.marshallsonline.com
-www.meadsd.net
-www.mediabistro.com
-www.merrickbank.com
-www.microline.hr
-www.miller.co.jp
-www.mishlohim.co.il
-www.mochibot.com
-www.mochigames.com
-www.mochimedia.com
-www.mochipass.com
-www.moe.gov.ae
-www.mof.go.jp
-www.montimbrenligne.laposte.fr
-www.mopera.net
-www.mp4all.nl
-www.msishopper.net
-www.mypoint.com
-www.nbch.com.ar
-www.ncatrak.org
-www.neways.com
-www.newaysonline.com
-www.nhk-ep.com
-www.nochex.com
-www.officemd.net
-www.onlineaha.org
-www.otpbank.hu
-www.pagport.jp
-www.pandorashop.nl
-www.picnik.com
-www.promptparts.com
-www.q8car.com
-www.redbullcontentpool.com
-www.regmurcia.com
-www.riksgalden.se
-www.rotaban.ru
-www.rr.com
-www.safelinkwireless.com
-www.samstores.com
-www.sharedoc.com
-www.smarttickets.com.au
-www.smartypig.com
-www.smiles.caisse-epargne.fr
-www.sprintrebates.com
-www.stapleseasyrebates.com
-www.startrekonline.com
-www.store.limewire.com
-www.supplier.nokia.com
-www.thailovelinks.com
-www.thecinema.in
-www.themls.com
-www.tjmaxx.com
-www.tnc.ne.jp
-www.topfox.co.uk
-www.toranoana.jp
-www.trialpay.com
-www.tryabcircle.com
-www.tzamtzam.co.il
-www.ucol.ac.nz
-www.user.zoominfo.com
-www.variety.com
-www.vietnamcupid.com
-www.voogd.com
-www.vpn.cmu.edu
-www.wettstar.de
-www.wiso.uni-hamburg.de
-www.worthington-portal.org
-www.wowbeez.com
-www.y-do.net
-www.yourwirelessrebatecenter.com
-www.zenfolio.com
-www.zenryonetwork.com
-www.zoominfo.com
-www1.cat365.net
-www1.ticket-web-shochiku.com
-www2.fakton.nl
-www2.proexam.org
-www2.secom-techno.co.jp
-www2.ticket-web-shochiku.com
-www6.hsmv.state.fl.us
-wwws.jp-bank.japanpost.jp
-wwy01.shiki.gr.jp
-wynbilling.wyndhamworldwide.com
-wynnmacau.recruitmax.com
-xbox.redeemer.ab.ca
-yodlee.com
-yourwirelessrebatecenter.com
-yoyaku.city.funabashi.chiba.jp
-yoyaku.city.hachioji.tokyo.jp
-zenfolio.com
-zoominfo.com
-zumbafitness.com
diff --git a/net/base/ssl_false_start_blacklist_process.cc b/net/base/ssl_false_start_blacklist_process.cc
deleted file mode 100644
index ed67c8f..0000000
--- a/net/base/ssl_false_start_blacklist_process.cc
+++ /dev/null
@@ -1,267 +0,0 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// This utility program exists to process the False Start blacklist file into
-// a static hash table so that it can be efficiently queried by Chrome.
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include <set>
-#include <string>
-#include <vector>
-
-#include "base/basictypes.h"
-#include "base/logging.h"
-#include "net/base/ssl_false_start_blacklist.h"
-
-using net::SSLFalseStartBlacklist;
-
-static const unsigned kBuckets = SSLFalseStartBlacklist::kBuckets;
-
-static int
-usage(const char* argv0) {
- fprintf(stderr, "Usage: %s <blacklist file> <output .c file>\n", argv0);
- return 1;
-}
-
-// StripWWWPrefix removes "www." from the beginning of any elements of the
-// vector.
-static void StripWWWPrefix(std::vector<std::string>* hosts) {
- static const char kPrefix[] = "www.";
- static const unsigned kPrefixLen = sizeof(kPrefix) - 1;
-
- for (size_t i = 0; i < hosts->size(); i++) {
- const std::string& h = (*hosts)[i];
- if (h.size() >= kPrefixLen &&
- memcmp(h.data(), kPrefix, kPrefixLen) == 0) {
- (*hosts)[i] = h.substr(kPrefixLen, h.size() - kPrefixLen);
- }
- }
-}
-
-// RemoveDuplicateEntries removes all duplicates from |hosts|.
-static void RemoveDuplicateEntries(std::vector<std::string>* hosts) {
- std::set<std::string> hosts_set;
- std::vector<std::string> ret;
-
- for (std::vector<std::string>::const_iterator
- i = hosts->begin(); i != hosts->end(); i++) {
- if (hosts_set.count(*i)) {
- LOG(INFO) << "Removing duplicate entry for " << *i;
- continue;
- }
- hosts_set.insert(*i);
- ret.push_back(*i);
- }
-
- hosts->swap(ret);
-}
-
-// ParentDomain returns the parent domain for a given domain name or the empty
-// string if the name is a top-level domain.
-static std::string ParentDomain(const std::string& in) {
- for (size_t i = 0; i < in.size(); i++) {
- if (in[i] == '.') {
- return in.substr(i + 1, in.size() - i - 1);
- }
- }
-
- return std::string();
-}
-
-// RemoveRedundantEntries removes any entries which are subdomains of other
-// entries. (i.e. foo.example.com would be removed if example.com were also
-// included.)
-static void RemoveRedundantEntries(std::vector<std::string>* hosts) {
- std::set<std::string> hosts_set;
- std::vector<std::string> ret;
-
- for (std::vector<std::string>::const_iterator
- i = hosts->begin(); i != hosts->end(); i++) {
- hosts_set.insert(*i);
- }
-
- for (std::vector<std::string>::const_iterator
- i = hosts->begin(); i != hosts->end(); i++) {
- std::string parent = ParentDomain(*i);
- while (!parent.empty()) {
- if (hosts_set.count(parent))
- break;
- parent = ParentDomain(parent);
- }
- if (parent.empty()) {
- ret.push_back(*i);
- } else {
- LOG(INFO) << "Removing " << *i << " as redundant";
- }
- }
-
- hosts->swap(ret);
-}
-
-// CheckLengths returns true iff every host is less than 256 bytes long (not
-// including the terminating NUL) and contains two or more labels.
-static bool CheckLengths(const std::vector<std::string>& hosts) {
- for (std::vector<std::string>::const_iterator
- i = hosts.begin(); i != hosts.end(); i++) {
- if (i->size() >= 256) {
- LOG(ERROR) << "Entry " << *i << " is too large";
- return false;
- }
- if (SSLFalseStartBlacklist::LastTwoLabels(i->c_str()) == NULL) {
- LOG(ERROR) << "Entry " << *i << " contains to few labels";
- return false;
- }
- }
-
- return true;
-}
-
-int main(int argc, char** argv) {
- if (argc != 3)
- return usage(argv[0]);
-
- const char* input_file = argv[1];
- const char* output_file = argv[2];
- FILE* input = fopen(input_file, "r");
- if (!input) {
- perror("open");
- return usage(argv[0]);
- }
-
- if (fseek(input, 0, SEEK_END)) {
- perror("fseek");
- return 1;
- }
-
- const long input_size = ftell(input);
-
- if (fseek(input, 0, SEEK_SET)) {
- perror("fseek");
- return 1;
- }
-
- char* buffer = static_cast<char*>(malloc(input_size));
- if (fread(buffer, input_size, 1, input) != 1) {
- perror("fread");
- free(buffer);
- fclose(input);
- return 1;
- }
- fclose(input);
-
- std::vector<std::string> hosts;
-
- off_t line_start = 0;
- bool is_comment = false;
- bool non_whitespace_seen = false;
- for (long i = 0; i <= input_size; i++) {
- if (i == input_size || buffer[i] == '\n') {
- if (!is_comment && non_whitespace_seen)
- hosts.push_back(std::string(&buffer[line_start], i - line_start));
- is_comment = false;
- non_whitespace_seen = false;
- line_start = i + 1;
- continue;
- }
-
- if (i == line_start && buffer[i] == '#')
- is_comment = true;
- if (buffer[i] != ' ' && buffer[i] != '\t')
- non_whitespace_seen = true;
- }
- free(buffer);
-
- LOG(INFO) << "Have " << hosts.size() << " hosts after parse";
- StripWWWPrefix(&hosts);
- RemoveDuplicateEntries(&hosts);
- LOG(INFO) << "Have " << hosts.size() << " hosts after removing duplicates";
- RemoveRedundantEntries(&hosts);
- LOG(INFO) << "Have " << hosts.size() << " hosts after removing redundants";
- if (!CheckLengths(hosts)) {
- LOG(ERROR) << "One or more entries is too large or too small";
- return 2;
- }
-
- LOG(INFO) << "Using " << kBuckets << " entry hash table";
- uint16 table[kBuckets];
- std::vector<std::string> buckets[kBuckets];
-
- for (std::vector<std::string>::const_iterator
- i = hosts.begin(); i != hosts.end(); i++) {
- const char* last_two_labels =
- SSLFalseStartBlacklist::LastTwoLabels(i->c_str());
- const unsigned h = SSLFalseStartBlacklist::Hash(last_two_labels);
- buckets[h & (kBuckets - 1)].push_back(*i);
- }
-
- std::string table_data;
- unsigned max_bucket_size = 0;
- for (unsigned i = 0; i < kBuckets; i++) {
- if (table_data.size() > 65535) {
- LOG(ERROR) << "Hash table overflowed a uint16 index";
- return 3;
- }
-
- if (buckets[i].size() > max_bucket_size)
- max_bucket_size = buckets[i].size();
-
- table[i] = table_data.size();
- for (std::vector<std::string>::const_iterator
- j = buckets[i].begin(); j != buckets[i].end(); j++) {
- table_data.push_back((char) j->size());
- table_data.append(*j);
- }
- }
-
- LOG(INFO) << "Largest bucket has " << max_bucket_size << " entries";
-
- FILE* out = fopen(output_file, "w+");
- if (!out) {
- perror("opening output file");
- return 4;
- }
-
- fprintf(out, "// Copyright (c) 2010 The Chromium Authors. All rights "
- "reserved.\n// Use of this source code is governed by a BSD-style "
- "license that can be\n// found in the LICENSE file.\n\n");
- fprintf(out, "// WARNING: this code is generated by\n"
- "// ssl_false_start_blacklist_process.cc. Do not edit.\n\n");
- fprintf(out, "#include \"base/basictypes.h\"\n\n");
- fprintf(out, "#include \"net/base/ssl_false_start_blacklist.h\"\n\n");
- fprintf(out, "namespace net {\n\n");
- fprintf(out, "const uint16 SSLFalseStartBlacklist::kHashTable[%d + 1] = {\n",
- kBuckets);
- for (unsigned i = 0; i < kBuckets; i++) {
- fprintf(out, " %d,\n", (int) table[i]);
- }
- fprintf(out, " %d,\n", (int) table_data.size());
- fprintf(out, "};\n\n");
-
- fprintf(out, "const char SSLFalseStartBlacklist::kHashData[] = \n");
- for (unsigned i = 0, line_length = 0; i < table_data.size(); i++) {
- if (line_length == 0)
- fprintf(out, " \"");
- uint8 c = static_cast<uint8>(table_data[i]);
- if (c < 32 || c > 127 || c == '"') {
- fprintf(out, "\\%c%c%c", '0' + ((c >> 6) & 7), '0' + ((c >> 3) & 7),
- '0' + (c & 7));
- line_length += 4;
- } else {
- fprintf(out, "%c", c);
- line_length++;
- }
- if (i == table_data.size() - 1) {
- fprintf(out, "\";\n");
- } else if (line_length >= 70) {
- fprintf(out, "\"\n");
- line_length = 0;
- }
- }
- fprintf(out, "\n} // namespace net\n");
- fclose(out);
-
- return 0;
-}
diff --git a/net/base/ssl_false_start_blacklist_unittest.cc b/net/base/ssl_false_start_blacklist_unittest.cc
deleted file mode 100644
index 7ade428..0000000
--- a/net/base/ssl_false_start_blacklist_unittest.cc
+++ /dev/null
@@ -1,28 +0,0 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "net/base/ssl_false_start_blacklist.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-TEST(SSLFalseStartBlacklistTest, LastTwoLabels) {
-#define F net::SSLFalseStartBlacklist::LastTwoLabels
- EXPECT_STREQ(F("a.b.c.d"), "c.d");
- EXPECT_STREQ(F("a.b"), "a.b");
- EXPECT_STREQ(F("example.com"), "example.com");
- EXPECT_STREQ(F("www.example.com"), "example.com");
- EXPECT_STREQ(F("www.www.example.com"), "example.com");
-
- EXPECT_TRUE(F("com") == NULL);
- EXPECT_TRUE(F(".com") == NULL);
- EXPECT_TRUE(F("") == NULL);
-#undef F
-}
-
-TEST(SSLFalseStartBlacklistTest, IsMember) {
- EXPECT_TRUE(net::SSLFalseStartBlacklist::IsMember("example.com"));
- EXPECT_TRUE(net::SSLFalseStartBlacklist::IsMember("www.example.com"));
- EXPECT_TRUE(net::SSLFalseStartBlacklist::IsMember("a.b.example.com"));
- EXPECT_FALSE(net::SSLFalseStartBlacklist::IsMember("aexample.com"));
- EXPECT_FALSE(net::SSLFalseStartBlacklist::IsMember("com"));
-}
diff --git a/net/net.gyp b/net/net.gyp
index 2f8bb2d..1814d59 100644
--- a/net/net.gyp
+++ b/net/net.gyp
@@ -19,7 +19,6 @@
'../third_party/icu/icu.gyp:icuuc',
'../third_party/zlib/zlib.gyp:zlib',
'net_resources',
- 'ssl_false_start_blacklist_process',
],
'sources': [
'base/address_family.h',
@@ -166,7 +165,6 @@
'base/ssl_config_service_mac.h',
'base/ssl_config_service_win.cc',
'base/ssl_config_service_win.h',
- 'base/ssl_false_start_blacklist.cc',
'base/ssl_info.cc',
'base/ssl_info.h',
'base/static_cookie_policy.cc',
@@ -201,25 +199,6 @@
'export_dependent_settings': [
'../base/base.gyp:base',
],
- 'actions': [
- {
- 'action_name': 'ssl_false_start_blacklist',
- 'inputs': [
- '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)ssl_false_start_blacklist_process<(EXECUTABLE_SUFFIX)',
- 'base/ssl_false_start_blacklist.txt',
- ],
- 'outputs': [
- '<(SHARED_INTERMEDIATE_DIR)/net/base/ssl_false_start_blacklist_data.cc',
- ],
- 'action':
- ['<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)ssl_false_start_blacklist_process<(EXECUTABLE_SUFFIX)',
- 'base/ssl_false_start_blacklist.txt',
- '<(SHARED_INTERMEDIATE_DIR)/net/base/ssl_false_start_blacklist_data.cc',
- ],
- 'message': 'Generating SSL False Start blacklist',
- 'process_outputs_as_sources': 1,
- },
- ],
'conditions': [
[ 'OS == "linux" or OS == "freebsd" or OS == "openbsd"', {
'dependencies': [
@@ -753,7 +732,6 @@
'base/ssl_config_service_mac_unittest.cc',
'base/ssl_config_service_unittest.cc',
'base/ssl_config_service_win_unittest.cc',
- 'base/ssl_false_start_blacklist_unittest.cc',
'base/static_cookie_policy_unittest.cc',
'base/transport_security_state_unittest.cc',
'base/test_certificate_data.h',
@@ -1134,16 +1112,6 @@
'tools/hresolv/hresolv.cc',
],
},
- {
- 'target_name': 'ssl_false_start_blacklist_process',
- 'type': 'executable',
- 'dependencies': [
- '../base/base.gyp:base',
- ],
- 'sources': [
- 'base/ssl_false_start_blacklist_process.cc',
- ],
- },
],
'conditions': [
# ['OS=="linux"', {