michaellukashov / Far-NetBox

SFTP/SCP/FTP/FTPS/WebDAV/S3 client for Far Manager 3 (http://farmanager.com/)
https://forum.farmanager.com/viewtopic.php?t=6317
GNU General Public License v2.0
157 stars 52 forks source link

FTP: при подключении на SunOs 5.10 не выдает список файлов #325

Closed a-vg-ops closed 2 years ago

a-vg-ops commented 2 years ago

Проблема возможно в том, что на сервере стоит локаль koi8r. С другим похожим серверов проблем нет, но там локаль POSIX. При этом файлзилла, проводник Windows, клиент убунты показывает все исправно.

`. 2022-01-18 16:10:27.565 -------------------------------------------------------------------------- . 2022-01-18 16:10:27.565 NetBox Version 2.4.5 (Build 531) (OS 10.0.19042 - Windows 10 Pro) . 2022-01-18 16:10:27.567 Configuration: NetBox 3\ . 2022-01-18 16:10:27.567 Working directory: \FMS . 2022-01-18 16:10:27.567 Process ID: 1496 . 2022-01-18 16:10:27.567 Time zone: Current: GMT (RTZ 9 (зима)), No DST . 2022-01-18 16:10:27.567 -------------------------------------------------------------------------- . 2022-01-18 16:10:27.567 Transfer Protocol: FTP . 2022-01-18 16:10:27.567 Code Page: 20866 . 2022-01-18 16:10:27.567 Ping type: Dummy, Ping interval: 30 sec; Timeout: 15 sec . 2022-01-18 16:10:27.567 Disable Nagle: Yes . 2022-01-18 16:10:27.567 Proxy: None . 2022-01-18 16:10:27.567 Send buffer: 262144 . 2022-01-18 16:10:27.567 UTF: Off . 2022-01-18 16:10:27.567 FTPS: None [Client certificate: No] . 2022-01-18 16:10:27.567 FTP: Passive: Yes [Force IP: Auto]; MLSD: Auto [List all: Auto]; HOST: Auto . 2022-01-18 16:10:27.567 Local directory: default, Remote directory: /, Update: Yes, Cache: No . 2022-01-18 16:10:27.567 Cache directory changes: No, Permanent: No . 2022-01-18 16:10:27.567 Recycle bin: Delete to: No, Overwritten to: No, Bin path: . 2022-01-18 16:10:27.567 Timezone offset: 0h 0m . 2022-01-18 16:10:27.567 -------------------------------------------------------------------------- . 2022-01-18 16:10:27.578 Connecting to 10.102.x.y ... . 2022-01-18 16:10:27.580 Connected with 10.102.x.y. Waiting for welcome message... < 2022-01-18 16:10:27.593 220 db-dep-stb FTP server ready.

2022-01-18 16:10:27.593 USER trnext < 2022-01-18 16:10:27.595 331 Password required for trnext. 2022-01-18 16:10:27.595 PASS ** < 2022-01-18 16:10:27.599 230 User trnext logged in. 2022-01-18 16:10:27.599 SYST < 2022-01-18 16:10:27.600 215 UNIX Type: L8 Version: SUNOS 2022-01-18 16:10:27.600 FEAT < 2022-01-18 16:10:27.601 500 'FEAT': command not understood. . 2022-01-18 16:10:27.602 Connected . 2022-01-18 16:10:27.602 Got reply 1 to the command 1 . 2022-01-18 16:10:27.602 -------------------------------------------------------------------------- . 2022-01-18 16:10:27.602 Using FTP protocol. . 2022-01-18 16:10:27.602 Doing startup conversation with host. 2022-01-18 16:10:27.602 PWD < 2022-01-18 16:10:27.654 257 "/" is current directory. . 2022-01-18 16:10:27.654 Got reply 1 to the command 16 . 2022-01-18 16:10:27.654 Changing directory to "/". 2022-01-18 16:10:27.654 CWD / < 2022-01-18 16:10:27.655 250 CWD command successful. . 2022-01-18 16:10:27.655 Got reply 1 to the command 16 . 2022-01-18 16:10:27.655 Getting current directory name. 2022-01-18 16:10:27.655 PWD < 2022-01-18 16:10:27.656 257 "/" is current directory. . 2022-01-18 16:10:27.656 Got reply 1 to the command 16 . 2022-01-18 16:10:27.659 Retrieving directory listing... 2022-01-18 16:10:27.659 TYPE A < 2022-01-18 16:10:27.660 200 Type set to A. 2022-01-18 16:10:27.661 PASV < 2022-01-18 16:10:27.662 227 Entering Passive Mode (10,102,x,y,137,97) 2022-01-18 16:10:27.662 LIST -a . 2022-01-18 16:10:27.713 Connecting to 10.102.x.y:35169 ... . 2022-01-18 16:10:27.714 Data connection opened < 2022-01-18 16:10:27.727 150 Opening ASCII mode data connection for /bin/ls. . 2022-01-18 16:10:27.728 Data connection closed . 2022-01-18 16:10:27.728 total 3320706 . 2022-01-18 16:10:27.779 drwxrwxr-x 2 oracle dba 512 СОЧ. 18 15:44 . . 2022-01-18 16:10:27.779 drwxr-xr-x 8 root root 512 ЖЕЧТ. 7 2021 .. . 2022-01-18 16:10:27.779 -rwxrwxr-- 1 oracle dba 1699303346 СОЧ. 14 08:48 list_of_expired_passports.csv . 2022-01-18 16:10:27.779 -rwxrwxr-x 1 oracle dba 40661 СОЧ. 17 00:04 list_of_expired_passports.log . 2022-01-18 16:10:27.779 -rwxrwxr-- 1 oracle dba 7133 СОЧ. 15 2021 rlserv2.xlsx < 2022-01-18 16:10:27.779 226 Transfer complete. . 2022-01-18 16:10:27.779 Directory listing successful . 2022-01-18 16:10:27.779 Got reply 1 to the command 2 . 2022-01-18 16:10:27.779 LIST with -a switch returned empty directory listing, will try pure LIST . 2022-01-18 16:10:27.779 Retrieving directory listing... 2022-01-18 16:10:27.779 TYPE A < 2022-01-18 16:10:27.830 200 Type set to A. 2022-01-18 16:10:27.830 PASV < 2022-01-18 16:10:27.830 227 Entering Passive Mode (10,102,1,134,221,152) 2022-01-18 16:10:27.830 LIST . 2022-01-18 16:10:27.830 Connecting to 10.102.1.134:56728 ... . 2022-01-18 16:10:27.830 Data connection opened < 2022-01-18 16:10:27.830 150 Opening ASCII mode data connection for /bin/ls. . 2022-01-18 16:10:27.830 Data connection closed . 2022-01-18 16:10:27.830 total 3320702 . 2022-01-18 16:10:27.830 -rwxrwxr-- 1 oracle dba 1699303346 СОЧ. 14 08:48 list_of_expired_passports.csv . 2022-01-18 16:10:27.830 -rwxrwxr-x 1 oracle dba 40661 СОЧ. 17 00:04 list_of_expired_passports.log . 2022-01-18 16:10:27.830 -rwxrwxr-- 1 oracle dba 7133 СОЧ. 15 2021 rlserv2.xlsx < 2022-01-18 16:10:27.830 226 Transfer complete. . 2022-01-18 16:10:27.830 Directory listing successful . 2022-01-18 16:10:27.830 Got reply 1 to the command 2 . 2022-01-18 16:10:27.830 ..;D;0;1899-12-30T34772:25:51.617Z;0;"" [0];"" [0];---------;0 . 2022-01-18 16:10:27.830 Startup conversation with host finished. `

VictorVG commented 2 years ago

Больше похоже на проблему с кодировкой в локали консоли ОС. Использование локали KOI-8R для поддержки кириллицы традиционно для UNIX. Одним из решений проблемы с кодировкой на примере BSD UNIX и FAT32 является использование UTF-8 в качестве локали на UNIX. Это позволяет корректно читать листинги ФС которые на ней сохраняются либо в ANSI 437 (для основанных на латиницы локалей), либо для русского языка в ANSI 866. А если флешка отформатирована в NTFS и данные сохранялись из Win-консоли там будет совсем весело - спецификации NTFS предусматривают запись листинга каталогов в UNICODE UTF-16 LE, но Win-консоль пишет их в ANSI, а старые Win32c/Win32s приложения от Win32/Win9x в ASCII (1251) , что компенсируется драйвером NTFS.sys в винде, NTFS-3G под UNIX это часто не понимает, и тут использование в локали UNIX UTF-8 полностью снимает проблему чтения листинга.

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

На данный момент я думаю, что стоит проверить эту гипотезу т.к. по статистике эта причина встречается чаще всего.

a-vg-ops commented 2 years ago

Локаль для пользователя менял. На вывод фтп это не повлияло. Для смены системной локали требуется перезагрузка. Этого делать не будем. Видимо фтп собран по устаревшему rfc ( команда FEAT не поддерживается). SFTP в том же фаре работает нормально. Так что пока на этом остановимся. Если будет время попробую воспроизвести проблему не на проде. Благодарю за помощь!

VictorVG commented 2 years ago

Возможно. Можно попробовать более новую версию плагина 2.4.5.544 которая есть дистрибуте фар-а. Я для себя его сам компилю и комичу, но сейчас заканчиваю с Большим Апгрейдом - сменил всё: мамки, ЦП, ОЗУ, часть дисков, один из БП (электрики спалили) благо под рукой были Xeon E5-2697v2 и 16 ГБ планки REG ECC DDR3-1866 :). Потому пока коммиты притормозил - возня с математикой на обеих рабочих станциях.

a-vg-ops commented 2 years ago

Поставил far из нового дистра Far30b5955.x64.20220123. СhangeLog еще за 2017 год. Версия dll именно 2.4.5.544. Пока все также. Устраивает, что по sftp все норм, и ладно.

VictorVG commented 2 years ago

Changelog давно не правили, факт. Обычно правится сам код, смотрим по диффам Git-а.