nardl: fix some warnings

This commit is contained in:
Artemis Tosini 2024-07-08 03:26:02 +00:00
parent afe1f86e1c
commit 279dea8167
Signed by: artemist
GPG key ID: EE5227935FE3FF18

View file

@ -31,7 +31,7 @@ async fn main() -> eyre::Result<()> {
let cache_base_urls = SUBSTITUERS let cache_base_urls = SUBSTITUERS
.iter() .iter()
.map(|url| reqwest::Url::parse(*url)) .map(|url| reqwest::Url::parse(url))
.collect::<Result<Vec<_>, _>>()?; .collect::<Result<Vec<_>, _>>()?;
let output_path = Path::new(OUTPUT); let output_path = Path::new(OUTPUT);
@ -52,9 +52,9 @@ async fn main() -> eyre::Result<()> {
let trusted_keys = KEYS let trusted_keys = KEYS
.iter() .iter()
.map(|key| -> eyre::Result<_> { .map(|key| -> eyre::Result<_> {
let (name, public_str) = key.split_once(":").ok_or_eyre("Key has no name")?; let (name, public_str) = key.split_once(':').ok_or_eyre("Key has no name")?;
let public_bytes = data_encoding::BASE64_NOPAD let public_bytes = data_encoding::BASE64_NOPAD
.decode(public_str.trim_end_matches("=").as_bytes()) .decode(public_str.trim_end_matches('=').as_bytes())
.wrap_err("Invalid base64 in key")?; .wrap_err("Invalid base64 in key")?;
Ok(( Ok((
name, name,
@ -89,7 +89,7 @@ async fn main() -> eyre::Result<()> {
log::trace!("narinfo {}: {:?}", cache, parsed); log::trace!("narinfo {}: {:?}", cache, parsed);
if &parsed.store_dir != store_dir.to_str().unwrap() { if parsed.store_dir != store_dir.to_str().unwrap() {
eyre::bail!("Cache {} has a different store directory", cache); eyre::bail!("Cache {} has a different store directory", cache);
} }
} }
@ -107,12 +107,12 @@ async fn main() -> eyre::Result<()> {
log::debug!("Requesting output {}", output); log::debug!("Requesting output {}", output);
let (fingerprint, _) = &output let (fingerprint, _) = &output
.split_once("-") .split_once('-')
.ok_or_else(|| eyre::eyre!("Invalid output name {}", output))?; .ok_or_else(|| eyre::eyre!("Invalid output name {}", output))?;
// Parse, verify, and handle narinfo // Parse, verify, and handle narinfo
let (narinfo_text, cache_base_url) = let (narinfo_text, cache_base_url) =
get_narinfo(client.clone(), cache_base_urls.as_slice(), &fingerprint) get_narinfo(client.clone(), cache_base_urls.as_slice(), fingerprint)
.await .await
.wrap_err_with(|| format!("While processing {}", output))?; .wrap_err_with(|| format!("While processing {}", output))?;
let narinfo_parsed = narinfo::NarInfo::parse(&narinfo_text).unwrap(); let narinfo_parsed = narinfo::NarInfo::parse(&narinfo_text).unwrap();
@ -176,7 +176,7 @@ async fn main() -> eyre::Result<()> {
let (hash_algorithm, hash_expected) = narinfo_parsed let (hash_algorithm, hash_expected) = narinfo_parsed
.nar_hash .nar_hash
.as_ref() .as_ref()
.split_once(":") .split_once(':')
.ok_or_eyre("Invalid hash in nar")?; .ok_or_eyre("Invalid hash in nar")?;
if hash_algorithm != "sha256" { if hash_algorithm != "sha256" {
@ -197,7 +197,7 @@ async fn main() -> eyre::Result<()> {
let hash_found = hasher.finalize(); let hash_found = hasher.finalize();
if &nix_base32::to_nix_base32(hash_found.as_ref()) != hash_expected { if nix_base32::to_nix_base32(hash_found.as_ref()) != hash_expected {
eyre::bail!("Incorrect hash when downloading {}", output) eyre::bail!("Incorrect hash when downloading {}", output)
} }
} }
@ -205,7 +205,6 @@ async fn main() -> eyre::Result<()> {
Ok(()) Ok(())
} }
#[must_use]
async fn get_narinfo<'a>( async fn get_narinfo<'a>(
client: reqwest::Client, client: reqwest::Client,
cache_base_urls: &'a [reqwest::Url], cache_base_urls: &'a [reqwest::Url],
@ -282,7 +281,7 @@ fn verify_signature(
); );
log::trace!("narinfo fingerprint: `{}`", fingerprint); log::trace!("narinfo fingerprint: `{}`", fingerprint);
key.verify_strict(&fingerprint.as_bytes(), &signature) key.verify_strict(fingerprint.as_bytes(), &signature)
.wrap_err("Invalid signature")?; .wrap_err("Invalid signature")?;
return Ok(()); return Ok(());
} }