From b721c21d9f0d25ca597e3c9fbcf9cbdcf8c4a4df Mon Sep 17 00:00:00 2001 From: JMARyA Date: Sat, 29 Mar 2025 19:07:30 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=91=EF=B8=8F=20fix?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pkg/package.rs | 3 ++- src/routes/push.rs | 11 +++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/pkg/package.rs b/src/pkg/package.rs index b838a6f..4ada351 100644 --- a/src/pkg/package.rs +++ b/src/pkg/package.rs @@ -561,7 +561,8 @@ pub fn read_file_tar_raw( .arg("-f") .arg("-") // Indicate that the file input comes from stdin .arg(file_path) - .stdin(Stdio::piped()) // Open a pipe to provide the tar data + .stdin(Stdio::piped()) + .stdout(Stdio::piped()) .spawn() .ok()?; diff --git a/src/routes/push.rs b/src/routes/push.rs index 6161380..ba2e4ca 100644 --- a/src/routes/push.rs +++ b/src/routes/push.rs @@ -48,8 +48,15 @@ pub async fn upload_pkg( return Err(api_error("This repository is a mirror.")); } - let (_, _, _, _, compression) = Package::extract_pkg_name(upload.pkg.name().unwrap()) - .ok_or_else(|| api_error("Package has weird filename"))?; + let (_, _, _, _, compression) = Package::extract_pkg_name( + upload + .pkg + .raw_name() + .unwrap() + .dangerous_unsafe_unsanitized_raw() + .as_str(), + ) + .ok_or_else(|| api_error("Package has weird filename"))?; let pkg_file = tmp_file_to_vec(&upload.pkg).await; let content = read_file_tar_raw(&pkg_file, ".PKGINFO", compression.clone())