在调试spread toolkit的为基础的文件发布系统的过程中,突然发现客户端无法登陆,返回的错误都是:
Spread library version is 4.0.0
SP_error: (-6) Connection rejected, name not unique
明明在不同的服务器上都用IP做 username,怎么会导致重名?经过调试发现,返回的private_group对长度做了限制,无论用户名多长,只截取了前10个字符。大家可以这样测试一下,用spuser那个标准例程:
在一台机器上: spuser -u 12345678901234567890
然后再 spuser -u 123456789012345678
去掉了最后两位 ,这时候就报错了
如果你 spuser -u 12345
这时候就不会出错。
具体为什么是10个字节没仔细看,但是这个地方,即使你看user.c的程序,也定义了:
static char User[80];
这个程序,具体原因待查,不过例程这个地方,也太害人了!