summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2021-01-21 16:34:50 +0100
committerOskar Nyberg <oskar@mullvad.net>2021-01-21 16:34:50 +0100
commit8a34e6f9eb99f39c643be8c153012cb66643daa2 (patch)
tree2fa1d03ac7a4a74d3071ff93a0470ef33ee0717a
parentdb6f58629348575feb8d339a0e77e44f512439f5 (diff)
parente43a6e92fa6275d086951ce14221883a9de8b59e (diff)
downloadmullvadvpn-8a34e6f9eb99f39c643be8c153012cb66643daa2.tar.xz
mullvadvpn-8a34e6f9eb99f39c643be8c153012cb66643daa2.zip
Merge branch 'shorten-platform-version-header'
-rw-r--r--mullvad-platform-metadata/src/android.rs10
-rw-r--r--mullvad-platform-metadata/src/linux.rs22
2 files changed, 29 insertions, 3 deletions
diff --git a/mullvad-platform-metadata/src/android.rs b/mullvad-platform-metadata/src/android.rs
index 5573586808..90d638772e 100644
--- a/mullvad-platform-metadata/src/android.rs
+++ b/mullvad-platform-metadata/src/android.rs
@@ -4,7 +4,7 @@ mod command;
use command::command_stdout_lossy;
pub fn version() -> String {
- let version = get_prop("ro.build.version.release").unwrap_or_else(|| "N/A".to_owned());
+ let version = os_version();
let api_level = get_prop("ro.build.version.sdk").unwrap_or_else(|| "N/A".to_owned());
let manufacturer =
@@ -18,7 +18,13 @@ pub fn version() -> String {
}
pub fn short_version() -> String {
- version()
+ let version = os_version();
+
+ format!("Android {}", version)
+}
+
+fn os_version() -> String {
+ get_prop("ro.build.version.release").unwrap_or_else(|| "N/A".to_owned())
}
pub fn extra_metadata() -> HashMap<String, String> {
diff --git a/mullvad-platform-metadata/src/linux.rs b/mullvad-platform-metadata/src/linux.rs
index 25c29b6a54..016fb123c3 100644
--- a/mullvad-platform-metadata/src/linux.rs
+++ b/mullvad-platform-metadata/src/linux.rs
@@ -18,7 +18,27 @@ pub fn version() -> String {
}
pub fn short_version() -> String {
- version()
+ let version = read_os_release_file_short().unwrap_or_else(|| {
+ parse_lsb_release().unwrap_or_else(|| String::from("[Failed to detect version]"))
+ });
+
+ format!("Linux {}", version)
+}
+
+fn read_os_release_file_short() -> Option<String> {
+ let mut os_release_info = rs_release::get_os_release().ok()?;
+ let os_name = os_release_info.remove("NAME");
+ let os_version_id = os_release_info.remove("VERSION_ID");
+
+ if let Some(os_name) = os_name {
+ if os_name != "NixOS" {
+ if let Some(os_version_id) = os_version_id {
+ return Some(format!("{} {}", os_name, os_version_id));
+ }
+ }
+ }
+
+ os_release_info.remove("PRETTY_NAME")
}
fn read_os_release_file() -> Result<String, Option<String>> {