fixup dir/file caps into rights
This commit is contained in:
@@ -593,8 +593,8 @@ impl<'a> wasi_snapshot_preview1::WasiSnapshotPreview1 for WasiCtx {
|
|||||||
}
|
}
|
||||||
let dir = dir_entry.get_cap(DirCaps::OPEN)?;
|
let dir = dir_entry.get_cap(DirCaps::OPEN)?;
|
||||||
let child_dir = dir.open_dir(symlink_follow, path.deref())?;
|
let child_dir = dir.open_dir(symlink_follow, path.deref())?;
|
||||||
let file_caps = dir_entry.child_file_caps(FileCaps::from(&fs_rights_base));
|
let dir_caps = dir_entry.child_dir_caps(DirCaps::from(&fs_rights_base));
|
||||||
let dir_caps = dir_entry.child_dir_caps(DirCaps::from(&fs_rights_inheriting));
|
let file_caps = dir_entry.child_file_caps(FileCaps::from(&fs_rights_inheriting));
|
||||||
drop(dir);
|
drop(dir);
|
||||||
drop(dir_entry);
|
drop(dir_entry);
|
||||||
let fd = table.push(Box::new(DirEntry::new(
|
let fd = table.push(Box::new(DirEntry::new(
|
||||||
@@ -745,10 +745,12 @@ impl From<&FdStat> for types::Fdstat {
|
|||||||
|
|
||||||
impl From<&DirStat> for types::Fdstat {
|
impl From<&DirStat> for types::Fdstat {
|
||||||
fn from(dirstat: &DirStat) -> types::Fdstat {
|
fn from(dirstat: &DirStat) -> types::Fdstat {
|
||||||
|
let fs_rights_base = types::Rights::from(&dirstat.dir_caps);
|
||||||
|
let fs_rights_inheriting = types::Rights::from(&dirstat.file_caps);
|
||||||
types::Fdstat {
|
types::Fdstat {
|
||||||
fs_filetype: types::Filetype::Directory,
|
fs_filetype: types::Filetype::Directory,
|
||||||
fs_rights_base: types::Rights::from(&dirstat.file_caps),
|
fs_rights_base,
|
||||||
fs_rights_inheriting: types::Rights::from(&dirstat.dir_caps),
|
fs_rights_inheriting,
|
||||||
fs_flags: types::Fdflags::empty(),
|
fs_flags: types::Fdflags::empty(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user