View Issue Details

IDProjectCategoryView StatusLast Update
0000501Far ManagerEditorpublic2013-04-25 13:57
Reporteralexmitin Assigned ToDrKnS  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Fixed in Version3.0 
Summary0000501: apiCreateFile rights for the Editor
DescriptionThere is an access denied error when the user tries to edit a file when he (user account) has the following permissions for the file:

  List Folder/Read Data
  Create Files/Write Data
  Write Attributes

The minimum set of rights to edit the files should be the following:

  Reading: FILE_READ_DATA
  Writing: FILE_WRITE_DATA

The following places should be updated:

int FileEditor::LoadFile(const wchar_t *Name,int &UserBreak)
{
...
   HANDLE hEdit = apiCreateFile (
     Name,
     FILE_READ_DATA, //<== was GENERIC_READ,
     FILE_SHARE_READ,
     NULL,
     OPEN_EXISTING,
     FILE_FLAG_SEQUENTIAL_SCAN,
     NULL
  );
...
}

int FileEditor::SaveFile(const wchar_t *Name,int Ask, bool bSaveAs, int TextFormat, int Codepage)
{
...
  HANDLE hEdit = apiCreateFile (
    Name,
    FILE_WRITE_DATA, //<== was GENERIC_WRITE,
    FILE_SHARE_READ,
    NULL,
    CREATE_ALWAYS,
    FILE_ATTRIBUTE_ARCHIVE | FILE_FLAG_SEQUENTIAL_SCAN,
    NULL
  );
...
}

Additional InformationFAR 1.80.0.452
TagsNo tags attached.
Build3344

Activities

vskirdin

2008-03-20 09:33

administrator   bugnote:0001382

Стоп. Сдается мне, что уже была смена FILE_READ_DATA <=> GENERIC_READ (здесь, на мантисе, речь шла...)

Denis

2008-03-20 12:04

reporter   bugnote:0001383

Last edited: 2008-03-20 12:04

Здесь - в 453 ?

alexmitin

2008-03-20 12:56

reporter   bugnote:0001384

> Стоп. Сдается мне, что уже была смена
> FILE_READ_DATA <=> GENERIC_READ
> (здесь, > на мантисе, речь шла...)

Открыты несколько баг репортов, чтобы можно было отслеживать изменения индивидуально. Проблемы с использованием прав в нескольких местах:

1) Editor (этот баг репорт)
2) Viewer (0000502)
3) Set Attributes (0000503)
4) Directory browsing (0000504)
5) Overwriting files during copying (0000500)
6) File search (0000453) - думаю, что не совсем точно исправленно, но я еще досконально не изучал минимальные права достаточные для поиска (думаю что FILE_READ_DATA должно быть достаточно). Мои соображения по этому вопросу я напишу в 0000453.

alexmitin

2008-03-20 15:36

reporter   bugnote:0001391

See 0000504:0001389 in the 0000504 about the place where to set the initial permissions for the user account to test with.

DrKnS

2013-04-17 21:18

administrator   bugnote:0010832

3344.

GENERIC_READ заменён на FILE_READ_DATA.
GENERIC_WRITE заменён на FILE_WRITE_DATA только для новых файлов, т. к. для уже существующих у нас используется TRUNCATE_EXISTING, требующий GENERIC_WRITE.

Issue History

Date Modified Username Field Change
2008-03-19 21:37 alexmitin New Issue
2008-03-19 21:37 alexmitin Status new => assigned
2008-03-19 21:37 alexmitin Assigned To => vskirdin
2008-03-20 09:33 vskirdin Note Added: 0001382
2008-03-20 12:04 Denis Note Added: 0001383
2008-03-20 12:04 Denis Note Edited: 0001383
2008-03-20 12:56 alexmitin Note Added: 0001384
2008-03-20 15:36 alexmitin Note Added: 0001391
2010-05-02 22:48 alexy Assigned To vskirdin =>
2010-05-02 22:48 alexy Status assigned => new
2013-04-17 21:18 DrKnS Note Added: 0010832
2013-04-17 21:18 DrKnS Assigned To => DrKnS
2013-04-17 21:18 DrKnS Status new => feedback
2013-04-25 13:57 alexy Build => 3344
2013-04-25 13:57 alexy Status feedback => closed
2013-04-25 13:57 alexy Resolution open => fixed
2013-04-25 13:57 alexy Fixed in Version => 3.0