The fuctions mo_version and ms_version have redundant code, which attempts to find the target server given the input.
In ms_version this never gets used as MyConnect(sptr) cannot be true.
In mo_version this is unneeded, as hunt_server_cmd takes care of finding the desired target server and error reporting. This also happens to break a nifty feature of hunt_server_cmd, namely the nick->server translation, allowing a nick to specified as the target server, and thus allowing /VERSION <nick> to be accepted, something which works for many other commands, e.g. /TIME.
Furthermore, it seems odd to check feature_int(FEAT_HIS_REMOTE) in mo_version, sptr is an oper by definition, and this restriction only applies to ordinary users. This also seems to be the case in more mo_ functions, such as mo_admin.
Slightly off-topic, but perhaps once there was only a m_version and m_admin function, for both ordinary users and opers, where it makes perfect sense to check FEAT_HIS_REMOTE. I am wondering, was this change on purpose to disallow ordinary users to issue remote admin and version requests in non-HIS configurations? If not, I think it would be great to allow this again in a non-HIS setup.
Log in to post a comment.