111 lines
3.7 KiB
Diff
111 lines
3.7 KiB
Diff
From: csagan5 <32685696+csagan5@users.noreply.github.com>
|
|
Date: Wed, 21 Mar 2018 14:15:28 +0100
|
|
Subject: User Agent: anonymize
|
|
|
|
Use a fixed device name and Chrome product version.
|
|
---
|
|
components/version_info/version_info.cc | 17 ++++++++++++-
|
|
content/common/user_agent.cc | 45 +++++++++++++++++++--------------
|
|
2 files changed, 42 insertions(+), 20 deletions(-)
|
|
|
|
diff --git a/components/version_info/version_info.cc b/components/version_info/version_info.cc
|
|
--- a/components/version_info/version_info.cc
|
|
+++ b/components/version_info/version_info.cc
|
|
@@ -7,13 +7,28 @@
|
|
#include "base/logging.h"
|
|
#include "base/no_destructor.h"
|
|
#include "base/version.h"
|
|
+#include "base/sys_info.h"
|
|
#include "build/build_config.h"
|
|
#include "components/version_info/version_info_values.h"
|
|
|
|
namespace version_info {
|
|
|
|
std::string GetProductNameAndVersionForUserAgent() {
|
|
- return "Chrome/" + GetVersionNumber();
|
|
+ int32_t major, minor, bugfix;
|
|
+ base::SysInfo::OperatingSystemVersionNumbers(&major,
|
|
+ &minor,
|
|
+ &bugfix);
|
|
+ switch (major) {
|
|
+ case 7:
|
|
+ return "Chrome/63.0.3239.111";
|
|
+ case 6:
|
|
+ return "Chrome/63.0.3239.83";
|
|
+ case 5:
|
|
+ case 4:
|
|
+ return "Chrome/62.0.3202.84";
|
|
+ }
|
|
+ // version 8 and above
|
|
+ return "Chrome/67.0.3396.87";
|
|
}
|
|
|
|
std::string GetProductName() {
|
|
diff --git a/content/common/user_agent.cc b/content/common/user_agent.cc
|
|
--- a/content/common/user_agent.cc
|
|
+++ b/content/common/user_agent.cc
|
|
@@ -59,26 +59,33 @@ std::string BuildOSCpuInfo() {
|
|
architecture_token = "; Win64; IA64";
|
|
}
|
|
#elif defined(OS_ANDROID)
|
|
- std::string android_version_str = base::SysInfo::OperatingSystemVersion();
|
|
+ int32_t major, minor, bugfix;
|
|
+ base::SysInfo::OperatingSystemVersionNumbers(&major, &minor, &bugfix);
|
|
+ std::string android_version_str = base::StringPrintf("%d.%d.%d", major, minor, bugfix);
|
|
|
|
+ // Send information about the device and buld ID.
|
|
+ // Use a common device/build ID based on Android major version.
|
|
std::string android_info_str;
|
|
-
|
|
- // Send information about the device.
|
|
- bool semicolon_inserted = false;
|
|
- std::string android_build_codename = base::SysInfo::GetAndroidBuildCodename();
|
|
- std::string android_device_name = base::SysInfo::HardwareModelName();
|
|
- if ("REL" == android_build_codename && android_device_name.size() > 0) {
|
|
- android_info_str += "; " + android_device_name;
|
|
- semicolon_inserted = true;
|
|
- }
|
|
-
|
|
- // Append the build ID.
|
|
- std::string android_build_id = base::SysInfo::GetAndroidBuildID();
|
|
- if (android_build_id.size() > 0) {
|
|
- if (!semicolon_inserted) {
|
|
- android_info_str += ";";
|
|
- }
|
|
- android_info_str += " Build/" + android_build_id;
|
|
+ switch (major) {
|
|
+ case 7:
|
|
+ // Chrome/63.0.3239.111
|
|
+ android_info_str = "SM-J730GM Build/NRD90M";
|
|
+ break;
|
|
+ case 6:
|
|
+ // Chrome/63.0.3239.83
|
|
+ android_info_str = "SM-G532G Build/MMB29T";
|
|
+ break;
|
|
+ case 5:
|
|
+ // Chrome/62.0.3202.84
|
|
+ android_info_str = "A37fw Build/LMY47V";
|
|
+ break;
|
|
+ case 4:
|
|
+ // Chrome/62.0.3202.84
|
|
+ android_info_str = "SM-G7102 Build/KOT49H";
|
|
+ break;
|
|
+ default: // version 8 and above
|
|
+ android_info_str = "SM-G950U Build/R16NW";
|
|
+ break;
|
|
}
|
|
#elif (defined(OS_POSIX) && !defined(OS_MACOSX)) || defined(OS_FUCHSIA)
|
|
// Should work on any Posix system.
|
|
@@ -115,7 +122,7 @@ std::string BuildOSCpuInfo() {
|
|
os_minor_version,
|
|
os_bugfix_version
|
|
#elif defined(OS_ANDROID)
|
|
- "Android %s%s",
|
|
+ "Android %s; %s",
|
|
android_version_str.c_str(),
|
|
android_info_str.c_str()
|
|
#elif defined(OS_POSIX) || defined(OS_FUCHSIA)
|
|
--
|
|
2.7.4
|
|
|