X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=ircd%2Fm_userip.c;h=0085a0cd15c29ef9788f6c1b658a210ffe797e85;hb=refs%2Fheads%2Fupstream;hp=27be218c77b9cd9dfc4686ed306fea504260a391;hpb=cb6fd4594d11e531fdb0f666b6651919d27e32ff;p=ircu2.10.12-pk.git diff --git a/ircd/m_userip.c b/ircd/m_userip.c index 27be218..0085a0c 100644 --- a/ircd/m_userip.c +++ b/ircd/m_userip.c @@ -85,22 +85,29 @@ #include "ircd_reply.h" #include "ircd_string.h" #include "ircd_features.h" +#include "ircd_log.h" #include "msgq.h" #include "numeric.h" #include "s_user.h" #include "struct.h" -#include +/* #include -- Now using assert in ircd_log.h */ static void userip_formatter(struct Client* cptr, struct Client *sptr, struct MsgBuf* mb) { assert(IsUser(cptr)); msgq_append(0, mb, "%s%s=%c%s@%s", cli_name(cptr), - HasPriv(cptr, PRIV_DISPLAY) ? "*" : "", + SeeOper(sptr,cptr) ? "*" : "", cli_user(cptr)->away ? '-' : '+', cli_user(cptr)->username, - HasHiddenHost(cptr) && !IsAnOper(sptr) ? + /* Do not *EVER* change this to give opers the real IP. + * Too many scripts rely on this data and can inadvertently + * publish the user's real IP, thus breaking the security + * of +x. If an oper wants the real IP, he should go to + * /whois to get it. + */ + HasHiddenHost(cptr) && (sptr != cptr) ? feature_str(FEAT_HIDDEN_IP) : - ircd_ntoa((const char*) &(cli_ip(cptr)))); + ircd_ntoa(&cli_ip(cptr))); } /*