View Issue Details

IDProjectCategoryView StatusLast Update
0027901Open CASCADEOCCT:Foundation Classespublic2016-12-09 16:38
ReporterabvAssigned Tokgv  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Target Version7.1.0Fixed in Version7.1.0 
Summary0027901: Resource_Manager creates directory with insufficient permissions
DescriptionIn context of issue #181, apparently Resource_Manager should have been fixed to be able to create directory for the user resource file. However, two problems still exist:

1. Created directory has RWX permissions for the current user, which is not sufficient for the user to be able to delete it without changing permissions. This leads to failure of test bugs fclasses bug181_1 on Windows if current user does not have admin rights.

2. Only one level directory can be created; creation fails if path contains more than one missing directory. That is why test bugs fclasses bug181_2 is BAD.

Note that recursive creation of subdirectories is subject of issue #701 which has been closed without any fix or explanation.
Steps To ReproduceFix pushed to CR27901, please review
TagsNo tags attached.
Test case numberbugs fclasses bug181_1, bug181_2

Activities

git

2016-09-25 23:15

administrator   ~0058128

Branch CR27901 has been created by abv.

SHA-1: a0d7c20cd38128f9529075bbd8385f2d04bfbce0


Detailed log of new commits:

Author: abv
Date: Sun Sep 25 23:05:00 2016 +0300

    0027901: Resource_Manager creates directory with insufficient permissions
    
    Resource_Manager now sets RWXD permissions for the created directories to allow their removal.
    Method OSD_Directory::Build() will create intermediate directories if they do not exist yet.
    OSD_FileNode is corrected to clean error status in method Exists().
    
    Tests bugs fclasses bug181_1 and bug181_2 are corrected to check existence of generated resource files; TODO is removed in bug181_2.

git

2016-09-26 06:37

administrator   ~0058129

Branch CR27901 has been updated by abv.

SHA-1: 761c3cb9d9001d5c9b31e972769daa38c3fc3034


Detailed log of new commits:

Author: abv
Date: Mon Sep 26 06:37:38 2016 +0300

    //linux

kgv

2016-09-26 11:07

developer   ~0058141

Please test the patch.

apv

2016-09-27 13:44

tester   ~0058207

Dear BugMaster,

Branch CR27901 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: 761c3cb9d9001d5c9b31e972769daa38c3fc3034

Number of compiler warnings:
occt component:
   Linux: 0 (0 on master)
   Windows: 0 (0 on master)
   MasOS: 0 (0 on master)
products component:
   Linux: 64
   Windows: 0
   MacOS: 1140

Regressions/Differences:
Not detected

Testing cases:
bugs fclasses bug181_1 - OK
http://occt-tests/CR27901-master-OCCT/Debian70-64/bugs/fclasses/bug181_1.html
http://occt-tests/CR27901-master-OCCT/Windows-64-VC10/bugs/fclasses/bug181_1.html
bugs fclasses bug181_2 - OK
http://occt-tests/CR27901-master-OCCT/Debian70-64/bugs/fclasses/bug181_2.html
http://occt-tests/CR27901-master-OCCT/Windows-64-VC10/bugs/fclasses/bug181_2.html

Testing on Linux:
Total MEMORY difference: 90577960 / 90216507 [+0.40%]
Total CPU difference: 19405.97999999991 / 19251.709999999875 [+0.80%]

Testing on Windows:
Total MEMORY difference: 57203612 / 57221541 [-0.03%]
Total CPU difference: 17893.8919036988 / 18310.78897609872 [-2.28%]

git

2016-10-28 21:45

administrator   ~0059531

Branch CR27901 has been deleted by kgv.

SHA-1: 761c3cb9d9001d5c9b31e972769daa38c3fc3034

Related Changesets

occt: master 73594f72

2016-09-25 20:05:00

abv


Committer: kgv Details Diff
0027901: Resource_Manager creates directory with insufficient permissions

Resource_Manager now sets RWXD permissions for the created directories to allow their removal.
Method OSD_Directory::Build() will create intermediate directories if they do not exist yet.
OSD_FileNode is corrected to clean error status in method Exists().

Tests bugs fclasses bug181_1 and bug181_2 are corrected to check existence of generated resource files; TODO is removed in bug181_2.
Affected Issues
0027901
mod - src/OSD/OSD_Directory.cxx Diff File
mod - src/OSD/OSD_FileNode.cxx Diff File
mod - src/Resource/Resource_Manager.cxx Diff File
mod - tests/bugs/fclasses/bug181_1 Diff File
mod - tests/bugs/fclasses/bug181_2 Diff File

Issue History

Date Modified Username Field Change
2016-09-25 22:59 abv New Issue
2016-09-25 22:59 abv Assigned To => abv
2016-09-25 23:15 git Note Added: 0058128
2016-09-25 23:15 abv Assigned To abv => kgv
2016-09-25 23:15 abv Status new => resolved
2016-09-25 23:15 abv Steps to Reproduce Updated
2016-09-26 06:37 git Note Added: 0058129
2016-09-26 11:07 kgv Note Added: 0058141
2016-09-26 11:07 kgv Assigned To kgv => bugmaster
2016-09-26 11:07 kgv Status resolved => reviewed
2016-09-26 12:40 apv Assigned To bugmaster => apv
2016-09-27 13:01 apv Test case number => bugs fclasses bug181_1, bug181_2
2016-09-27 13:44 apv Note Added: 0058207
2016-09-27 13:44 apv Assigned To apv => bugmaster
2016-09-27 13:44 apv Status reviewed => tested
2016-10-03 13:47 kgv Changeset attached => occt master 73594f72
2016-10-03 13:47 kgv Assigned To bugmaster => kgv
2016-10-03 13:47 kgv Status tested => verified
2016-10-03 13:47 kgv Resolution open => fixed
2016-10-28 21:45 git Note Added: 0059531
2016-12-09 16:30 aiv Status verified => closed
2016-12-09 16:38 aiv Fixed in Version => 7.1.0