View Issue Details

IDProjectCategoryView StatusLast Update
0000504Far ManagerPanelpublic2008-03-22 15:01
Reporteralexmitin Assigned To 
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionwon't fix 
Summary0000504: FAR cannot browse the directory content
DescriptionProblem
-------------
FAR cannot browse the directory content.


Steps to reproduce:
-------------------
1) Create a folder C:\111\NoAccess
2) Create a file C:\111\NoAccess\Readme.txt
3) Assign the following permissions to the folder:

   Administrators: Full Access
   Users: List Folder/Read Data

3) Start FAR using limited user account (not administrator)
4) Navigate to the C:\111\NoAccess folder.

  Actual result
  ----------------
  Access denied error.


  Expected result
  ----------------
  FAR goes to the folder and shows the folder content.

5) Run the following command:

   dir C:\111\NoAccess

The dir command successfully shows the content of the "C:\111\NoAccess" folder.

Additional InformationFAR 1.80.0.452
TagsNo tags attached.
Build0

Activities

Denis

2008-03-20 14:15

reporter   bugnote:0001385

На 453 под Vista/32 не воспроизводится - Far заходит в фолдер и показывает содержимое

alexmitin

2008-03-20 14:38

reporter   bugnote:0001387

> На 453 под Vista/32 не воспроизводится
> - Far заходит в фолдер и показывает содержимое

3) Assign the following permissions to the folder:

   Administrators: Full Access
   Users: List Folder/Read Data

4) Start FAR using limited user account (not administrator)

Эти условия точно выполнены?

Denis

2008-03-20 14:42

reporter   bugnote:0001388

3) Ещё присутствует System: Full Access
4) Far запускается как runas /user:Test Far.exe

alexmitin

2008-03-20 15:31

reporter   bugnote:0001389

Уточнение по поводу назначения прав для Users:

   Users: List Folder/Read Data

Эти права нужно выставлять не в простом списке прав, а в расширенном.

Windows 2003/XP:
------------------
1) Right mouse click on the folder, select Properties, tab "Security"
2) Press "Advanced" button.
3) Press Add button to add "Users" group (or individual user account) to the list.
4) Assign only one permission "List Folder/Read Data".
5) Press OK, press OK again, and press OK again.

Windows Vista:
----------------
1) Right mouse click on the folder, select Properties, tab "Security"
2) Press "Advanced" button.
3) Press "Edit" button.
4) Press "Add" button to add "Users" (or individual user account).
5) Assign only one permission "List Folder/Read Data".
6) Press OK button, press OK again, and press OK again.

Denis

2008-03-22 13:29

reporter   bugnote:0001395

Если установить permissions как описано, то в каталог 'NoAccess' Far не заходит. Но зайти не получается и через cmd.exe - 'cd .\NoAccess' выдаёт ошибку.
Однако список файлов снаружи получить можно через 'dir .\NoAccess\*.*'.

Denis

2008-03-22 13:35

reporter   bugnote:0001397

В частности, в Far не может выполнить - 'SetCurrentDirectoryW' для такого каталога.

alexy

2008-03-22 13:42

administrator   bugnote:0001399

Фар заходит в папки а не просто показывает их листинг. Это фича.

alexmitin

2008-03-22 14:41

reporter   bugnote:0001402

Увы это баг, а не фича.

Для того чтобы показать содержимое папки, просмотреть файл, или отредактировать файл из этой папки FAR меняет текущую директорию. Можете объяснить для чего? Исторически сложилось? Так может пора менять эту историю? В 1.70 это было бы еще объяснимо (используются Ansi функции). Но в 1.80 - уже вроде везде используется Unicode функции.

Внутри FAR использует Unicode функции для работы с файлами и каталогами. Но вызов SetCurrentDirectory для любой операции с файлами и каталогами - убивает всю идею использования Unicode функций. Ограничение на максимальную длину пути в 260 символов для SetCurrentDirectory - ну и в чем преимущество использования Unicode функций?

Это очень существенное ограничение. Поэтому говорить от каком-то существенном изменении между FAR 1.80 и 1.7x не приходится.

Смотри 0000423:0001040 в 0000423 по предложению об изменении функциональности.

alexy

2008-03-22 15:01

administrator   bugnote:0001403

Это фича и так всё задумывалось. Работа с длинными путями в винде вообще придумана через жопу и это проблема микрософта.
А юникод был введён для юникода а не для длинны путей.

Issue History

Date Modified Username Field Change
2008-03-20 01:57 alexmitin New Issue
2008-03-20 14:15 Denis Note Added: 0001385
2008-03-20 14:38 alexmitin Note Added: 0001387
2008-03-20 14:42 Denis Note Added: 0001388
2008-03-20 15:31 alexmitin Note Added: 0001389
2008-03-22 13:29 Denis Note Added: 0001395
2008-03-22 13:35 Denis Note Added: 0001397
2008-03-22 13:42 alexy Build => 0
2008-03-22 13:42 alexy Status new => closed
2008-03-22 13:42 alexy Note Added: 0001399
2008-03-22 13:42 alexy Resolution open => won't fix
2008-03-22 14:41 alexmitin Status closed => new
2008-03-22 14:41 alexmitin Resolution won't fix => reopened
2008-03-22 14:41 alexmitin Note Added: 0001402
2008-03-22 15:01 alexy Status new => closed
2008-03-22 15:01 alexy Note Added: 0001403
2008-03-22 15:01 alexy Resolution reopened => won't fix