summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md2
-rw-r--r--mullvad-platform-metadata/src/linux.rs12
2 files changed, 12 insertions, 2 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f9b6278deb..a453317df3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -36,7 +36,7 @@ Line wrap the file at 100 chars. Th
#### Linux
- Improved compatiblitiy with newer versions of systemd-resolved.
- Add version data to problem reports for the following software: the kernel, NetworkManager,
- WireGuard kernel module.
+ WireGuard kernel module, SystemD.
### Fixed
#### Linux
diff --git a/mullvad-platform-metadata/src/linux.rs b/mullvad-platform-metadata/src/linux.rs
index 573426104f..25c29b6a54 100644
--- a/mullvad-platform-metadata/src/linux.rs
+++ b/mullvad-platform-metadata/src/linux.rs
@@ -58,7 +58,7 @@ fn parse_lsb_release() -> Option<String> {
}
pub fn extra_metadata() -> impl Iterator<Item = (String, String)> {
- [kernel_version, nm_version, wg_version]
+ [kernel_version, nm_version, wg_version, systemd_version]
.iter()
.filter_map(|f| f())
}
@@ -86,3 +86,13 @@ fn wg_version() -> Option<(String, String)> {
.to_string();
Some(("wireguard".to_string(), wireguard_version))
}
+
+/// `systemctl --version` usually outpus two lines - one with the version, and another listing
+/// features:
+/// > systemd 246 (246)
+/// > +PAM +AUDIT -SELINUX +IMA +APPARMOR +SMACK -SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT -GNUTLS +ACL
+fn systemd_version() -> Option<(String, String)> {
+ let systemd_version_output = command_stdout_lossy("systemctl", &["--version"])?;
+ let version = systemd_version_output.lines().next()?.to_string();
+ Some(("systemd".to_string(), version))
+}