fix serving files from readonly fs

This commit is contained in:
Robin Appelman 2023-02-19 18:11:41 +01:00
commit 3bd95c98d2
2 changed files with 15 additions and 10 deletions

View file

@ -103,16 +103,21 @@ impl ExportConfig {
err: e,
path: self.path.clone(),
})?;
let file = OpenOptions::new()
.read(true)
.write(!self.readonly)
.open(&self.path)
.map_err(|e| HandshakeError::Open {
let readonly = self.readonly || meta.permissions().readonly();
let mut opt = OpenOptions::new();
opt.read(true);
if !readonly {
opt.write(true);
}
let file = opt.open(&self.path).map_err(|e| HandshakeError::Open {
err: e,
path: self.path.clone(),
})?;
Ok(Export {
readonly: self.readonly || meta.permissions().readonly(),
readonly,
size: meta.len(),
data: file,
resizeable: false,