dosemu2 / fdpp

FreeDOS plus-plus, 64bit DOS
GNU General Public License v3.0
198 stars 17 forks source link

Share needs to respect COMPAT when deleting/renaming/setattr open file #196

Closed andrewbird closed 2 years ago

andrewbird commented 2 years ago

It seems that share needs to allow a single process to delete/rename/setattr an open file if it was opened in SH_COMPAT mode. See https://github.com/dosemu2/dosemu2/issues/1617. Currently the operation is denied, but it can be seen on MS-DOS 6.22 that it should succeed. There is a test https://github.com/andrewbird/dosemu2/tree/t9 that shows the issue.

$ test/test_dos.py PPDOSGITTestCase.test_fat_ds3_share_open_setfattrs_one_process
Test PP-DOS-GIT  FAT DOSv3 share open set file attrs one process DOSv2           ... FAIL (one or more subtests)
    (t=('SH_COMPAT', 'R', 'ALLOW'))                                              ... FAIL
    (t=('SH_COMPAT', 'W', 'ALLOW'))                                              ... FAIL
    (t=('SH_COMPAT', 'RW', 'ALLOW'))                                             ... FAIL
$ test/test_dos.py MSDOS622TestCase.test_fat_ds3_share_open_setfattrs_one_process
Test MS-DOS-6.22 FAT DOSv3 share open set file attrs one process DOSv2           ... ok (  3.04s)

----------------------------------------------------------------------
Ran 1 test in 3.069s

OK
stsp commented 2 years ago

Same with rename over existing, or does rename always fail?

stsp commented 2 years ago

Should now be fixed, please check.