LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 13653|回复: 60

做了一个vsftpd的补丁

[复制链接]
发表于 2005-12-31 14:10:21 | 显示全部楼层 |阅读模式
在vsftpd里不支持编码和解码,这样当系统使用UTF8的时候,在本地看着正常的中文文件名和中文目录名,在windows机器上看着就是乱码。上传的文件也会有问题,windows下正常的文件名上传后在服务器上看着就是乱码。

我给vsftpd写了一个补丁,在传递文件名和目录名以及文本消息的时候,它可以根据配置文件中的选项来调整编码。这样我的系统就可以使用UTF8,远程的windows机器连接上来也没有问题

安装方法
解压vsftpd-encoding.tar.bz2到/usr/local/portage/net-ftp/目录下(这需要在/etc/make.conf里设置PORTDIR_OVERLAY=/usr/local/portage),然后emerge vsftpd就可以了

为了方便非gentoo的用户,我把patch也单独打了包,就是vsftpd-2.0.3-encoding.patch.tar.bz2,解压后对vsftpd源码打补丁就可以安装了。

使用方法
我给vsftpd增加了三个开关,这些可以在打了补丁的vsftpd.conf的manpage中用charset搜到。
首先是要在vsftpd.conf中加上charset_filter_enable=YES,这个开关使vsftpd配置字符过滤器,缺省是NO,就是说vsftpd缺省不会开启这个解码功能的。
然后就是两个参数charset_client和charset_server,前者表示vsftpd将向外输出的字符编码名称(比如我这样的情况应该是GBK,GB18030或者GB2312),后者是vsftpd所在服务器的系统编码(我这里是UTF8)。

有什么问题可以发信给meteozwh at hotmail dot com

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2005-12-31 15:18:56 | 显示全部楼层
Great work!
ps. s/UTF8/UTF-8/
回复 支持 反对

使用道具 举报

发表于 2005-12-31 17:02:23 | 显示全部楼层
谁能告诉我在Gentoo下vsftpd不能用普通用户登陆是怎么回事?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-12-31 17:10:16 | 显示全部楼层
local_enable=YES
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-12-31 17:18:07 | 显示全部楼层
我现在区域设置用的是zh_CN.utf8,以前用UTF-8总是有或多或少的各种问题,就是有的软件会说不支持的区域设置,或者有时候输入方法会出问题。后来用这个zh_CN.utf8好像问题最少。
至于这个UTF8,我试过UTF8,utf8都没问题,其实应该是用iconv --list命令显示出来的编码都可以正常工作。
Post by sunmoon1997
Great work!
ps. s/UTF8/UTF-8/
回复 支持 反对

使用道具 举报

发表于 2005-12-31 17:27:26 | 显示全部楼层
以前就在煩這個問題, 所以轉了proftpd因為有第3方的iconv() charset conversion patch
問一下, 這個patch適用於big5環境嗎?
回复 支持 反对

使用道具 举报

发表于 2005-12-31 21:34:29 | 显示全部楼层
Post by meteo
local_enable=YES

如果问题真的那么简单我就不会问了……
我怀疑是pam的问题……
回复 支持 反对

使用道具 举报

发表于 2006-1-1 01:43:51 | 显示全部楼层
http://www.teatime.com.tw/~tommy/

这位台湾大哥的网站上有这个patch
用iconv转
可惜版本太低
我没用
自己按照patch修改过源码好像没用
也就再也没管了
不楼楼主的patch和我说的这个有没有相同点
我是用debian的
去试试
回复 支持 反对

使用道具 举报

发表于 2006-1-1 02:22:22 | 显示全部楼层
好东西!
终于解决了一个很郁闷的问题
非常感谢!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-1 02:51:19 | 显示全部楼层
big5应该没问题,只要用iconv --list可以看到的编码都可以转

hehe,当然了,如果有问题就告诉我,

Post by semson
以前就在煩這個問題, 所以轉了proftpd因為有第3方的iconv() charset conversion patch
問一下, 這個patch適用於big5環境嗎?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表