[IRCServices] Linked nicks and Operserv
Yusuf Iskenderoglu
uhc0 at rz.uni-karlsruhe.de
Tue May 29 17:35:05 PDT 2001
Here is the place in the code, checking who is
services admin.
/* Does the given user have Services admin privileges? */
int is_services_admin(User *u)
{
int i;
if (!is_oper_u(u))
return 0;
if (is_services_root(u))
return 1;
if (skeleton)
return 1;
for (i = 0; i < MAX_SERVADMINS; i++) {
if (services_admins[i] && u->ni == getlink(services_admins[i])) {
if (nick_identified(u))
return 1;
return 0;
}
}
return 0;
}
I am absolutely sure that I did not modify this section.
The correct code could be:
if (services_admins[i] && services_admins[i] == getlink(u->ni)) {
And this is working, because the nick change changes the value
of u->ni to getlink(u->real_ni)
In my case, u->ni points to TimeMr14C, because getlink(Enygma)
return TimeMr14C.
That means, because TimeMr14C as a Services Admin exists,
AND TimeMr14C (value of u->ni) equals to TimeMr14C (value of
getlink(TimeMr14C))
AND I have identified to NickServ, I get recognised as a
services admin.
Regards;
yusuf
Yusuf Iskenderoglu *** eMail uhc0 at rz.uni-karlsruhe.de