post by tommy @ 04 七月, 2006 11:07
這個 project 目前所包含的檔案, 就是我之前產生的 FileZilla 與 FileZilla Server 的檔案. 其中, FileZilla 並沒有什麼異動, 而 FileZilla Server 則做了一些修正.
主要是把原本可以由 FileZilla Server Interface 設定是否要一開始就把 UTF-8 的支援關閉的選項移除, 也就是這個版本在一開始一定是把 UTF-8 的支援停用, 直到 client 送出了 OPTS UTF8 ON 的指令後才會打開 UTF-8 的支援. 另外就是把 SYST 回傳的 FileZilla 字串改成 File_Zilla, 讓原本未經 patch 過的 FileZilla, 不會因為認為 server 是 FileZilla Server 就不送出 OPTS UTF8 ON 的指令.
diff -Nur source/ControlSocket.cpp source.patch/ControlSocket.cpp
--- source/ControlSocket.cpp Tue May 30 22:06:00 2006
+++ source.patch/ControlSocket.cpp Tue Jul 4 10:39:43 2006
@@ -84,7 +84,9 @@
m_antiHammeringWaitTime = 0;
m_bProtP = false;
- m_useUTF8 = true;
+ // change to false, disable it by default
+ // use UTF-8 only after client send OPTS UTF8 ON
+ m_useUTF8 = false;
}
CControlSocket::~CControlSocket()
@@ -1554,7 +1556,9 @@
break;
}
case COMMAND_SYST:
- Send(_T("215 UNIX emulated by FileZilla"));
+ // non-patched FileZilla Client won't send OPTS UTF8 ON for FileZilla server
+ // so, we need to change the name here to let FileZilla send OPTS UTF8 ON to us
+ Send(_T("215 UNIX emulated by File_Zilla"));
break;
case COMMAND_NOOP:
case COMMAND_NOP:
產生的執行檔與相關的 patch, 都可以在 SourceForge 的網站上抓取. 我會儘量保持與 FileZilla 相同版本的 patch.
[1]
Re:Project for FileZilla Patched Version [ 回覆 ]
用了这个补丁后,客户端文件列表花的时间很长,慢多了阿
[2]
Re:Project for FileZilla Patched Version [ 回覆 ]
沒接過類似的反應. 在我的測試環境中, 也沒有碰到這類的問題.
就這個 patch 來看, 也不應該有這類的情形.
所以... 我也不知道要怎麼處理你的問題.