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.*