OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "components/data_reduction_proxy/browser/data_reduction_proxy_tamper_de
tection.h" | 5 #include "components/data_reduction_proxy/browser/data_reduction_proxy_tamper_de
tection.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <cstring> | 8 #include <cstring> |
9 | 9 |
10 #include "base/base64.h" | 10 #include "base/base64.h" |
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
299 std::string mime_type; | 299 std::string mime_type; |
300 response_headers_->GetMimeType(&mime_type); | 300 response_headers_->GetMimeType(&mime_type); |
301 | 301 |
302 std::string JS1 = "text/javascript"; | 302 std::string JS1 = "text/javascript"; |
303 std::string JS2 = "application/x-javascript"; | 303 std::string JS2 = "application/x-javascript"; |
304 std::string JS3 = "application/javascript"; | 304 std::string JS3 = "application/javascript"; |
305 std::string CSS = "text/css"; | 305 std::string CSS = "text/css"; |
306 std::string IMAGE = "image/"; | 306 std::string IMAGE = "image/"; |
307 | 307 |
308 size_t mime_type_size = mime_type.size(); | 308 size_t mime_type_size = mime_type.size(); |
309 if ((mime_type_size >= JS1.size() && LowerCaseEqualsASCII(mime_type.begin(), | 309 if ((mime_type_size >= JS1.size() && |
| 310 base::LowerCaseEqualsASCII(mime_type.begin(), |
310 mime_type.begin() + JS1.size(), JS1.c_str())) || | 311 mime_type.begin() + JS1.size(), JS1.c_str())) || |
311 (mime_type_size >= JS2.size() && LowerCaseEqualsASCII(mime_type.begin(), | 312 (mime_type_size >= JS2.size() && |
| 313 base::LowerCaseEqualsASCII(mime_type.begin(), |
312 mime_type.begin() + JS2.size(), JS2.c_str())) || | 314 mime_type.begin() + JS2.size(), JS2.c_str())) || |
313 (mime_type_size >= JS3.size() && LowerCaseEqualsASCII(mime_type.begin(), | 315 (mime_type_size >= JS3.size() && |
| 316 base::LowerCaseEqualsASCII(mime_type.begin(), |
314 mime_type.begin() + JS3.size(), JS3.c_str()))) { | 317 mime_type.begin() + JS3.size(), JS3.c_str()))) { |
315 REPORT_TAMPER_DETECTION_UMA( | 318 REPORT_TAMPER_DETECTION_UMA( |
316 scheme_is_https_, | 319 scheme_is_https_, |
317 "DataReductionProxy.HeaderTamperedHTTPS_ContentLength_JS", | 320 "DataReductionProxy.HeaderTamperedHTTPS_ContentLength_JS", |
318 "DataReductionProxy.HeaderTamperedHTTP_ContentLength_JS", | 321 "DataReductionProxy.HeaderTamperedHTTP_ContentLength_JS", |
319 carrier_id_); | 322 carrier_id_); |
320 } else if (mime_type_size >= CSS.size() && | 323 } else if (mime_type_size >= CSS.size() && |
321 LowerCaseEqualsASCII(mime_type.begin(), | 324 base::LowerCaseEqualsASCII(mime_type.begin(), |
322 mime_type.begin() + CSS.size(), CSS.c_str())) { | 325 mime_type.begin() + CSS.size(), CSS.c_str())) { |
323 REPORT_TAMPER_DETECTION_UMA( | 326 REPORT_TAMPER_DETECTION_UMA( |
324 scheme_is_https_, | 327 scheme_is_https_, |
325 "DataReductionProxy.HeaderTamperedHTTPS_ContentLength_CSS", | 328 "DataReductionProxy.HeaderTamperedHTTPS_ContentLength_CSS", |
326 "DataReductionProxy.HeaderTamperedHTTP_ContentLength_CSS", | 329 "DataReductionProxy.HeaderTamperedHTTP_ContentLength_CSS", |
327 carrier_id_); | 330 carrier_id_); |
328 } else if (mime_type_size >= IMAGE.size() && | 331 } else if (mime_type_size >= IMAGE.size() && |
329 LowerCaseEqualsASCII(mime_type.begin(), | 332 base::LowerCaseEqualsASCII(mime_type.begin(), |
330 mime_type.begin() + IMAGE.size(), IMAGE.c_str())) { | 333 mime_type.begin() + IMAGE.size(), IMAGE.c_str())) { |
331 REPORT_TAMPER_DETECTION_UMA( | 334 REPORT_TAMPER_DETECTION_UMA( |
332 scheme_is_https_, | 335 scheme_is_https_, |
333 "DataReductionProxy.HeaderTamperedHTTPS_ContentLength_Image", | 336 "DataReductionProxy.HeaderTamperedHTTPS_ContentLength_Image", |
334 "DataReductionProxy.HeaderTamperedHTTP_ContentLength_Image", | 337 "DataReductionProxy.HeaderTamperedHTTP_ContentLength_Image", |
335 carrier_id_); | 338 carrier_id_); |
336 } else { | 339 } else { |
337 REPORT_TAMPER_DETECTION_UMA( | 340 REPORT_TAMPER_DETECTION_UMA( |
338 scheme_is_https_, | 341 scheme_is_https_, |
339 "DataReductionProxy.HeaderTamperedHTTPS_ContentLength_Other", | 342 "DataReductionProxy.HeaderTamperedHTTPS_ContentLength_Other", |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
375 std::vector<std::string> values; | 378 std::vector<std::string> values; |
376 std::string value; | 379 std::string value; |
377 void* iter = NULL; | 380 void* iter = NULL; |
378 while (headers->EnumerateHeader(&iter, header_name, &value)) { | 381 while (headers->EnumerateHeader(&iter, header_name, &value)) { |
379 values.push_back(value); | 382 values.push_back(value); |
380 } | 383 } |
381 return values; | 384 return values; |
382 } | 385 } |
383 | 386 |
384 } // namespace data_reduction_proxy | 387 } // namespace data_reduction_proxy |
OLD | NEW |