fn fetch_repo_file(
client: &Client,
uri: &str,
- max_size: Option<u64>,
+ max_size: usize,
checksums: Option<&CheckSums>,
auth: Option<&str>,
) -> Result<FetchResult, Error> {
let response = client.get(uri, headers.as_ref())?;
let reader: Box<dyn Read> = response.into_body();
- let mut reader = reader.take(max_size.unwrap_or(u64::MAX));
+ let mut reader = reader.take(max_size as u64);
let mut data = Vec::new();
reader.read_to_end(&mut data)?;
let sig = fetch_repo_file(
&config.client,
&get_dist_url(&config.repository, "Release.gpg"),
- None,
+ 1024 * 1024,
None,
config.auth.as_deref(),
)?;
let mut fetched = fetch_repo_file(
&config.client,
&get_dist_url(&config.repository, "Release"),
- Some(32_000_000),
+ 256 * 1024 * 1024,
None,
config.auth.as_deref(),
)?;
let fetched = fetch_repo_file(
&config.client,
&get_dist_url(&config.repository, "InRelease"),
- Some(32_000_000),
+ 256 * 1024 * 1024,
None,
config.auth.as_deref(),
)?;
return Ok(FetchResult { data, fetched: 0 });
}
- let res = fetch_plain_file(config, &url, &path, &reference.checksums, true)?;
+ let res = fetch_plain_file(
+ config,
+ &url,
+ &path,
+ reference.size,
+ &reference.checksums,
+ true,
+ )?;
let mut buf = Vec::new();
let raw = res.data_ref();
config: &ParsedMirrorConfig,
url: &str,
file: &Path,
+ max_size: usize,
checksums: &CheckSums,
need_data: bool,
) -> Result<FetchResult, Error> {
let fetched = fetch_repo_file(
&config.client,
url,
- Some(5_000_000_000),
+ max_size,
Some(checksums),
config.auth.as_deref(),
)?;
&config,
&get_repo_url(&config.repository, &package.file),
&full_path,
+ package.size,
&package.checksums,
false,
)?;