diff options
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); } |