diff options
author | deanm@chromium.org <deanm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-11-19 19:46:27 +0000 |
---|---|---|
committer | deanm@chromium.org <deanm@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-11-19 19:46:27 +0000 |
commit | 3a96c74353aae5bcc15867400927e52f05d9b7e6 (patch) | |
tree | 8e88a4c722f67c282a095ba5363c95d938a596f3 /net/url_request | |
parent | ad4996c5bae5ebb89eb893d49a5802f7e8a9e543 (diff) | |
download | chromium_src-3a96c74353aae5bcc15867400927e52f05d9b7e6.zip chromium_src-3a96c74353aae5bcc15867400927e52f05d9b7e6.tar.gz chromium_src-3a96c74353aae5bcc15867400927e52f05d9b7e6.tar.bz2 |
Enforce httponly on cookies coming from the renderer. This prevents javascript from setting a new httponly cookie, and more importantly from overwriting httponly cookies.
Patch from Marius Schilder.
Review URL: http://codereview.chromium.org/11275
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5700 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/url_request')
-rw-r--r-- | net/url_request/url_request_http_job.cc | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc index 69f7bb5..eac02e1 100644 --- a/net/url_request/url_request_http_job.cc +++ b/net/url_request/url_request_http_job.cc @@ -414,7 +414,11 @@ void URLRequestHttpJob::NotifyHeadersComplete() { ctx->cookie_policy()->CanSetCookie(request_->url(), request_->policy_url())) { FetchResponseCookies(); - ctx->cookie_store()->SetCookies(request_->url(), response_cookies_); + net::CookieMonster::CookieOptions options; + options.set_include_httponly(); + ctx->cookie_store()->SetCookiesWithOptions(request_->url(), + response_cookies_, + options); } } @@ -517,9 +521,10 @@ void URLRequestHttpJob::AddExtraHeaders() { if (context->cookie_store() && context->cookie_policy()->CanGetCookies(request_->url(), request_->policy_url())) { + net::CookieMonster::CookieOptions options; + options.set_include_httponly(); std::string cookies = request_->context()->cookie_store()-> - GetCookiesWithOptions(request_->url(), - net::CookieMonster::INCLUDE_HTTPONLY); + GetCookiesWithOptions(request_->url(), options); if (!cookies.empty()) request_info_.extra_headers += "Cookie: " + cookies + "\r\n"; } |