分页: 2 / 2

发表于 : 2008-08-18 19:53
angelus
2G限制可能是编写补丁的变量设置为 long 型的,超过-2147438648~+2147438647这个范围就会溢出

包里的东西是RedHat的吧

发表于 : 2008-09-12 11:26
pockter
下了附件,查看了Install文件和Makefile里面应该是红帽的?

Re: [分享]解决vsftpd乱码(vsftpd-2.0.6)

发表于 : 2008-10-22 9:19
restar
那个有完美解决2G以上文件不能显示的问题啊

Re: [分享]解决vsftpd乱码(vsftpd-2.0.6)

发表于 : 2008-10-31 11:20
restar
没有高手来解决2G问题啊

Re: [分享]解决vsftpd乱码(vsftpd-2.0.6)

发表于 : 2009-04-17 17:12
crazyrabbit
你好! :em01
我安装的版本是vsftpd-2.0.7,用这个方法也可解决乱码问题吗?

Re: [分享]解决vsftpd乱码(vsftpd-2.0.6)

发表于 : 2009-05-25 22:37
razorluo
已经测试过,服务器ubuntu8.04-server,客户机xp,xp上传后编码正常
多谢楼主分享了,gj

Re: [分享]解决vsftpd乱码(vsftpd-2.0.6)

发表于 : 2009-05-27 13:53
xiaoxiu77
楼主,我在编译时出现一个warning,麻烦帮我看看,谢谢!
错误信息:
-----------------
gcc -c str.c -O2 -Wall -W -Wshadow -idirafter dummyinc
str.c: In function `str_iconv_write':
str.c:682: warning: assignment discards qualifiers from pointer target type
str.c:680: warning: unused variable `print_buf'
str.c: In function `str_iconv_read':
str.c:757: warning: assignment discards qualifiers from pointer target type
str.c:755: warning: unused variable `print_buf'
gcc -c netstr.c -O2 -Wall -W -Wshadow -idirafter dummyinc
--------------------------

下面是str.c的相应位置
----------------
void
str_iconv_write(struct mystr* p_str)
{
iconv_t cd;
char *from_buf;
char *dyn_from_buf, *to_buf, *dyn_to_buf;
unsigned int from_len;
unsigned int dyn_from_len, to_len, dyn_to_len;
unsigned int print_buf;

from_buf = str_getbuf(p_str);
from_len = str_getlen(p_str);

p_str->p_buf = 0;
str_free(p_str);

private_str_alloc_memchunk(p_str, from_buf, from_len);
str_reserve(p_str, 2*from_len);
p_str->len=2*from_len;
vsf_sysutil_memclr(p_str->p_buf, p_str->len+1);
dyn_from_buf = from_buf;
dyn_from_len = from_len;
to_buf = p_str->p_buf;
dyn_to_buf = to_buf;
to_len = p_str->len;
dyn_to_len = to_len;

if((cd = vsf_sysutil_iconv_init_write())==(iconv_t)(-1))
{
bug("str_iconv_write");
}

while(vsf_sysutil_iconv(cd, &dyn_from_buf, &dyn_from_len, &dyn_to_buf, &dyn_to_len)==(size_t)(-1))
{
switch(errno)
{
case EILSEQ:
if((dyn_to_buf<to_buf+to_len)&&(dyn_to_buf>=to_buf))
{
vsf_sysutil_memcpy(dyn_to_buf, dyn_from_buf, 1);
dyn_to_buf+=1;
dyn_to_len-=1;
dyn_from_buf+=1;
dyn_from_len = from_buf + from_len -dyn_from_buf;
if(dyn_from_len==0) break;
}
else
break;
continue;

case EINVAL:
break;

case E2BIG:
str_reserve(p_str, to_len+dyn_from_len);
p_str->len=to_len+dyn_from_len;
dyn_to_len+=dyn_from_len;
dyn_to_buf = p_str->p_buf + (dyn_to_buf-to_buf);
to_buf = p_str->p_buf;
to_len = p_str->len;
continue;

default:
die("iconv set strange errno. Should not happenned!");
break;
}
break;
}

str_trunc(p_str, (p_str->len)-dyn_to_len);

vsf_sysutil_iconv_close(cd);
vsf_sysutil_free(from_buf);
}

查阅相关资料好像是数据类型有问题,但是不知道怎么处理 :em20

Re: [分享]解决vsftpd乱码(vsftpd-2.0.6)

发表于 : 2010-11-09 20:46
踏雪惊鸿
用了你的方法,问题不但没解决, 还变得更加难受,现在搞得我vsftpd卸载卸载不了,重装也重装不了,非常郁闷。

root@xiezhiwei-laptop:/home/xiezhiwei# apt-get install vsftpd
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
vsftpd 已经是最新的版本了。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
有 1 个软件包没有被完全安装或卸载。
需要下载 0B/141kB 的软件包。
解压缩后会消耗掉 0B 的额外空间。
正在预设定软件包 ...
选中了曾被取消选择的软件包 vsftpd。
(正在读取数据库 ...

正预备替换 vsftpd 2.2.2-3ubuntu6 (使用 .../vsftpd_2.2.2-3ubuntu6_i386.deb) ...
正在解压缩将用于更替的包文件 vsftpd ...
正在处理用于 man-db 的触发器...
正在处理用于 ureadahead 的触发器...
正在设置 vsftpd (2.2.2-3ubuntu6) ...
vsftpd user (ftp) already exists, doing nothing.

vsftpd directory (/srv/ftp) already exists, doing nothing.
vsftpd start/running, process 11554

显示说在runing,但是登录不上。

重启也出现问题:
root@xiezhiwei-laptop:/home/xiezhiwei# service vsftpd restart
restart: Unknown instance:

删除出现错误:
xiezhiwei@xiezhiwei-laptop:~$ sudo apt-get remove vsftpd
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列软件包将被【卸载】:
vsftpd
升级了 0 个软件包,新安装了 0 个软件包,要卸载 1 个软件包,有 0 个软件包未被升级。
有 1 个软件包没有被完全安装或卸载。
解压缩后将会空出 471kB 的空间。
您希望继续执行吗?[Y/n]Y
(正在读取数据库 ... 系统当前总共安装有 165 个文件和目录。)
正在删除 vsftpd ...
dpkg:警告:当删除 vsftpd 时,无法删掉目录“/usr”:设备或资源忙 - 该目录会不会是一个挂载点呢?
dpkg:处理 vsftpd (--remove)时出错:
无法删除“/.”: 无效的参数
正在处理用于 ureadahead 的触发器...
正在处理用于 man-db 的触发器...
在处理时有错误发生:
vsftpd
E: Sub-process /usr/bin/dpkg returned an error code (1)


查错误代码,这样解决还是不行,彻底无语了。
cd /var/lib/dpkg
sudo mv info info.bak
sudo mkdir info
重新安装,在此为:
sudo apt-get --reinstall install

以前还能传英文文件,现在进都进不去了! :em20 :em20

Re: [分享]解决vsftpd乱码(vsftpd-2.0.6)

发表于 : 2011-03-11 22:12
coffecat
鉴定完毕,结果如下:
用IE打开时乱码,但是cuteftp打开确是中文