diff options
| author | Oskar Nyberg <oskar@mullvad.net> | 2021-01-21 16:34:50 +0100 |
|---|---|---|
| committer | Oskar Nyberg <oskar@mullvad.net> | 2021-01-21 16:34:50 +0100 |
| commit | 8a34e6f9eb99f39c643be8c153012cb66643daa2 (patch) | |
| tree | 2fa1d03ac7a4a74d3071ff93a0470ef33ee0717a | |
| parent | db6f58629348575feb8d339a0e77e44f512439f5 (diff) | |
| parent | e43a6e92fa6275d086951ce14221883a9de8b59e (diff) | |
| download | mullvadvpn-8a34e6f9eb99f39c643be8c153012cb66643daa2.tar.xz mullvadvpn-8a34e6f9eb99f39c643be8c153012cb66643daa2.zip | |
Merge branch 'shorten-platform-version-header'
| -rw-r--r-- | mullvad-platform-metadata/src/android.rs | 10 | ||||
| -rw-r--r-- | mullvad-platform-metadata/src/linux.rs | 22 |
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>> { |
