summaryrefslogtreecommitdiffstats
path: root/net/base/sdch_manager.cc
Commit message (Collapse)AuthorAgeFilesLines
* Make SDCH classes IO-thread-only. Remove TSan suppression.joi@chromium.org2011-12-021-1/+16
| | | | | | | | | BUG=105579 Review URL: http://codereview.chromium.org/8749016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112677 0039d316-1c4b-4281-b951-d872f2087c98
* Moved SDCH initialization from UI thread to IO thread.rtenneti@chromium.org2011-09-171-10/+10
| | | | | | | | | | | | | Removed enabling of SDCH per domain. Added -disable-sdch to disable SDCH. SDCH is eanbled by default. BUG=96455 TEST=network unit tests and sdch testing R=jar Review URL: http://codereview.chromium.org/7891069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101661 0039d316-1c4b-4281-b951-d872f2087c98
* Using DCHECK_NE/EQ/LE/GE/GT/LT() where possible. Updating logging in ↵kushi.p@gmail.com2011-05-051-2/+2
| | | | | | | | | | | | | src/net/base/ Contributor: kushi.p@gmail.com BUG=58409 Review URL: http://codereview.chromium.org/6905059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84228 0039d316-1c4b-4281-b951-d872f2087c98
* Eliminate wstring from base/utf_offset_string_conversions.h, ↵pkasting@chromium.org2011-05-031-2/+1
| | | | | | | | | | net/base/escape.h, and net/base/net_util.h, and reduce the API surfaces in various places slightly where possible. BUG=23581 TEST=none Review URL: http://codereview.chromium.org/6898026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83948 0039d316-1c4b-4281-b951-d872f2087c98
* Move crypto files out of base, to a top level directory.rvargas@google.com2011-04-141-2/+2
| | | | | | | | | | | | | src/crypto is now an independent project that contains our cryptographic primitives (except md5 and sha1). This removes the base dependency from nss, openssl and sqlite. BUG=76996 TEST=none Review URL: http://codereview.chromium.org/6805019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81611 0039d316-1c4b-4281-b951-d872f2087c98
* Remove most unnecessary uses of "net::" in net/base/.adamk@chromium.org2011-03-251-1/+1
| | | | | | | | | | Also removes several empty and unused gtest test fixtures. R=willchan@chromium.org Review URL: http://codereview.chromium.org/6676134 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79411 0039d316-1c4b-4281-b951-d872f2087c98
* Fix Coverity PASS_BY_VALUE defect in SdchManager::Dictionary::CanSet.wtc@chromium.org2011-02-111-1/+1
| | | | | | | | | | | R=jar CID=14718 BUG=none TEST=none Review URL: http://codereview.chromium.org/6493001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@74539 0039d316-1c4b-4281-b951-d872f2087c98
* net: Add namespace net to Sdch* classes.tfarina@chromium.org2011-02-011-16/+21
| | | | | | | | | BUG=64263 TEST=compiled locally and trybots Review URL: http://codereview.chromium.org/6347033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73249 0039d316-1c4b-4281-b951-d872f2087c98
* Start reordering the methods in headers in net/.erg@google.com2011-01-071-224/+225
| | | | | | | | | | | | This patch also starts reordering some of the cc files to match their headers. More of both cleanups will be done in future patches. BUG=68682 TEST=compiles Review URL: http://codereview.chromium.org/6085013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70799 0039d316-1c4b-4281-b951-d872f2087c98
* Convert LOG(INFO) to VLOG(1) - net/.pkasting@chromium.org2010-10-161-2/+2
| | | | | | | | | | Also converts COOKIE_DLOG (since VLOG can be toggled on a granular basis), removes some unneeded "endl"s and {}s, aligns "<<"s per style guide, and changes KeygenHandler::GenKeyAndSignChallenge() to avoid using "goto". BUG=none TEST=none Review URL: http://codereview.chromium.org/3846001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62831 0039d316-1c4b-4281-b951-d872f2087c98
* Move Stats, histograms, and field trial into a metrics subdirectory of base andbrettw@chromium.org2010-10-141-2/+1
| | | | | | | | | put them in the base namespace. TEST=it compiles BUG=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62510 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Move a bunch of code to the headers and remove includes.erg@google.com2010-09-221-0/+3
| | | | | | | | | BUG=none TEST=compiles Review URL: http://codereview.chromium.org/3412016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60208 0039d316-1c4b-4281-b951-d872f2087c98
* Convert more callers of the integer/string functions to usingbrettw@chromium.org2010-07-311-3/+8
| | | | | | | | | | string_number_conversions.h TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/3013046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54454 0039d316-1c4b-4281-b951-d872f2087c98
* linux: build with -Wextraevan@chromium.org2010-02-051-2/+2
| | | | | | | | | | | | 95% of this is removing "const" from return types, but turning this on found one bug! (A "for" loop that expected its iterator to go negative but which was using an unsigned type.) BUG=34160 Review URL: http://codereview.chromium.org/570012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@38266 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup histogram classes mixing SetFlags into FactoryGet argumentsjar@chromium.org2009-12-281-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Generic cleanup of histogram class, renaming *FactoryGet to FactoryGet, along with reformatting. The macros were cleaned up to use common sub-macros rather than repeating code as much. Removed ThreadSafeHistogram (and associated ASSET_HISTOGRAM macros) since this class was not getting used. I introduced UMA_HISTOGRAM_ENUMERATION to support the common use of LinearHistograms to count various enumerated values. I added a Flags argument to all the FactoryGet routines to help avoid needing to call SetFlags each time a new sample is Add()ed. This also simplifies the code. This will all help prepare for a "don't histogram at all" macro setting so that I can test the impact of the histogram macro calls on performance (since there are now so many active histograms). BUG=31206 r=raman.tenneti Review URL: http://codereview.chromium.org/515033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35295 0039d316-1c4b-4281-b951-d872f2087c98
* Use factory to create histograms, and refcounts to track lifetimesjar@chromium.org2009-12-061-4/+5
| | | | | | | | | | | | | | | This is CL patch 377028 by Raman Tenneti, with minor changes to make the try-bots happier. It is cleanup that better ensures lifetimes of histograms (making it harder for users to abuse them). bug=16495 (repairs leak induced by the first landing) bug=18840 (should make leaks less possible) tbr=raman.tenneti Review URL: http://codereview.chromium.org/462027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33933 0039d316-1c4b-4281-b951-d872f2087c98
* Move base64 from 'net/base' into 'base'.hayato@chromium.org2009-11-241-2/+2
| | | | | | | | | BUG=13572 TEST=none Review URL: http://codereview.chromium.org/399068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32918 0039d316-1c4b-4281-b951-d872f2087c98
* Fix some coverity warnings in src/net.willchan@chromium.org2009-07-101-4/+4
| | | | | | Review URL: http://codereview.chromium.org/155315 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20352 0039d316-1c4b-4281-b951-d872f2087c98
* Handle proxy corruption including nesting of compressino algorithmsjar@chromium.org2009-06-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Vodaphone (UK) Mobile Broadband appears to be providing an extra level of gzip compression, at the same time as it discards the content encoding "sdch,gzip" and replaces it with "gzip." The previous approach for handling a missing "sdch" content encoding statement from a server that *probably* was trying to send encoded content, was to replace the (probably) garbage content encoding with tentative decodings for both gzip and sdch. That approach was not sufficient for the resulting double-gzip encoding that Vodaphone provided :-(. This fix leaves the existing content encodings (such as Vodaphone's solo "gzip"), and adds the tentative decodings (gzip plus sdch). Hence we translate received content encodings (when we know we requested an SDCH response by including an applicable dictionary) as follows: "sdch,gzip" unchanged. This is perfect. "" ==> "Tent_sdch, Tent_gzip" "gzip" ==> "Tent_sdch, Test_gzip, gzip" Note that the TENTATIVE_gzip is a sniffing gzip, that can turn into an identity (no-op) filter if it can't find a gzip header. By continuing to use a tentative SDCH, it is possible for the SDCH filter to make error recovery decision, and to record stats on this case. In addition, I've changed the error recovery approach in the SDCH filter to be ultra conservative. If there is ANY unrecoverable error in a response to an SDCH request, then we will blacklist the host of the URL. Recoverable errors are where the SDCH is fully functional, and decodes its data using the dictionary. The test cases added focus on the double gzip cases, as observed in Vodaphone (UK) Mobile Broadband. BUG=13606 r=huanr Review URL: http://codereview.chromium.org/140037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18936 0039d316-1c4b-4281-b951-d872f2087c98
* Adjust histograms to only collect non-cache stats for SDCH.jar@chromium.org2009-05-151-4/+6
| | | | | | | | | | | | | | | | I also changed the name of all the SDCH histograms so that there would be no confusion about the data. I also added one new problem code, but that recordation doesn't have any semantic impact. I added it to help make it easier to diagnose dictionary specification errors in SDCH. bug=12012 R=wtc Review URL: http://codereview.chromium.org/115377 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16138 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure that IO thread is not called in last actions by SDCH shutdownjar@chromium.org2009-05-131-0/+7
| | | | | | | | | | | | | Unregister the sdch_dictionary_fetcher so that it destroys any pending URLFetcher instances when we are nearing shutdown time. Dictionaries are only *potentially* useful (and not needed) for future SDCH fetches, so abandoning any pending items is safe and harmless. b=9669 r=wtc Review URL: http://codereview.chromium.org/113235 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16015 0039d316-1c4b-4281-b951-d872f2087c98
* Change names of SDCH related histograms.jar@chromium.org2009-05-021-3/+3
| | | | | | | | | | | | | | | I now have accumulated too many evolutions of histograms for SDCH, and it is getting harder to pull out the most recent set from the lengthly list (and confusing other folks). I've created a new prefix of "Sdch2." rather than "Sdch." for all the histogram names. I also include a few lint fixups on DCHECKs. r=rafaelw Review URL: http://codereview.chromium.org/100275 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15129 0039d316-1c4b-4281-b951-d872f2087c98
* Hand craft an A/B test of SDCH compressionjar@chromium.org2009-04-301-2/+24
| | | | | | | | | | | | | | | After we're sure we can do SDCH compression to a given URL, toss a 50-50 coin each time we have a chance to advertise SDCH, and either completely avoid advertisement, or advertise (including the dictionary). Histogram both compression download times, as well as the download times for the "completely avoid" case. http://crbug.com/11236 bug=11236 r=wtc,openvcdiff Review URL: http://codereview.chromium.org/100004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15010 0039d316-1c4b-4281-b951-d872f2087c98
* Correct SDCH enforcement of PathMatch for dictionariesjar@chromium.org2009-04-201-1/+1
| | | | | | | r=openvcdiff Review URL: http://codereview.chromium.org/67286 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14041 0039d316-1c4b-4281-b951-d872f2087c98
* Increase allowable dictionary size so that iGoogle can test SDCHjar@chromium.org2009-03-271-1/+1
| | | | | | | r=huanr,openvcdiff Review URL: http://codereview.chromium.org/56023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12712 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes CRLF and trailing white spaces.maruel@chromium.org2009-03-051-5/+5
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10982 0039d316-1c4b-4281-b951-d872f2087c98
* Correct enums in SDCH problem codesjar@chromium.org2009-02-251-1/+1
| | | | | | | r=huanr Review URL: http://codereview.chromium.org/28123 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10350 0039d316-1c4b-4281-b951-d872f2087c98
* Use string for Histogram names since these are all ASCII anyway.dsh@google.com2009-02-241-3/+3
| | | | | | | | Wide-character literals cause problems between platforms. Review URL: http://codereview.chromium.org/28046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10276 0039d316-1c4b-4281-b951-d872f2087c98
* Improve modularity of recent SDCH dictionary load checkinjar@chromium.org2009-02-171-2/+4
| | | | | | | | | | | I felt guilty that I allowed url_request_job to have some logic in it about whether it can load an SDCH dictinary or not. This patch pushed the logic back into sdch_manager (where it belongs). r=wtc Review URL: http://codereview.chromium.org/20379 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9897 0039d316-1c4b-4281-b951-d872f2087c98
* Fetch SDCH dictionary as soon as current URL fetch completesjar@chromium.org2009-02-111-4/+6
| | | | | | | | | | | | | Rather than just waiting for 15 seconds, this patch fetches the "suggested dicitionary" as soon as the current download completes. This avoids stealing bandwidth from the original download, but works as quickly as possible to get the dictionary, so that the user can receive compression results asap. r=wtc Review URL: http://codereview.chromium.org/20254 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9597 0039d316-1c4b-4281-b951-d872f2087c98
* Improve SDCH stability stats and error recoveryjar@chromium.org2009-01-201-14/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL provides an exponential back-off (within a run of chromium) for recovery to a decoding error, rather than an full disable of SDCH when a (minor) error appears. This will help to recover from the common (implementation) problem where a user has an SDCH encoded page as a startup tab, but doesn't still have the requisite dictionary from the previous run. The exponential backoff is not "time based," but instead counts down the number of times a tentatively blacklisted domain is accessed. I now detect the use of the browser cache in an SDCH decode, and use that to better identify if external proxies have corrupted the process, vs internal use of cache (such as at startup) has caused a "dictionary not found" error to emerge. r=openvcdiff,huanr Review URL: http://codereview.chromium.org/18355 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8290 0039d316-1c4b-4281-b951-d872f2087c98
* Correct typo in SDCH problem logging code.jar@google.com2008-12-171-2/+2
| | | | | | | r=openvcdiff,huanr Review URL: http://codereview.chromium.org/14802 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7162 0039d316-1c4b-4281-b951-d872f2087c98
* Add instrumentation to and tighten SDCH implementationjar@google.com2008-12-021-3/+7
| | | | | | | r=huanr,kmixter,openvcdiff Review URL: http://codereview.chromium.org/12699 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6193 0039d316-1c4b-4281-b951-d872f2087c98
* Adjust histograms to get better data for latency experimentsjar@google.com2008-11-221-1/+1
| | | | | | | r=openvcdiff,huanr Review URL: http://codereview.chromium.org/11810 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5891 0039d316-1c4b-4281-b951-d872f2087c98
* Avoid plausible DOS attack by malicious SDCH serverjar@google.com2008-11-181-4/+56
| | | | | | | | | | | | | | | Restrict SDCH to ONLY work with HTTP (fail safe security policy for this experimental protocol). Also add a histogram to see how often we encounter dictionary corruption (which will evidence itself by having a multitude of dicitionaries adverttised, with no real use server side). r=ajenjo,kmixter Review URL: http://codereview.chromium.org/11209 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5628 0039d316-1c4b-4281-b951-d872f2087c98
* Open up SDCH for all sites, in preparation for latency testsjar@google.com2008-11-151-2/+13
| | | | | | | | | | | | | | | | | | | | | | | Since the stability test is going well (so far) on ".google.com," this change will open up support for SDCH compression to all sites. This will allow for more international testing as well. I tightened down the restrictions on who can set up a dictionary for a given domain. I'm pretty sure it is at least as restrictive as the current SDCH spec. I also supplied a default expiration time for using an SDCH dictionary at 30 days (as per SDCH spec). To be safer with the latency histograms, I also tightened the period of time we measure, on the off chance that the page some-how asks for more bytes after everything has been read/rendered. r=openvcdiff,hunar Review URL: http://codereview.chromium.org/11009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5529 0039d316-1c4b-4281-b951-d872f2087c98
* Move Time, TimeDelta and TimeTicks into namespace base.dsh@google.com2008-10-271-0/+2
| | | | | | Review URL: http://codereview.chromium.org/7995 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4022 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up filter and content encoding handling jar@google.com2008-10-271-4/+6
| | | | | | | | | | | | | | | | Centralize translation functions (text of "Content-Encoding" to enum) in filter.cc Centralize error recovery (for damaged content encoding headers) in filter.cc Error recovery includes a loss of SDCH encoding headers, plus handling of Apache server bug with gzip files are tagged as also being gzip encoded. Centralize and add a pile of unit tests to this filter code. r=openvcdiff,huanr Review URL: http://codereview.chromium.org/8018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4004 0039d316-1c4b-4281-b951-d872f2087c98
* Add a lot of robustness to SDCH filter decodingjar@google.com2008-10-151-19/+84
| | | | | | | | | | | | | | | | | | | | | | a) Do meta-refresh (and partially disable sdch) when we have an sdch decode error early on (due to lack of dictionary). b) Gracefully handle proxy removal of "gzip" in "content-encoding: sdch,gzip". c) Recover from completely stripped content encoding (in response to a request for which we advertised an SDCH dictionary) by using a filter that can optionally decode sdch with an optional gzip as well. Some field tests have shown problems with this protocol's transit across the ether. The general approach we've adopted is to stop using SDCH on the problematic site when we have problems. This will prevent a malicious site from shutting down all use of SDCH. r=kmixter,openvcdiff,huanr Review URL: http://codereview.chromium.org/6433 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3420 0039d316-1c4b-4281-b951-d872f2087c98
* Unrollback 3024 (partially rolled back in 3027).ericroman@google.com2008-10-081-15/+3
| | | | | | | | It is fixed in mac build now -- problem was bad format string to StringPrintf, where passed string instead of char*. Review URL: http://codereview.chromium.org/6359 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3064 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 3024, broke mac build.maruel@google.com2008-10-081-3/+15
| | | | | | Review URL: http://codereview.chromium.org/6351 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3027 0039d316-1c4b-4281-b951-d872f2087c98
* Pull in new googleurl@94 which includes GURL::EffectiveIntPort().ericroman@google.com2008-10-081-15/+3
| | | | | | | | Update callers to use this method. Review URL: http://codereview.chromium.org/5641 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3024 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land SDCH filter support experimentjar@google.com2008-09-231-0/+336
| | | | | | | | | | | Fix up solution files for webkit and net Add one line keyword change to help linux build r=hunanr,openvcdiff,nsylvain Review URL: http://codereview.chromium.org/4026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2469 0039d316-1c4b-4281-b951-d872f2087c98
* Rollback 2444 and 2443 to get linux and mac prepjar@google.com2008-09-221-336/+0
| | | | | | | | | Also need to augment sln dependencies tbr Review URL: http://codereview.chromium.org/3188 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2446 0039d316-1c4b-4281-b951-d872f2087c98
* Experimental integration of delta compression content encodingjar@google.com2008-09-221-0/+336
The command line option "sdch-enable" enables support of sdch and automtic lazy download of dictionaries. Optionally it can select a singular domain to work from. By default, all domains are enabled when the flag is used. "-sdch-enable=".google.com" Enables it only for Google. When the switch is not set on the command line, all this code is completely disabled. Still TBD: a) Finish implementation of security details (much of it is in place) b) Add tests for security details. r=huanr,ajenjo,kmixter Review URL: http://codereview.chromium.org/461 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2443 0039d316-1c4b-4281-b951-d872f2087c98