View Issue Details

IDProjectCategoryView StatusLast Update
0002884PluginsNetBoxpublic2015-08-02 10:28
ReporterWave Assigned Tomichael.lukashov  
PrioritynormalSeveritymajorReproducibilityalways
Status closedResolutionfixed 
Platformx86OSWindowsOS VersionXP SP3
Product Version3.0 
Fixed in Version3.0 
Summary0002884: Не может сменить каталог, если в текущем каталоге есть симлинк
DescriptionНа некоторых хостингах (все не проверял) если в текущем каталоге есть симлинк, то при попытке сменить каталог оказываюсь на локальной файловой панели.

Лог прилагаю. Сломалось в NetBox 2.1.40.357 (несколько билдов до с этим сервером плагин не соединялся), не починено до последнего билда.
Additional Informationzg написал, что в TFTPFileSystem::DoReadFile для симлинка AFileName=="". соответственно AFile==nullptr и падает внутри ApplyTimeDifference(AFile).

http://forum.farmanager.com/viewtopic.php?p=125786#p125786
TagsNo tags attached.

Relationships

has duplicate 0002937 closed2useven10 NetBox crashes silently after FTP listing with symlinks 

Activities

Wave

2014-12-10 17:11

reporter  

log.zip (2,350 bytes)

zg

2014-12-10 23:42

developer   bugnote:0013319

давно есть 365 билд, в нём это исправлено.

Wave

2015-01-18 13:04

reporter   bugnote:0013414

Last edited: 2015-01-18 13:05

У меня 365 билд и такое поведение. А на форуме только что ещё человек зарепортил эту же ошибку с 365’м билдом.

zg

2015-01-18 21:13

developer   bugnote:0013416

тогда не надо на меня ссылаться. то что я описал — исправлено:
https://github.com/michaellukashov/Far-NetBox/commit/11fbbffa4c0f4e6379bf2ce1949dc65047d4f6ec

Wave

2015-02-03 10:42

reporter   bugnote:0013473

Как оказалось, также помогает в настройках хостинга убрать галочку «Разрешать символьные линки».
http://forum.farmanager.com/viewtopic.php?p=127764#p127764

zg

2015-02-13 13:16

developer   bugnote:0013502

важная особенность, о которой вроде никто не упоминал, каталог с симлинком должен быть корневым. если netbox не может получит информацию о том, куда ссылается симлинк, происходит описанное в инциденте.

проблема начинается тут:
https://github.com/michaellukashov/Far-NetBox/blob/far3/src/NetBox/WinSCPFileSystem.cpp#L488
если LinkFileName пустой, то здесь
https://github.com/michaellukashov/Far-NetBox/blob/far3/src/filezilla/FileZillaApi.cpp#L494
возвращается ошибка и тут
https://github.com/michaellukashov/Far-NetBox/blob/far3/src/core/FtpFileSystem.cpp#L3975
соединение закрывается.

простой способ исправления: проверка LinkFileName на пустоту перед вызовом FileSystem->ReadFile. может быть ещё более правильно устанавливать признак того, что плагин не смог прочитать куда указывает симлинк.

более сложный вариант: флаг для FileSystem->ReadFile указывающий, что не надо закрывать соединение при ошибке.

michael.lukashov

2015-08-02 10:28

developer   bugnote:0013744

Исправлено в 373 билде

Issue History

Date Modified Username Field Change
2014-12-10 17:11 Wave New Issue
2014-12-10 17:11 Wave File Added: log.zip
2014-12-10 23:42 zg Note Added: 0013319
2015-01-18 13:04 Wave Note Added: 0013414
2015-01-18 13:05 Wave Note Edited: 0013414
2015-01-18 13:49 DrKnS View Status private => public
2015-01-18 21:13 zg Note Added: 0013416
2015-02-03 10:42 Wave Note Added: 0013473
2015-02-10 14:00 2useven10 Relationship added has duplicate 0002937
2015-02-13 13:16 zg Note Added: 0013502
2015-08-02 10:28 michael.lukashov Note Added: 0013744
2015-08-02 10:28 michael.lukashov Status new => closed
2015-08-02 10:28 michael.lukashov Assigned To => michael.lukashov
2015-08-02 10:28 michael.lukashov Resolution open => fixed
2015-08-02 10:28 michael.lukashov Fixed in Version => 3.0