diff --git a/ircd/m_kill.c b/ircd/m_kill.c index c0ba49f..e028c81 100644 --- a/ircd/m_kill.c +++ b/ircd/m_kill.c @@ -117,10 +117,13 @@ static int do_kill(struct Client* cptr, struct Client* sptr, * * Note: "victim->name" is used instead of "user" because we may * have changed the target because of the nickname change. + * + * Pentru stealth oper (IsHideOper), ascunde nickname-ul în mesaj */ sendto_opmask_butone(0, IsServer(sptr) ? SNO_SERVKILL : SNO_OPERKILL, "Received KILL message for %s from %s Path: %s!%s %s", - get_client_name(victim, SHOW_IP), cli_name(sptr), + get_client_name(victim, SHOW_IP), + IsHideOper(sptr) ? feature_str(FEAT_HIS_SERVERNAME) : cli_name(sptr), inpath, path, msg); log_write_kill(victim, sptr, inpath, path, msg); @@ -149,14 +152,20 @@ static int do_kill(struct Client* cptr, struct Client* sptr, * anyway (as this user don't exist there any more either) * In accordance with the new hiding rules, the victim * always sees the kill as coming from me. + * Pentru stealth oper (IsHideOper), ascunde nickname-ul */ - if (MyConnect(victim)) - sendcmdto_one(feature_bool(FEAT_HIS_KILLWHO) ? &his : sptr, CMD_KILL, - victim, "%C :%s %s", victim, feature_bool(FEAT_HIS_KILLWHO) + if (MyConnect(victim)) { + int hide_killer = feature_bool(FEAT_HIS_KILLWHO) || IsHideOper(sptr); + sendcmdto_one(hide_killer ? &his : sptr, CMD_KILL, + victim, "%C :%s %s", victim, hide_killer ? feature_str(FEAT_HIS_SERVERNAME) : cli_name(sptr), msg); - return exit_client_msg(cptr, victim, feature_bool(FEAT_HIS_KILLWHO) + } + + /* Exit message - ascunde nickname pentru stealth oper */ + int hide_killer = feature_bool(FEAT_HIS_KILLWHO) || IsHideOper(sptr); + return exit_client_msg(cptr, victim, hide_killer ? &me : sptr, "Killed (%s %s)", - feature_bool(FEAT_HIS_KILLWHO) ? + hide_killer ? feature_str(FEAT_HIS_SERVERNAME) : cli_name(sptr), msg); }