- 主题:kbs一个可能的bug。。
userinfo.c
1794行附近
MU_EXEC(1,user,md5passwd);
将nuser中的md5passwd写入vuser中时,只写入了md5pass
可是,如果站点是从FB系列升级过来的,定义了CONV_PASS,并且用户没有改过密码,
那么密码是应该存在passwd中的,虽然setpasswd将nuser中的passwd[0]写为0,但没
有传入到vuser中,所以,再次登录的时候,检查user->passwd[0]时!=0,所以还是
会使用原先的密码,造成密码更改不成功。
代码没太仔细看,反正找直接从fb升级过来的.passwd,用管理员帐号通过更改用户数据
改密码失败,以前版本的修改用户资料就可以。
大概改一下,反正好用了
if(!i){
MU_EXEC(1,user,md5passwd);
#ifdef CONV_PASS
MU_EXEC(1,user,passwd);
#endif
} else {
change&=(~0x03);
}
--
修改:leonz FROM 60.20.195.*
FROM 60.20.195.*
就是这样的。。。
【 在 leonz (leonz) 的大作中提到: 】
: userinfo.c
: 1794行附近
: MU_EXEC(1,user,md5passwd);
: ...................
--
FROM 221.192.237.*
牛鼻!
【 在 leonz (leonz) 的大作中提到: 】
: userinfo.c
: 1794行附近
: MU_EXEC(1,user,md5passwd);
: ...................
--
FROM 128.12.150.*
嗯,这个地方我已经注意到过了 ...
【 在 leonz (leonz) 的大作中提到: 】
: userinfo.c
: 1794行附近
: MU_EXEC(1,user,md5passwd);
: ...................
--
FROM 221.219.13.*