summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDavid Lönnhager <david.l@mullvad.net>2025-02-27 11:28:02 +0100
committerDavid Lönnhager <david.l@mullvad.net>2025-03-06 00:09:21 +0100
commitbe871bb0e53cc6524ff1e8b10607f38f4b9f3d9c (patch)
treea22c9377b1078acb64b057df2c69cf3ac46ec921
parent1dad2d4bad5f8ee3b13145118d65268b1987a477 (diff)
downloadmullvadvpn-be871bb0e53cc6524ff1e8b10607f38f4b9f3d9c.tar.xz
mullvadvpn-be871bb0e53cc6524ff1e8b10607f38f4b9f3d9c.zip
Use fs::Metadata instead of seek
-rw-r--r--mullvad-update/meta/src/artifacts.rs20
1 files changed, 6 insertions, 14 deletions
diff --git a/mullvad-update/meta/src/artifacts.rs b/mullvad-update/meta/src/artifacts.rs
index 898ca6200a..907b49bbe7 100644
--- a/mullvad-update/meta/src/artifacts.rs
+++ b/mullvad-update/meta/src/artifacts.rs
@@ -2,10 +2,7 @@
use anyhow::Context;
use std::path::Path;
-use tokio::{
- fs,
- io::{AsyncSeekExt, BufReader},
-};
+use tokio::{fs, io::BufReader};
use mullvad_update::{format, hash};
@@ -18,19 +15,14 @@ pub async fn generate_installer_details(
base_urls: &[String],
artifact: &Path,
) -> anyhow::Result<format::Installer> {
- let mut file = fs::File::open(artifact)
+ let file = fs::File::open(artifact)
.await
.with_context(|| format!("Failed to open file at {}", artifact.display()))?;
- file.seek(std::io::SeekFrom::End(0))
+ let metadata = file
+ .metadata()
.await
- .context("Failed to seek to end")?;
- let file_size = file
- .stream_position()
- .await
- .context("Failed to get file size")?;
- file.seek(std::io::SeekFrom::Start(0))
- .await
- .context("Failed to reset file pos")?;
+ .context("Failed to retrieve file metadata")?;
+ let file_size = metadata.len();
let file = BufReader::new(file);
println!("Generating checksum for {}", artifact.display());