diff options
author | agl@google.com <agl@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-10 22:34:36 +0000 |
---|---|---|
committer | agl@google.com <agl@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-10 22:34:36 +0000 |
commit | 35327b5afc3d3ee71aa95fd76eca7792eb2d2055 (patch) | |
tree | 4c650aedb210f1925dedcf24069ec12d57a0e16f /net | |
parent | 984ad4b32076274757a91e9ac68bd9e3eaf472d2 (diff) | |
download | chromium_src-35327b5afc3d3ee71aa95fd76eca7792eb2d2055.zip chromium_src-35327b5afc3d3ee71aa95fd76eca7792eb2d2055.tar.gz chromium_src-35327b5afc3d3ee71aa95fd76eca7792eb2d2055.tar.bz2 |
net: False Start only for NPN capable servers.
This change causes NSS only to False Start with NPN capable servers. It also
removes the False Start blacklist and this has the effect of enabling 1/n-1
record splitting for those hosts that were previously on the blacklist.
However, those hosts have been getting 1/n-1 from Opera, Firefox and IE for a
few months now.
BUG=none
TEST=net_unittests
Review URL: http://codereview.chromium.org/10014010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131649 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net')
-rw-r--r-- | net/base/ssl_config_service.cc | 7 | ||||
-rw-r--r-- | net/base/ssl_config_service.h | 4 | ||||
-rw-r--r-- | net/base/ssl_config_service_unittest.cc | 22 | ||||
-rw-r--r-- | net/base/ssl_false_start_blacklist.cc | 31 | ||||
-rw-r--r-- | net/base/ssl_false_start_blacklist.h | 79 | ||||
-rw-r--r-- | net/base/ssl_false_start_blacklist.txt | 2288 | ||||
-rw-r--r-- | net/base/ssl_false_start_blacklist_process.cc | 214 | ||||
-rw-r--r-- | net/base/ssl_false_start_blacklist_unittest.cc | 39 | ||||
-rw-r--r-- | net/net.gyp | 46 | ||||
-rw-r--r-- | net/socket/ssl_client_socket_nss.cc | 76 | ||||
-rw-r--r-- | net/socket/ssl_client_socket_nss.h | 7 | ||||
-rw-r--r-- | net/socket/ssl_client_socket_openssl.cc | 7 | ||||
-rw-r--r-- | net/third_party/nss/README.chromium | 3 | ||||
-rwxr-xr-x | net/third_party/nss/patches/applypatches.sh | 2 | ||||
-rw-r--r-- | net/third_party/nss/ssl/ssl3con.c | 1 | ||||
-rw-r--r-- | net/third_party/nss/ssl/ssl3ext.c | 4 |
16 files changed, 15 insertions, 2815 deletions
diff --git a/net/base/ssl_config_service.cc b/net/base/ssl_config_service.cc index 16720bd..f8f77fb 100644 --- a/net/base/ssl_config_service.cc +++ b/net/base/ssl_config_service.cc @@ -9,7 +9,6 @@ #include "base/synchronization/lock.h" #include "net/base/crl_set.h" #include "net/base/ssl_config_service_defaults.h" -#include "net/base/ssl_false_start_blacklist.h" namespace net { @@ -57,12 +56,6 @@ SSLConfigService::SSLConfigService() : observer_list_(ObserverList<Observer>::NOTIFY_EXISTING_ONLY) { } -// static -bool SSLConfigService::IsKnownFalseStartIncompatibleServer( - const std::string& hostname) { - return SSLFalseStartBlacklist::IsMember(hostname); -} - static bool g_cached_info_enabled = false; // GlobalCRLSet holds a reference to the global CRLSet. It simply wraps a lock diff --git a/net/base/ssl_config_service.h b/net/base/ssl_config_service.h index d44e6ea..010f564 100644 --- a/net/base/ssl_config_service.h +++ b/net/base/ssl_config_service.h @@ -145,10 +145,6 @@ class NET_EXPORT SSLConfigService // May not be thread-safe, should only be called on the IO thread. virtual void GetSSLConfig(SSLConfig* config) = 0; - // Returns true if the given hostname is known to be incompatible with TLS - // False Start. - static bool IsKnownFalseStartIncompatibleServer(const std::string& hostname); - // Sets and gets the current, global CRL set. static void SetCRLSet(scoped_refptr<CRLSet> crl_set); static scoped_refptr<CRLSet> GetCRLSet(); diff --git a/net/base/ssl_config_service_unittest.cc b/net/base/ssl_config_service_unittest.cc index 67036bb..2ac2a9b 100644 --- a/net/base/ssl_config_service_unittest.cc +++ b/net/base/ssl_config_service_unittest.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// Copyright (c) 2012 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. @@ -14,11 +14,6 @@ namespace net { namespace { -bool IsFalseStartIncompatible(const std::string& hostname) { - return SSLConfigService::IsKnownFalseStartIncompatibleServer( - hostname); -} - class MockSSLConfigService : public SSLConfigService { public: explicit MockSSLConfigService(const SSLConfig& config) : config_(config) {} @@ -52,21 +47,6 @@ class MockSSLConfigServiceObserver : public SSLConfigService::Observer { } // namespace -TEST(SSLConfigServiceTest, FalseStartDisabledHosts) { - EXPECT_TRUE(IsFalseStartIncompatible("www.picnik.com")); - EXPECT_FALSE(IsFalseStartIncompatible("picnikfoo.com")); - EXPECT_FALSE(IsFalseStartIncompatible("foopicnik.com")); -} - -TEST(SSLConfigServiceTest, FalseStartDisabledDomains) { - EXPECT_TRUE(IsFalseStartIncompatible("yodlee.com")); - EXPECT_TRUE(IsFalseStartIncompatible("a.yodlee.com")); - EXPECT_TRUE(IsFalseStartIncompatible("b.a.yodlee.com")); - EXPECT_FALSE(IsFalseStartIncompatible("ayodlee.com")); - EXPECT_FALSE(IsFalseStartIncompatible("yodleea.com")); - EXPECT_FALSE(IsFalseStartIncompatible("yodlee.org")); -} - TEST(SSLConfigServiceTest, NoChangesWontNotifyObservers) { SSLConfig initial_config; initial_config.rev_checking_enabled = true; diff --git a/net/base/ssl_false_start_blacklist.cc b/net/base/ssl_false_start_blacklist.cc deleted file mode 100644 index d08852d..0000000 --- a/net/base/ssl_false_start_blacklist.cc +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright (c) 2011 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 std::string& host) { - const std::string last_two_components(LastTwoComponents(host)); - if (last_two_components.empty()) - return false; - - const size_t bucket = Hash(last_two_components) & (kBuckets - 1); - for (size_t i = kHashTable[bucket]; i < kHashTable[bucket + 1]; ) { - const size_t blacklist_entry_len = static_cast<uint8>(kHashData[i]); - if (host.length() >= blacklist_entry_len && - !host.compare(host.length() - blacklist_entry_len, blacklist_entry_len, - &kHashData[i + 1], blacklist_entry_len) && - (host.length() == blacklist_entry_len || - host[host.length() - 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 ad7a007..0000000 --- a/net/base/ssl_false_start_blacklist.h +++ /dev/null @@ -1,79 +0,0 @@ -// Copyright (c) 2011 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 <string> - -#include "base/logging.h" -#include "net/base/net_export.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: - // Returns true if |host| (a DNS name in dotted form, e.g. "www.example.com") - // is in the blacklist. - NET_EXPORT_PRIVATE static bool IsMember(const std::string& host); - - // Returns the modified djb2 hash of |host|. - // NOTE: 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. - static uint32 Hash(const std::string& host) { - uint32 hash = 5381; - for (const uint8* in = reinterpret_cast<const uint8*>(host.c_str()); - *in != 0; ++in) - hash = ((hash << 5) + hash) ^ *in; - return hash; - } - - // Returns the last two dot-separated components of |host|, ignoring any - // trailing dots. For example, returns "c.d" for "a.b.c.d.". Returns an - // empty string if |host| does not have two dot-separated components. - // NOTE: Inline for the same reason as Hash(). - static std::string LastTwoComponents(const std::string& host) { - size_t last_nondot = host.find_last_not_of('.'); - if (last_nondot == std::string::npos) - return std::string(); - size_t last_dot = host.find_last_of('.', last_nondot); - if ((last_dot == 0) || (last_dot == std::string::npos)) - return std::string(); - // NOTE: This next line works correctly even when the call returns npos. - size_t components_begin = host.find_last_of('.', last_dot - 1) + 1; - return host.substr(components_begin, last_nondot - components_begin + 1); - } - - // This is the number of buckets in the blacklist hash table. (Must be a - // power of two). - static const size_t 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 uint32 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 9e056a6..0000000 --- a/net/base/ssl_false_start_blacklist.txt +++ /dev/null @@ -1,2288 +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 - -1-plus.com -155551.com -3mfx.three.com.hk -4science.net -4ward.asia -50pickupnow.com -6ftoverhead.com -aaa.grh.org -abcirclenow.com -abrocketpowertrainer.com -abtserver.com -abtwebxpress.com -ac-lyon.fr -ac-nice.fr -ac-orleans-tours.fr -ac-paris.fr -ac-poitiers.fr -ac-reims.fr -acad1.dlit.edu.tw -academicclub.org -access.csn.edu -access.moric.org -access.opco.com -access.vch.ca -accessgeneral.com -accessingram.com -accesswr.bannerhealth.com -accounts.jelhi.net -accu-doc.ch -acebenefitsplus.co.uk -achs.org.au -actionpoint.ch -adhbcn.net -adhdtreatmenttoday.com -admin.centerpoint.jelecos.com -admin.iot.dtag.de -admin.webcast.fi -adoptionscentrum.se -adplacer.com.au -adtran.com -adult.dl.rakuten.co.jp -aecom.com -afconsult.com -afeyewear.com -affinitycircles.com -afflelou.net -afflinksource.com -afternic.com -afterpayroll.com -aftonxchange.com -ag.729972.com -ag.ibc88.com -agents.nationalsecuritygroup.com -agir-recouvrement.com -agriinfo.copa-cogeca.be -aktionsplan-allergien.de -algoritam.hr -algvpn.algonquincollege.com -alle-inklusive.behindertenbeauftragte.de -allianz.hr -allmyaccounts.bankofamerica.com -alltours.at -alltours.info -almliquor.com.au -alperton.brent.sch.uk -alpinecapitalbank.com -alsformalwear.com -alwaysillinois.org -amail.centrum.cz -american-summit-flood.com -amexweb.com.mx -amgusa.com -amsbwm.org -amwaylive.com -analytics.sonymusic.com -annssl01.fticonsulting.com -antispam.hireahit.com -apex.utpa.edu -api.gogrid.com -apo-vpn-02.apotex.com -app.audit-navigator.nl -applicaties.tln.nl -appliedi.net -applymarketforce.com -applyshopnchek.com -apps.revenuecycle.com -aproposgeschenk.de -ara.bahamaselectricity.com -aravo.com -arc.org.uk -archivedata.com -arizona.edu -arkona.com -arnecommunity.thomsonreuters.com -arowanacapital.com -arts.ac.uk -asb.dk -aschc.com -ashgate.com -asiandating.com -aspraytshirt.com -astral.com -asugroup.com -atl-c1.goodrich.com -ats.openhire.com -attask-ondemand.com -aus-vpn.amd.com -authentication.accorhotels.com -autodiscover.net -autodiscover.wrinklebrain.com -autoradiostore.be -autoradiostore.nl -avastin.com -awesomearmsnow.com -axess.telcordia.com -b2b.aksel.com.tr -backup.datassur.net -backupumbrella.net -bahmueller.de -bam.com.gt -bamf.de -bank4u.bancapopolare.it -bank4u.volksbank.it -bankingon.com -barkoff.tv -barronscatalog.com -baxter.com -bb3.utc.edu -bbsihq.com -bcbsal.org -bcbsfl.recruitmax.com -bedfordschool.org.uk -behindertenbeauftragter.de -bel.com.bz -belvis.swibi.ch -ben.billing.com.au -benendenschool.net -bennett.kent.sch.uk -bentley.edu -berryworld.co.uk -bestobamacoin.com -bestwhole.com -beta-lighting.com -beta.algodeal.com -betcloud.com -bevoelkerungsschutz-portal.de -beztakcorp.com -bfarm.de -biddingforgood.com -bidmc.org -bidokaloosa.com -biffalo.net -bigcityslider.com -biglobe.ne.jp -bigwintracking.com -billing.ntt-east.co.jp -billonline.com -biozid-portal.de -biprod01.mfsasp.com -bishops.org.za -bisp-sportpsychologie.de -bitfang.com -bitlasso.com -ble.de -blooads.com -bluefinsolutions.com -blurayspelershop.nl -bmwi-unternehmensportal.de -bockelman.org -bodycareshop.nl -book.lowestairfares.com -bookeo.org -bottletops.tv -brabantwater.nl -brainforce.nl -brandon.ca -brcc.edu -brightonsc.vic.edu.au -broker.healthcompare.com -brookfield.hants.sch.uk -brotheroffers.com -bsal.com.au -bskytracking.com -bsnparentnet.nl -bsp.bradfieldcollege.org.uk -bui.co.za -bundesfinanzministerium.de -businesszone.quester.at -bux.ee -buxtonbag.com -buxtonmicro.com -buxtonpalmwallet.com -buxtonwallet.com -buy57caddy.com -buyaspray.com -buybeautifulworshipcd.com -buybenderballca.com -buybionicwrenchonline.com -buychiaseedsnow.com -buyeasyreach.com -buyemagrece.com -buyfiftydollargold.com -buyflirtygirlfit.net -buyfranklinmint.com -buygrillglovetv.com -buygyrobowl.com -buygyrobowlset.com -buylastmorgans.com -buymagictarptv.com -buymagnetrim.com -buymonstersteamjet.com -buymorgansilver.com -buymyarmyset.com -buymyhairblock.com -buyoptic1050.com -buypedipaws.ca -buypedipistol.tv -buypetmd.com -buypowerjuicerpro.com -buypumpitfresh.com -buyrazordock.com -buysamowraiblade.com -buysecretsolution.com -buyshakeweightformen.com -buyslimmettes.com -buytexastail.com -buythecrazycritters.com -buythelittleredchef.com -buythemousechaser.com -buytheoptic1050.com -buytheperfectbutton.com -buythesnuggie.com -buythinspin.com -buytimelifeespanol.com -buytomatofactory.com -buywidgetlight.com -buywindshieldwonder.tv -buywonderhanger.com -buyzipdo.com -buzzcity.com -byebye.de -bzgs.ch -bzport.net -cachezone.cache.org.uk -cagreatamerica.com -calchoice.com -caldicott.com -campasol.com -campus.himeji-du.ac.jp -campus.norquest.ca -campusharvest.org -cancer-test.com -candydirect.com -capellfarmfinance.com -capgemini.com -capitalonedealsdone.com -capvpn.capilanou.ca -carcraft.co.uk -cardlabconnect.com -cardsdirect.com -careport.carilion.com -careylink.com.au -caridianbct.com -carilionlabs.com -carlislermc.com -carrinho.casashow.com.br -cas.freud.com -cathflo.com -catie.ac.cr -cbcag.edu -cbfive.com -cbsmail.constangy.com -ccmail.cc.gatech.edu -cdp.moduspec.com -cduvpn.cdu.edu.au -cedardoc-demo.com -celebritysweatnelly.com -centrum.cz -centuriondirect.com -cfai-centre.net -channeladvisor.com -chapmantripp.com -checkoutblog.com -chester.ac.uk -chevrolet-leadengine.de -chinookhosting.com -chinooknetworks.com -chl-peq.co.uk -chnla.com -choicebuilder.com -ciaoitalia.com -cisco.com -cisr-ssl-vpn2.univ-lyon1.fr -citi.bridgetrack.com -citixcard.co.jp -citonline.com -citynet.net -ckbmail.me -clarity.com -claritycon.com -clarksoncollege.edu -claroline.lakato.net -classicsoftrock.com -clickanalyzer.jp -client.neftex.com -client.uniastrum.ru -clineavestudy.com -cloroxspss.com -cloud.santeesd.net -cmithun.dojiggy.com -cnw.albertaequestrian.com -co-labs.org -codarts.nl -collaborate.sandia.gov -colorectalcancerconnections.com -combattesting.com -commandaware.com -commentor.dk -compass.oxiana.com.au -compellent.com -comprabuxton.com -comprariddexpulse.com -compupaypartner.com -computerstore.be -comserving.com -conduxio.com -confluence.mediaspectrum.net -connect.bangor.ac.uk -connect.plan-b-gmbh.com -connect.studygroup.com -consoleshop.nl -construction-ec.com -contitiremanagement.com -copeskoal.com -correctionalbillingservices.com -correio.ina.pt -correo.orizonia.com -correo.psl.com.co -correo.tec.ac.cr -cortesoft.com -covlecremote.org -covnet.covenantretirement.org -coyoteportal.wc.edu -cpas.cz -cportal.sechan.com -cprmc.com -creditcards.citicards.com -creditunionon.com -crew.transavia.com -croc.ru -cryptolab.org -csaa.com -csp.cvut.cz -customer.dgrefining.com -customer.unicaresys.com -customerconnect.scholasticbookfairs.com -cv.occstrategy.com -cvintranet.classifiedventures.com -cwa.fandr.com -cwa.telecomputing.no -d-starjob.com -d115.de -dalinis.net -dallasregionalmedicalcenter.com -dasa-dortmund.de -dataformas.com -datasettlement.com -davisregional.com -daymet.org -dbpn.com -dc110.4shared.com -dcvpn.cov.com -de-mail.de -deloitte.com -deloitteresources.com -deltek.forceprotection.net -demo.crm4destinations.at -dentalxchange.com -depo.ru -design.cscape.com -design.nzzdomizil.ch -designersnuggie.com -destinationlighting.com -developer.smartapp.tw -development-school.jp -device.fancast.com -dexter.ansaldo-sts.us -df.co.kr -dhhnet.dhh.louisiana.gov -dhs.edu.sa -dice.com -digi.mobilethink.net -digicamshop.nl -direct2wholesale.com -disc.co.jp -discomp.cz -discovertotal.com -dl.com -dl.rakuten.co.jp -docuware.com -dokeos.ehb.be -dolandesigns.com -dosco.com.tw -dr.rachisholm.com -drimanagement.com -drlists.com -droppstv.com -drsha.com -dualsaw.com -dualsawspanish.com -durham.ca -duvak.nl -dwarest.disc.co.jp -dws.com.au -dynetics.com -e-cap.fr -e-healthnet.mhlw.go.jp -e-lotto.be -e-usluge.rijeka.hr -earlybird.ae -earnplaza.com -earthclassmail.com -easv.dk -easyreachtv.com -ebb.ubb.bg -ecafe.lahey.org -ecare.proctor.org -echo.com -echotrak.com -eclipse.molagers.org -ecom.peoples-bank.com -ecommerce.colsubsidio.com -ecwid.com -edaccents.com -edinet.cenet.ws -education.vic.gov.au -edumail.tokem.fi -edumail.vic.gov.au -eduportal.pl -eduweb.vic.gov.au -edziekanat.wsf.edu.pl -ehs.dk -eisweb.enterinfo.com -elibrary.comfortsite.com -elliottdevon.com -elogistic.motorola.com -elpodercd.com -els.cis.fukuoka-u.ac.jp -email.campus.uvt.nl -email.fusionsys.com.mx -email.greatershepparton.com.au -email.hermos-vhm.de -email.jyu.fi -email.manutouch.com.hk -email.masku.com -email.medianewsgroup.com -email.sjbcommunity.ca -email.starair.dk -email.stpeters.sa.edu.au -email.svcfs.org -email.uk.betfair.com -email.unity.net.nz -email.wsd1.org -email.yorksj.ac.uk -emeamail.corp.salesforce.com -emericalinksite.com -emersonhosp.org -emerycat.ca -emploi.sitq.com -employee.coastmountainbus.com -enav.it -endlager-asse.de -epm.com.co -eportal.shelfieldcommunityacademy.co.uk -epoti.abanka.si -equippers.com -equitydriver.com -ereaderstore.nl -ereg.biz -ergonet.pl -erhgroup.com -ericom.com -esdlife.com -eshbelsaas.co.il -esher.ac.uk -esloo.nl -espaicambrabcn.org -espprofitlink.com -estrellamountain.edu -etk.fi -ettu.nl -eurobank.pl -europlan.ru -evergabe-online.info -exch.naaco.ru -exchange.clarkslegal.com -exchange.cs-soreltracy.qc.ca -exchange.datacom.com.au -exchange.intranet.neumanpools.com -exchange.keyhie.org -exchange.khlim.be -exchange.raakict.nl -exchange.uetcl.com -exchange4u.cz -exeter.ac.uk -exmail.businesslinksoutheast.co.uk -ext01.lifesouth.org -extra.chrysler.de -extranet.cec.org -extranet.lackverband.de -extranet.metabolomicscentre.nl -extranet.pandasoftware.com -extranet.sysmex.com -eyelovelytv.com -eyeonamd.com -f-seneca.org -faberwebshop.nl -falcontrading.ro -fanniemae.com -farsigeotech.com -fastsearch.com -fcaamd.com -fdc.org.br -felixlive.com -fema.gov -fenwalinc.com -ffis.es -fhvasa01.flhosp.org -fire.tas.gov.au -firma.pcs.cz -firstam.net -firstassistinsurance.com -fishermenshospital.com -fit.ba -fiu.edu -fjarvinna.grund.is -fleetwoodsc.org.uk -flhsmv.gov -flirtygirlfitca.com -floodonline.com -floodplus.net -flydenver.com -fmpro.cati.com -folkestonegirls.kent.sch.uk -footnote.com -ford.com -forms.techdata.net -frankfurt-oder.de -freebioven.com -freehandycaddy.com -freerejuvenateca.com -freerejuvenatetv.com -fridgelockertv.com -fs-efo.jp -ftp.maedapat.co.jp -fucam.ac.be -fuchs-datentechnik.de -fueldoctorcanada.ca -fueldoctorfd47.com -futuretrails.com -g4s.se -gakushuin.ac.jp -gamania.com -ganymede.chester.ac.uk -garmin.com -gate.we-learn.org.uk -gatech.edu -gatekeeper2.aspectsecurity.com -gateway.madisoncity.k12.al.us -gbssg.ch -gcc.edu -gcportal.guycarp.com -gda-portal.de -gemini-apx.com -genentechmm.com -geniusreport.com -geomant.com -geometrik.golder.se -geonosis.itsso.gc.ca -georgefox.edu -gepon.org -germfree.org -get1933caddy.com -get2instantcover.com -getbendaroostv.com -getbestline.com -getboomaringnow.com -getclassicsforrelaxation.com -getcozycolors.com -geteasyreach.com -getflexibrite.com -getflipperremote.com -getglowbeam.com -gethandyvalet.com -gethealthsupplies.com -geticanonlyimaginecd.com -getiknowkey.com -getmiracleplunger.com -getmonstersteamjet.com -getmorgans.com -getmybedsidetable.com -getopeneyesofmyheart.com -getparkbillstv.com -getpetmdnow.com -getpopmemories.com -getrejuvenate.com -getromancingthe70scds.com -getsanistep.com -getscrubglove.com -getslimts.com -getthewonderhanger.com -getwiperwizardnow.com -getworkout180.com -getworldatwar.com -getworldofreading.com -getyourpajamajeans.com -getzerogerm.com -gfkdaphne.com -ggusd.us -ggy.com -gisclimatechange.org -gmb.org.uk -gmxy.org -goamp.com -golan.wisela.org -gomopa.net -goodfellowbros.com -gorm.tauron-pe.pl -gr-espel.com -greenpower24.com -grillingadget.com -grizridge.com -grmetrieve.com -groenewelle.nl -grotiuscollege.nl -gruenderpreis-nominierung.de -guardiant.com -guardiantauto.com -guhsdaz.org -gw2.fli.bund.de -gw2.vincentz.de -haken.mynavi.jp -hancockfabrics.com -handelwandel.com -hangikredi.com -happyoz.com -harrisdseries.com -hartslagmetercenter.be -harvestbible.org -hastingsdirect.com -hastingsessential.com -hatchearlychildhood.com -hcc-tripod.hoffmancorp.com -headsetshop.nl -healthportdirect.com -heartoflancaster.com -heeltasticpedeggpromo.com -heelusa.com -helpdesk.v-h.nl -helpdesk.yhc.edu -helwanbb.com -hensongroup.com -her2genes.com -herceptin.com -herconnection.com -hire.acxiominsight.com -hma.com -hmc.it-ernity.nl -hmc.vdx.nl -hnvpn.hostnordic.com -hoganas.se -hoken-clinic.com -hollywoodhobobagaccessories.com -honeybakedonline.com -honeywellusersgroup.com -hoodhomedelivery.com -hoofdtelefoonstore.nl -hopline.net -hosttraxx.com -householdshop.nl -housingservices.com -houstonisd.org -howtowritearesume.net -hox.biz -hq.nimvpn.com -hqaccess.acs.org -hro-gate.aida.de -hrwow.com -hsacalifornia.com -hubpen.biz -hull.ac.uk -humana.recruitmax.com -hurleymc.com -hurmail01.hurriyet.com.tr -huronconsultinggroup.com -huttonhotel.com -i-95alternatives.com -i-teamroom.com -i485project.com -iata.invoiceworks.net -ibank.mpbsecure.com -ibank.sabank.hr -ibc123.com -ibc168.com -ibcbet.com -ibet888.net -ibweb.alphabank.ro -icecream-money.com -iconnect4.interiorhealth.ca -id.telecom.pt -identity.ppdi.com -idrettsmail.no -ie.com -ifbyphone.com -igaseguros.com.br -igniterealestatesite.com -il.systemb2b.com -images.bdotickets.com.au -img.mspub1.com -imgroup.com -imgssl.shinsegae.com -imperva.com -ims.esdcar.org -imsbackyardfightclub.com -imsbi.com -imsbuyquicklawn.com -imschools.org -imslappertrays.com -imsmightybite.com -incircle.lagrange.edu -indraweb.indra.es -ineways.eu -inewayscanada.com -infobear.bridgew.edu -inframan.nl -ing-diba.at -ing-hipotecaria.mx -innmarinsecure.com -insattningsgarantin.se -inside.consona.net -inside.nhl.com -insight.smartdm.com -insite.henrich.de -instantfisherman.com -instantintelligence.com -integrishealth.recruitmax.com -intellilink.visa.com -interact2.ird.govt.nz -interconnect.be -interhosting.interfree.it -interiorsandsources.com -intern.abm-energie.de -intern.abm-service.de -internal.imaginets.com -intersourcing.com -intra.svendborg-gym.dk -intranet.2nsb.org.au -intranet.a3is.com -intranet.abesse.hu -intranet.bexleygs.co.uk -intranet.carrel.fr -intranet.chilcote.bham.sch.uk -intranet.frederikssund.dk -intranet.grupocopisa.com -intranet.hallwilcox.com.au -intranet.itsduero.es -intranet.majedie.com -intranet.mhc.cc -intranet.peckham.org -inverhills.edu -investissementsdavenir.agencerecherche.fr -iowaworkforce.org -ip.clubcorp.com -ipayables.net -ipi-interactive.com -iqmetrix.com -iris.colum.edu -irrc.co.jp -ishbs.com -isi-net.com -isupplier.americanlafrance.com -it-consult.net -ito.org.tr -itrackit.net -itsfogo.com -itunescards.co.za -iva.de -ivoo.certiris.be -j-union.com -jac.go.jp -jamestownregional.com -japanpost.jp -jasaga.or.jp -jeddah.zfp.com -jerseymanagedhosting.com -jerusalem.muni.il -jmlscratchremover.com -jnet.agsys.sompo-japan.co.jp -joagift.com -job.disc.co.jp -jobmgr.disc.co.jp -jobs.carlsonhotelsasiapacific.com -jobs.cas.org -jobs.sourcefire.com -journie.net -jr.com.au -jta.jtafla.com -jumbomortgage.citimortgage.com -k12.al.us -k12.nm.us -k12.sc.us -k12.wa.us -k12.wi.us -kabukiza-kabu.com -kalender.nakskov-gym.dk -kanjam.com -katlehotrust.co.za -kawacki.com.br -kbacmportal.net -kcc.com -kddi.ne.jp -keybankdeveloper.com -kfz-versicherung.faz.net -kgh.on.ca -kicho.shoko-shimane.or.jp -kidneycancerconnections.com -kingsdominion.com -kintetsu-bs.co.jp -kit.ac.jp -kkcom.co.jp -klerx.biz -klikbca.com -klive.kellogg.edu -klz.org.uk -kme.ch -koffiecenter.be -kpchoicesolution.com -kpos.melsc.co.jp -kramesondemand.com -kredinor.no -krungsrifileserver.com -krungsrimobile.com -ktr.com -kuk-networks.de -kymweb.tokoha-u.ac.jp -lambertconsulting.ch -lamda.org.uk -lancasterregional.com -laptopshop.be -larix.cevak.cz -lavprisfly.no -lc.leics.sch.uk -lcgs.tas.edu.au -leap.neustar.biz -learningseat.com -learnsheffield.com -leben-hat-gewicht.de -leerlingmail.niftarlake.nl -legalease.jmls.edu -lendingtreeautos.com -leopards-den.us -lexor.lsp.at -library.failteireland.ie -lifeaction.net -lifenetems.org -liftnfix.com -lightstone.co.za -linkservicepro.com -linkzeal.com -lion.wild.net -lipa.ac.uk -listech.com -liu.se -livingwithcll.com -livingwithlymphoma.com -lkmc.com -lks.jackhenry.com -lmmis.com -lnrmc.com -loans.citifinancial.ca -login.aderantpm.com -login.bild.de -login.clientaccess.net -login.smmj.com -logixs.com -logowanie.osemka.pl -london.edu -loterie.ch -loucoll.ac.uk -lucentis.com -lucky-pantry.net -luckybuy.com.tw -ludus.maribo-gym.dk -ludus.midtfyns-gym.dk -ludusweb.frberg-gym.dk -ludusweb.fredericia-gym.dk -ludusweb.herninghfogvuc.dk -ludusweb.middelfart-gym.dk -ludusweb.toender-gym.dk -ludusweb.tornbjerg-gym.dk -ludusweb.vejle.dk -ludusweb.vucroskilde.dk -ludusweb.vucstor.dk -ludusweb.vuctm.dk -lukeassoc.net -lumalamps.com -lungcancerconnections.com -lusitania-cs.pt -lvmpd.com -lvs1.com -m.aafes.com -maandag.nl -maartenluther.calvijn.nl -maastrichtuniversity.nl -magtek.com -mail.accretivehealth.com -mail.aeat.co.uk -mail.albany.k12.ny.us -mail.albil.com.tr -mail.almajles.gov.ae -mail.amrita-parus.ru -mail.anbank.com -mail.aps.k12.co.us -mail.arcelormittal.kz -mail.asapnet.nl -mail.asmnet.com -mail.avanquestusa.com -mail.axemusic.com -mail.axens.net -mail.banquemisr.com -mail.bedeck.co.uk -mail.behr.ch -mail.cba.edu.sa -mail.centrum.cz -mail.charltonschool.com -mail.childrens.com -mail.configura.com -mail.connectivityit.com.au -mail.cws.biz -mail.dollardcollege.nl -mail.e-farmcredit.com -mail.eatough.net -mail.ebsi.com -mail.escrotrans.com -mail.federalequipment.com -mail.fozzy.ua -mail.geninf.com -mail.ggs.vic.edu.au -mail.globeteam.com -mail.gmrgroup.in -mail.govwentworth.k12.nh.us -mail.gpworldwide.com -mail.grafil.com -mail.groupegt.ca -mail.gruppoveritas.it -mail.gtri.gatech.edu -mail.gunnebo.com -mail.haderslev-gym.dk -mail.harbourmsp.com -mail.harvestnaperville.org -mail.havantacademy.co.uk -mail.hoegh.com -mail.houdijk.com -mail.hsd153.org -mail.hsventures.org -mail.ipswichschool.net -mail.itc.net.sa -mail.itgsolutions.com -mail.itility.us -mail.jarfalla.se -mail.jetblue.com -mail.jjuc.no -mail.jus.cz -mail.justinho.com -mail.kairos-it.com -mail.kces.de -mail.kingscollegeguildford.com -mail.kit.ae -mail.kks.se -mail.klingenberg.com -mail.kvanum.com -mail.lancercatering.com -mail.loreto.nsw.edu.au -mail.maristcollege.school.nz -mail.marnixcollege.nl -mail.mauser-cabs.at -mail.mbsds.com -mail.mcx.pl -mail.meau.com -mail.metrostav.cz -mail.metrotrains.com.au -mail.mf.dk -mail.micronav.co.uk -mail.midco.net -mail.middevon.gov.uk -mail.mihs.org -mail.milesplatts.co.uk -mail.minsterlaw.co.uk -mail.moe.gov.my -mail.mosa.gov.qa -mail.mulhouse.fr -mail.nap.gsic.titech.ac.jp -mail.normandale.edu -mail.npaid.org -mail.ofg.lv -mail.oshochem.com -mail.ouc.ac.cy -mail.paratek.com -mail.plainconcepts.com -mail.primevision.net -mail.pukzh.ch -mail.red-red.ru -mail.reiv.com.au -mail.rexel.nl -mail.richardhicks.com -mail.ridgian.co.uk -mail.rittal.be -mail.rkbs-de-vlinder.nl -mail.ruudlighting.com -mail.saic-dc.com -mail.sarasamerica.com -mail.serralves.pt -mail.skmc.gov.ae -mail.skov.com -mail.slt.com.lk -mail.smart3group.com -mail.softlinesolutions.com.au -mail.spotlight.co.za -mail.stadsmissionen.se -mail.stccs.ca -mail.stuwebportal.net -mail.styletronix.net -mail.svsd.ca -mail.tegola.ru -mail.tgn.com -mail.the-ascott.com -mail.tox-us.com -mail.transunion.com -mail.tridenttech.edu -mail.tvfr.com -mail.ugs.com -mail.umfmpookies.info -mail.uottawa.ca -mail.valdichienti.net -mail.vejlehs.dk -mail.vicore.se -mail.vmkfb.se -mail.wasbol.nl -mail.wcc.vic.edu.au -mail1.asfourcrystal.com -mail1.sog.ga.gov -mail2.law.stetson.edu -mail2.lisluanda.com -mail2.marqnet.com -mailer.kuehnel-web.org -mailhub1.cpsb.org -maisoku.co.jp -mallorca.co.uk -manabo.chukyo-u.ac.jp -mandat24.de -mangawebstore.com -manifest5.craig-is.com -manmail.nice.org.uk -manukinvest.com -maritimetacticalsecurity.com -mars.micex.ru -massport.com -matgenie.com -matricis.com -matsuzakaya.co.jp -mayvillestate.edu -mbanking.ncrwebhost.mobi -mbdvd.com -mc4me.mccd.edu -mchvpn01.midcoasthealth.com -md-whistleblower.com -meagpower.org -meathvec.ie -medewerker.jouwregardz.nl -media.filas.pl -media.wschiro.edu -medicalcannabismanager.com -medicalert.co.nz -mediclinic.co.za -meinkonto.orf-gis.at -memberadviser.com -memoryshop.be -memoryshop.nl -memphis.edu -merchantcart.net -meriden.nsw.edu.au -merlin.ca -metalinq.com -metrogr.org -metrostarsystems.com -mg.afimilk.co.il -mhs1.3f.dk -mhsecure.dmcontact.com -michelsville.com -midwestregional.com -miele.co.uk -migdataengine.cms.hhs.gov -mightyfixit.com -mightymendittv.com -mightythirstytv.com -milkmandelivers.com -mill-hillcollege.nl -miller.co.jp -milsoftssl.com -mindbusiness.org -mingorp.hr -misim.gov.il -mizuho-int.com -mizuno.jp -mizunonetorder.com -mmrpatientview.com -mobile.animate-shop.jp -mochibot.com -mochimedia.com -mochipass.com -mod.yodobashi.com -monbureau.sophiaconseil.fr -monserviceconciergerie.com -montebello.ridgevineyards.net -montroseaccess.org.au -moralesfamily.net -moss.ise.de -mp01.canon.jp -mp3shop.be -mrc-ws.mrceweb.com -mrclaurentides.qc.ca -mrmrshandycaddy.com -msauth.mainstreet.fiserv.net -msbmyndigheten.se -mscw.vic.edu.au -msexchange.lyon.edu -msg.gov.hu -msmail.mvnu.edu -msu.edu -msvpn.wusm.wustl.edu -mtimail.metal-technologies.com -mtvninvoices.com -mwn.de -mws.acculynk.net -mx.twfp.com -mxs.deff.ru -my-aime.net -my-hammer.de -my.comprehensivesleep.com -my.ecwid.com -my.sandi.net -my.snhu.edu -my.wcupa.edu -myapps.skiffmed.com -mybethanyranchhome.org -mybffnow.com -mycardprinter.com -mychart.carilionclinic.org -myclinicallogic.com -mycundus.com -myevolver.com -myflcourtaccess.com -myfloridacounty.com -myfloridaremit.com -mygetmighytighty.com -mygiftregistry.co.za -myhammer.co.uk -myhammer.com -myhdwraparoundstv.com -mymail.warnerconnect.com -mymccc.mc3.edu -mymcso.com -mymedicallocker.com -mymedicalrecordsmd.com -mynha.com -mynhatest.com -myoffice.eu.goodyear.com -myoffice.na.goodyear.com -myparceldelivery.com -myparkbillstv.com -myportal.vhschicago.com -myriddexpulse.com -myservices.suffolk.ac.uk -mystorage.cloudleverage.com -myvpn.ubc.ca -mywagnercat.com -n-fukushi.ac.jp -namg1.ipsos.com -nas.gov.ua -nasadvd.com -nat.tribalddb.net -navicast.jp -nbrc.org -nbst.org.uk -nccrimecontrol.org -ndl.qc.ca -ndr.nu -nectarwallet.com -netcafe.ft.dk -netleasing.ersteleasing.hu -netmailing.liderexpress.hr -netorder.sogo-seibu.co.jp -netpractice.com.au -nettkontoret.kredinor.no -newcollege.ac.uk -newvistalive.com -nexusos.net -nhk-ep.com -nhs.uk -nicovideo.jp -nikkei.co.jp -njreflood.com -nochex.com -nomade.etu.univ-nantes.fr -nordea.com -nordea.se -nordeanetbank.dk -notebookbuffer.com -notes.parliament.qld.gov.au -noticiastelemicro.com -nousinfo.com -novocorreio.ultra.com.br -nowa.ntelos.com -nr.edu -ns002.toshiba-sol.co.jp -nsw.gov.au -nswmentors.com -ntdira.com -nuskin.com -nuungolf.com -nuwaveoven.com -nuwaveovennow.com -nzmail.deloitte.co.nz -oasiswebvpn.net -obdp.org -odlmarkets.com -office.mls.lib.il.us -office.occ.on.ca -office.rooscs.nl -office.tatemono.com -officemd.net -olchs.org -ollusa.edu -olmsted.mn.us -on-linepojisteni.cz -onefmcremote.com -onestop.gsi.go.jp -oneuso.org -onforce.com -online-processingcenter.com -online.alphabank.com.cy -online.julbo-rx.com -online.mycontoso.de -online.shamir.es -online.shamir.fr -online.shamirlens.co.uk -online.steens.dk -onlinebanking.bankofarizona.com -onlinebanking.bankofarkansas.com -onlinebt.de -onlinelibrary.wiley.com -onlineticket.jp -ontarioinsco.com -ontimeweb.itfocus.co.nz -onyxinv.com -opsource.net -ordemenfermeiros.pt -order.pvpl.com -orderdiscoabs.com -orderoxyclinical.com -orderpacecoach.com -osaki-eweb.com -otpbank.hu -outlook.belam.lv -outlook.delichtenvoorde.nl -outlook.fritzhansen.net -outlook.haarlem.nl -outlook.hfwu.de -outlook.it-service-schwadorf.de -outlook.kennedykrieger.org -outlook1.wilshire.com -outlookonline.nl -overblick.se -ovo-zaanstad.nl -owa.addon.de -owa.afridata.net -owa.byui.edu -owa.cancom.de -owa.dannenbaum.com -owa.dist113.org -owa.dunnhumby.com -owa.edipresse.ch -owa.electric-house.com -owa.esn.at -owa.exe.it -owa.fh-jena.de -owa.gfe.com -owa.gft.com -owa.gtlaw.com.au -owa.hcuge.ch -owa.iadt.ie -owa.ic3.gov -owa.isl-automotive.com -owa.itsindy.com -owa.iwco.com -owa.jabirumetals.com.au -owa.jacksonkelly.com -owa.jetstar.com -owa.kajak.fi -owa.kan.se -owa.lrgs.org.uk -owa.mainroads.wa.gov.au -owa.midroc.se -owa.namfg.com -owa.narsaq.gl -owa.nd.edu.au -owa.nordakademie.de -owa.otani.ac.jp -owa.palama.gov.za -owa.parlement.nl -owa.perceptis.com -owa.pinklotusbreastcenter.com -owa.qaqortoq.gl -owa.rcha.net -owa.roeverbroenner.de -owa.rrpub.com -owa.sktf.se -owa.smh.ca -owa.spservicing.com -owa.tecnicasreunidas.es -owa.uni.lu -owa.wdm-ia.com -owamail.calu.edu -p2pia.com -pacnetservices.com -pagos.uveritas.ac.cr -pagport.jp -pamperedchefconsultantcardapplication.com -parking.bristolairport.co.uk -partille.se -partners.conocophillipsalaska.com -partners.org -pathfinder.woolworths.co.za -pathrocket.com -pay.cimbal.com -paybacktime.com -payment.soulultimatenation.com.tw -pc-one.net -pc-soft.info -pct.edu -pedirefills.ca -penncommons.com -pent-valley.kent.sch.uk -perfectmoney.com -perkinelmergenetics.com -perse.co.uk -perspectica.telmetrics.com -pethairpicksytv.com -petshed.com -pgcwl.com -phwebvpn.org -picnik.com -picnikr.com -pictureitpostage.com -pieseautoaccesorii.com -pim.hypoport.de -pimkie.de -pimkie.es -pimkie.it -pineconeresearch.com -pl-fax.com -planapps.org -planet-tachyon.com -plasmacool.ca -plasmaquebec.com -platform-one.suffolkone.org -playlsi.com -playneverwinter.com -playnextlevel.com -plusuk01.smartsgroup.com -pluto.fipotex.com -pmptech.biz -pocketchair.com -poczta.adamed.com -poczta.km-net.pl -poczta.umwm.pl -pocztam.pap.pl -pods.thinkorswim.com -pokervt.com -popularglasses.com -portaal.steenbok.com -portaal.veenendaal.nl -portail.mairie-blagnac.fr -portail.mont-notre-dame.qc.ca -portal.asms.sa.edu.au -portal.capital-tour.ru -portal.collaborative.com -portal.colonialsd.org -portal.covenantsolutions.org -portal.crh-corp.net -portal.gses.l-3com.com -portal.halcyonit.com -portal.hallco.org -portal.hc-vlc.nl -portal.hello.ch -portal.hpisd.org -portal.hutto.txed.net -portal.klz.org.uk -portal.marchesschool.net -portal.mez.nl -portal.mhyork.org -portal.pascack.k12.nj.us -portal.peckham.org -portal.s1.com -portal.sigmax.nl -portal2.znb.nl -portale.ervet.it -posta.dsi.gov.tr -posti.hippos.fi -powerschool.lawrence.k12.ma.us -powershiftfastcash.com -precash.com -preferredhomecare.com -premierinc.com -premiodestaque.com -princeton.edu -printershop.be -private.stelizabeth.com -pro.mothers-auction.net -procapita.gfbs.se -profil.centrum.cz -profilecenter.ru -profitbuilderenroll.com -projectinsight.cbre.com -promail.ru -proposalsystem.seic.com -provident.com -provider.dchpkids.com -providers.tufts-health.com -ps.dvusd.org -ps.meridianschools.org -psiwebmail.com -psyquel.com -ptstaxonline.com -pufferfish.de -pulmozyme.com -q8car.com -qbranch.se -quickreg.ci.irvine.ca.us -quon.asia -qvcliquidation.com -r4.musicstationonline.com -ra.hntb.com -ra.libertymgt.com -rahorizons.com -rakuraku-market.com -rakuten.co.jp -rampvpn.tessituranetwork.com -raona.com -rasowa.ramairservices.com -rbc.bridgetrack.com -reach-clp-helpdesk.de -reaktor.no -realsuperpass1.smartsubs.net -register.daum.net -register.lynctrial.com -registration.gov.gg -regmurcia.com -rehabcare.com -rem.clow.net.nz -remote.4tw.dk -remote.aa.net.nz -remote.ap.asm.com -remote.clovertowing.com -remote.daugherty.com -remote.dumasmining.com -remote.graduateleverage.com -remote.hbcs.org -remote.hrjconsulting.com -remote.hselaw.com -remote.inshuckch.com -remote.ipmotion.de -remote.neighborimpact.org -remote.noyes-hospital.org -remote.rttg.co.uk -remote.sb-groep.nl -remote.shetland.gov.uk -remote.slalomdemo.com -remote.sticares.org -remote.thechurchofgod.org -remote.unitedspinal.org -remotecall.jp -remoteportal.nasonhospital.com -remotingcoders.com -rencap.com -reporthawk.com -reporting.accesshma.com -reportingportal.com -resalesmart.com -resealandsave.com -research.majesticsteel.com -researcharchive.wintec.ac.nz -reservation.tokyodisneyresort.co.jp -resource-ctr.com -rewardgateway.co.uk -rewardgateway.com.au -rewardgateway.ie -rewardplus.co.uk -rfihub.com -rgdata.com.ua -rhwebmail.com -riddexpulsenow.com -rightathomehomestay.com -rio.edu -risk-buster.com -rismail.rafflesis.com -ristken.com -rituxan.com -riverartsfestmemphis.org -riveroakshosp.com -riverviewregional.com -rk.sjdc.co.jp -rms.unlv.edu -rocmondriaan.net -rodino.ro -rome.faber.co.uk -ross.fs.fed.us -routercenter.be -routercenter.nl -rozodoniy.com -rs.gov.br -rsasurveys.co.uk -rsg-nc.rsgsystems.com -rsmn.reschini.com -rsmoss.rsmedical.com -rsracing.com -rt.rtoaster.jp -runnet.jp -runraceresults.com -rush.edu -s-immobilien.de -s-yoyaku.city.sagamihara.kanagawa.jp -s-yoyaku.city.urayasu.chiba.jp -s.ixiaa.com -s.ncp.imrworldwide.com -s1defense.com -s2task.globe.gov -saab-leadengine.de -saas.dynamate.eu -saas.nines.nl -safetekusa.com -sail.iwcc.edu -saksincorporated.com -samba.huji.ac.il -samsclub.com -samworthenterpriseacademy.org -sandingglovestv.com -sandwellschools.org.uk -sas.com -sbdc.uga.edu -sbiapps.sitesell.com -sbsgroupusa.com -sby.co.il -scad.edu -scartreatmentnow.com -scca.com -sch.uk -schicktech.com -scu-vpn.scu.edu.au -sd68.bc.ca -sdx-ag.de -search.petfinder.com -secep.net -secservizi.it -secure.aceinsurance.com.au -secure.anzmoneymanager.com -secure.atriacom.com -secure.court.gov.il -secure.cst.org -secure.cygnusresources.com -secure.earthclassmail.com -secure.elcofduval.org -secure.globalstar.com -secure.igliving.com -secure.makinglifebetter.com -secure.mbsbillingsolutions.com -secure.mcpa4you.org -secure.mdrc.org -secure.merchantcart.net -secure.mybybox.com -secure.mycashnow.com -secure.nicoga.jp -secure.passport.mnginteractive.com -secure.personalwatercraft.com -secure.pompvanhetvolk.be -secure.reboot.ca -secure.sbmonline.com -secure.sjpharmacal.com -secure.snowmobile.com -secure.www.contracostatimes.com -secure.www.dailybreeze.com -secure.www.denverpost.com -secure.www.mercurynews.com -secure.www.montereyherald.com -secure.www.presstelegram.com -secure.www.sbsun.com -secure.your3creditreportsinstantly.com -secure.zeelandnet.nl -secureaccess.cacu.com -secureconnect.uis.edu -securedatacollection.com -securefeed.co.uk -securible.com -sedgemoor.gov.uk -seha.ae -seibu.jp -seibubus-gt.jp -seisentopbin.com -selfservice.vsource.com -send.group.com -sercel.com -serv.webhostnr1.com -service.hkn.de -servicebund.com -servicedesk.geoeye.com -servicingconnect.com -servizi.allianzbank.it -servizi.atime.it -sesameconnection.org -setnlift.com -sf-vpn01.embark.com -sfsj.se -sgw.ngxo.trinity.ebay.co.uk -sgw.ngxo.trinity.ebay.it -shakeweighttimer.com -shamir.pt -share.epeerless.com -sharepoint.centurionmp.com -sharepoint.convergys.com -sharepoint.smartit.ch -sharepointgermany.cinram.com -sharepointgurus.net -sharpmail.sharpamericas.com -shavershop.be -shavershop.nl -shiki.gr.jp -shop.fatboy.de -shop.fatboy.nl -shop.ftv.com.tw -shop.rcn.com -shop.whatsinyourcity.net -shop4.vcomshop.com -shopbase.finetunes.net -shopnchekshopper.com -shopoutdoornebraska.ne.gov -shr.ro -shsmail.swedish.org -shutdown.cfs.iupui.edu -sigmakudos.com -silkroad.com -simonizfixittv.com -simplewebmanagement.com -sinergiefinancial.net -siriusxmrewards.com -sjomannskirken.no -skyliner.ec.keisei.co.jp -smart.otpbanka.hr -smartdrv.com -smartmoptv.com -smartphoneshop.be -snuggie.ca -snuggietv.com -snuggievarsity.com -socketstore.co.uk -sodexhovpn.com -sodexovpn.com -softsupercoolertv.com -sogo-gogo.com -sols.org -solvethatdebt.com -soquij.qc.ca -southernwine.com -southlakecarroll.edu -sp.hanoverva.gov -sp.se -sparrapid.se -speedyspark.com -spilldaddy.com -splogin.se -springer-sbm.com -springhillregional.net -sprint.com -sprint.net -spss-asp.com -sr-owa.walter.net.au -src.sk.ca -ss3.e-state.co.jp -ssl-vpn1.aau.dk -ssl.clinique-pasteur.com -ssl.siih5962.fr -ssl.weniger-verbrauch.de -ssl2.americanprogressaction.org -ssl3.costar.com -sslvpn.accent.nl -sslvpn.thrivent.com -stadspoort.asp4all.nl -staff.ftc.health-partners.org -staff1.f-i-f.co.uk -startrack.gfkrt.com -startrekonline.com -state.fl.us -state.ks.us -state.wy.us -static.limewirestore.com -statistik.msb.se -stc.ac.uk -steelhorsecomputers.com -stemcellskintherapytv.com -stilltracking.com -stleonards.vic.edu.au -stlogic.com -stofzuigerstore.be -stoneware.cloverdale.k12.in.us -store.homeheartbeat.com -stores.channeladvisor.com -stormgenius.com -strideeveryday.com -stringfellowmemorial.com -studmagic.com -subjectivemetrics.com -summitmedicalcenter.net -sunriseearthdvd.com -superhub.hk -support.bsc-ideas.com -support.cryptas.com -support.dridefault.com -support.goshen.bluestarpro.com -support.landsteinar.nl -support.rosebudtech.com -supportlink.net -svelvik.skole.d-ikt.no -sw.quirinale.it -sw4men.com -sweettracking.com -switch2verizonfios.com -swivelwonderhanger.com -syllabus.doshisha.ac.jp -symetra.com -synergy.workarea.nl -sys.ins-uni.co.jp -syspro.com -system.cord.osaka-geidai.ac.jp -systemb2b.com -tapapp.com -tasgroup.cl -tasmantest.sdc-online.net -tastiwave.ca -tastiwave.com -tastiwavepan.com -taxport.convey.com -taxslayer.com -taxslayerbooks.com -taxstatusnow.com -taxtes.com -tc4men.com -tco.cfbt-inspections.com -teachingboxes.org -tecdlr.com -technology-security-associates.com -techscaler.com -telaris.wlu.ca -teleplan.no -tellabs.com -terrabanking.romexterra.ro -tewkesburyschool.org -tfelements.com -tgw.com -theadspot.tv -thealabamacollegesnuggie.com -thebarkoff.com -thecinema.in -thecomfortfurnace.com -thediamondstore.co.uk -thedownsschool.org -theezstringer.com -thefushigi.com -thehandyvalet.com -thehexlightsite.com -themightysuperstore.com -thepalmwallet.com -thepayplace.com -therockradionetwork.secure.myhosting.net -thesecuraoven.com -theshedd.org -thesource.freemanco.com -thesuperjuicer.com -thetotalcore.com -thewire.wynnresorts.com -threescompany.com -thymesnet.com -ticketfly.com -tickets.carowinds.com -tickets.dorneypark.com -tickets.valleyfair.com -tickets.worldsoffun.com -time.staffme.net -timken.com -tis.jp -tku.ac.jp -tlfw01.fhsg.ch -tmgowa.pointsharp.net -tmsnervecenter.com -tohmatsu.co.jp -token.vpn.mim.dk -tokyo.jp -toltestworld.com -tondeusestore.be -toppenishhospital.com -topsytree.com -totalcore.com -toto-dream.com -touchnet.com -tracs.txstate.edu -transmontaigne.com -transportationtomorrow.on.ca -travelerssaves.com -travelmoneynow.com -trebesin.cz -trendsource.com -tribune.com -tritium.ch -tryabcircle.com -trycrunchlessabs.com -tryeasyfeet.com -tryeyemagic.com -tryfastfit.com -tryfreegrillglovetv.com -trymytomatofactory.com -tryslimtsnow.com -trytotalpillow.com -ts.k14.net -tsn.dataresolution.net -tss-j.co.jp -tsuweb.pilgrimsoftware.com -tu-chemnitz.de -tu-dortmund.de -tuev-nord.de -tum.de -tuwien.ac.at -tvspy.com -twinriversregional.com -twyford.ealing.sch.uk -twynhamschool.com -tx.maxim-ic.com -tylerisd.org -u-tokyo.ac.jp -ube-ind.co.jp -ubi.pt -ucar.edu -uckac.edu -ucr.edu -ucsd.edu -udsis.com -uhk.cz -uillinois.edu -ultrapos.net -umea.se -umons.ac.be -umpcshop.nl -umsamofund.com -umweltbundesamt.at -umweltrat.de -uncg.edu -uni-hamburg.de -unifymoffice.com -unionvpn.union.edu -unisanta.br -unitron.no -univ-lyon1.fr -universalfloodpr.com -unixnotes.wordpress.com -uno.edu -uottawa.ca -update.com -upenn.edu -upgradeserver.coremobility.com -us.connect.newegg.net -us17action.com -usc.edu -user.atlas.sk -userapp.waubonsee.edu -vaderstad.com -valtech.se -vangent.com -vasttrafik.se -vbgov.com -vcsportal.viasyscs.com -veluwsescholengroepcvo.nl -verint.com -versicherungsvergleich.payback.de -vervoerzcn.nl -vetsfirstchoice.com -vfwsturgis.org -vi.macromill.com -vibe.novell.com -vic33.win.kennesaw.edu -videocamerashop.be -videocamerashop.nl -villeesch.lu -virtuall.nl -vivaldi.ru -vivid-trade.com -vle.guilsborough.northants.sch.uk -vle.marling.gloucs.sch.uk -vle.saddleworthschool.org -vocalocity.com -voicerecordershop.be -voicerecordershop.nl -voogd.com -vpdn.dlr.de -vpn-03.houstonisd.org -vpn-04.houstonisd.org -vpn-gw1.unbc.ca -vpn-indy.exacttarget.com -vpn-stud-ssl.hogent.be -vpn.agnesirwin.org -vpn.ats.edu -vpn.ausrad.com -vpn.barry.edu -vpn.bchydro.com -vpn.cclswi.com -vpn.claas.com -vpn.coffey.com.au -vpn.concur.com -vpn.dearborn.pcgcampbell.com -vpn.diebold.com -vpn.doncaster.gov.uk -vpn.douglasesd.k12.or.us -vpn.fhi-berlin.mpg.de -vpn.gribskov.dk -vpn.hbstubbs.com -vpn.hppartners.com -vpn.interseco.nl -vpn.iridium.com -vpn.kleinandhoffman.com -vpn.kmcnetwork.org -vpn.l3stratis.com -vpn.lan.kth.se -vpn.mobilearmor.com -vpn.msmc.la.edu -vpn.nbeavers.com -vpn.netprivateer.com -vpn.pace.edu -vpn.redbarchetta.com -vpn.reliablesprinkler.com -vpn.rz.tu-clausthal.de -vpn.stb.eu -vpn.tarumanagara.com -vpn.tfh-wildau.de -vpn.univ-lr.fr -vpn.unizar.es -vpn.utexas.edu -vpn.uwhealth.org -vpn01.us-support.com -vpn1.sandyspringbank.com -vpngate.tu-bs.de -vpnssl.nwths.biz -vpnuk.oup.com -vr.is -vserver.de -vtc.edu.hk -vtrade.vincomsc.com.vn -wa.gov -waffenamt.it -wakeside.com -walbeekgroep.com -walmarthowwedoit.com -walmartstores.com -warwick.ac.uk -wcvpn.wartburg.edu -web-opas.osakaya.co.jp -web-pl.daikin.co.jp -web-vpn.hefr.ch -web.storen.ch -web.uc.atosorigin.com -webaccess.pvhs.org -webapp.meredith.com -webbdaf.com -webchat.unt.edu -webdirect.jp -webforensics.co.uk -webgate.no -webmail.5sqc.com -webmail.action-inter.com -webmail.ahs.ae -webmail.akd.nl -webmail.akl.whk.co.nz -webmail.alexmann.com -webmail.alturkigroup.net -webmail.apotex.ca -webmail.arthurterry.bham.sch.uk -webmail.asb.dk -webmail.attendshealthcare.com -webmail.audencia.com -webmail.awsg.at -webmail.azmedien.ch -webmail.bayamonpr.org -webmail.bg.fnv.nl -webmail.bggs.qld.edu.au -webmail.bife.ie -webmail.bravilor.com -webmail.bridgercapital.com -webmail.bwfc.co.uk -webmail.c-e.com -webmail.capacent.is -webmail.carmelcollegesalland.nl -webmail.cavanvec.ie -webmail.cg68.fr -webmail.corenet.se -webmail.csaa.com -webmail.dabs.com -webmail.davenportdiocese.org -webmail.deckers.com -webmail.dwango.co.jp -webmail.ecerdc.com.my -webmail.ekero.se -webmail.energimidt.dk -webmail.engevix.com.br -webmail.escortinc.com -webmail.etch.com -webmail.fdm.dk -webmail.finning.co.uk -webmail.firstam.net -webmail.flydubai.com -webmail.frederikshavn.dk -webmail.gazprom-mt.com -webmail.gmh.edu -webmail.hanno.dk -webmail.hostedoutlook.be -webmail.howerter.org -webmail.insight-onsite.us -webmail.integrationsfonds.at -webmail.interwetten.com -webmail.intrinsec.com -webmail.ipzs.it -webmail.ivoclarvivadent.com -webmail.javelindirect.com -webmail.jmp.co.uk -webmail.jungfrau.ch -webmail.kentalis.nl -webmail.keuda.fi -webmail.komatsuforest.com -webmail.ku.edu.tr -webmail.lancashire.bm -webmail.lappia.fi -webmail.lett.dk -webmail.levillage1.be -webmail.levinglobal.com -webmail.lolland.dk -webmail.mahouse.gov -webmail.malvik.kommune.no -webmail.marketing-asiapac.com -webmail.mcbdds.org -webmail.mdc.wa.edu.au -webmail.meca.se -webmail.med.uni-muenchen.de -webmail.mioc.hr -webmail.mjncomputers.co.uk -webmail.modal.com.br -webmail.moh.gov.sa -webmail.mondigroup.com -webmail.monroecounty-fl.gov -webmail.morphosys.com -webmail.mr-daten.de -webmail.mt.gov -webmail.mutter.se -webmail.myeasyoffice.nl -webmail.netdesign.dk -webmail.normik.dk -webmail.odin-groep.nl -webmail.oecd.org -webmail.orbitone.se -webmail.ordina.nl -webmail.plenarygroup.com -webmail.proag.com -webmail.psd.pt -webmail.pu-kumamoto.ac.jp -webmail.qinvest.com -webmail.rasmussen.edu -webmail.realtors.org -webmail.rietlanden.nl -webmail.rijnijssel.nl -webmail.rodenstock.com -webmail.rollins.edu -webmail.rta.ae -webmail.rtg.at -webmail.rtl.hr -webmail.rtp.pt -webmail.saintjohn.ca -webmail.seha.ae -webmail.semtribe.com -webmail.shepleybulfinch.com -webmail.sicl.co.uk -webmail.skilled.com.au -webmail.skogu.nl -webmail.sotog.nl -webmail.span.hr -webmail.sprm.gov.my -webmail.struttandparker.com -webmail.stsmd.dk -webmail.stura.uni-halle.de -webmail.swafnet.com -webmail.t-atrium.nl -webmail.t-systems.dk -webmail.taarnby.dk -webmail.techcampus.org -webmail.teknowlogic.com -webmail.tisq.nl -webmail.transat.com -webmail.tribune.com -webmail.tuev-nord.de -webmail.tys.fi -webmail.uatlantica.pt -webmail.uc4.com -webmail.univ-catholyon.fr -webmail.unl.pt -webmail.usek.edu.lb -webmail.users.co.uk -webmail.veghel.nl -webmail.vennesla.kommune.no -webmail.washsports.com -webmail.windstream.net -webmail.wuerth.at -webmail0.gifu-net.ed.jp -webmail1.finansforbundet.dk -webmail1.go2uti.com -webmaileu.elcoteq.com -webmailwg.datacom.co.nz -webportal.simacict.nl -webportal2.cfisd.net -webprod4.hc-sc.gc.ca -webremote.grainger.com -webvpn.aamc.org -webvpn.au.aecom.com -webvpn.dpsk12.org -webvpn.egyptianlng.com -webvpn.eso.org -webvpn.evraz.com -webvpn.globant.com -webvpn.greywolfcapital.com -webvpn.jccc.edu -webvpn.lexmed.com -webvpn.oceanspray.com -webvpn.progress-energy.com -webvpn.promon.com.br -webvpn.sebh.org -webvpn.usaa.com -webvpn.vcu.edu -webvpn.wesleyan.edu -welltrix.com -welly.sm -west.skofirm.com -wheelingil.gov -wholesale.starfinancial.com -widgetbox.com -wizardfinance.net -wm.valley.ne.jp -wms01.wimaxforum.org -wnp.waseda.jp -woodiesdiy.com -workhere.jetblue.com -worldatwardvds.com -worldwaronecolor.com -worthington-portal.org -ws.licenzji-vetturi.gov.mt -wtoutlook.wellcome.ac.uk -www-sys2.tax.state.oh.us -www.accessingram.com -www.aramex.net -www.azimut.portail.soquij.qc.ca -www.benefitsconnect.net -www.buecher.de -www.cashpoint.com -www.centralr.com -www.champions-online.com -www.chineselovelinks.com -www.coop-kobe.net -www.costco.com.mx -www.djmmusic.com -www.docstoc.com -www.docuware.com -www.e-zoa.com -www.easy-share.com -www.echo.com -www.edumail.vic.gov.au -www.eduweb.vic.gov.au -www.empresas.bancobcr.com -www.expesite.com -www.fucam.ac.be -www.golfdo.com -www.gomopa.net -www.hangikredi.com -www.hastingsessential.com -www.homedepotrebates.com -www.improvementscatalog.com -www.istyle.com.tw -www.jerusalem.muni.il -www.krungsricashlink.com -www.marshallsonline.com -www.microline.hr -www.miller.co.jp -www.mochibot.com -www.mochimedia.com -www.mof.go.jp -www.montimbrenligne.laposte.fr -www.mp4all.nl -www.mypoint.com -www.ncatrak.org -www.neways.com -www.newaysonline.com -www.nochex.com -www.otpbank.hu -www.pagport.jp -www.picnik.com -www.promptparts.com -www.rotaban.ru -www.rr.com -www.safelinkwireless.com -www.samstores.com -www.smarttickets.com.au -www.smartypig.com -www.startrekonline.com -www.store.limewire.com -www.thailovelinks.com -www.thecinema.in -www.themls.com -www.tjmaxx.com -www.topfox.co.uk -www.toranoana.jp -www.tryabcircle.com -www.voogd.com -www.vpn.cmu.edu -www.wiso.uni-hamburg.de -www.yourwirelessrebatecenter.com -www.zenfolio.com -www.zoominfo.com -www1.cat365.net -www1.hop.ana.co.jp -www2.hokepon.com -www2.lcmcisd.org -www2.proexam.org -www2.tagmulimta.co.il -www2.tel-aviv.gov.il -www2.ticket-web-shochiku.com -wwwssl.isd109.org -wwwx.oaklandcc.edu -wwy01.shiki.gr.jp -wynbilling.wyndhamworldwide.com -wza.nl -xchg.int.t-mobile.at -xfinityhomesecurity.com -xmlic.payfuse.com -xmlrpc4.mollom.com -xnet.woodforest.com -xtremecardioonline.com -yahoo-vi.co.jp -yakimaregional.com -yaskawa.co.jp -yayoi-kk.co.jp -yes123.com.tw -yodlee.com -yourownshoppingcart.com -yoyaku.city.funabashi.chiba.jp -yoyaku.city.hachioji.tokyo.jp -yoyaku.nasva.go.jp -yoyaku.parksweb.net -zain.com -zenfolio.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 e1ff7d2..0000000 --- a/net/base/ssl_false_start_blacklist_process.cc +++ /dev/null @@ -1,214 +0,0 @@ -// Copyright (c) 2011 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 <algorithm> -#include <cstdio> -#include <set> -#include <sstream> -#include <string> -#include <vector> - -#include "base/basictypes.h" -#include "base/file_util.h" -#include "base/string_util.h" -#include "net/base/ssl_false_start_blacklist.h" - -typedef std::vector<std::string> Hosts; - -// Parses |input| as a blacklist data file, and returns the set of hosts it -// contains. -Hosts ParseHosts(const std::string& input) { - Hosts hosts; - size_t line_start = 0; - bool is_comment = false; - bool non_whitespace_seen = false; - for (size_t i = 0; i <= input.size(); ++i) { - if (i == input.size() || input[i] == '\n') { - if (!is_comment && non_whitespace_seen) { - size_t len = i - line_start; - if (i > 0 && input[i - 1] == '\r') - len--; - hosts.push_back(input.substr(line_start, len)); - } - is_comment = false; - non_whitespace_seen = false; - line_start = i + 1; - } else if (input[i] != ' ' && input[i] != '\t' && input[i] != '\r') { - non_whitespace_seen = true; - if (i == line_start && input[i] == '#') - is_comment = true; - } - } - VLOG(1) << "Have " << hosts.size() << " hosts after parse"; - return hosts; -} - -// Returns |host| with any initial "www." and trailing dots removed. Partly -// based on net::StripWWW(). -std::string StripWWWAndTrailingDots(const std::string& host) { - const std::string www("www."); - const size_t start = StartsWithASCII(host, www, true) ? www.length() : 0; - const size_t end = host.find_last_not_of('.'); - return (end == std::string::npos) ? - std::string() : host.substr(start, end - start + 1); -} - -// Removes all duplicates from |hosts|. -static void RemoveDuplicateEntries(std::vector<std::string>* hosts) { - std::sort(hosts->begin(), hosts->end()); - hosts->erase(std::unique(hosts->begin(), hosts->end()), hosts->end()); - VLOG(1) << "Have " << hosts->size() << " hosts after removing duplicates"; -} - -// Returns the parent domain for |host|, or the empty string if the name is a -// top-level domain. -static std::string ParentDomain(const std::string& host) { - const size_t first_dot = host.find('.'); - return (first_dot == std::string::npos) ? - std::string() : host.substr(first_dot + 1); -} - -// Predicate which returns true when a hostname has a parent domain in the set -// of hosts provided at construction time. -class ParentInSet : public std::unary_function<std::string, bool> { - public: - explicit ParentInSet(const std::set<std::string>& hosts) : hosts_(hosts) {} - - bool operator()(const std::string& host) const { - for (std::string parent(ParentDomain(host)); !parent.empty(); - parent = ParentDomain(parent)) { - if (hosts_.count(parent)) { - VLOG(1) << "Removing " << host << " as redundant"; - return true; - } - } - return false; - } - - private: - const std::set<std::string>& hosts_; -}; - -// Removes any hosts which are subdomains of other hosts. E.g. -// "foo.example.com" would be removed if "example.com" were also included. -static void RemoveRedundantEntries(Hosts* hosts) { - std::set<std::string> hosts_set; - for (Hosts::const_iterator i(hosts->begin()); i != hosts->end(); ++i) - hosts_set.insert(*i); - hosts->erase(std::remove_if(hosts->begin(), hosts->end(), - ParentInSet(hosts_set)), hosts->end()); - VLOG(1) << "Have " << hosts->size() << " hosts after removing redundants"; -} - -// Returns true iff all |hosts| are less than 256 bytes long (not including the -// terminating NUL) and contain two or more dot-separated components. -static bool CheckLengths(const Hosts& hosts) { - for (Hosts::const_iterator i(hosts.begin()); i != hosts.end(); ++i) { - if (i->size() >= 256) { - fprintf(stderr, "Entry '%s' is too large\n", i->c_str()); - return false; - } - if (net::SSLFalseStartBlacklist::LastTwoComponents(*i).empty()) { - fprintf(stderr, "Entry '%s' contains too few labels\n", i->c_str()); - return false; - } - } - - return true; -} - -// Returns the contents of the output file to be written. -std::string GenerateOutput(const Hosts& hosts) { - // Hash each host into its appropriate bucket. - VLOG(1) << "Using " << net::SSLFalseStartBlacklist::kBuckets - << " entry hash table"; - Hosts buckets[net::SSLFalseStartBlacklist::kBuckets]; - for (Hosts::const_iterator i(hosts.begin()); i != hosts.end(); ++i) { - const uint32 hash = net::SSLFalseStartBlacklist::Hash( - net::SSLFalseStartBlacklist::LastTwoComponents(*i)); - buckets[hash & (net::SSLFalseStartBlacklist::kBuckets - 1)].push_back(*i); - } - - // Write header. - std::ostringstream output; - output << "// Copyright (c) 2011 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// WARNING: This code is" - " generated by ssl_false_start_blacklist_process.cc.\n// Do not " - "edit.\n\n#include \"net/base/ssl_false_start_blacklist.h\"\n\n" - "namespace net {\n\nconst uint32 " - "SSLFalseStartBlacklist::kHashTable[" - << net::SSLFalseStartBlacklist::kBuckets << " + 1] = {\n 0,\n"; - - // Construct data table, writing out the size as each bucket is appended. - std::string table_data; - size_t max_bucket_size = 0; - for (size_t i = 0; i < net::SSLFalseStartBlacklist::kBuckets; i++) { - max_bucket_size = std::max(max_bucket_size, buckets[i].size()); - for (Hosts::const_iterator j(buckets[i].begin()); j != buckets[i].end(); - ++j) { - table_data.push_back(static_cast<char>(j->size())); - table_data.append(*j); - } - output << " " << table_data.size() << ",\n"; - } - output << "};\n\n"; - VLOG(1) << "Largest bucket has " << max_bucket_size << " entries"; - - // Write data table, breaking lines after 72+ (2 indent, 70+ data) characters. - output << "const char SSLFalseStartBlacklist::kHashData[] = {\n"; - for (size_t i = 0, line_length = 0; i < table_data.size(); i++) { - if (line_length == 0) - output << " "; - std::ostringstream::pos_type current_length = output.tellp(); - output << static_cast<int>(table_data[i]) << ", "; - line_length += output.tellp() - current_length; - if (i == table_data.size() - 1) { - output << "\n};\n"; - } else if (line_length >= 70) { - output << "\n"; - line_length = 0; - } - } - output << "\n} // namespace net\n"; - return output.str(); -} - -#if defined(OS_WIN) -int wmain(int argc, wchar_t* argv[], wchar_t* envp[]) { -#elif defined(OS_POSIX) -int main(int argc, char* argv[], char* envp[]) { -#endif - if (argc != 3) { - fprintf(stderr, "Usage: %s <blacklist file> <output .c file>\n", argv[0]); - return 1; - } - - // Read input file. - std::string input; - if (!file_util::ReadFileToString(FilePath(argv[1]), &input)) { - fprintf(stderr, "Failed to read input file '%s'\n", argv[1]); - return 2; - } - Hosts hosts(ParseHosts(input)); - - // Sanitize |hosts|. - std::transform(hosts.begin(), hosts.end(), hosts.begin(), - StripWWWAndTrailingDots); - RemoveDuplicateEntries(&hosts); - RemoveRedundantEntries(&hosts); - if (!CheckLengths(hosts)) - return 3; - - // Write output file. - const std::string output_str(GenerateOutput(hosts)); - if (file_util::WriteFile(FilePath(argv[2]), output_str.data(), - output_str.size()) == static_cast<int>(output_str.size())) - return 0; - fprintf(stderr, "Failed to write output file '%s'\n", argv[2]); - return 4; -} 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 ea722967..0000000 --- a/net/base/ssl_false_start_blacklist_unittest.cc +++ /dev/null @@ -1,39 +0,0 @@ -// Copyright (c) 2011 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" - -namespace net { - -TEST(SSLFalseStartBlacklistTest, LastTwoComponents) { - EXPECT_EQ(SSLFalseStartBlacklist::LastTwoComponents("a.b.c.d"), "c.d"); - EXPECT_EQ(SSLFalseStartBlacklist::LastTwoComponents("a.b"), "a.b"); - EXPECT_EQ(SSLFalseStartBlacklist::LastTwoComponents("www.a.de"), "a.de"); - EXPECT_EQ(SSLFalseStartBlacklist::LastTwoComponents("www.www.a.de"), "a.de"); - EXPECT_EQ(SSLFalseStartBlacklist::LastTwoComponents("a.com."), "a.com"); - EXPECT_EQ(SSLFalseStartBlacklist::LastTwoComponents("a.com.."), "a.com"); - - EXPECT_TRUE(SSLFalseStartBlacklist::LastTwoComponents("com").empty()); - EXPECT_TRUE(SSLFalseStartBlacklist::LastTwoComponents(".com").empty()); - EXPECT_TRUE(SSLFalseStartBlacklist::LastTwoComponents("").empty()); -} - -TEST(SSLFalseStartBlacklistTest, IsMember) { - EXPECT_TRUE(SSLFalseStartBlacklist::IsMember("example.com")); - EXPECT_TRUE(SSLFalseStartBlacklist::IsMember("www.example.com")); - EXPECT_TRUE(SSLFalseStartBlacklist::IsMember("a.b.example.com")); - EXPECT_FALSE(SSLFalseStartBlacklist::IsMember("aexample.com")); - EXPECT_FALSE(SSLFalseStartBlacklist::IsMember("com")); - - EXPECT_TRUE(SSLFalseStartBlacklist::IsMember("www.toto-dream.com")); - EXPECT_TRUE(SSLFalseStartBlacklist::IsMember("billing.ntt-east.co.jp")); - EXPECT_TRUE(SSLFalseStartBlacklist::IsMember("thepayplace.com")); - - EXPECT_TRUE(SSLFalseStartBlacklist::IsMember("nordea.se")); - EXPECT_TRUE(SSLFalseStartBlacklist::IsMember("nordea.com")); - EXPECT_TRUE(SSLFalseStartBlacklist::IsMember("nordeanetbank.dk")); -} - -} // namespace net diff --git a/net/net.gyp b/net/net.gyp index 43790d8..f4ab7b5 100644 --- a/net/net.gyp +++ b/net/net.gyp @@ -37,7 +37,6 @@ '../third_party/zlib/zlib.gyp:zlib', '../v8/tools/gyp/v8.gyp:v8', 'net_resources', - 'ssl_false_start_blacklist_process#host', ], 'sources': [ 'android/network_library.cc', @@ -239,8 +238,6 @@ 'base/ssl_config_service.h', 'base/ssl_config_service_defaults.cc', 'base/ssl_config_service_defaults.h', - 'base/ssl_false_start_blacklist.cc', - 'base/ssl_false_start_blacklist.h', 'base/ssl_info.cc', 'base/ssl_info.h', 'base/static_cookie_policy.cc', @@ -773,25 +770,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': [ ['chromeos==1', { 'sources!': [ @@ -1093,7 +1071,6 @@ 'base/ssl_cipher_suite_names_unittest.cc', 'base/ssl_client_auth_cache_unittest.cc', 'base/ssl_config_service_unittest.cc', - 'base/ssl_false_start_blacklist_unittest.cc', 'base/static_cookie_policy_unittest.cc', 'base/test_certificate_data.h', 'base/test_completion_callback_unittest.cc', @@ -1718,29 +1695,6 @@ 'tools/crl_set_dump/crl_set_dump.cc', ], }, - { - 'target_name': 'ssl_false_start_blacklist_process', - 'type': 'executable', - 'toolsets': ['host'], - 'dependencies': [ - '../base/base.gyp:base', - '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations', - ], - 'include_dirs': [ - '..', - ], - 'sources': [ - 'base/ssl_false_start_blacklist_process.cc', - 'base/ssl_false_start_blacklist.h', - ], - 'conditions': [ - ['OS == "android" and host_os == "linux"', { - 'ldflags': [ - '-ldl', - ], - }], - ], - }, ], 'conditions': [ ['os_posix == 1 and OS != "mac" and OS != "android"', { diff --git a/net/socket/ssl_client_socket_nss.cc b/net/socket/ssl_client_socket_nss.cc index 86bcd18..5fd5f11 100644 --- a/net/socket/ssl_client_socket_nss.cc +++ b/net/socket/ssl_client_socket_nss.cc @@ -116,12 +116,6 @@ static const int kRecvBufferSize = 4096; -// kCorkTimeoutMs is the number of milliseconds for which we'll wait for a -// Write to an SSL socket which we're False Starting. Since corking stops the -// Finished message from being sent, the server sees an incomplete handshake -// and some will time out such sockets quite aggressively. -static const int kCorkTimeoutMs = 200; - #if defined(OS_WIN) // CERT_OCSP_RESPONSE_PROP_ID is only implemented on Vista+, but it can be // set on Windows XP without error. There is some overhead from the server @@ -437,7 +431,6 @@ SSLClientSocketNSS::SSLClientSocketNSS(ClientSocketHandle* transport_socket, const SSLClientSocketContext& context) : transport_send_busy_(false), transport_recv_busy_(false), - corked_(false), transport_(transport_socket), host_and_port_(host_and_port), ssl_config_(ssl_config), @@ -791,10 +784,6 @@ int SSLClientSocketNSS::Write(IOBuffer* buf, int buf_len, user_write_buf_ = buf; user_write_buf_len_ = buf_len; - if (corked_) { - corked_ = false; - uncork_timer_.Reset(); - } int rv = DoWriteLoop(OK); if (rv == ERR_IO_PENDING) { @@ -917,12 +906,9 @@ int SSLClientSocketNSS::InitializeSSLOptions() { LogFailedNSSFunction(net_log_, "SSL_OptionSet", "SSL_ENABLE_DEFLATE"); #endif - PRBool false_start_enabled = - ssl_config_.false_start_enabled && - !SSLConfigService::IsKnownFalseStartIncompatibleServer( - host_and_port_.host()); #ifdef SSL_ENABLE_FALSE_START - rv = SSL_OptionSet(nss_fd_, SSL_ENABLE_FALSE_START, false_start_enabled); + rv = SSL_OptionSet(nss_fd_, SSL_ENABLE_FALSE_START, + ssl_config_.false_start_enabled); if (rv != SECSuccess) LogFailedNSSFunction(net_log_, "SSL_OptionSet", "SSL_ENABLE_FALSE_START"); #endif @@ -949,7 +935,8 @@ int SSLClientSocketNSS::InitializeSSLOptions() { } #ifdef SSL_CBC_RANDOM_IV - rv = SSL_OptionSet(nss_fd_, SSL_CBC_RANDOM_IV, false_start_enabled); + rv = SSL_OptionSet(nss_fd_, SSL_CBC_RANDOM_IV, + ssl_config_.false_start_enabled); if (rv != SECSuccess) LogFailedNSSFunction(net_log_, "SSL_OptionSet", "SSL_CBC_RANDOM_IV"); #endif @@ -1965,14 +1952,6 @@ void SSLClientSocketNSS::SaveSSLHostInfo() { ssl_host_info_->Persist(); } -void SSLClientSocketNSS::UncorkAfterTimeout() { - corked_ = false; - int nsent; - do { - nsent = BufferSend(); - } while (nsent > 0); -} - // Do as much network I/O as possible between the buffer and the // transport socket. Return true if some I/O performed, false // otherwise (error or ERR_IO_PENDING). @@ -2009,9 +1988,6 @@ int SSLClientSocketNSS::BufferSend(void) { memio_GetWriteParams(nss_bufs_, &buf1, &len1, &buf2, &len2); const unsigned int len = len1 + len2; - if (corked_ && len < kRecvBufferSize / 2) - return 0; - int rv = 0; if (len) { scoped_refptr<IOBuffer> send_buffer(new IOBuffer(len)); @@ -2125,50 +2101,6 @@ SECStatus SSLClientSocketNSS::OwnAuthCertHandler(void* arg, PRFileDesc* socket, PRBool checksig, PRBool is_server) { -#ifdef SSL_ENABLE_FALSE_START - // In the event that we are False Starting this connection, we wish to send - // out the Finished message and first application data record in the same - // packet. This prevents non-determinism when talking to False Start - // intolerant servers which, otherwise, might see the two messages in - // different reads or not, depending on network conditions. - PRBool false_start = 0; - SECStatus rv = SSL_OptionGet(socket, SSL_ENABLE_FALSE_START, &false_start); - DCHECK_EQ(SECSuccess, rv); - - SSLClientSocketNSS* that = reinterpret_cast<SSLClientSocketNSS*>(arg); - CERTCertificate* cert = SSL_PeerCertificate(that->nss_fd_); - if (cert) { - char* common_name = CERT_GetCommonName(&cert->issuer); - if (common_name) { - if (false_start && strcmp(common_name, "ESET_RootSslCert") == 0) { - // ESET anti-virus is capable of intercepting HTTPS connections on - // Windows. However, it is False Start intolerant and causes the - // connections to hang forever. We detect ESET by the issuer of the - // leaf certificate and set a flag to return a specific error, giving - // the user instructions for reconfiguring ESET. - that->eset_mitm_detected_ = true; - } - if (false_start && - strcmp(common_name, "ContentWatch Root Certificate Authority") == 0) { - // This is NetNanny. NetNanny are updating their product so we - // silently disable False Start for now. - rv = SSL_OptionSet(socket, SSL_ENABLE_FALSE_START, PR_FALSE); - DCHECK_EQ(SECSuccess, rv); - false_start = 0; - } - PORT_Free(common_name); - } - CERT_DestroyCertificate(cert); - } - - if (false_start && !that->handshake_callback_called_) { - that->corked_ = true; - that->uncork_timer_.Start(FROM_HERE, - base::TimeDelta::FromMilliseconds(kCorkTimeoutMs), - that, &SSLClientSocketNSS::UncorkAfterTimeout); - } -#endif - // Tell NSS to not verify the certificate. return SECSuccess; } diff --git a/net/socket/ssl_client_socket_nss.h b/net/socket/ssl_client_socket_nss.h index 0860276..b708504 100644 --- a/net/socket/ssl_client_socket_nss.h +++ b/net/socket/ssl_client_socket_nss.h @@ -147,7 +147,6 @@ class SSLClientSocketNSS : public SSLClientSocket { int DoPayloadWrite(); void LogConnectionTypeMetrics() const; void SaveSSLHostInfo(); - void UncorkAfterTimeout(); bool DoTransportIO(); int BufferSend(void); @@ -211,12 +210,6 @@ class SSLClientSocketNSS : public SSLClientSocket { bool transport_send_busy_; bool transport_recv_busy_; - // corked_ is true if we are currently suspending writes to the network. This - // is named after the similar kernel flag, TCP_CORK. - bool corked_; - // uncork_timer_ is used to limit the amount of time that we'll delay the - // Finished message while waiting for a Write. - base::OneShotTimer<SSLClientSocketNSS> uncork_timer_; scoped_refptr<IOBuffer> recv_buffer_; scoped_ptr<ClientSocketHandle> transport_; diff --git a/net/socket/ssl_client_socket_openssl.cc b/net/socket/ssl_client_socket_openssl.cc index 3ee7886..c7ed20f 100644 --- a/net/socket/ssl_client_socket_openssl.cc +++ b/net/socket/ssl_client_socket_openssl.cc @@ -484,13 +484,6 @@ bool SSLClientSocketOpenSSL::Init() { // Same as above, this time for the SSL mode. SslSetClearMask mode; -#if defined(SSL_MODE_HANDSHAKE_CUTTHROUGH) - mode.ConfigureFlag(SSL_MODE_HANDSHAKE_CUTTHROUGH, - ssl_config_.false_start_enabled && - !SSLConfigService::IsKnownFalseStartIncompatibleServer( - host_and_port_.host())); -#endif - #if defined(SSL_MODE_RELEASE_BUFFERS) mode.ConfigureFlag(SSL_MODE_RELEASE_BUFFERS, true); #endif diff --git a/net/third_party/nss/README.chromium b/net/third_party/nss/README.chromium index 6e2ca29..d7110f0 100644 --- a/net/third_party/nss/README.chromium +++ b/net/third_party/nss/README.chromium @@ -65,6 +65,9 @@ Patches: https://bugzilla.mozilla.org/show_bug.cgi?id=681065 patches/dtls.patch + * Enable False Start only when the server supports NPN. + patches/falsestartnpn.patch + Apply the patches to NSS by running the patches/applypatches.sh script. Read the comments at the top of patches/applypatches.sh for instructions. diff --git a/net/third_party/nss/patches/applypatches.sh b/net/third_party/nss/patches/applypatches.sh index dbb603e..766a0ca 100755 --- a/net/third_party/nss/patches/applypatches.sh +++ b/net/third_party/nss/patches/applypatches.sh @@ -34,3 +34,5 @@ patch -p6 < $patches_dir/restartclientauth.patch patch -p6 < $patches_dir/encryptedclientcerts.patch patch -p4 < $patches_dir/dtls.patch + +patch -p6 < $patches_dir/falsestartnpn.patch diff --git a/net/third_party/nss/ssl/ssl3con.c b/net/third_party/nss/ssl/ssl3con.c index e8a7f017..d0eb042 100644 --- a/net/third_party/nss/ssl/ssl3con.c +++ b/net/third_party/nss/ssl/ssl3con.c @@ -6086,6 +6086,7 @@ ssl3_CanFalseStart(sslSocket *ss) { rv = ss->opt.enableFalseStart && !ss->sec.isServer && !ss->ssl3.hs.isResuming && + ssl3_ExtensionNegotiated(ss, ssl_next_proto_nego_xtn) && ss->ssl3.cwSpec && ss->ssl3.cwSpec->cipher_def->secret_key_size >= 10 && (ss->ssl3.hs.kea_def->exchKeyType == ssl_kea_rsa || diff --git a/net/third_party/nss/ssl/ssl3ext.c b/net/third_party/nss/ssl/ssl3ext.c index 80c1f7f..4e043b8 100644 --- a/net/third_party/nss/ssl/ssl3ext.c +++ b/net/third_party/nss/ssl/ssl3ext.c @@ -567,6 +567,8 @@ ssl3_ServerHandleNextProtoNegoXtn(sslSocket * ss, PRUint16 ex_type, SECItem *dat return SECFailure; } + ss->xtnData.negotiated[ss->xtnData.numNegotiated++] = ex_type; + return SECSuccess; } @@ -635,6 +637,8 @@ ssl3_ClientHandleNextProtoNegoXtn(sslSocket *ss, PRUint16 ex_type, return SECFailure; } + ss->xtnData.negotiated[ss->xtnData.numNegotiated++] = ex_type; + SECITEM_FreeItem(&ss->ssl3.nextProto, PR_FALSE); return SECITEM_CopyItem(NULL, &ss->ssl3.nextProto, &result); } |