EldoS | Feel safer!

Software components for data protection, secure storage and transfer

Problem in the security update

Posted: 09/26/2010 20:21:41
by Naoki Takami (Standard support level)
Joined: 11/09/2009
Posts: 23

First of all, I apologize for the delay in answering.

> Are you sure that the FileAttributes.Directory attribute has been specified for the directory before (in the OnGetFileInfo callback)?

Is OnEnumerateDirectory also related?(OnGetFileInfo might not be called in the same process. )
I confirmed CbFsFileInfo#Attributes of 1_dir became File(FileAttributes.Archive) when the following values were returned in OnEnumerateDirectory.

    1_dir (FileAttributes.Directory)
    2_file (FileAttributes.Archive)
Posted: 09/27/2010 12:50:02
by Volodymyr Zinin (Team)

For directory instances you should return FileAttributes.Directory from the OnGetFileInfo callback as well as from the OnEnumerateDirectory callback. And vice verse - for file instances the FileAttributes.Directory attribute shouldn't be specified in both callbacks.
Please check your callbacks implementation for this.
Posted: 09/27/2010 20:20:14
by Naoki Takami (Standard support level)
Joined: 11/09/2009
Posts: 23

Yes, I have already confirmed it.

Details are shown below.
parent_dir (FileAttributes.Directory)
        sub_file (FileAttributes.Archive)

When the security of parent_dir is updated in the above-mentioned tree, processing is executed in the following order.
1. Contents (sub_file) in parent_dir are acquired with OnEnumerateDirectory.
2. OnSetFileSecurity in sub_file is executed.
3. OnSetFileSecurity in parent_dir is executed.
In 3, the value of CbFsFileInfo#Attributes is FileAttributes.Archive.
When the same operation as parent_dir was done with sub_file did not exist, this value was FileAttributes.Directory.



Topic viewed 4848 times

Number of guests: 1, registered members: 0, in total hidden: 0


Back to top

As of July 15, 2016 EldoS business operates as a division of /n software, inc. For more information, please read the announcement.

Got it!